*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
:root{--ink:#1b1b1b;--mut:#5a5450;--line:#ece6e1;--bg:#fffdfb;--soft:#f5efea;--blue:#0c7db0;--navy:#02344c;--pink:#c25a6a;--pkd:#a8475a;--blush:#fbeef0;--sky:#8fd0ee;--char:#1f1d1c}
body{margin:0;font-family:"Source Sans 3",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;font-size:17px}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
h1,h2,h3{font-family:"Work Sans",sans-serif;letter-spacing:-.01em;line-height:1.12;margin:0}
.wrap{max-width:1240px;margin:0 auto;padding-inline:40px}.narrow{max-width:860px}.wide{max-width:1320px}.center{text-align:center}
.concept{background:var(--navy);color:#d6ebf5;font-size:14px;text-align:center;padding:9px 16px}
header{background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:16px}
.logo{display:flex;align-items:center;gap:14px}
.lm{width:52px;height:52px;flex:none;border-radius:50%;border:1.5px dashed var(--blue);color:var(--blue);display:grid;place-items:center;text-align:center;font:600 10px/1.2 "Work Sans";text-transform:uppercase;letter-spacing:.08em}
.ln{font-family:"Work Sans";font-weight:500;font-size:20px}
.mainnav{display:flex;gap:30px;font:500 15px "Work Sans"}.mainnav a{padding:4px 0;border-bottom:1.5px solid transparent}.mainnav a:hover,.mainnav a.on{color:var(--blue);border-color:var(--blue)}
.hicons{display:flex;gap:10px;align-items:center}
.ibtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center}
.cart{height:44px;border-radius:22px;background:var(--blue);color:#fff;padding:0 18px;font:600 14px "Work Sans";display:flex;align-items:center;gap:8px}.cart b{background:#fff;color:var(--blue);border-radius:10px;padding:0 7px;font-size:12px}
.burger{display:none;background:none;border:0;padding:8px;cursor:pointer}.burger i{display:block;width:22px;height:2px;background:var(--ink);margin:5px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;font:600 16px "Work Sans";padding:15px 28px;border:1.5px solid var(--blue);border-radius:999px;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:var(--navy);border-color:var(--navy)}.btn.sm{padding:10px 16px;font-size:14px;background:#fff;color:var(--blue)}.btn.sm:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.btn.ol{background:transparent;border-color:#f4efea;color:#f4efea;font-size:15px;padding:13px 24px}.btn.ol:hover{background:rgba(255,255,255,.08)}
.btn.ol.dk{color:var(--ink);border-color:var(--ink)}.btn.ol.dk:hover{background:var(--ink);color:#fff}
.btn.lt{background:#fff;color:var(--navy);border-color:#fff}.btn.lt:hover{background:#e6f2f8}
section{padding-block:100px}section.tight{padding-block:24px 96px}
.eyebrow{display:inline-block;font:600 13px "Work Sans";color:var(--blue);text-transform:uppercase;letter-spacing:.16em;margin-bottom:12px}.eyebrow.lt{color:var(--sky)}.eyebrow.pk,.meta.pk{color:var(--pkd)}
h2{font-size:clamp(32px,3.8vw,52px);font-weight:300;letter-spacing:-.02em;line-height:1.05}h2.h3{font-size:clamp(24px,2.6vw,32px);margin:36px 0 16px;font-weight:400}
.hd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px;flex-wrap:wrap}.more{font:600 16px "Work Sans";color:var(--blue);white-space:nowrap}.more.lt{color:var(--sky)}
.lede{font-size:clamp(17px,1.8vw,20px);color:var(--mut);max-width:620px;margin:0 0 30px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
/* home hero */
.hero2{padding-block:72px 96px}.hgrid2{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:end}
.htext h1{font-size:clamp(44px,5.6vw,78px);font-weight:300;letter-spacing:-.03em;line-height:1.02;margin:6px 0 24px}.htext h1 em{color:var(--pink);font-style:italic}
.facts{display:flex;gap:40px;flex-wrap:wrap;margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.facts b{display:block;font:300 30px "Work Sans"}.facts span{font-size:14px;color:#6b6460}
.collage{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:260px 260px;gap:14px}
.collage>div{border-radius:6px;overflow:hidden;position:relative}.collage img{width:100%;height:100%;object-fit:cover}.cbig{grid-row:1/3}
.plaque{position:absolute;left:14px;bottom:14px;background:var(--bg);padding:8px 12px;border-radius:4px;font-size:13px}.plaque b{font-family:"Work Sans";font-weight:600}
/* series band */
.dark{background:var(--char);color:#f4efea}
.srows{display:flex;flex-direction:column;gap:88px;margin-top:20px}
.srow{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:center}
.srow.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}.srow.flip .simg2{order:2}
.simg2{border-radius:6px;overflow:hidden}.simg2 img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .7s}.simg2:hover img{transform:scale(1.03)}
.stext{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.bignum{font:300 64px/1 "Work Sans";color:#3d3936}.bignum.lite{color:#d9cfc8;font-size:56px}
.stext h3{font-size:34px;font-weight:500}.stext p{margin:0;color:#bdb5ae;font-size:18px}.smeta{font-size:14px;color:#8b837c}.smeta.dk{color:var(--mut);font-size:15px}
/* chips, cards */
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.chips button{height:44px;padding:0 18px;font:500 14px "Work Sans";border:1.5px solid #ddd3cc;background:#fff;border-radius:999px;cursor:pointer;color:var(--ink)}
.chips button.on,.chips button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.pgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.pgrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.pgrid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.prod{display:flex;flex-direction:column;gap:12px}
.prod .ph{border-radius:6px;overflow:hidden;background:var(--soft)}.prod .ph img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .6s}.prod .ph:hover img{transform:scale(1.04)}
.prod .pb{display:flex;flex-direction:column;gap:8px}.prod h3{font-size:18px;font-weight:500}.price{color:var(--blue);font-weight:600}.prod .btn{align-self:stretch}
.post{background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.post:hover{box-shadow:0 14px 34px rgba(0,0,0,.07);transform:translateY(-3px)}
.post .ph{overflow:hidden}.post .ph img{width:100%;aspect-ratio:3/2;object-fit:cover}
.post .pb{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}
.meta{font-size:13px;color:var(--mut);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.post h3{font-size:20px;font-weight:500}.post p{margin:0;color:var(--mut);font-size:15.5px}.post .more{margin-top:auto;font-size:15px}
/* journal band */
.blush{background:var(--blush)}
.jgrid2{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:44px}
.jfeat{display:flex;flex-direction:column;gap:16px}.jfeat img{width:100%;aspect-ratio:16/11;object-fit:cover;border-radius:6px}
.jfeat h3{font-size:34px;font-weight:400;line-height:1.15}.jfeat p{margin:0;color:var(--mut);font-size:18px}
.jside{display:flex;flex-direction:column;gap:28px}
.jside a{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px;align-items:center;padding-bottom:28px;border-bottom:1px solid #ecd3d8}
.jside img{width:140px;height:110px;object-fit:cover;border-radius:6px}.jside h3{font-size:19px;font-weight:500;line-height:1.25;margin-top:6px}.jside .meta{font-size:12px}
/* live */
.livebox{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;overflow:hidden;background:var(--navy);color:#fff}
.livebox>img{width:100%;height:100%;min-height:420px;object-fit:cover}
.lbody{padding:56px;display:flex;flex-direction:column;gap:20px;justify-content:center;align-items:flex-start}
.lbody h2{font-size:44px}.lbody p{margin:0;color:#c6dde8;font-size:18px}
.slots{display:flex;gap:10px;flex-wrap:wrap}.slots button{height:44px;padding:0 18px;border-radius:999px;font:500 14px "Work Sans";background:transparent;color:#fff;border:1.5px solid #4f7f96;cursor:pointer}
.slots button.on{background:#fff;color:var(--navy);border-color:#fff}
/* steps */
.steps2{border-top:1px solid var(--line);padding-block:88px}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px;margin-top:36px}
.steps div{border-top:2px solid var(--blue);padding-top:20px}.steps b{font:600 14px "Work Sans";color:var(--blue)}.steps h3{font-size:21px;font-weight:500;margin:10px 0 8px}.steps p{margin:0;color:var(--mut);font-size:16px}
/* newsletter + footer */
.news{background:var(--soft);padding-block:72px}.nwrap{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.news h2{font-size:34px;font-weight:400}.news p{margin:8px 0 0;color:var(--mut)}
.news form{display:flex;gap:10px;flex:1;max-width:480px;min-width:260px;flex-wrap:wrap}.news input{flex:1;min-width:200px;height:52px;font:inherit;padding:0 20px;border:1px solid #d8cdc6;border-radius:999px;background:#fff}.news .btn{height:52px;padding:0 26px;font-size:15px}
.thanks{font:600 18px "Work Sans";color:var(--blue)}
footer{background:var(--navy);color:#b9d3df;padding-block:64px 28px;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px}.fgrid .ln{color:#fff}.fgrid p{max-width:300px}.fgrid b{display:block;color:#fff;margin-bottom:10px}
.fgrid a{display:block;margin-bottom:8px}.fgrid a:hover{color:#fff}.legal{border-top:1px solid #1a5470;margin-top:44px;padding-top:20px;font-size:13px}
/* inner page heroes */
.hero{padding-block:72px 48px}.hero.sm{padding-block:72px 40px}
.hero h1,.hero.sm h1{font-size:clamp(38px,4.8vw,64px);font-weight:300;letter-spacing:-.03em;margin:4px 0 18px;max-width:900px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.simg img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;width:100%}
.ticks{list-style:none;padding:0;margin:18px 0 26px;display:grid;gap:8px}.ticks li{padding-left:26px;position:relative}.ticks li:before{content:"\2713";position:absolute;left:0;color:var(--blue);font-weight:700}
/* series page */
.shero{position:relative;height:640px;padding:0;overflow:hidden;background:var(--char);display:flex;align-items:flex-end}
.shero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78}
.shero .wrap{position:relative;color:#fff;padding-bottom:64px;width:100%}
.shero h1{font-size:clamp(46px,6vw,84px);font-weight:300;letter-spacing:-.03em;line-height:1;margin:0 0 14px}.shero p{font-size:20px;max-width:560px;margin:0;color:#f1ebe6}
.chaps{display:flex;flex-direction:column;gap:96px}
.chap2{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:end}
.chap2.flip{grid-template-columns:300px minmax(0,1fr)}.chap2.flip .cimg{order:2}
.cimg{border-radius:6px;overflow:hidden}.cimg img{width:100%;aspect-ratio:3/2;object-fit:cover}
.chap2 figcaption{display:flex;flex-direction:column;gap:12px;padding-bottom:8px}.chap2 b{font:500 24px/1.2 "Work Sans"}.chap2 figcaption>span:last-child{color:var(--mut)}
.shopbox{background:var(--blush);border-radius:8px;padding:48px}
.shopbox .prod .ph img{aspect-ratio:4/3}
.shopthis{border-top:1px solid var(--line);padding-top:32px;margin-top:20px}.shopthis h3{font-size:24px;font-weight:400;margin-bottom:18px}
.pn{display:flex;justify-content:space-between;gap:16px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line);font:600 16px "Work Sans";color:var(--blue);flex-wrap:wrap}
.note{color:var(--mut);font-size:14px;margin-top:22px}
/* product page */
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;padding-top:48px}
.gal #main{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px}.gth{display:flex;gap:10px;margin-top:12px}
.gth button{padding:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;width:80px;height:80px;cursor:pointer;background:none}.gth img{width:100%;height:100%;object-fit:cover}
.pinfo h1{font-size:clamp(34px,3.6vw,48px);font-weight:300;margin-bottom:10px}.price.big{font-size:24px;display:block;margin-bottom:16px}
.qty{display:inline-flex;border:1px solid #ddd3cc;border-radius:999px;margin-right:12px;vertical-align:middle;height:52px;align-items:center}.qty button{border:0;background:none;width:44px;height:44px;font-size:18px;cursor:pointer}
.qty input{width:40px;text-align:center;border:0;font:inherit;background:none}
details{border-top:1px solid var(--line);margin-top:24px;padding-top:14px}summary{font:600 16px "Work Sans";cursor:pointer}details p{color:var(--mut)}
/* journal + post */
.jtools{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;flex-wrap:wrap}.jtools .chips{margin:0}
#jsearch{font:inherit;height:44px;padding:0 18px;border:1.5px solid #ddd3cc;border-radius:999px;min-width:260px;margin-bottom:30px;background:#fff}
.art{padding-block:64px 40px}.art h1{font-size:clamp(36px,4.6vw,60px);font-weight:300;letter-spacing:-.02em;margin:10px 0 16px}
.lead{width:100%;border-radius:6px;aspect-ratio:16/8;object-fit:cover;margin:16px 0 40px}
.body p{font-size:19px;line-height:1.75;color:#2d2a28}
blockquote{margin:36px 0;padding:6px 0 6px 26px;border-left:3px solid var(--pink);font:300 italic 28px/1.35 "Work Sans";color:var(--navy)}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.duo img{border-radius:6px;aspect-ratio:1;object-fit:cover;width:100%}
.share{display:flex;gap:16px;align-items:center;font-weight:600;margin:30px 0}.share a{color:var(--blue)}
.press{display:flex;gap:36px;flex-wrap:wrap;margin-top:20px}.press span{font:500 18px "Work Sans";color:#a79f99}
/* plan page */
.tbl{border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:12px 0 18px;background:#fff}
.tbl div{display:grid;grid-template-columns:220px 1fr;gap:16px;padding:14px 18px;border-bottom:1px solid var(--line)}.tbl div:last-child{border:0}.tbl div:nth-child(odd){background:var(--soft)}
.tbl span{color:var(--mut)}.tbl.code b{font-family:ui-monospace,Consolas,monospace;font-size:14.5px;color:var(--navy);overflow-wrap:anywhere}
.timeline{border-left:2px solid var(--blue);margin:16px 0 8px 8px}
.timeline div{padding:6px 0 18px 24px;position:relative}.timeline div:before{content:"";position:absolute;left:-9px;top:12px;width:14px;height:14px;border-radius:50%;background:var(--bg);border:2.5px solid var(--blue)}
.timeline b{display:block;font-family:"Work Sans";font-weight:600}.timeline span{color:var(--mut)}
.five{padding-left:22px}.five li{margin-bottom:8px}
@media (max-width:1060px){.mainnav{display:none}.burger{display:block}
 .mopen .mainnav{display:flex;flex-direction:column;gap:6px;position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);padding:12px 24px 18px}}
@media (max-width:900px){.wrap{padding-inline:24px}
 .hgrid2,.srow,.srow.flip,.jgrid2,.livebox,.split,.pdp,.chap2,.chap2.flip{grid-template-columns:minmax(0,1fr);gap:32px}
 .srow.flip .simg2,.chap2.flip .cimg{order:0}.chap2{gap:16px}
 .collage{grid-template-rows:180px 180px}.pgrid,.pgrid.four,.pgrid.three{grid-template-columns:repeat(2,minmax(0,1fr))}
 .steps{grid-template-columns:repeat(2,minmax(0,1fr))}.fgrid{grid-template-columns:1fr 1fr}.livebox>img{min-height:260px}.lbody{padding:36px}}
@media (max-width:600px){.wrap{padding-inline:16px}section{padding-block:64px}body{font-size:16px}
 .ln{font-size:16px}.lm{width:44px;height:44px;font-size:8.5px}.logo{gap:10px}.ibtn{display:none}.cart{padding:0 14px}
 .pgrid,.pgrid.three,.steps,.fgrid{grid-template-columns:minmax(0,1fr)}.pgrid.four{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.prod h3{font-size:15.5px}.prod .btn.sm{padding:8px 10px;font-size:13px}
 .jside a{grid-template-columns:110px minmax(0,1fr)}.jside img{width:110px;height:90px}
 .shero{height:520px}.shopbox{padding:28px 20px}.lbody{padding:28px 22px}.lbody h2{font-size:34px}
 .tbl div{grid-template-columns:minmax(0,1fr);gap:4px}.news form{max-width:none}#jsearch{min-width:0;width:100%}.duo{grid-template-columns:minmax(0,1fr)}.facts{gap:24px}}
