/* ===== Approved design system (LifeLab_Website.html, 11 Nov 2026) ===== */
:root{--ivory:#F8F2EB;--stone:#F1EBE2;--green:#1D2A28;--sage:#3B6F6E;--sand:#DABE9A;--charcoal:#2B2D2C;--noir:#021512;--greige:#CDC2AA;--mist:#D0D2D3;--ink2:#3d4542;--ink3:#4a524f;--rule:rgba(30,42,40,.22);--serif:'Times New Roman',Tinos,Times,serif;--sans:'Caslon Doric','Hanken Grotesk',Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--green);font-family:var(--sans);font-size:18px;line-height:1.6;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%}
a{color:var(--sage);text-underline-offset:5px;text-decoration-thickness:1px}
a:hover{color:var(--green)}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;margin:0;letter-spacing:-.02em;line-height:1.04;text-wrap:balance}
h1{font-size:clamp(46px,5.6vw,84px);line-height:1;letter-spacing:-.025em}
.h2{font-size:clamp(34px,3.4vw,50px)}
.h2l{font-size:clamp(40px,4.6vw,64px);line-height:1.02;letter-spacing:-.025em}
.h3{font-size:clamp(26px,2.2vw,32px)}
.h4{font-size:24px;line-height:1.15}
p{margin:0}
.lede{font-size:20px;line-height:1.6;color:var(--ink2)}
.body{font-size:19px;line-height:1.65;color:var(--ink2)}
.small{font-size:15px;line-height:1.55;color:var(--ink3)}
.eyebrow{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600}
.wrap{max-width:1312px;margin:0 auto;padding:0 64px}
.band{padding:120px 0}.band.t{padding:88px 0}.stone{background:var(--stone)}
.dark{background:var(--green);color:var(--ivory)}.dark .body,.dark .lede,.dark .small{color:rgba(247,241,232,.82)}.dark .eyebrow{color:var(--sand)}.dark a{color:var(--ivory)}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.head{align-items:end;margin-bottom:52px}.head>:first-child{grid-column:1/7}.head>:last-child{grid-column:7/12}
.btn{display:inline-block;background:var(--sand);color:var(--green)!important;text-decoration:none;font-size:17px;font-weight:500;padding:16px 28px;border:0;font-family:inherit;cursor:pointer;line-height:1.2}
.btn:hover{background:#cfb08a}
.btn.d{background:var(--green);color:var(--ivory)!important}.btn.d:hover{background:#2b3a37}
.btn.o{background:transparent;border:1px solid currentColor;padding:15px 26px}
.link{font-size:17px}
.acts{display:flex;gap:26px;align-items:center;flex-wrap:wrap;margin-top:30px}
.closer{margin-top:64px;border-top:1px solid var(--rule);padding-top:24px;display:flex;justify-content:space-between;align-items:baseline;gap:24px;flex-wrap:wrap}
.closer p{font-family:var(--serif);font-size:28px}
.zoom{overflow:hidden}.zoom img{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}a:hover .zoom img,.zoom:hover img{transform:scale(1.03)}
.cols{display:grid;gap:32px}.c2{grid-template-columns:repeat(2,minmax(0,1fr))}.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.c4{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.card{display:block;border-top:1px solid var(--green);padding-top:20px;text-decoration:none;color:var(--green)}
.card .h4,.card h3{display:block}.card .d{display:block;margin-top:10px;font-size:18px;line-height:1.55;color:var(--ink2)}.card .go{display:block;margin-top:16px;font-size:17px;color:var(--sage)}
.dark .card{border-color:rgba(247,241,232,.5);color:var(--ivory)}.dark .card .d{color:rgba(247,241,232,.8)}.dark .card .go{color:var(--sand)}
.split{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.ratio-43{width:100%;aspect-ratio:4/3;object-fit:cover}.ratio-45{width:100%;aspect-ratio:4/5;object-fit:cover}.ratio-34{width:100%;aspect-ratio:3/4;object-fit:cover}.ratio-32{width:100%;aspect-ratio:3/2;object-fit:cover}
/* header */
.hdr{position:absolute;top:0;left:0;right:0;z-index:20;height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 64px;color:var(--ivory)}
.hdr.solid{position:sticky;background:var(--ivory);color:var(--green);border-bottom:1px solid rgba(30,42,40,.12)}
.hdr .logo img{height:30px;width:auto}
.hdr nav{display:flex;gap:26px;font-size:15px}
.hdr nav a,.hdr .util a{color:inherit;text-decoration:none;opacity:.92}.hdr nav a:hover,.hdr nav a[aria-current]{opacity:1;text-decoration:underline}
.hdr .util{display:flex;gap:20px;align-items:center;font-size:15px}
.hdr .util .btn{font-size:15px;padding:13px 20px}
.dd{position:relative}.dd>button{background:none;border:0;color:inherit;font:inherit;padding:0;cursor:pointer;opacity:.92}
.dd .menu{display:none;position:absolute;top:100%;left:-18px;padding:14px 0 0}.dd:hover .menu,.dd:focus-within .menu{display:block}
.dd .menu div{background:var(--ivory);color:var(--green);min-width:200px;padding:10px 0;box-shadow:0 10px 30px rgba(16,24,22,.12)}
.dd .menu a{display:block;padding:9px 18px;color:var(--green)!important;opacity:1}
.burger{display:none;background:none;border:0;color:inherit;font:inherit;font-size:14px;letter-spacing:.12em;text-transform:uppercase;padding:12px 0;cursor:pointer}
.drawer{position:fixed;inset:0;background:var(--green);color:var(--ivory);z-index:60;padding:22px 20px 40px;display:none;overflow:auto}
.drawer.on{display:block}.drawer .top{display:flex;justify-content:space-between;align-items:center;height:44px}
.drawer nav{display:flex;flex-direction:column;margin-top:28px}.drawer nav a{color:var(--ivory);text-decoration:none;font-family:var(--serif);font-size:30px;padding:10px 0;border-bottom:1px solid rgba(247,241,232,.15)}
.drawer nav a.sub{font-family:var(--sans);font-size:17px;padding:10px 0 10px 18px;color:rgba(247,241,232,.82)}
/* hero */
.hero{position:relative;min-height:880px;height:100svh;max-height:980px;overflow:hidden;background:#101816;color:var(--ivory)}
.hero.short{min-height:620px;height:72svh;max-height:720px}
.hero video,.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,24,22,.55) 0%,rgba(16,24,22,0) 24%,rgba(16,24,22,0) 46%,rgba(16,24,22,.74) 100%)}
.hero .in{position:absolute;left:0;right:0;bottom:0;padding:0 64px 48px;max-width:1440px;margin:0 auto}
.hero .eyebrow{color:var(--sand);margin-bottom:18px;font-size:14px}
.hero .sub{margin-top:22px;font-size:20px;line-height:1.55;max-width:46ch;color:rgba(247,241,232,.92)}
.hero .acts a.link{color:var(--ivory)}
.crumb{font-size:15px;color:rgba(247,241,232,.78);margin-bottom:16px}.crumb a{color:inherit}
/* page head (no image) */
.phead{padding:72px 0 64px;border-bottom:1px solid rgba(30,42,40,.14)}
.phead .crumb{color:var(--ink3)}
/* labs */
.labs5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));column-gap:16px}
.lab{display:flex;flex-direction:column;text-decoration:none;color:var(--green)}
.lab .rule{border-top:1px solid var(--green)}.lab .ph{margin-top:14px;overflow:hidden;background:var(--green)}
.lab img{width:100%;aspect-ratio:3/4;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.lab:hover img{transform:scale(1.035)}
.lab h3{margin-top:22px;font-size:32px;line-height:1}.lab .p{margin-top:10px;font-size:18px;line-height:1.45;min-height:52px}
.lab .f{margin-top:10px;font-size:15px;line-height:1.55;color:var(--ink3);min-height:70px}.lab .go{margin-top:18px;font-size:16px;color:var(--sage)}
.progress{display:none}
/* lists */
.rows{border-top:1px solid var(--green)}.rows>*{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:var(--green)}
.rows .k{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600}.rows .t{font-family:var(--serif);font-size:23px;display:block}.rows .v{font-size:16px;color:var(--ink3);white-space:nowrap;align-self:center}
.facs{list-style:none;margin:0;padding:0;border-top:1px solid var(--green)}.facs li{padding:16px 0;border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:24px}.facs li small{display:block;font-family:var(--sans);font-size:16px;color:var(--ink3);margin-top:4px}
/* table */
.tbl{width:100%;border-collapse:collapse;font-size:15px;min-width:1100px}.tbl th,.tbl td{text-align:left;vertical-align:top;padding:16px 14px 16px 0;border-bottom:1px solid var(--rule)}
.tbl thead th{border-bottom:1px solid var(--green);font-weight:400}.tbl thead .k{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600}
.tbl thead .n{display:block;font-family:var(--serif);font-size:22px;line-height:1.1;margin-top:4px}.tbl thead .p{display:block;margin-top:6px;font-size:15px}.tbl thead .l{display:block;font-size:13px;color:var(--ink3)}
.tbl tbody th{font-weight:600;font-size:14px;width:150px}.tbl td{color:var(--ink2)}.tscroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.rec{background:var(--stone)}
/* quiz */
.quiz{background:var(--green);color:var(--ivory);padding:48px}
.qbar{height:2px;background:rgba(247,241,232,.2);margin:0 0 28px}.qbar i{display:block;height:2px;background:var(--sand)}
.qopts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:26px}
.qopt{text-align:left;background:transparent;color:var(--ivory);border:1px solid rgba(247,241,232,.38);font:inherit;font-size:18px;padding:18px 20px;cursor:pointer}.qopt:hover,.qopt:focus-visible{border-color:var(--sand);background:rgba(248,242,235,.08)}
.qmeta{display:flex;justify-content:space-between;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,241,232,.7);margin-bottom:12px}
.qback{background:none;border:0;color:rgba(247,241,232,.78);font:inherit;font-size:16px;margin-top:22px;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
/* forms */
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px}
.fld label,.fld .lbl{display:block;font-size:15px;font-weight:500;margin-bottom:6px}
.fld input,.fld select,.fld textarea{width:100%;font:inherit;font-size:17px;color:inherit;background:transparent;border:0;border-bottom:1px solid currentColor;padding:10px 0;border-radius:0}
.fld select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) 55%,calc(100% - 7px) 55%;background-size:5px 5px;background-repeat:no-repeat}
.fld select option{color:var(--green)}
.fld.full{grid-column:1/-1}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;margin-top:20px}.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--sage)}
.err{color:#9b3b2a;font-size:15px;margin-top:12px}.dark .err,.quiz .err{color:#F3B7A8}
.ok{border-top:1px solid currentColor;padding-top:20px}
.chips{display:flex;gap:10px;flex-wrap:wrap}.chips label{position:relative}.chips input{position:absolute;opacity:0}.chips span{display:inline-block;border:1px solid var(--rule);padding:10px 16px;font-size:16px;cursor:pointer}.chips input:checked+span{border-color:var(--green);background:var(--green);color:var(--ivory)}.chips input:focus-visible+span{outline:2px solid var(--sage)}
/* tiles */
.tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tile{text-align:left;background:transparent;border:1px solid var(--rule);font:inherit;color:var(--green);padding:20px;cursor:pointer;min-height:150px}
.tile .k{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage);font-weight:600}.tile .t{display:block;font-family:var(--serif);font-size:24px;margin-top:8px;line-height:1.1}.tile .d{display:block;font-size:15px;color:var(--ink3);margin-top:8px;line-height:1.45}
.tile[aria-pressed=true]{border-color:var(--green);background:var(--stone);box-shadow:inset 0 0 0 1px var(--green)}
/* faq */
.faq details{border-bottom:1px solid var(--rule)}.faq{border-top:1px solid var(--green)}
.faq summary{list-style:none;cursor:pointer;padding:20px 40px 20px 0;font-family:var(--serif);font-size:24px;position:relative}.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';position:absolute;right:4px;top:18px;font-family:var(--sans);font-size:24px;color:var(--sage)}.faq details[open] summary::after{content:'–'}
.faq details p{padding:0 0 22px;max-width:70ch;color:var(--ink2)}
/* steps */
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.step{border-top:1px solid var(--green);padding-top:18px}.step .k{font-size:14px;color:var(--sage);font-weight:600}.step h3{font-size:26px;margin-top:8px}.step p{margin-top:10px;font-size:17px;color:var(--ink2);line-height:1.55}
.dark .step{border-color:rgba(247,241,232,.5)}.dark .step .k{color:var(--sand)}.dark .step p{color:rgba(247,241,232,.8)}
.stat{border-top:1px solid rgba(247,241,232,.5);padding-top:18px}.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:64px;line-height:1;color:var(--sand)}.stat span{display:block;margin-top:12px;font-size:17px;color:rgba(247,241,232,.85);line-height:1.5}
/* events */
.ev{display:grid;grid-template-columns:220px 1fr auto;gap:24px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--rule)}
.ev .st{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);font-weight:600}.ev.past .st{color:#7d8481}
.ev h3{font-size:28px}.ev p{margin-top:6px;color:var(--ink2);font-size:17px}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.filters button{font:inherit;font-size:16px;background:transparent;border:1px solid var(--rule);padding:10px 18px;cursor:pointer;color:var(--green)}.filters button[aria-pressed=true]{background:var(--green);color:var(--ivory);border-color:var(--green)}
.ph-note{display:flex;align-items:flex-end;width:100%;aspect-ratio:3/2;background:#D9CDB8;padding:20px;font-size:14px;color:var(--ink2)}
/* footer */
.ftr{background:var(--green);color:rgba(247,241,232,.8);padding:88px 0 40px;font-size:16px}
.ftr a{color:rgba(247,241,232,.85);text-decoration:none}.ftr a:hover{color:var(--ivory);text-decoration:underline}
.ftr .h{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sand);font-weight:600;margin:0 0 16px}
.ftr .lk{display:flex;flex-direction:column;gap:11px}
.ftr form{display:grid;grid-template-columns:1fr 1fr auto;gap:10px}.ftr input{min-width:0;background:transparent;border:0;border-bottom:1px solid rgba(247,241,232,.45);color:var(--ivory);font:inherit;padding:10px 0}.ftr input::placeholder{color:rgba(247,241,232,.6)}
.ftr .apps{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.ftr .apps a{border:1px solid rgba(247,241,232,.45);padding:10px 16px;font-size:15px;color:var(--ivory)}
.ftr .base{margin-top:56px;padding-top:22px;border-top:1px solid rgba(247,241,232,.2);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;font-size:15px}
.mbar{display:none}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:1100px){.hdr nav{gap:18px;font-size:14px}.hdr .util .cart{display:none}}
@media (max-width:980px){
 body{font-size:16px}
 .wrap{padding:0 20px}.band{padding:64px 0}.band.t{padding:52px 0}
 .hdr{height:64px;padding:0 20px}.hdr.solid{position:sticky}.hdr .logo img{height:24px}.hdr nav,.hdr .util .btn,.hdr .util .lang{display:none}.burger{display:block}
 .hero{min-height:680px;height:92svh}.hero.short{min-height:520px;height:64svh}.hero .in{padding:0 20px 36px}.hero .sub{font-size:17px}.hero .acts{flex-direction:column;align-items:stretch;gap:14px;text-align:center}
 .g12{grid-template-columns:1fr}.g12>*{grid-column:1/-1!important}.head{margin-bottom:28px;row-gap:14px}
 .split{grid-template-columns:1fr;row-gap:24px}.split>*{grid-column:1/-1!important;grid-row:auto!important}
 .lede,.body{font-size:17px}.c2,.c3{grid-template-columns:1fr;gap:28px}.c4{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}
 .labs5{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;margin:0 -20px;padding:0 20px;scroll-padding-left:20px;scrollbar-width:none}.labs5::-webkit-scrollbar{display:none}
 .lab{flex:0 0 74%;scroll-snap-align:start}.lab h3{font-size:28px}.lab .p{font-size:16px;min-height:0}.lab .f{display:none}
 .progress{display:block;height:1px;background:rgba(30,42,40,.18);margin-top:24px}.progress i{display:block;height:1px;width:20%;background:var(--green);transition:transform .2s}
 .closer p{font-size:24px}
 .steps{grid-template-columns:1fr;gap:20px}.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{min-height:0}
 .f2{grid-template-columns:1fr}.qopts{grid-template-columns:1fr}.quiz{padding:28px 20px;margin:0 -20px}
 .ev{grid-template-columns:1fr;gap:6px}.ev .btn,.ev .link{justify-self:start;margin-top:8px}
 .stat b{font-size:48px}
 .ftr{padding:52px 0 120px}.ftr form{grid-template-columns:1fr}.ftr .base{flex-direction:column;align-items:flex-start}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--ivory);border-top:1px solid rgba(30,42,40,.15);padding:12px 20px 18px;gap:12px}
 .mbar a{flex:1 1 0;text-align:center;font-size:16px;padding:15px 0!important;border:1px solid var(--sand)}.mbar a.o{border-color:var(--green)}
}

/* ===== Homepage refinements ===== */
.close2{padding:140px 0;border-top:1px solid var(--rule)}
@media (max-width:980px){.close2{padding:72px 0}}
.paths3 .card{border-top:1px solid var(--green);padding-top:22px}
.labs{background:var(--ivory)}
.lgrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:56px 24px}
.lch{display:block;text-decoration:none;color:var(--green)}
.lc-a{grid-column:1/8}.lc-b{grid-column:8/13}
.lc-c{grid-column:1/5}.lc-d{grid-column:5/9}.lc-e{grid-column:9/13}
.lc-a .ph,.lc-b .ph{aspect-ratio:auto!important;height:clamp(380px,38vw,560px)}
.lct{border-top:1px solid var(--green);margin-top:18px;padding-top:16px}
.lct h3{font-size:clamp(30px,2.6vw,40px);line-height:1}
.lp{margin-top:10px;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink2)}
.lo{margin-top:10px;font-size:16px;line-height:1.55;color:var(--ink3);max-width:46ch}
.lch .go{display:inline-block;margin-top:14px;font-size:16px;border-bottom:1px solid currentColor;padding-bottom:2px}
.philo2{padding:140px 0;border-top:1px solid var(--rule)}
.place .facs li{font-size:21px}
.pick-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;font-size:13px;color:var(--ink3);letter-spacing:.06em}
.pick-opts{display:flex;gap:8px}.pick-opts button{width:54px;height:40px;padding:0;border:1px solid transparent;background:none;cursor:pointer;opacity:.6}
.pick-opts button img{width:100%;height:100%;object-fit:cover}.pick-opts button[aria-pressed=true]{border-color:var(--green);opacity:1}
.team-row{margin-top:80px;border-top:1px solid var(--green);padding-top:22px}
.tr-h{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}
.tr-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:22px}
.tr-list div{display:grid;grid-template-columns:56px 1fr;column-gap:14px;align-items:center}
.tr-list .tp{grid-row:span 2;width:56px;height:70px;background:var(--stone);border:1px solid var(--rule)}
.tr-list b{font-family:var(--serif);font-weight:400;font-size:20px;align-self:end}
.tr-list div>span:last-child{font-size:14px;color:var(--ink3);align-self:start}
.m3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:56px}
.mcol{display:flex;flex-direction:column;text-decoration:none;color:var(--green);position:relative}
.mcol+.mcol::before{content:;position:absolute;left:-28px;top:0;bottom:0;width:1px;background:var(--rule)}
.mcol .k{margin-top:22px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--sage)}
.mcol h3{margin-top:10px;font-size:26px;line-height:1.15}
.mcol p{margin-top:12px;font-size:16px;color:var(--ink2)}
.mcol .tiers{font-size:14px;color:var(--ink3);border-top:1px solid var(--rule);padding-top:12px;margin-top:18px}
.mcol .pr{margin-top:auto;padding-top:14px;font-family:var(--serif);font-size:22px;color:var(--green)}
.mcol .go{margin-top:12px;font-size:16px;align-self:flex-start;border-bottom:1px solid currentColor;padding-bottom:2px}
.bfeat{display:block;text-decoration:none;color:var(--green)}
.bft{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;margin-top:22px;align-items:start}
.bft .eyebrow{grid-column:1/4;padding-top:8px}.bft h3{grid-column:4/9}.bft .body{grid-column:9/13}.bft .go{grid-column:4/9;margin-top:10px;font-size:16px}
.bpair{margin-top:72px;gap:24px}
.bcard{display:block;text-decoration:none;color:var(--green)}.bcard .go{display:inline-block;margin-top:12px;font-size:16px;border-bottom:1px solid currentColor}
.vk{margin-top:56px;border-top:1px solid var(--rule);padding-top:22px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:baseline}
.vk .eyebrow{grid-column:1/4}.vk p{grid-column:4/10;font-size:18px;color:var(--ink2)}.vk p b{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--green)}.vk a{grid-column:10/13;justify-self:end}
.plogos{list-style:none;margin:44px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--rule)}
.plogos li{display:flex;flex-direction:column;justify-content:flex-end;gap:12px;min-height:120px;padding:22px 18px 0 0}
.plogos img{max-height:46px;max-width:140px;width:auto;object-fit:contain}
.plogos span{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3)}
.rating{font-family:var(--serif);font-size:96px;line-height:1;margin-top:18px}
.rv4{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}
.rv4 figure{margin:0;border-top:1px solid var(--green);padding-top:18px}
.rv4 blockquote{margin:0;font-family:var(--serif);font-size:23px;line-height:1.3}
.rv4 figcaption{margin-top:14px;font-size:14px;color:var(--ink3)}
@media (max-width:980px){
 .lgrid{grid-template-columns:1fr;gap:44px}.lgrid>*{grid-column:1/-1!important}.lc-a .ph,.lc-b .ph{aspect-ratio:4/5!important;height:auto}
 .philo2{padding:72px 0}
 .tr-list{grid-template-columns:1fr 1fr}
 .m3{grid-template-columns:1fr;gap:48px}.mcol+.mcol::before{display:none}
 .bft{grid-template-columns:1fr;row-gap:12px}.bft>*{grid-column:1/-1!important}
 .bpair{margin-top:44px}
 .vk{grid-template-columns:1fr;row-gap:10px}.vk>*{grid-column:1/-1!important;justify-self:start!important}
 .plogos{grid-template-columns:repeat(2,minmax(0,1fr))}
 .rv4{grid-template-columns:1fr;gap:28px}.rating{font-size:72px}
 .pick-bar{flex-direction:column;align-items:flex-start}
}

/* ===== Brand-book colour pass: charcoal anchors, no green blocks, no sand buttons ===== */
.dark,.quiz,.ftr{background:var(--charcoal)}
.dark .eyebrow,.ftr .h,.stat b{color:var(--greige)}
.btn,.btn.d{background:var(--charcoal);color:var(--ivory)!important;letter-spacing:.01em}
.btn:hover,.btn.d:hover{background:var(--noir)}
.hero .btn,.dark .btn,.quiz .btn,.ftr .btn{background:var(--ivory);color:var(--charcoal)!important}
.hero .btn:hover,.dark .btn:hover,.quiz .btn:hover,.ftr .btn:hover{background:#fff}
.btn.o{background:transparent!important;color:inherit!important;border:1px solid currentColor}
.filters button[aria-pressed=true],.chips input:checked+span{background:var(--charcoal);border-color:var(--charcoal);color:var(--ivory)}
.lab .ph{background:var(--stone)}
.qbar i{background:var(--greige)}
.qopt:hover,.qopt:focus-visible{border-color:var(--greige);background:rgba(248,242,235,.06)}
/* ===== Header: logo | primary nav | utilities ===== */
.hdr{display:block;padding:0}
.hdr-in{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px;padding:0 56px;max-width:1680px;margin:0 auto}
.hdr .logo{justify-self:start}
.pnav{justify-self:center;display:flex;align-items:center;gap:44px;font-size:15px;letter-spacing:.015em}
.pnav>a,.dd>button{color:inherit;text-decoration:none;opacity:.9;padding:10px 0;border-bottom:1px solid transparent;background:none;border-top:0;border-left:0;border-right:0;font:inherit;cursor:pointer;line-height:1}
.pnav>a:hover,.dd>button:hover,.pnav>a[aria-current],.dd.is-on>button{opacity:1;border-bottom-color:currentColor;text-decoration:none}
.dd>button::after{content:'';display:inline-block;width:5px;height:5px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin:0 0 3px 9px}
.dd .menu{display:none;position:absolute;top:100%;left:-22px;padding-top:16px;z-index:30}
.dd:hover .menu,.dd.open .menu,.dd:focus-within .menu{display:block}
.dd .menu>div{background:var(--ivory);color:var(--green);min-width:230px;padding:12px 0;border:1px solid rgba(29,42,40,.1)}
.dd .menu a{display:block;padding:9px 22px;color:var(--green)!important;opacity:1;text-decoration:none;font-size:15px}
.dd .menu a:hover,.dd .menu a[aria-current]{background:var(--stone)}
.dd .menu .mh{display:block;padding:14px 22px 6px;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3);border-top:1px solid var(--rule);margin-top:6px}
.dd .menu a.ms{padding-left:34px}
.util{justify-self:end;display:flex;align-items:center;font-size:14px}
.util .lang{display:flex;align-items:center;gap:9px;padding-right:22px;margin-right:22px;border-right:1px solid currentColor;border-color:color-mix(in srgb,currentColor 35%,transparent);letter-spacing:.04em}
.util .lang a{opacity:.7}.util .lang a[aria-current]{opacity:1}
.util .lang span{opacity:.4}
.util .cart{margin-right:26px;opacity:.75}
.util .btn{font-size:14px;padding:13px 22px}
.dh{margin:22px 0 4px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--greige)}
.drawer nav a.sub{font-size:20px;font-family:var(--serif);padding:8px 0 8px 0;color:var(--ivory)}
.drawer{background:var(--charcoal)}
.dutil{margin-top:26px;display:flex;gap:22px;font-size:16px}.dutil a{color:var(--ivory)}
/* ===== Footer ===== */
.ftop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;padding-bottom:56px;border-bottom:1px solid rgba(248,242,235,.16)}
.fnews{max-width:520px;justify-self:end;width:100%}
.fcols{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:32px;padding:48px 0 8px}
.ftr .base{justify-content:space-between}.ftr .base .bl{display:flex;gap:24px;flex-wrap:wrap}
.mbar a{border:1px solid var(--charcoal)!important}
@media (max-width:1320px){.pnav{gap:32px}.util .cart{display:none}.hdr-in{padding:0 40px}}
@media (max-width:1120px){.pnav,.util .lang{display:none!important}.hdr-in{grid-template-columns:auto 1fr}.util{grid-column:2}.burger{display:block;margin-left:22px}}
.pnav>a,.dd>button,.util a,.util .btn{white-space:nowrap}
.hdr:not(.solid) .util .btn{background:var(--ivory);color:var(--charcoal)!important}.hdr:not(.solid) .util .btn:hover{background:#fff}
@media (max-width:980px){.hdr-in{grid-template-columns:auto 1fr;padding:0 20px}.util{grid-column:2}.pnav{display:none}.util .lang,.util .btn,.util .cart{display:none}
 .ftop{grid-template-columns:1fr}.fnews{justify-self:start}.fcols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ===== The LifeLab Edit ===== */
.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.label{font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-weight:600}
.more{display:inline-flex;gap:10px;align-items:baseline;font-size:17px;text-decoration:none;color:var(--green);border-bottom:1px solid currentColor;padding-bottom:3px}
.ph{overflow:hidden;background:#d9d2c4}.ph img{width:100%;height:100%;object-fit:cover}
.ed-mast{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;border-bottom:1px solid var(--green);padding-bottom:18px}
.ed-mast h2{font-size:clamp(44px,4.6vw,72px);font-style:italic}
.ed-mast .m{font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ed-mast .m a{color:var(--green)}
.ed-lead{text-decoration:none;color:var(--green)}
.ed-next{border:1px solid var(--rule);padding:22px;display:flex;flex-direction:column;gap:6px;background:var(--stone)}
.ed-next span{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ed-next b{font-family:var(--serif);font-weight:400;font-style:italic;font-size:28px;color:var(--sage)}
.ed-form{display:flex;gap:10px;margin-top:12px}.ed-form input{flex:1;min-width:0;border:0;border-bottom:1px solid var(--green);background:transparent;font:inherit;padding:10px 0}
@media (max-width:980px){.grid{grid-template-columns:minmax(0,1fr)}.grid>*{grid-column:1/-1!important;min-width:0}}
.iss{color:var(--green)}
@media (max-width:980px){.e-mast h1{font-size:54px}}

.e-mast{padding:72px 0 0}
.e-mast .row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--green);padding-bottom:22px}
.e-mast h1{font-size:clamp(64px,9vw,150px);font-style:italic;line-height:.9;letter-spacing:-.035em}
.e-mast .m{max-width:38ch;font-size:17px;color:var(--ink2)}
.e-bar{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid var(--rule);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink3)}
.cur{padding:64px 0 120px}
.cur .pic{grid-column:1/8}.cur .pic .ph{aspect-ratio:4/3}
.cur .txt{grid-column:9/13;align-self:end}
.cur .k{font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--sage)}
.cur h2{font-size:clamp(40px,4vw,62px);margin-top:14px}
.cur .dek{margin-top:18px;font-size:19px;color:var(--ink2)}
.toc{margin-top:30px;border-top:1px solid var(--green)}
.toc a{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--rule);text-decoration:none}
.toc .s{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3);padding-top:4px}
.toc b{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.2}
.arch{background:var(--stone);padding:120px 0}
.arch .head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:40px}
.arch h2{font-size:clamp(38px,3.6vw,54px)}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filters button{background:transparent;border:1px solid var(--rule);padding:9px 16px;font-size:15px;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--green);border-color:var(--green);color:var(--ivory)}
.issues{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.iss{display:flex;flex-direction:column;text-decoration:none;border-top:1px solid var(--green);padding-top:16px}
.iss .top{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.iss .ph{aspect-ratio:4/5;margin-top:16px}
.iss h3{margin-top:16px;font-size:28px;line-height:1.12}
.iss p{margin-top:8px;font-size:16px;color:var(--ink2)}
.iss.up .slot{aspect-ratio:4/5;margin-top:16px;border:1px solid var(--rule);display:flex;flex-direction:column;justify-content:flex-end;padding:22px;background:var(--ivory)}
.iss.up .slot b{font-family:var(--serif);font-weight:400;font-size:30px;font-style:italic;color:var(--sage)}
.iss.up .slot span{font-size:15px;color:var(--ink3);margin-top:6px}
.e-sub{padding:120px 0}
.e-sub .t{grid-column:1/7}.e-sub h2{font-size:clamp(40px,4vw,60px)}
.e-sub form{grid-column:8/13;align-self:end;display:flex;gap:12px;border-bottom:1px solid var(--green)}
.e-sub input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:19px;padding:14px 0;color:var(--green)}
.e-sub .ok{grid-column:8/13;align-self:end;font-family:var(--serif);font-size:24px}
/* issue page */
.art-h{padding:72px 0 48px}
.art-h .crumb{font-size:14px;color:var(--ink3)}.art-h .crumb a{color:inherit}
.art-h .k{display:block;margin-top:40px;font-size:13px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--sage)}
.art-h h1{margin-top:16px;font-size:clamp(52px,6.6vw,108px);line-height:.96;letter-spacing:-.03em;max-width:13ch}
.art-h .dek{margin-top:26px;font-size:22px;line-height:1.5;color:var(--ink2);max-width:46ch}
.art-h .by{margin-top:30px;display:flex;gap:28px;flex-wrap:wrap;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);border-top:1px solid var(--rule);padding-top:16px}
.art-cover .ph{aspect-ratio:21/9}
.art-cover figcaption{margin-top:10px;font-size:14px;color:var(--ink3)}
.art{padding:88px 0 40px}
.art .side{grid-column:1/4;position:sticky;top:110px;align-self:start}
.art .side p{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--sage);margin-bottom:12px}
.art .side a{display:block;padding:9px 0;border-top:1px solid var(--rule);font-size:15px;text-decoration:none;color:var(--ink2)}
.art .side a:hover{color:var(--green)}
.art .body-col{grid-column:5/11}
.part{padding-bottom:56px}
.part+.part{border-top:1px solid var(--rule);padding-top:44px}
.part .s{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--sage)}
.part h2{margin-top:10px;font-size:clamp(32px,3vw,44px)}
.part p.lead{margin-top:18px;font-size:21px;line-height:1.55;font-family:var(--serif)}
.copy-slot{margin-top:22px;border:1px dashed rgba(30,42,40,.35);padding:22px 24px;font-size:15px;color:var(--ink3);background:rgba(237,231,219,.5)}
.copy-slot b{display:block;color:var(--green);font-weight:600;margin-bottom:4px}
.pull{margin:40px 0;padding:28px 0;border-top:1px solid var(--green);border-bottom:1px solid var(--green);font-family:var(--serif);font-style:italic;font-size:clamp(28px,2.6vw,38px);line-height:1.2;color:var(--sage)}
.labs5row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:22px}
.labs5row div{border-top:1px solid var(--green);padding-top:10px}
.labs5row b{display:block;font-family:var(--serif);font-weight:400;font-size:19px}
.labs5row span{font-size:13px;color:var(--ink3)}
.cal{margin-top:20px;border-top:1px solid var(--green)}
.cal div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:16px}
.cal span:first-child{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);padding-top:2px}
.next{padding:88px 0 120px;border-top:1px solid var(--rule)}
.next .grid{align-items:end}
.next h2{grid-column:1/8;font-size:clamp(36px,3.4vw,52px)}
.next .r{grid-column:9/13;display:flex;flex-direction:column;gap:16px;align-items:flex-start}
@media (max-width:900px){
 .e-mast{padding:40px 0 0}.e-mast h1{font-size:64px}
 .cur{padding:32px 0 72px}.cur .txt{margin-top:26px}
 .toc a{grid-template-columns:100px 1fr}
 .arch{padding:72px 0}.issues{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px 14px}.iss h3{font-size:22px}.iss.up .slot b{font-size:22px}
 .sub{padding:72px 0}.e-sub form{margin-top:24px}
 .art-h{padding:40px 0 32px}.art-h h1{font-size:48px}.art-h .dek{font-size:18px}
 .art-cover .ph{aspect-ratio:4/3}
 .art{padding:48px 0 24px}.art .side{position:static;margin-bottom:36px}
 .labs5row{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cal div{grid-template-columns:110px 1fr}
 .next{padding:64px 0 88px}.next .r{margin-top:22px}
}

.lgrid{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:20px!important}
.lgrid>.lch{grid-column:auto!important}
.lgrid .lch .ph{aspect-ratio:3/4!important;height:auto!important}
.lct h3{font-size:clamp(26px,2.2vw,34px)}
.lp{font-size:18px}
.lo{font-size:15px}
.ftr{background:#1E2A28}
.lch{display:flex;flex-direction:column}.lct{flex:1;display:flex;flex-direction:column}.lch .go{margin-top:auto;align-self:flex-start}.lch .lo{margin-bottom:14px}
@media (max-width:980px){
 .lgrid{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px!important;margin:0 -20px;padding:0 20px;scroll-padding-left:20px;scrollbar-width:none}
 .lgrid::-webkit-scrollbar{display:none}
 .lgrid>.lch{flex:0 0 76%;scroll-snap-align:start}
}

:root{--clay:#8F6250;--clay-d:#7A5242;--clay-l:#A8755F}
.btn,.btn.d{background:var(--clay);color:#FBF7F2!important}
.btn:hover,.btn.d:hover{background:var(--clay-d)}
.hero .btn,.hdr:not(.solid) .util .btn{background:var(--ivory);color:var(--green)!important}
.hero .btn:hover,.hdr:not(.solid) .util .btn:hover{background:#fff}
.ftr .btn{background:var(--clay-l);color:#FBF7F2!important}.ftr .btn:hover{background:var(--clay)}
.btn.o{border-color:var(--clay)!important;color:var(--clay)!important}
.filters button[aria-pressed=true],.chips input:checked+span{background:var(--clay);border-color:var(--clay);color:#FBF7F2}
.mbar a{border-color:var(--clay)!important}
/* light panels instead of charcoal */
.dark,.quiz{background:var(--stone)!important;color:var(--green)!important}
.dark h1,.dark h2,.dark h3,.dark h4,.dark b,.quiz h3,.quiz h2{color:var(--green)!important}
.dark [style*="color"],.quiz [style*="color"],.dark .body,.dark .lede,.dark .small,.dark p,.quiz p,.quiz li,.quiz span{color:var(--ink2)!important}
.dark a:not(.btn),.quiz a:not(.btn){color:var(--green)!important}
.dark .eyebrow,.quiz .eyebrow,.stat b{color:var(--clay)!important}
.dark .btn,.quiz .btn{background:var(--clay)!important;color:#FBF7F2!important}
.dark .card,.dark .step,.stat{border-color:var(--green)!important}
.dark .card .d,.dark .step p,.stat span{color:var(--ink2)!important}
.dark .card .go,.dark .step .k{color:var(--clay)!important}
.dark .fld input,.dark .fld select,.dark .fld textarea{color:var(--green);border-color:var(--green)}
.dark .chips span{border:1px solid rgba(29,42,40,.25)!important;color:var(--green)}
.quiz .qopt{color:var(--green)!important;border-color:var(--rule)!important;background:var(--ivory)}
.quiz .qopt:hover,.quiz .qopt:focus-visible{border-color:var(--clay)!important}
.quiz .qbar{background:rgba(29,42,40,.12)}.quiz .qbar i{background:var(--clay)}
.quiz .qmeta,.quiz .qback{color:var(--ink3)!important}
.quiz .err,.dark .err{color:#9b3b2a!important}
.quiz ul,.quiz li{border-color:var(--rule)!important}

.btn,.btn.d,.hero .btn,.dark .btn,.quiz .btn,.ftr .btn,.hdr:not(.solid) .util .btn{background:#D8C3A5!important;color:#1D2A28!important;font-family:var(--sans);font-size:12.5px!important;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:17px 30px!important;border:1px solid #D8C3A5!important;border-radius:0;transition:background .25s,border-color .25s,color .25s;line-height:1}
.btn:hover,.btn.d:hover,.hero .btn:hover,.dark .btn:hover,.quiz .btn:hover,.ftr .btn:hover,.hdr:not(.solid) .util .btn:hover{background:#CBB08C!important;border-color:#CBB08C!important}
.util .btn{padding:14px 22px!important;font-size:11.5px!important}
.btn.o{background:transparent!important;border:1px solid #1D2A28!important;color:#1D2A28!important}
.btn.o:hover{background:#1D2A28!important;color:#F8F2EB!important}
.mbar a{border-color:#D8C3A5!important}
.mbar a.o{border-color:#1D2A28!important}
.ftr form .btn,.ed-form .btn,.e-sub form .btn{padding:12px 20px!important}

.tr-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin-top:24px}
.tcard{display:block;text-decoration:none;color:var(--green)}
.tcard b{display:block;margin-top:14px;font-family:var(--serif);font-weight:400;font-size:22px}
.tcard .tr{display:block;margin-top:4px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--sage)}
.tpcard .ph img,.tcard .ph img{object-position:50% 20%}
@media (max-width:980px){.tr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}}

.btn,.btn.d,.hero .btn,.dark .btn,.quiz .btn,.ftr .btn,.hdr:not(.solid) .util .btn{background:#CDC2AA!important;border-color:#CDC2AA!important;color:#1D2A28!important;font-size:15px!important;font-weight:500;letter-spacing:.02em;text-transform:none;padding:17px 34px!important}
.btn:hover,.btn.d:hover,.hero .btn:hover,.dark .btn:hover,.quiz .btn:hover,.ftr .btn:hover,.hdr:not(.solid) .util .btn:hover{background:#BFB295!important;border-color:#BFB295!important}
.util .btn{padding:13px 24px!important;font-size:14px!important}
.ftr form .btn,.ed-form .btn,.e-sub form .btn{padding:12px 22px!important;font-size:14px!important}
.mbar a{border-color:#CDC2AA!important}

.pg[hidden]{display:none!important}
/* Labels: no tracked-caps kickers. Small labels read as quiet sentence-case text. */
.eyebrow,.label,.rows .k,.tbl thead .k,.tile .k,.ev .st,.mcol .k,.cur .k,.art-h .k,.part .s,.toc .s,.iss .top,.e-bar,.art-h .by,.art .side p,.cal span:first-child,.tcard .tr,.ed-mast .m,.ed-next span,.ftr .h,.dh,.dd .menu .mh,.qmeta,.plogos span{text-transform:none!important;letter-spacing:0!important}
.eyebrow,.rows .k,.tbl thead .k,.tile .k,.ev .st,.mcol .k,.cal span:first-child,.tcard .tr,.toc .s{font-size:15px;font-weight:500}
.iss .top,.e-bar,.art-h .by,.ed-mast .m,.ed-next span,.ftr .h,.dh,.dd .menu .mh,.qmeta{font-size:15px}
.ftr .h{font-family:var(--serif);font-size:20px;font-weight:400;color:var(--ivory)}
.dh{font-family:var(--serif);font-size:18px}
.meta{display:block;margin-top:6px;font-size:16px;line-height:1.45;color:var(--ink3)}
.dark .meta{color:rgba(247,241,232,.72)}
p.meta{margin-top:6px}
.dk{display:block;margin-top:8px;font-family:var(--serif);font-style:italic;font-size:21px;line-height:1.3;color:var(--sage)}

/* The LifeLab Edit, Issue 01 */
.ed1 .art-h .ed1-logo{display:block;width:200px;height:auto;margin-top:36px}
.ed1 .art-h h1{margin-top:28px;max-width:14ch}
.ed1 .art-cover .ph img{width:100%;height:100%;object-fit:cover}
.ed1-intro .h2{font-size:clamp(34px,3.6vw,54px)}
.ed1-cols .body+.body{margin-top:18px}
.ed1 .sig{margin-top:26px;font-family:var(--serif);font-style:italic;font-size:20px;color:var(--sand)}
.ed1-story p{font-size:19px;line-height:1.72;color:var(--ink2);margin-top:18px}
.ed1-story p.first{margin-top:0;font-size:22px;line-height:1.6;color:var(--green)}
.ed1-story h3{font-size:clamp(28px,2.4vw,34px);margin-top:52px}
.ed1-story strong{color:var(--green);font-weight:600}
.ed1-story .pull{margin:44px 0 0}
.ed1 .body-col{grid-column:5/12}
.ed1-pod{align-items:center}
.ed1-pod .t{grid-column:1/7}
.ed1-pod .ed1-vid{grid-column:8/12}
.ed1-vid{display:block;text-decoration:none;color:inherit;position:relative}
.ed1-vid img{display:block;width:100%;object-fit:cover;background:var(--stone)}
.ed1-vid .play{position:absolute;left:14px;top:14px;background:rgba(29,42,40,.86);color:var(--ivory);font-size:15px;padding:8px 14px}
.ed1-vid:hover .play{background:var(--green)}
.ed1-sci .ed1-cols2{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;max-width:980px}
.ed1-shift{margin-top:40px;padding:30px 0;border-top:1px solid var(--green);border-bottom:1px solid var(--rule);font-family:var(--serif);font-size:clamp(24px,2.2vw,30px);line-height:1.35;max-width:36ch}
.ed1-shift i{color:var(--sage)}
.ed1-people{align-items:start}
.ed1-people .p{grid-column:1/6}
.ed1-people .p img{width:100%;height:auto;display:block}
.ed1-people .q{grid-column:7/13}
.ed1-people .q h3{font-size:clamp(24px,2vw,28px);margin-top:40px;color:var(--sage)}
.ed1-people .q .body{margin-top:12px}
.ed1-split{margin-top:52px;align-items:start}
.ed1-split .m{grid-column:1/6}
.ed1-split .m img{width:100%;object-fit:cover;display:block}
.ed1-split .t{grid-column:7/13}
.ed1-dl{margin:26px 0 0;border-top:1px solid var(--green)}
.ed1-dl div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule)}
.ed1-dl dt{font-size:15px;font-weight:500;color:var(--ink3)}
.ed1-dl dd{margin:0;font-size:17px}
.dark .ed1-dl dt{color:var(--ink3)!important}
.ed1-glamp{margin-top:96px;padding-top:44px;border-top:1px solid var(--rule)}
.ed1-glamp .two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0}
.ed1-glamp .two img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.ed1-seoul{margin-top:96px;padding:56px;display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:56px;align-items:center}
.ed1-seoul .h2l{margin:0}
.ed1-mov{display:grid;grid-template-columns:1fr 1fr;gap:56px;margin-top:52px}
.ed1-mov img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;margin-bottom:26px}
.ed1-mov .body{margin-top:14px}
.ed1-mov .dk{margin-top:16px}
.ed1-join{margin-top:18px;padding-top:12px;border-top:1px solid var(--rule)}
.ed1-strength{max-width:760px;margin:88px auto 0;text-align:center;border-top:1px solid var(--green);border-bottom:1px solid var(--green);padding:52px 0}
.ed1-strength .body{margin:18px auto 0;max-width:58ch}
.ed1-strength .dk{margin:22px auto 0;max-width:46ch;font-size:23px}
.ed1-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:44px}
.ed1-three img{aspect-ratio:4/5}
.ed1-three b{display:block;margin-top:16px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.15}
.ed1-three .d{display:block;margin-top:8px;font-size:16px;color:var(--ink2)}
.ed1-quote{margin:88px 0 0;padding:44px 0;border-top:1px solid var(--green);border-bottom:1px solid var(--green);max-width:900px}
.ed1-quote blockquote{margin:0;font-family:var(--serif);font-style:italic;font-size:clamp(24px,2.4vw,32px);line-height:1.35;color:var(--green)}
.ed1-quote figcaption{margin-top:18px;font-size:16px;color:var(--ink3)}
.ed1-cal{margin-top:88px;align-items:stretch}
.ed1-cal .c{grid-column:1/8}
.ed1-cal .mem{grid-column:9/13;padding:40px}
.ed1 .next h2 i{color:var(--sage)}
@media (max-width:900px){
.ed1 .body-col,.ed1-pod .t,.ed1-pod .ed1-vid,.ed1-people .p,.ed1-people .q,.ed1-split .m,.ed1-split .t,.ed1-cal .c,.ed1-cal .mem{grid-column:1/-1}
.ed1-intro .g12>div{margin-top:28px}
.ed1-pod .ed1-vid{max-width:340px;margin-top:36px}
.ed1-sci .ed1-cols2,.ed1-mov,.ed1-glamp .two{grid-template-columns:1fr}
.ed1-people .q{margin-top:32px}
.ed1-split .t{margin-top:28px}
.ed1-seoul{grid-template-columns:1fr;padding:32px 22px;gap:32px}
.ed1-seoul .ed1-vid{max-width:300px}
.ed1-three{grid-template-columns:1fr;gap:44px}
.ed1-cal .mem{margin-top:40px;padding:30px}
.ed1-dl div{grid-template-columns:1fr;gap:2px}
.ed1-story p{font-size:17px}.ed1-story p.first{font-size:19px}
.ed1-glamp .g12>*{grid-column:1/-1}.ed1-glamp .g12 div{margin-top:22px}
}
.tgroup{display:block;margin-top:24px;text-decoration:none;color:var(--green)}.tgroup .ph{aspect-ratio:21/9}.tgroup .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 42%}.tgroup .cap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:14px;font-size:17px;color:var(--ink2)}.tgroup .go{color:var(--green);text-decoration:underline;text-underline-offset:5px}.tgroup:hover .go{color:var(--sage)}@media (max-width:900px){.tgroup .ph{aspect-ratio:4/3}}

/* Partner row: name tiles until logo files are supplied (partners/*.png); a logo, when present, replaces the name */
.plogos{gap:0;border-top:0;border-left:1px solid var(--rule)}
.plogos li{justify-content:center;align-items:center;text-align:center;min-height:132px;padding:22px 16px;border:1px solid var(--rule);border-left:0;margin-top:-1px}
.plogos li span{font-family:var(--serif);font-size:23px;line-height:1.15;color:var(--green)}
.plogos li:has(img) span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* Caslon Doric (Commercial Type), Latin subset, licensed by LifeLab */
@font-face{font-family:'Caslon Doric';src:url('../fonts/caslon-doric-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Caslon Doric';src:url('../fonts/caslon-doric-italic.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Caslon Doric';src:url('../fonts/caslon-doric-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Caslon Doric';src:url('../fonts/caslon-doric-semibold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Caslon Doric';src:url('../fonts/caslon-doric-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}

/* ===== Production layer: fixes, motion, header, sound, languages ===== */
.mcol+.mcol::before{content:''}                                   /* mockup bug: empty content hid the divider */
picture{display:contents}
:where(img){height:auto}
.hp{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--green);color:var(--ivory);padding:12px 18px;text-decoration:none}
.skip:focus{top:12px}
main:focus{outline:0}
[hidden]{display:none!important}
.g12>*,.g2>*,.g3>*,.g4>*{min-width:0}
.drawer[hidden]{display:none!important}
.drawer.on{display:block!important}
.drawer .burger.close{display:block;color:#F7F1E8}
.hero :focus-visible,.drawer :focus-visible{outline-color:var(--ivory)}

/* Header: fixed, transparent over imagery, solid on scroll, tucks away while reading */
.hdr,.hdr.solid{position:fixed;top:0;left:0;right:0;z-index:50;transition:background-color .35s ease,color .35s ease,transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s ease;border-bottom:1px solid transparent}
.hdr.solid,.hdr.scrolled{background:rgba(248,242,235,.94);color:var(--green);border-bottom-color:rgba(30,42,40,.12);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px)}
.hdr.tuck{transform:translateY(-100%)}
.hdr.drawer-open{transform:none}
body.hdr-solid{padding-top:92px}
.hdr .logo img{height:30px;width:auto}
.hdr .logo-dark{display:none}
.hdr.solid .logo-light,.hdr.scrolled .logo-light{display:none}
.hdr.solid .logo-dark,.hdr.scrolled .logo-dark{display:block}
.hdr.scrolled .util .btn{background:#CDC2AA!important}
.hdr .ext{font-size:.85em}
.util .lang{gap:8px}
.util .lang a{text-decoration:none;color:inherit}
.util .lang a[aria-current]{text-decoration:underline;text-underline-offset:6px}
.dutil{flex-wrap:wrap}
.dutil a[aria-current]{text-decoration:underline;text-underline-offset:6px}
@media (max-width:980px){body.hdr-solid{padding-top:64px}.hdr .logo img{height:24px}}

/* Considered motion: content settles in as it arrives, nothing blocks reading */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.js .hero .in>*{opacity:0;transform:translateY(16px);animation:llrise 1.1s cubic-bezier(.2,.7,.2,1) forwards}
.js .hero .in>*:nth-child(2){animation-delay:.12s}.js .hero .in>*:nth-child(3){animation-delay:.24s}.js .hero .in>*:nth-child(4){animation-delay:.36s}
@keyframes llrise{to{opacity:1;transform:none}}
.hero-film{transition:opacity 1.2s ease}

/* Home soundtrack control */
.snd{position:absolute;right:64px;bottom:52px;z-index:5;display:inline-flex;align-items:center;gap:12px;background:rgba(16,24,22,.28);color:var(--ivory);border:1px solid rgba(248,242,235,.45);border-radius:999px;padding:11px 18px 11px 14px;font:inherit;font-size:14px;letter-spacing:.02em;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .3s,border-color .3s,opacity .4s,transform .4s}
.snd:hover{background:rgba(16,24,22,.5);border-color:var(--ivory)}
.snd .eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px;width:18px}
.snd .eq i{display:block;width:2px;height:3px;background:currentColor;border-radius:1px;transition:height .3s}
.snd.on .eq i{animation:lleq 1.05s ease-in-out infinite}
.snd.on .eq i:nth-child(2){animation-delay:-.45s}.snd.on .eq i:nth-child(3){animation-delay:-.2s}.snd.on .eq i:nth-child(4){animation-delay:-.7s}
@keyframes lleq{0%,100%{height:3px}50%{height:14px}}
.snd.float{position:fixed;left:24px;right:auto;bottom:24px;background:rgba(29,42,40,.86);border-color:transparent;padding:10px 14px}
.snd.float .lbl{display:none}
.snd-hint{position:absolute;right:64px;bottom:108px;z-index:5;color:rgba(248,242,235,.88);font-size:14px;opacity:0;transform:translateY(6px);transition:opacity .5s,transform .5s;pointer-events:none}
.snd-hint.show{opacity:1;transform:none}
@media (max-width:980px){.snd{right:20px;bottom:auto;top:84px;padding:9px 14px 9px 11px;font-size:13px}.snd-hint{right:20px;bottom:auto;top:132px}.snd.float{left:16px;bottom:96px;top:auto}}

/* Partner strip: seven partners, logos in brand ink */
@media (min-width:981px){.plogos{grid-template-columns:repeat(7,minmax(0,1fr))}}
.plogos img{max-width:150px;opacity:.88}
.plogos img[src*="partners/balance"]{max-height:26px}  /* only a 115px badge was supplied */
@media (max-width:980px){.plogos li:last-child:nth-child(odd){grid-column:1/-1}}

/* Forms */
.js-form button[disabled],.js-news button[disabled],#kf button[disabled],#qf button[disabled]{opacity:.6;cursor:progress}
.ll-msg{margin-top:12px;font-size:15px}
.ll-plugin-form input,.ll-plugin-form select,.ll-plugin-form textarea{font:inherit}

/* Video lightbox (The LifeLab Edit) */
.vbox{border:0;padding:0;background:transparent;max-width:min(92vw,1100px);max-height:92vh;overflow:visible}
.vbox::backdrop{background:rgba(12,18,17,.86)}
.vbox video{display:block;max-width:100%;max-height:86vh;background:#000}
.vbox-x{position:absolute;top:-44px;right:0;background:none;border:0;color:var(--ivory);font:inherit;font-size:15px;cursor:pointer;text-decoration:underline;text-underline-offset:5px}

/* Ordinary WordPress content (legal pages, posts) */
.prose{max-width:72ch;font-size:18px;line-height:1.7;color:var(--ink2)}
.prose>*+*{margin-top:1.1em}.prose h2,.prose h3{color:var(--green);margin-top:1.8em}.prose h2{font-size:34px}.prose h3{font-size:26px}
.prose img{height:auto}.prose ul,.prose ol{padding-inline-start:1.2em}

/* Corporate stats count up */
.stat b{font-variant-numeric:tabular-nums}

@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .js .rv,.js .hero .in>*{opacity:1!important;transform:none!important}
 .hdr.tuck{transform:none}
}

/* ===== Arabic (RTL) and Chinese typography ===== */
html[lang=ar]{--serif:'Amiri','Times New Roman',Tinos,serif;--sans:'IBM Plex Sans Arabic','Hanken Grotesk',Arial,sans-serif}
html[lang=zh-Hans]{--serif:'Noto Serif SC','Songti SC','Times New Roman',serif;--sans:'Noto Sans SC','PingFang SC','Hanken Grotesk',Arial,sans-serif}
html[lang=ar] body{line-height:1.8}
html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] h4,html[lang=ar] .h2,html[lang=ar] .h2l,html[lang=ar] .h3,html[lang=ar] .h4{letter-spacing:0;line-height:1.3}
html[lang=zh-Hans] h1,html[lang=zh-Hans] h2,html[lang=zh-Hans] h3,html[lang=zh-Hans] h4,html[lang=zh-Hans] .h2,html[lang=zh-Hans] .h2l,html[lang=zh-Hans] .h3,html[lang=zh-Hans] .h4{letter-spacing:.01em;line-height:1.25}
html[lang=ar] i,html[lang=ar] em,html[lang=zh-Hans] i,html[lang=zh-Hans] em{font-style:normal;color:var(--sage)}
html[lang=ar] .hero i,html[lang=zh-Hans] .hero i{color:#E9DCC6}
html[lang=ar] .lp,html[lang=ar] .dk,html[lang=ar] .pull,html[lang=ar] .ed1-quote blockquote,html[lang=ar] .sig,html[lang=zh-Hans] .lp,html[lang=zh-Hans] .dk,html[lang=zh-Hans] .pull,html[lang=zh-Hans] .ed1-quote blockquote,html[lang=zh-Hans] .sig{font-style:normal}
html[lang=ar] .e-mast h1,html[lang=ar] .ed-mast h2,html[lang=zh-Hans] .e-mast h1,html[lang=zh-Hans] .ed-mast h2{font-style:normal}
html[lang=zh-Hans] h1{font-size:clamp(40px,5vw,76px)}
html[lang=zh-Hans] .e-mast h1{font-size:clamp(56px,7vw,120px)}
[dir=rtl] .dd .menu{left:auto;right:-22px}
[dir=rtl] .dd>button::after{margin:0 9px 3px 0}
[dir=rtl] .tbl th,[dir=rtl] .tbl td{text-align:right;padding:16px 0 16px 14px}
[dir=rtl] .faq summary{padding:20px 0 20px 40px}
[dir=rtl] .faq summary::after{right:auto;left:4px}
[dir=rtl] .mcol+.mcol::before{left:auto;right:-28px}
[dir=rtl] .qopt,[dir=rtl] .tile{text-align:right}
[dir=rtl] .rows .t{text-align:left!important}
[dir=rtl] .ed1-vid .play{left:auto;right:14px}
[dir=rtl] .snd{right:auto;left:64px}
[dir=rtl] .snd-hint{right:auto;left:64px}
[dir=rtl] .snd.float{left:auto;right:24px}
[dir=rtl] .skip{left:auto;right:12px}
[dir=rtl] .vbox-x{right:auto;left:0}
[dir=rtl] .lgrid{scroll-padding-left:0;scroll-padding-right:20px}
[dir=rtl] .consent input{margin-left:0}
[dir=rtl] .fld select{background-position:12px 55%,7px 55%}
@media (max-width:980px){[dir=rtl] .snd,[dir=rtl] .snd-hint{left:20px;right:auto}[dir=rtl] .snd.float{right:16px;left:auto}}
[dir=rtl] .hero .acts a.link,[dir=rtl] .link{unicode-bidi:plaintext}
/* WebP <picture> wrappers must not change layout: the <img> stays the box (fixes hero
   images that did not fill the header, and grid/aspect-ratio rules on images). */
picture{display:contents}
.hero>picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72}
.badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.badges a{display:inline-block;line-height:0;border-radius:7px}.badges img{height:40px;width:auto}
/* Headers grow with their text: the copy sits at the bottom but can never run up
   under the site header on small screens or in longer languages. */
.hero{display:flex;flex-direction:column;justify-content:flex-end;height:auto;max-height:none;min-height:clamp(880px,100svh,980px)}
.hero.short{height:auto;max-height:none;min-height:clamp(620px,72svh,720px)}
.hero .in{position:relative;left:auto;right:auto;bottom:auto;width:100%;padding-top:150px}
@media (max-width:980px){.hero{min-height:clamp(680px,92svh,980px)}.hero.short{min-height:clamp(520px,64svh,720px)}.hero .in{padding-top:104px}}
/* Long words never spill out of their box (narrow phones, large system text). */
h1,h2,h3,h4,.h1,.h2,.h3,.h4,.tile .t,.card .h4,.facs li{overflow-wrap:break-word}
@media (max-width:980px){h1,h2,h3,.tile .t,.facs li{-webkit-hyphens:auto;hyphens:auto}}
.tile{min-width:0}
@media (max-width:600px){.tiles{gap:10px}.tile{padding:16px 14px}.tile .t{font-size:20px}.tile .d{font-size:14px}}
@media (max-width:359px){.tiles{grid-template-columns:1fr}}
