
:root{--bg:#f6f3ea;--card:#fffdf8;--ink:#22302a;--soft:#5d6b63;--mute:#8a968e;--green:#2f6b4f;--green2:#3f8a66;--sage:#dfe9d8;--sage2:#cfe3c6;--peach:#f6dcc7;--line:#e7e1d2;--r:24px}
*{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.65 "Nunito Sans",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3{font-family:Fraunces,Georgia,serif;font-weight:600;line-height:1.15;margin:0;letter-spacing:-.01em}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:var(--green);color:#fff;padding:8px 14px;border-radius:99px;z-index:99}
:focus-visible{outline:3px solid var(--green2);outline-offset:3px;border-radius:10px}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.narrow{max-width:860px}
.hdr{position:sticky;top:0;z-index:30;background:rgba(246,243,234,.88);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-color:var(--line)}
.hdr-in{max-width:1180px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;font:600 21px Fraunces,serif;color:var(--green)}.logo em{font-style:italic;color:var(--ink)}
.pills{display:flex;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:5px}
.pills a{padding:7px 18px;border-radius:99px;font-weight:600;font-size:15px;color:var(--soft);transition:background .2s,color .2s}.pills a:hover{color:var(--green)}
.pills a[aria-current]{background:var(--green);color:#fff}
.hdr-search{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--green)}
/* hero */
.hero{text-align:center;padding:72px 24px 40px;max-width:900px;margin:0 auto;position:relative}
.hero:before{content:"";position:absolute;inset:10px 10% auto;height:320px;background:radial-gradient(closest-side,rgba(207,227,198,.8),transparent);z-index:-1;filter:blur(10px)}
.eyebrow{display:inline-block;font-weight:700;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--green2);margin:0 0 14px}
.hero h1{font-size:clamp(40px,6.5vw,72px);font-weight:500}.hero h1 em{font-style:italic;color:var(--green)}
.lede{font-size:18px;color:var(--soft);max-width:600px;margin:18px auto 30px}
.hero-search{position:relative;display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:99px;padding:8px 8px 8px 22px;box-shadow:0 18px 40px -20px rgba(47,107,79,.35);color:var(--green);max-width:640px;margin:0 auto 22px;text-align:left}
.hero-search input{flex:1;min-width:0;border:0;background:none;font:inherit;font-size:17px;color:var(--ink);outline:none;padding:10px 0}
.hero-search button{border:0;background:var(--green);color:#fff;font:700 15px "Nunito Sans";padding:12px 24px;border-radius:99px;cursor:pointer}.hero-search button:hover{background:var(--green2)}
.hits{position:absolute;left:0;right:0;top:calc(100% + 8px);background:var(--card);border:1px solid var(--line);border-radius:22px;padding:8px;box-shadow:0 24px 50px -20px rgba(34,48,42,.35);z-index:20;max-height:60vh;overflow:auto}
.hit{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:14px;color:var(--ink)}.hit:hover{background:var(--sage)}.hit img{width:40px;height:40px;border-radius:12px}.hit b{display:block;font-size:15px}.hit small{color:var(--mute);font-size:13px}
.hit-empty{color:var(--soft);padding:12px;margin:0}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.chip{padding:7px 16px;border-radius:99px;background:var(--sage);color:var(--green);font-weight:600;font-size:14px;transition:background .2s}.chip:hover{background:var(--sage2)}.chip.sm{padding:3px 12px;font-size:13px}
/* sections */
.sec{margin-top:64px}.soft{background:var(--sage);border-radius:36px;padding-top:36px;padding-bottom:36px;max-width:1132px}
.h2row{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px}.h2row h2{font-size:clamp(26px,3vw,34px)}.h2row p{margin:6px 0 0;color:var(--soft)}
.see{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--green);white-space:nowrap}
.bans>*,.wides>*,.minis>*,.learns>*,.twocol>*{min-width:0}.bans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.ban{background:var(--card);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.ban:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(34,48,42,.45)}
.ban-img{width:100%;aspect-ratio:16/10;object-fit:cover;background:var(--sage)}
.ban-b{position:relative;padding:44px 22px 22px;display:flex;flex-direction:column;gap:6px;flex:1}
.ban-ico{position:absolute;top:-34px;left:22px;border-radius:18px;border:4px solid var(--card);background:var(--card)}
.ban-b b{font:600 21px Fraunces,serif}.ban-b>span:not(.wide-m){color:var(--soft);font-size:15px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.wides.one{grid-template-columns:minmax(0,1fr)}
.wide{display:flex;gap:16px;align-items:flex-start;padding:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;transition:border-color .2s,box-shadow .2s}
.wide:hover{border-color:var(--sage2);box-shadow:0 14px 30px -20px rgba(47,107,79,.5)}
.wide img{border-radius:18px;flex:none}.wide-b{min-width:0;display:flex;flex-direction:column;gap:4px}.wide-b b{font-size:17px;font-weight:700}
.wide-s{color:var(--soft);font-size:14.5px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.wide-m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:13.5px;color:var(--mute);margin-top:2px}
.rt{display:inline-flex;align-items:center;gap:4px;color:#c9822b;font-weight:700}
.minis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 22px}.minis.one{grid-template-columns:minmax(0,1fr)}
.mini{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:16px;transition:background .2s}.mini:hover{background:rgba(255,253,248,.7)}
.mini img{border-radius:13px;flex:none}.mini>span:not(.mini-n){flex:1;min-width:0}.mini b{display:block;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini small{color:var(--mute);font-size:13px}
.mini-n{font:500 22px Fraunces,serif;color:var(--green2);width:30px;text-align:center;flex:none}
.learns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.learns.one{grid-template-columns:minmax(0,1fr)}
.learn{display:flex;gap:18px;align-items:center;padding:20px 22px;background:var(--card);border:1px solid var(--line);border-radius:22px;color:var(--green);transition:border-color .2s}
.learn:hover{border-color:var(--sage2)}.learn>span:nth-child(2){flex:1;min-width:0;color:var(--ink)}
.learn small{font-weight:700;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green2)}.learn b{display:block;font:600 19px/1.3 Fraunces,serif;margin:2px 0 4px}
.learn span span{color:var(--soft);font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.learn-n{font:500 30px Fraunces,serif;color:var(--sage2);flex:none}
/* page heads */
.phead{max-width:1180px;margin:0 auto;padding:44px 24px 26px}.phead h1{font-size:clamp(34px,5vw,54px);font-weight:500}.phead p{color:var(--soft);font-size:17px;margin:10px 0 0;max-width:640px}
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;font-size:14px;color:var(--mute);margin:22px 0 18px}.crumbs a{color:var(--green);font-weight:600}
.filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.filter button{border:1px solid var(--line);background:var(--card);color:var(--soft);font:600 14px "Nunito Sans";padding:7px 16px;border-radius:99px;cursor:pointer}
.filter button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}
.twocol{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card-col{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:22px}
.card-col h2{display:flex;align-items:center;gap:10px;font-size:24px;color:var(--green);margin:4px 8px 12px}
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.ctile{display:flex;flex-direction:column;gap:2px;padding:22px;border-radius:26px;background:hsl(var(--h) 45% 92%);border:1px solid hsl(var(--h) 35% 86%);transition:transform .2s}
.ctile:hover{transform:translateY(-3px)}.ctile b{font:600 21px Fraunces,serif}.ctile small{color:var(--soft)}
.ctile-ic{display:flex;gap:6px;margin-bottom:14px}.ctile-ic img{border-radius:12px}
/* detail */
.dcard{text-align:center;background:linear-gradient(180deg,var(--sage) 0%,var(--card) 62%);border:1px solid var(--line);border-radius:36px;padding:44px 28px 28px}
.dicon{margin:0 auto 18px;border-radius:30px;box-shadow:0 20px 40px -18px rgba(47,107,79,.6)}
.dcard h1{font-size:clamp(30px,4.5vw,46px);font-weight:500}.ddev{color:var(--green);font-weight:700;margin:6px 0 0}
.dsum{color:var(--soft);font-size:17px;max-width:560px;margin:14px auto 16px}
.dmeta{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:22px}
.get{display:inline-block;background:var(--green);color:#fff;font-weight:700;font-size:17px;padding:15px 34px;border-radius:99px;box-shadow:0 14px 30px -12px rgba(47,107,79,.7);transition:background .2s,transform .2s}
.get:hover{background:var(--green2);transform:translateY(-2px)}
.facts{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
.facts span{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:8px 16px;min-width:96px}.facts small{display:block;font-size:12px;color:var(--mute);text-transform:uppercase;letter-spacing:.08em}.facts b{font-size:15px}
.car{position:relative;margin:26px 0}
.car-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;padding:4px}.car-track::-webkit-scrollbar{display:none}
.car-track img{height:360px;width:auto;border-radius:22px;flex:none;scroll-snap-align:start;background:var(--sage)}
.car-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--green);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 20px -8px rgba(0,0,0,.25);z-index:2}
.car-btn.prev{left:-14px}.car-btn.next{right:-14px}
.accs{display:grid;gap:12px}
.acc{background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden}
.acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:18px 22px;font:600 20px Fraunces,serif}.acc summary::-webkit-details-marker{display:none}
.acc summary span{flex:1}.acc summary svg{color:var(--green);transition:transform .2s}.acc[open] summary svg{transform:rotate(90deg)}
.acc-b{padding:0 22px 22px}
.leafs{list-style:none;margin:0;padding:0;display:grid;gap:16px}.leafs li{display:flex;gap:12px}.leafs li>svg{flex:none;margin-top:3px;color:#fff;background:var(--green2);border-radius:50%;padding:3px;width:22px;height:22px}
.leafs.con li>svg{background:#d29a6d}.leafs b{font-weight:700}.leafs p{margin:2px 0 0;color:var(--soft);font-size:15px}
.dist{display:flex;gap:28px;align-items:center}.dist-big{text-align:center}.dist-big b{display:block;font:500 56px/1 Fraunces,serif;color:var(--green)}.dist-big small{color:var(--mute)}
.dist-rows{flex:1;display:grid;gap:6px}.dr{display:grid;grid-template-columns:34px 1fr 44px;align-items:center;gap:10px;font-size:13.5px;color:var(--soft)}
.dr i{height:10px;border-radius:9px;background:var(--sage);overflow:hidden}.dr em{display:block;height:100%;background:var(--green2);border-radius:9px}
.dl{margin:0;display:grid;gap:0}.dl div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px dashed var(--line)}.dl div:last-child{border:0}.dl dt{color:var(--mute)}.dl dd{margin:0;font-weight:600;text-align:right;word-break:break-word}
.prose{color:#35433b}.prose p{margin:0 0 14px}.prose h2,.prose h3{margin:24px 0 10px;font-size:22px}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}.prose a{color:var(--green);text-decoration:underline}
.prose>:first-child{margin-top:0}
.post{background:var(--card);border:1px solid var(--line);border-radius:32px;padding:clamp(24px,5vw,52px);margin-bottom:40px}.post h1{font-size:clamp(30px,4.5vw,44px);font-weight:500;margin:6px 0 24px}
.post .prose{font-size:17px}
.nf .see{margin-top:8px}
/* footer */
.ftr{margin-top:96px;background:var(--green);color:#e6efe8;border-radius:40px 40px 0 0}
.ftr-in{max-width:1180px;margin:0 auto;padding:56px 24px 28px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}
.ftr .logo{color:#fff}.ftr .logo em{color:var(--sage2)}.ftr-brand p{color:#bcd3c3;max-width:320px}
.ftr h4{font:600 17px Fraunces,serif;color:#fff;margin:4px 0 12px}.ftr-in>div>a{display:block;padding:3px 0;color:#cfe0d4;font-size:15px}.ftr-in a:hover{color:#fff}
.ftr-note{max-width:1180px;margin:0 auto;padding:18px 24px 30px;border-top:1px solid rgba(255,255,255,.15);color:#a9c4b2;font-size:14px}
.tabbar{display:none}
@media (max-width:1000px){.bans{grid-template-columns:repeat(2,minmax(0,1fr))}.bans .ban:nth-child(3){display:none}.minis{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-in{grid-template-columns:1fr 1fr}}
@media (max-width:760px){
  body{padding-bottom:76px}
  .pills{display:none}.hdr-in{padding:12px 16px}.wrap{padding:0 16px}
  .hero{padding:44px 16px 28px}.lede{font-size:16px}
  .hero-search{padding:6px 6px 6px 16px}.hero-search button{padding:10px 16px}
  .bans,.wides,.learns,.twocol,.minis{grid-template-columns:minmax(0,1fr)}.bans .ban:nth-child(3){display:flex}
  .soft{border-radius:24px;margin:0 12px;padding:24px 8px}
  .wide{padding:14px;gap:12px}.wide img{width:56px;height:56px;border-radius:14px}
  .phead{padding:28px 16px 18px}
  .dcard{border-radius:28px;padding:32px 18px 22px}.dicon{width:96px;height:96px;border-radius:24px}
  .car-btn{display:none}.car-track img{height:280px}
  .dist{flex-direction:column;align-items:stretch}
  .acc summary{padding:16px 18px;font-size:18px}.acc-b{padding:0 18px 18px}
  .ftr{border-radius:28px 28px 0 0}.ftr-in{grid-template-columns:1fr;padding:40px 20px 20px}
  .tabbar{display:flex;position:fixed;left:10px;right:10px;bottom:10px;z-index:40;background:rgba(255,253,248,.95);backdrop-filter:blur(14px);border:1px solid var(--line);border-radius:24px;padding:6px;box-shadow:0 14px 30px -12px rgba(34,48,42,.35)}
  .tabbar a{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:18px;font-size:11.5px;font-weight:700;color:var(--mute)}
  .tabbar a[aria-current]{background:var(--sage);color:var(--green)}
}
