:root {
  --bg:#f7f1e6; --paper:#fffaf1; --ink:#191715; --ink2:#2d2925; --muted:#6f675d;
  --line:rgba(25,23,21,.14); --gold:#b98a41; --gold-soft:#ead6b0;
  --accent:#365f66; --accent-dark:#24464d; --accent-soft:#dce9e7; --navy:#1e2e3a;
  --shadow:0 18px 48px rgba(25,23,21,.09); --radius:24px; --max:1160px; --read:790px;
  --serif:Georgia,"Times New Roman",serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;color:var(--ink);background:radial-gradient(circle at 8% 6%,rgba(54,95,102,.12),transparent 30rem),radial-gradient(circle at 94% 27%,rgba(185,138,65,.12),transparent 28rem),linear-gradient(180deg,#fbf6ec,var(--bg) 36%,#f4ebdc);font-family:var(--sans);font-size:17px;line-height:1.7;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none} p{margin:0 0 1.08rem} h1,h2,h3{margin:0;font-family:var(--serif);font-weight:500} strong{color:var(--ink)}
.container{width:min(var(--max),calc(100% - 40px));margin:auto}.reading{width:min(var(--read),calc(100% - 40px));margin:auto}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:999;background:var(--ink);color:var(--paper);padding:.7rem 1rem;border-radius:999px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(247,241,230,.87);backdrop-filter:blur(18px);border-bottom:1px solid rgba(25,23,21,.1)}
.nav{width:min(var(--max),calc(100% - 40px));min-height:76px;margin:auto;display:flex;align-items:center;gap:1rem}.brand{display:flex;align-items:center;gap:.8rem}.brand-mark{width:38px;height:38px;border:1px solid rgba(25,23,21,.22);border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#fff8eb,#e9dcc7);font-family:var(--serif);font-size:1.15rem}.brand-text{display:grid;line-height:1.12}.brand-text span:first-child{font-family:var(--serif)}.brand-text span:last-child{font-size:.72rem;text-transform:uppercase;letter-spacing:.17em;color:var(--muted)}.nav-link{margin-left:auto;padding:.56rem .85rem;border:1px solid rgba(25,23,21,.2);border-radius:999px;background:rgba(255,250,241,.75);font-size:.82rem;font-weight:750}
.hero{padding:clamp(56px,8vw,96px) 0 46px}.crumb{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:23px;color:var(--muted);font-size:.82rem}.crumb a{border-bottom:1px solid rgba(110,102,91,.35)}.category{display:inline-flex;align-items:center;gap:.5rem;padding:.36rem .68rem;border:1px solid rgba(54,95,102,.28);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.73rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.category:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--accent)}
h1{max-width:1000px;margin-top:18px;font-size:clamp(3rem,7vw,6rem);line-height:.98;letter-spacing:-.052em}.standfirst{max-width:820px;margin-top:24px;font-family:var(--serif);font-size:clamp(1.3rem,2.25vw,1.82rem);line-height:1.34;color:var(--ink2)}.meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-top:23px;color:var(--muted);font-size:.82rem}.hero-rule{width:min(var(--max),calc(100% - 40px));height:6px;margin:auto;border-radius:999px;background:linear-gradient(90deg,var(--accent) 0 27%,rgba(54,95,102,.2) 27%)}
.body{padding:56px 0 72px}.body p{color:var(--ink2)}.body h2{margin:3rem 0 1rem;font-size:clamp(2rem,4vw,3.05rem);line-height:1.08;letter-spacing:-.04em}.body h3{font-size:1.42rem;line-height:1.2}.opening{margin-bottom:30px;padding:27px 29px;border-left:5px solid var(--accent);border-radius:0 22px 22px 0;background:rgba(255,250,241,.8)}.opening p:last-child{margin-bottom:0}
.pull{margin:2rem 0;padding:25px 27px;border:1px solid rgba(54,95,102,.23);border-radius:var(--radius);background:linear-gradient(135deg,var(--accent-soft),rgba(255,250,241,.92))}.pull small{display:block;margin-bottom:.38rem;color:var(--accent-dark);font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}.pull strong{display:block;font-family:var(--serif);font-size:clamp(1.28rem,2.5vw,1.7rem);line-height:1.35;font-weight:500}
.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.7rem 0 2.8rem}.card{padding:25px;border:1px solid var(--line);border-radius:28px;background:var(--paper);box-shadow:0 12px 30px rgba(25,23,21,.05)}.card.alt{background:linear-gradient(145deg,#f4f8f6,var(--accent-soft));border-color:rgba(54,95,102,.22)}.card .num{width:40px;height:40px;margin-bottom:16px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;font-size:.8rem;font-weight:850}.card h3{margin-bottom:.7rem}.card p:last-child{margin-bottom:0}
.dark{position:relative;overflow:hidden;margin:2.3rem 0 3rem;padding:clamp(27px,5vw,43px);border-radius:30px;background:var(--navy);color:var(--paper);box-shadow:var(--shadow)}.dark:after{content:"";position:absolute;width:270px;height:270px;right:-70px;top:-90px;border-radius:50%;background:radial-gradient(circle,rgba(234,214,176,.34),transparent 68%)}.dark>*{position:relative;z-index:1}.dark h2{margin-top:0;color:var(--paper)}.dark p,.dark li{color:rgba(255,250,241,.82)}.dark strong{color:var(--paper)}
.steps{display:grid;gap:0;margin:2.5rem 0;padding:28px;border:1px solid var(--line);border-radius:30px;background:var(--paper);box-shadow:var(--shadow);counter-reset:step}.step{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:18px 0;border-top:1px solid var(--line)}.step:first-child{border-top:0}.step:before{counter-increment:step;content:counter(step);width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:white;font-size:.78rem;font-weight:850}.step p{margin:0}.note{margin:2.1rem 0;padding:21px 23px;border-left:4px solid var(--gold);border-radius:0 18px 18px 0;background:rgba(185,138,65,.1)}.note p:last-child{margin-bottom:0}
.dark .steps{background:var(--paper)}.dark .step p{color:var(--ink2)}
.sources{margin-top:3.5rem;padding-top:1.3rem;border-top:1px solid var(--line);font-size:.82rem;line-height:1.55}.sources p{color:var(--muted);margin-bottom:.55rem}.sources a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.method{padding:65px 0;border-top:1px solid var(--line)}.method-card{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:32px 34px;border-radius:30px;background:var(--navy);color:var(--paper);box-shadow:var(--shadow)}.method-card small{color:var(--gold-soft);text-transform:uppercase;letter-spacing:.15em;font-weight:850}.method-card h2{margin-top:7px;color:var(--paper);font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.07}.method-card p{margin:10px 0 0;color:rgba(255,250,241,.75)}.btn{padding:.82rem 1.1rem;border-radius:999px;background:var(--paper);color:var(--ink);font-weight:850;white-space:nowrap}.article-nav{padding:0 0 68px}.article-nav-inner{display:flex;justify-content:space-between;gap:18px;padding-top:24px;border-top:1px solid var(--line)}.text-link{font-weight:800;border-bottom:1px solid rgba(25,23,21,.25)}
.footer{padding:52px 0 44px;background:var(--navy);color:var(--paper)}.footer-grid{display:grid;grid-template-columns:.95fr 1.45fr;gap:54px}.footer-logo{display:flex;align-items:center;gap:14px;margin-bottom:13px}.logo-mark{width:42px;height:42px;border:1px solid rgba(255,250,241,.35);display:grid;place-items:center;font-family:var(--serif);font-size:30px}.logo-name{font-family:var(--serif);font-size:20px;text-transform:uppercase;letter-spacing:.075em}.logo-sub{display:block;font-size:10px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,250,241,.7)}.footer p,.footer a{color:rgba(255,250,241,.78)}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:0;padding:0;list-style:none}.footer-links ul{margin:0;padding:0;list-style:none}.menu-title{display:block;margin-bottom:12px;font-size:11px;letter-spacing:.15em;text-transform:uppercase}.sub-menu{display:grid;gap:8px;font-size:14px}.footer-meta{margin-top:32px;padding-top:18px;border-top:1px solid rgba(255,250,241,.16);font-size:12px;color:rgba(255,250,241,.62)}
@media(max-width:900px){.method-card,.footer-grid{grid-template-columns:1fr}.method-card .btn{justify-self:start}}
@media(max-width:680px){body{font-size:16px}.container,.nav,.reading,.hero-rule{width:min(100% - 28px,var(--max))}.hero{padding-top:48px}h1{font-size:clamp(2.65rem,13vw,4.35rem)}.standfirst{font-size:1.28rem}.body{padding-top:38px}.opening,.pull,.dark,.steps{padding:21px 19px}.cards{grid-template-columns:1fr}.card{padding:21px 19px}.method-card{padding:27px 22px}.article-nav-inner{flex-direction:column}.footer-links{grid-template-columns:1fr}.nav-link{max-width:145px;text-align:center;line-height:1.2;font-size:.75rem}.brand-text span:last-child{letter-spacing:.11em}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
