
:root{--g:#06AD09;--g2:#00C853;--gd:#04870A;--k:#0A090A;--k2:#141414;--k3:#1E1F1E;--ink:#1A1A1A;--mut:#6B6F6B;--line:#E6E8E6;--bg:#FFFFFF;--soft:#F5F7F5}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.65 Inter,system-ui,sans-serif}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.wrap{max-width:1200px;margin:0 auto;padding:0 24px}
.top{background:var(--k);color:#fff;position:sticky;top:0;z-index:10;border-bottom:3px solid var(--g)}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:72px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:14px}
.brand .badge{background:#fff;border-radius:50%;padding:3px;width:54px;height:54px;display:flex;align-items:center;justify-content:center}
.brand .badge img{width:48px;height:auto}
.brand b{font:600 24px/1.1 'Playfair Display',serif;letter-spacing:.3px}
.brand b span{color:var(--g)}
nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap}
nav a{font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:8px 12px;border-radius:999px;color:#E8E8E8}
nav a:hover,nav a.on{background:var(--g);color:#fff}
.hero{position:relative;background:var(--k);color:#fff;overflow:hidden}
.hero img{width:100%;height:min(78vh,720px);object-fit:cover;opacity:.72}
.hero .cap{position:absolute;inset:auto 0 0 0;padding:64px 0 56px;background:linear-gradient(transparent,rgba(10,9,10,.92))}
.kicker{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--g2)}
.hero h1{font:700 clamp(34px,5.5vw,68px)/1.05 'Playfair Display',serif;margin:10px 0 14px;max-width:900px}
.hero p{max-width:680px;color:#D6D6D6;font-size:19px;margin:0 0 22px}
.btn{display:inline-block;background:var(--g);color:#fff;font-weight:700;padding:12px 22px;border-radius:999px;font-size:15px}
.btn:hover{background:var(--gd)}.btn.ghost{background:transparent;border:1.5px solid #fff;margin-left:8px}
.quote{background:var(--g);color:#fff;text-align:center;padding:26px 24px;font:italic 500 clamp(18px,2.2vw,24px)/1.45 'Playfair Display',serif}
.sec{padding:72px 0}.sec.soft{background:var(--soft)}
.sh{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:28px;flex-wrap:wrap}
.sh h2{font:700 clamp(28px,3.4vw,40px)/1.1 'Playfair Display',serif;margin:6px 0 0}
.sh a{color:var(--gd);font-weight:700;font-size:15px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.chips a{border:1.5px solid var(--line);border-radius:999px;padding:7px 15px;font-size:14px;font-weight:600;background:#fff}
.chips a small{color:var(--mut);font-weight:500;margin-left:4px}.chips a:hover{border-color:var(--g);color:var(--gd)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 28px}
.card .ph{aspect-ratio:4/3;overflow:hidden;border-radius:14px;background:var(--k3)}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.card:hover .ph img{transform:scale(1.04)}
.card h3{font:700 23px/1.25 'Playfair Display',serif;margin:10px 0 8px}
.card:hover h3{color:var(--gd)}
.card p{margin:0;color:#4A4E4A;font-size:15.5px}
.meta{font-size:13px;color:var(--mut);margin-top:14px}.meta .kicker{color:var(--gd);margin-right:8px}
.series{background:var(--k);color:#fff;border-radius:22px;display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden}
.series img{width:100%;height:100%;object-fit:cover;min-height:360px}
.series div{padding:48px}.series h2{font:700 40px/1.1 'Playfair Display',serif;margin:8px 0 14px}
.series p{color:#CFCFCF}
.books{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.book{display:flex;gap:22px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:24px}
.book .cv img{width:100%;height:100%;object-fit:cover}.book .cv{width:110px;aspect-ratio:2/3;border-radius:6px;background:var(--k3);flex:none;overflow:hidden}
.book h3{font:700 22px/1.2 'Playfair Display',serif;margin:0 0 6px}.book p{margin:0 0 12px;color:#4A4E4A;font-size:15px}
.book .btn{padding:9px 18px;font-size:14px}
footer{background:var(--k);color:#BDBDBD;padding:56px 0 34px;border-top:3px solid var(--g)}
footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:34px}
footer h4{color:#fff;font:700 15px Inter;letter-spacing:.12em;text-transform:uppercase;margin:0 0 12px}
footer a{display:block;padding:3px 0}footer a:hover{color:var(--g2)}
footer .q{font:italic 18px/1.5 'Playfair Display',serif;color:#E6E6E6}
footer .fine{border-top:1px solid #2A2A2A;margin-top:36px;padding-top:18px;font-size:13px}
/* article */
.ahead{max-width:820px;margin:0 auto;padding:56px 24px 28px;text-align:center}
.ahead h1{font:700 clamp(34px,5vw,58px)/1.08 'Playfair Display',serif;margin:12px 0 16px}
.ahead .dek{font-size:20px;color:#4A4E4A;margin:0 auto;max-width:680px}
.ahead .by{margin-top:20px;font-size:14px;color:var(--mut)}
.afig{max-width:1200px;margin:0 auto 40px;padding:0 24px}.afig img{width:100%;max-height:640px;object-fit:cover;border-radius:18px}
.prose{max-width:700px;margin:0 auto;padding:0 24px 40px;font:19px/1.8 'Source Serif 4',Georgia,serif;color:#222}
.prose p{margin:0 0 1.35em}.prose p:first-child::first-letter{float:left;font:700 76px/.82 'Playfair Display',serif;color:var(--g);padding:8px 10px 0 0}
.prose figure{margin:2em -40px}.prose figure img{border-radius:12px;width:100%}
.prose figcaption{font:14px/1.5 Inter,sans-serif;color:var(--mut);text-align:center;margin-top:10px}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:2em -40px}.pair img{border-radius:12px;aspect-ratio:3/4;object-fit:cover;width:100%}
.tags{max-width:700px;margin:0 auto;padding:0 24px 30px}.tags a{display:inline-block;background:var(--soft);border-radius:999px;padding:5px 13px;margin:0 6px 8px 0;font-size:13px;font-weight:600}
.pn{max-width:1000px;margin:0 auto 70px;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.pn a{background:var(--k);color:#fff;border-radius:16px;padding:24px}.pn a:hover{background:var(--k3)}
.pn small{color:var(--g2);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:12px}
.pn b{display:block;font:700 21px/1.3 'Playfair Display',serif;margin-top:6px}.pn .r{text-align:right}
.note{background:#FFF8D6;color:#5A4A00;text-align:center;font-size:13px;padding:6px}
@media (max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}.series{grid-template-columns:1fr}.books{grid-template-columns:1fr}footer .cols{grid-template-columns:1fr}}
@media (max-width:600px){body{font-size:16px}.wrap{padding:0 16px}.grid{grid-template-columns:1fr}.brand b{font-size:20px}nav{margin-left:0;width:100%;padding-bottom:10px}nav a{padding:6px 10px;font-size:12px}.series div{padding:28px}.series h2{font-size:30px}.book{flex-direction:column;align-items:flex-start}.prose figure,.pair{margin-left:0;margin-right:0}.pn{grid-template-columns:1fr}.pn .r{text-align:left}.btn.ghost{margin:10px 0 0}}

.pager{display:flex;gap:10px;justify-content:center;margin:48px 0 0;flex-wrap:wrap}.pager a,.pager span{padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);font-weight:600;font-size:14px}.pager a:hover{border-color:var(--g);color:var(--gd)}.pager span{background:var(--k);color:#fff;border-color:var(--k)}
.lhead{background:var(--k);color:#fff;padding:64px 0 48px;border-bottom:3px solid var(--g)}.lhead h1{font:700 clamp(34px,5vw,56px)/1.08 'Playfair Display',serif;margin:8px 0 6px}.lhead p{color:#CFCFCF;margin:0}
.recipe{max-width:760px!important;margin:2.6em auto!important;border:2px solid var(--g);border-radius:18px;padding:28px 30px!important;font:16px/1.6 Inter,sans-serif;background:var(--soft)}
.recipe h3{margin:0 0 6px!important;font:700 28px/1.2 'Playfair Display',serif!important}.recipe .rm{color:var(--mut);font-size:14px;margin-bottom:14px}.recipe h4{font:700 13px Inter;letter-spacing:.14em;text-transform:uppercase;color:var(--gd);margin:18px 0 8px}
.recipe ul,.recipe ol{padding-left:22px;margin:0}.recipe li{margin:4px 0}
.cmts{max-width:700px;margin:0 auto 50px;padding:0 24px}.cmts h2{font:700 26px 'Playfair Display',serif}.cmt{border-top:1px solid var(--line);padding:16px 0}.cmt b{font-weight:600}.cmt small{color:var(--mut);margin-left:8px}
.page-body{padding-top:48px}
.srch{max-width:760px;margin:40px auto 80px;padding:0 24px}
.story ul,.story ol{padding-left:48px}.story table{border-collapse:collapse;width:100%}.story td,.story th{border:1px solid var(--line);padding:6px 10px}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.card{transition:transform .35s}.card:hover{transform:translateY(-4px)}
.hhero{position:relative;background:var(--k);color:#fff;overflow:hidden;min-height:min(92vh,860px);display:flex;align-items:flex-end}
.hhero .kb{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.66;animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.14) translate(-2%,-1%)}}
.hhero .cap{position:relative;width:100%;padding:140px 0 64px;background:linear-gradient(180deg,transparent,rgba(10,9,10,.55) 40%,rgba(10,9,10,.96))}
.hgrid{display:grid;grid-template-columns:1.6fr 1fr;gap:48px;align-items:end}
.hhero h1{font:700 clamp(40px,6.4vw,84px)/1.02 'Playfair Display',serif;margin:12px 0 18px;letter-spacing:-.5px}
.hhero p{font-size:20px;color:#D8D8D8;max-width:640px;margin:0 0 26px}
.hhero .side{background:rgba(20,20,20,.72);backdrop-filter:blur(8px);border:1px solid #2c2c2c;border-radius:18px;padding:18px}
.mini{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:center;padding:10px 0;border-top:1px solid #2a2a2a}.mini:first-of-type{border-top:0}
.mini img{width:84px;height:64px;object-fit:cover;border-radius:10px;background:#222}.mini small{color:var(--g2);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mini b{display:block;font:600 16px/1.3 'Playfair Display',serif}.mini:hover b{color:var(--g2)}
.marquee{background:var(--g);color:#fff;overflow:hidden;white-space:nowrap;padding:18px 0;border-top:3px solid var(--k);border-bottom:3px solid var(--k)}
.marquee div{display:inline-block;animation:mq 60s linear infinite}.marquee span{font:italic 500 22px 'Playfair Display',serif;margin:0 48px}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.grid.g2 .big{grid-column:span 2;grid-row:span 2}.grid.g2 .big .ph{aspect-ratio:auto;height:calc(100% - 150px);min-height:340px}.grid.g2 .big h3{font-size:34px}
.grid.g4{grid-template-columns:repeat(4,1fr)}
.sec.dark{background:var(--k);color:#fff}.sec.dark .sh h2{color:#fff}.sec.dark .sh a{color:var(--g2)}
.sblock{display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:center;margin:0 0 64px}.sblock:last-child{margin-bottom:0}
.sblock.flip .collage{order:2}
.collage{display:grid;grid-template-columns:1.4fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:440px}
.collage img{width:100%;height:100%;object-fit:cover;border-radius:14px;background:#1e1e1e}.collage img:first-child{grid-row:span 2}
.collage img:nth-child(4){display:none}
.stext h2{font:700 clamp(34px,4vw,52px)/1.05 'Playfair Display',serif;margin:10px 0 14px}.stext p{color:#CFCFCF;font-size:18px}
.sfacts{display:flex;gap:34px;margin:20px 0 26px}.sfacts b{display:block;font:700 40px 'Playfair Display',serif;color:var(--g2)}.sfacts small{color:#9a9a9a;text-transform:uppercase;letter-spacing:.14em;font-size:12px}
.btn.ghost.dk{border-color:var(--k);color:var(--k)}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tile{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--k3);color:#fff}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s,opacity .4s;opacity:.78}.tile:hover img{transform:scale(1.07);opacity:.95}
.tile div{position:absolute;inset:auto 0 0 0;padding:18px;background:linear-gradient(transparent,rgba(0,0,0,.85))}.tile b{display:block;font:700 24px 'Playfair Display',serif}.tile small{color:var(--g2);font-weight:700}
.author{display:grid;grid-template-columns:1fr;max-width:820px;text-align:center}.author h2{font:700 44px 'Playfair Display',serif;margin:8px 0 10px}.author p{font-size:19px;color:#4A4E4A}
.shero{position:relative;background:var(--k);color:#fff;min-height:min(80vh,720px);display:flex;align-items:flex-end;overflow:hidden}
.shero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.shero .cap{position:relative;width:100%;padding:120px 0 56px;background:linear-gradient(transparent,rgba(10,9,10,.95) 70%)}
.shero h1{font:700 clamp(40px,7vw,90px)/1 'Playfair Display',serif;margin:10px 0 16px}.shero p{max-width:680px;font-size:20px;color:#D6D6D6;margin:0 0 24px}
.scount{margin-top:22px;color:#BDBDBD;font-size:14px}.scount b{color:var(--g2);font-size:18px}
.timeline{position:relative;display:grid;gap:26px;padding-left:64px;margin-left:30px;border-left:3px solid var(--g)}
.ep{position:relative;display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:18px;transition:box-shadow .3s,transform .3s}
.ep:hover{box-shadow:0 16px 40px rgba(0,0,0,.10);transform:translateY(-3px)}
.epn{position:absolute;left:-65px;top:50%;transform:translate(-50%,-50%);background:var(--g);color:#fff;font:700 12px Inter;letter-spacing:.04em;padding:6px 10px;border-radius:999px;white-space:nowrap;z-index:2;box-shadow:0 0 0 4px #fff}
.eph{height:100%;min-height:170px;background:var(--k3);border-radius:17px 0 0 17px;overflow:hidden}.eph img{width:100%;height:100%;object-fit:cover}
.epb{padding:20px 22px 20px 0}.epb h3{font:700 24px/1.25 'Playfair Display',serif;margin:6px 0 8px}.ep:hover h3{color:var(--gd)}.epb p{margin:0;color:#4A4E4A;font-size:15.5px}
  .brand .badge{overflow:hidden}.pn2 a{border-radius:0;text-transform:none;letter-spacing:0}.pn2 b{line-height:1.25;padding-top:2px}
.serstrip{background:var(--k);color:#fff;border-bottom:3px solid var(--g)}.serstrip .wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.serstrip b{font:700 20px 'Playfair Display',serif;margin-left:8px}.serstrip small{color:#9a9a9a;margin-left:6px}
.dots{display:flex;gap:6px;flex-wrap:wrap;flex:1}.dots a{width:10px;height:10px;border-radius:50%;background:#444}.dots a.on{background:var(--g2);box-shadow:0 0 0 3px rgba(0,200,83,.3)}.dots a:hover{background:#888}
.sernav{display:flex;gap:10px}.sernav a{border:1.5px solid #3a3a3a;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:600}.sernav a:hover{border-color:var(--g2);color:var(--g2)}
@media(max-width:900px){.eph{border-radius:17px 17px 0 0}.hgrid,.sblock{grid-template-columns:1fr}.sblock.flip .collage{order:0}.collage{height:320px}.tiles,.grid.g4{grid-template-columns:repeat(2,1fr)}.grid.g2 .big{grid-column:span 2;grid-row:auto}.ep{grid-template-columns:1fr}.eph{min-height:200px}.epb{padding:0 20px 20px}}
@media(max-width:600px){.tiles,.grid.g4{grid-template-columns:1fr}.grid.g2 .big{grid-column:auto}.timeline{padding-left:0;margin-left:0;border-left:0}.epn{left:14px;top:14px;transform:none}.hhero .side{display:none}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.hhero .kb,.marquee div{animation:none}}
