/* Layout: membership-site rhythm — sticky header, photo hero, alternating image/text blocks, card pricing, dark how-it-works band, sticky mobile CTA */
:root{
  --bg:#f3f1ec; --surface:#fbfaf7; --ink:#1f2a29; --muted:#5d6967; --line:#d6d8d2;
  --deep:#2f4a45; --on-deep:#eef3f1; --deep-line:rgba(238,243,241,.35);
  --accent:#2f4a45; --accent-ink:#f4f8f6; --warm:#b58f73; --warm-ink:#1f2a29;
  --sage:#d6e4d3; --clay:#efd6c4; --sky:#d3e3ec; --rose:#f0dcd8; --blob1:#b9cfb5; --blob2:#e6bfa5; --blob3:#aecbdc; --rose-deep:#e3b9b3;
  --display:"Gilda Display","Didot",Georgia,serif;
  --body:"Work Sans","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --sage:#1c2a24; --clay:#2b211b; --sky:#1a2530; --rose:#2e2224; --blob1:#2f463a; --blob2:#4d3829; --blob3:#2c4558; --rose-deep:#4a3033;
  --bg:#141a19; --surface:#1b2321; --ink:#e6ece9; --muted:#9aa7a4; --line:#2e3937;
  --deep:#22332f; --on-deep:#e6ece9; --deep-line:rgba(230,236,233,.25);
  --accent:#9cc3b7; --accent-ink:#10181a; --warm:#c9a488; --warm-ink:#141a19; color-scheme:dark}}
:root[data-theme="dark"]{
  --sage:#1c2a24; --clay:#2b211b; --sky:#1a2530; --rose:#2e2224; --blob1:#2f463a; --blob2:#4d3829; --blob3:#2c4558; --rose-deep:#4a3033;
  --bg:#141a19; --surface:#1b2321; --ink:#e6ece9; --muted:#9aa7a4; --line:#2e3937;
  --deep:#22332f; --on-deep:#e6ece9; --deep-line:rgba(230,236,233,.25);
  --accent:#9cc3b7; --accent-ink:#10181a; --warm:#c9a488; --warm-ink:#141a19; color-scheme:dark}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-weight:300;font-size:17px;line-height:1.65;letter-spacing:.01em}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--display);font-weight:400;margin:0;text-wrap:balance;letter-spacing:-.005em}
h1{font-size:clamp(42px,7vw,80px);line-height:1.04}
h2{font-size:clamp(32px,4.6vw,52px);line-height:1.1}
h3{font-size:26px;line-height:1.2}
p{margin:0;max-width:60ch}
a{color:inherit}
.eyebrow{font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--warm)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--warm);color:var(--warm-ink);text-decoration:none;font-weight:500;font-size:14px;letter-spacing:.14em;text-transform:uppercase;padding:17px 30px;border-radius:999px;border:1px solid var(--warm);transition:transform .2s ease,filter .2s ease}
.btn:hover{transform:translateY(-1px);filter:brightness(1.04)}
.btn.line{background:transparent;color:inherit;border-color:currentColor}
.btn.sm{padding:11px 20px;font-size:12px}
a:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.link{font-size:14px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:3px;align-self:start;justify-self:start}

/* header */
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:9;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:14px}
.logo{font-family:var(--display);font-size:38px;line-height:1;text-decoration:none;letter-spacing:.01em;display:inline-flex;align-items:flex-end;gap:8px}.logo img{display:block;margin-bottom:2px}@media(max-width:600px){.logo{font-size:34px}.logo img{width:25px;height:48px}}
header nav{display:flex;gap:28px;font-size:15px}
header nav a{text-decoration:none;color:var(--muted)}
header nav a:hover{color:var(--ink)}
@media (max-width:860px){header nav{display:none}}

/* hero */
.hero{padding-block:28px 0}
.hero-img{width:100%;height:min(62vh,600px);min-height:340px;object-fit:cover;border-radius:18px;display:block}
.hero-copy{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;padding-block:44px 80px}
.hero-copy > *{min-width:0}
.hero-copy .side{display:grid;gap:22px;justify-items:start}
.hero-copy .lead{font-size:20px;color:var(--muted)}
.pills{display:flex;flex-wrap:wrap;gap:8px}
.pills span{font-size:13px;border:1px solid var(--line);border-radius:999px;padding:6px 14px;color:var(--muted)}
@media (max-width:820px){.hero-copy{grid-template-columns:1fr;gap:24px;padding-block:32px 64px}.hero-img{height:420px}}

/* welcome */
.welcome{position:relative;overflow:hidden;padding-block:56px 110px;display:grid;gap:22px;text-align:center;justify-items:center}
.welcome .wrap{position:relative;z-index:1}
.welcome h2{max-width:22ch}

/* feature rows */
.feature{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:56px}
.feature > *{min-width:0}
.feature img{width:100%;height:520px;object-fit:cover;border-radius:18px;display:block}
.feature .copy{display:grid;gap:20px}
.feature.flip .media{order:2}
.feature ul{margin:4px 0 0;padding:0;list-style:none;display:grid;gap:10px}
.feature li{display:flex;gap:12px;align-items:baseline}
.feature li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--warm);transform:translateY(-2px)}
@media (max-width:820px){.feature{grid-template-columns:1fr;gap:28px;padding-block:40px}.feature.flip .media{order:0}.feature img{height:360px}}
.arch{border-radius:260px 260px 18px 18px!important}

/* pricing */
.band{padding-block:100px}
.band.light{background:var(--surface);border-block:1px solid var(--line)}
.band.sage{background:var(--sage)}.band.clay{background:var(--clay)}.band.sky{background:var(--sky)}
.blob{position:absolute;z-index:0;pointer-events:none;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%;animation:drift 14s ease-in-out infinite alternate}
.blob.a{width:360px;height:300px;background:var(--blob1);left:-120px;top:10px}
.blob.b{width:280px;height:260px;background:var(--blob2);right:-90px;bottom:30px;border-radius:45% 55% 40% 60% / 55% 45% 60% 40%;animation-delay:-6s}
@keyframes drift{from{transform:translate(0,0) rotate(0deg)}to{transform:translate(18px,-14px) rotate(8deg)}}
@media (prefers-reduced-motion:reduce){.blob{animation:none}}
.feature .media{position:relative;isolation:isolate}
.feature .media::before{content:"";position:absolute;z-index:-1;inset:10% -5% -5% 10%;background:var(--blob2);border-radius:48% 52% 44% 56% / 56% 44% 56% 44%}
.feature.flip .media::before{inset:-5% 10% 10% -5%;background:var(--blob1)}
.step .num{background:var(--warm)!important;color:var(--warm-ink);border-color:var(--warm)!important}
.center-head{display:grid;gap:16px;text-align:center;justify-items:center;margin-bottom:52px}
.center-head p{color:var(--muted)}
.plans{border:1px solid var(--ink);background:var(--surface)}
.plans + .plans{margin-top:28px}
.plans .ph{text-align:center;font-family:var(--display);font-size:30px;padding:22px;border-bottom:1px solid var(--ink)}
.plan-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.plan{padding:34px 18px;text-align:center;display:grid;gap:6px;align-content:start;border-left:1px solid var(--line)}
.plan:first-child{border-left:0}
.plan .n{font-family:var(--display);font-size:56px;line-height:1}
.plan .u{font-size:16px;margin-bottom:12px}
.plan .p{font-style:italic;font-size:17px}
.plan .was{font-size:14px;color:var(--muted)}
.plan .was s{opacity:.8}
.plan.ft{grid-column:1/-1;border-left:0}
@media (max-width:900px){.plan-grid{grid-template-columns:repeat(2,1fr)}.plan{border-left:0;border-top:1px solid var(--line)}.plan:nth-child(-n+2){border-top:0}.plan:nth-child(odd){border-right:1px solid var(--line)}.plan:last-child:nth-child(odd){grid-column:1/-1;border-right:0}}
.fineprint{margin:22px auto 0;text-align:center;font-style:italic;color:var(--muted);font-size:15px;max-width:66ch}
.addons{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:44px}
.addons div{border:1px solid var(--line);border-radius:14px;padding:20px;display:grid;gap:4px;background:var(--bg);min-width:0}
.addons b{font-family:var(--display);font-weight:400;font-size:26px}
.addons span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.addons{grid-template-columns:1fr 1fr}}
.center-cta{display:flex;justify-content:center;margin-top:48px}


/* included cards */
.inc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:8px}
.inc-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:26px 24px;display:grid;gap:16px;align-content:start;min-width:0;box-shadow:0 1px 2px rgba(31,42,41,.04),0 8px 24px rgba(31,42,41,.05)}
.inc-card .inc-top{display:flex;align-items:center;gap:12px}
.inc-card .inc-dot{width:40px;height:40px;flex:none;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%}
.inc-card h3{font-size:22px;margin:0}
.inc-card ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.inc-card li{display:grid;grid-template-columns:20px 1fr;gap:10px;font-size:15px;line-height:1.4;color:var(--ink)}
.inc-card li::before{content:"";width:18px;height:18px;margin-top:1px;border-radius:50%;background:var(--sage) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%232f4a45' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.inc-card li small{display:block;color:var(--muted);font-size:13px}
@media (max-width:1000px){.inc-grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.inc-grid{grid-template-columns:1fr}.inc-card{padding:22px 20px}}
/* included */
.included{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 32px;margin-top:8px}
.included div{display:grid;gap:8px;align-content:start;border-top:1px solid var(--line);padding-top:18px;min-width:0}
.included h3{font-size:22px}
.included p{font-size:15px;color:var(--muted)}
@media (max-width:900px){.included{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.included{grid-template-columns:1fr}}

/* how it works */
.deep{background:var(--deep);color:var(--on-deep)}
.deep .eyebrow{color:var(--warm)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:20px}
.step{position:relative;border:1px solid var(--deep-line);border-radius:20px;padding:58px 28px 36px;text-align:center;display:grid;gap:14px;justify-items:center;align-content:start;margin-top:36px}
.step .num{position:absolute;top:-36px;left:50%;transform:translateX(-50%);width:72px;height:72px;border-radius:50%;border:1px solid var(--deep-line);background:var(--deep);display:grid;place-items:center;font-family:var(--display);font-size:30px}
.step p{opacity:.85;font-size:16px}
@media (max-width:820px){.steps{grid-template-columns:1fr;gap:20px}}
.deep .center-cta .btn{min-width:min(100%,520px)}

/* virtual office */
.vo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.vo > *{min-width:0}
.vo .copy{display:grid;gap:20px}
.vo .price-card{border:1px solid var(--ink);padding:36px;display:grid;gap:10px;text-align:center;background:var(--bg)}
.vo .price-card .big{font-family:var(--display);font-size:64px;line-height:1}
@media (max-width:820px){.vo{grid-template-columns:1fr}}

/* who */
.who{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.who span{border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:15px;background:var(--surface)}

/* faq */
.faq{max-width:820px;margin:0 auto}
details{border-top:1px solid var(--line);padding-block:20px}
details:last-child{border-bottom:1px solid var(--line)}
summary{cursor:pointer;font-family:var(--display);font-size:23px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--warm);font-family:var(--body)}
details[open] summary::after{content:"–"}
details p{margin-top:12px;color:var(--muted)}

/* final cta + footer */
.final{text-align:center;display:grid;gap:22px;justify-items:center}
footer{border-top:1px solid var(--line);padding-block:48px 120px}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px}
footer .cols > *{min-width:0}
footer h4{margin:0 0 10px;font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
footer a{display:block;text-decoration:none;color:var(--muted);padding-block:3px}
footer a:hover{color:var(--ink)}
@media (max-width:720px){footer .cols{grid-template-columns:1fr 1fr}footer .cols > :first-child{grid-column:1/-1}}

/* sticky mobile CTA */
.mcta{display:none}
@media (max-width:860px){
  .mcta{display:block;position:fixed;left:0;right:0;bottom:0;z-index:9;background:var(--bg);border-top:1px solid var(--line);padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .mcta .btn{width:100%}
  header.top{position:static}
  header.top .btn{white-space:nowrap}
}
@media (max-width:400px){header.top .btn{padding:9px 14px;font-size:11px;letter-spacing:.08em}.logo{font-size:30px}}
@media (max-width:350px){header.top .btn{padding:8px 11px;font-size:10px;letter-spacing:.04em}.logo{font-size:27px}}

/* color pass */
.band.rose{background:var(--rose)}
.plans .ph{background:var(--deep);color:var(--on-deep);border-bottom-color:var(--deep)}
.plans{border-color:var(--deep)}
.pills span{border:0;color:var(--ink)}
.pills span:nth-child(1){background:var(--sage)}.pills span:nth-child(2){background:var(--clay)}.pills span:nth-child(3){background:var(--sky)}
.included div{border-top:0;padding-top:0}
.included div::before{content:"";display:block;width:44px;height:44px;margin-bottom:6px;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%;background:var(--blob1)}
.included div:nth-child(4n+2)::before{background:var(--blob2)}
.included div:nth-child(4n+3)::before{background:var(--blob3)}
.included div:nth-child(4n+4)::before{background:var(--rose-deep)}
.hero .wrap{position:relative;isolation:isolate}
.hero .wrap::after{content:"";position:absolute;z-index:-1;width:min(300px,45%);height:240px;right:0;top:4px;background:var(--blob3);border-radius:45% 55% 40% 60% / 55% 45% 60% 40%}
.hero-img{position:relative;width:calc(100% - 24px);margin-left:0;margin-top:18px}
.ribbon{position:absolute;z-index:0;pointer-events:none;fill:none;stroke-linecap:round;opacity:.9}
.ribbon.r1{width:420px;left:-60px;bottom:10px;stroke:var(--blob2)}
.ribbon.r2{width:360px;right:-50px;top:0;stroke:var(--blob3)}
@media (max-width:640px){.ribbon.r1{width:260px}.ribbon.r2{width:220px}}
.who span:nth-child(3n+1){background:var(--sage);border-color:transparent}
.who span:nth-child(3n+2){background:var(--clay);border-color:transparent}
.who span:nth-child(3n){background:var(--sky);border-color:transparent}
.addons div:nth-child(1){background:var(--sage)}.addons div:nth-child(2){background:var(--sky)}.addons div:nth-child(3){background:var(--rose)}.addons div:nth-child(4){background:var(--sage)}.addons div:nth-child(5){background:var(--sky)}
.addons div{border-color:transparent}

/* unified thin-line boxes */
.plans,.addons div,.step,.refer .card,.vo .price-card{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:22px;box-shadow:0 1px 2px rgba(31,42,41,.04),0 8px 24px rgba(31,42,41,.05)}
.plans{overflow:hidden}
.plans .ph{border-bottom:1px solid var(--line)!important}
.addons div{color:var(--ink)}
.step{color:var(--ink)}
.step p{color:var(--muted);opacity:1}
.step .num{border:4px solid var(--deep)!important}
.refer .card{color:var(--ink)}
.refer .card .eyebrow{color:var(--warm)}
.addons div::before{content:"";display:block;width:28px;height:28px;margin-bottom:8px;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%;background:var(--blob1)}
.addons div:nth-child(2)::before{background:var(--blob3)}.addons div:nth-child(3)::before{background:var(--rose-deep)}.addons div:nth-child(4)::before{background:var(--blob2)}

/* squared thin-line boxes (Calm Space style) */
.inc-card,.plans,.addons div,.step,.refer .card,.vo .price-card{border-radius:0!important;box-shadow:none!important}
.inc-card,.plans,.vo .price-card{border:1px solid var(--ink)!important;background:var(--surface)}
.plans .ph{border-bottom:1px solid var(--ink)!important}
.addons div{border:1px solid var(--ink)!important;background:var(--surface)!important}
.step{border:1px solid var(--on-deep)!important}

/* referral card: dark green box */
.refer .card{background:var(--deep)!important;color:var(--on-deep)!important;border:1px solid var(--deep)!important}
.refer .card .big,.refer .card span{color:var(--on-deep)}
.refer .card .eyebrow{color:var(--warm)!important}

/* simplified layout */
.plan-grid.three{grid-template-columns:repeat(3,1fr)}
@media (max-width:900px){.plan-grid.three{grid-template-columns:1fr}.plan-grid.three .plan{border-right:0!important;border-top:1px solid var(--line)}.plan-grid.three .plan:first-child{border-top:0}}
.more{max-width:760px;margin:28px auto 0;border:0!important;padding:0}
.more summary{justify-content:center;font-family:var(--body);font-size:14px;letter-spacing:.14em;text-transform:uppercase;gap:8px}
.more[open] summary{margin-bottom:18px}
.opt{display:grid;grid-template-columns:1fr auto;border:1px solid var(--ink);background:var(--surface)}
.opt span{padding:14px 20px;border-top:1px solid var(--line);font-size:15px}
.opt span:nth-child(-n+2){border-top:0}
.opt span:nth-child(even){text-align:right;font-family:var(--display);font-size:19px}
.refer-solo{max-width:560px;margin:0 auto}

.refer-solo .card{background:var(--deep);color:var(--on-deep);padding:44px 36px;display:grid;gap:14px;text-align:center;justify-items:center}
.refer-solo .card .big{font-family:var(--display);font-size:clamp(48px,7vw,72px);line-height:1;color:var(--on-deep)}
.refer-solo .card .eyebrow{color:var(--warm)}
.refer-solo .card span{color:var(--on-deep)}
.refer-solo .card .eyebrow{color:var(--warm)!important}

.plan-grid.four{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.plan-grid.four{grid-template-columns:1fr 1fr}}

.photo-band{padding-block:72px 0}
.photo-band img{display:block;width:100%;height:clamp(220px,34vw,420px);object-fit:cover;object-position:50% 50%;border-radius:18px}
/* referral */
.refer{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.refer > *{min-width:0}
.refer .copy{display:grid;gap:20px}
.refer .card{background:var(--deep);color:var(--on-deep);border-radius:24px;padding:44px 36px;display:grid;gap:14px;text-align:center;justify-items:center}
.refer .card .big{font-family:var(--display);font-size:clamp(48px,7vw,72px);line-height:1}
.refer .card .eyebrow{color:var(--warm)}
.refer ol{margin:0;padding-left:22px;display:grid;gap:10px}
.refer .fine{font-size:14px;color:var(--muted)}
@media (max-width:820px){.refer{grid-template-columns:1fr;gap:32px}}
.swm-banner{background:var(--deep,#2f4a45);color:#f4f8f6;font-family:var(--body,"Work Sans",Arial,sans-serif);font-size:18px;font-weight:400;line-height:1.4;padding:16px 18px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 18px;text-align:center}
.swm-banner strong{font-family:var(--display,Georgia,serif);font-weight:400;font-size:24px}
.swm-banner a{background:var(--warm,#b58f73);color:#1f2a29;text-decoration:none;font-weight:500;font-size:14px;letter-spacing:.12em;text-transform:uppercase;padding:10px 20px;border-radius:999px;white-space:nowrap}
.swm-banner a:hover{filter:brightness(1.06)}
.swm-hero-btn{margin-top:12px;background:var(--deep,#2f4a45)!important;color:#f4f8f6!important;border-color:var(--deep,#2f4a45)!important}
.swm-event{padding-block:40px 64px}
.swm-card{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--deep,#2f4a45);color:#f4f8f6;border-radius:22px;padding:56px 52px}
.swm-card .eyebrow{color:var(--warm,#b58f73)!important;font-size:15px}
.swm-card h2{margin-top:10px;font-size:clamp(44px,6vw,72px);line-height:1.02;color:#f4f8f6}
.swm-card p{margin-top:18px;font-size:19px;color:rgba(244,248,246,.85)}
.swm-facts{list-style:none;margin:0;padding:0;display:grid;gap:18px}
.swm-facts li{border-left:3px solid var(--warm,#b58f73);padding-left:18px}
.swm-facts b{display:block;font-family:var(--display,Georgia,serif);font-weight:400;font-size:34px;line-height:1.1;color:#f4f8f6}
.swm-facts span{font-size:16px;color:rgba(244,248,246,.8)}
.swm-card .btn{margin-top:28px}
@media (max-width:760px){.swm-card{grid-template-columns:1fr;padding:34px 24px;gap:28px}.swm-banner{font-size:16px}.swm-banner strong{font-size:21px}}
.swm-net{padding-block:24px 88px}
.swm-net-head{text-align:center;display:grid;gap:14px;justify-items:center;margin-bottom:28px}
.swm-net-head p{color:var(--muted,#5d6967);max-width:56ch}
.swm-map{position:relative;max-width:940px;margin:0 auto;aspect-ratio:940/580}
.swm-map svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.swm-map .ln{fill:none;stroke:var(--warm,#b58f73);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1 9;animation:swmflow 1.6s linear infinite}
.swm-map .ah{fill:var(--warm,#b58f73)}
@keyframes swmflow{to{stroke-dashoffset:-20}}
@media (prefers-reduced-motion:reduce){.swm-map .ln{animation:none}}
.swm-n{position:absolute;transform:translate(-50%,-50%);width:200px;text-align:center;background:var(--surface,#fbfaf7);border:1px solid var(--line,#d6d8d2);border-radius:18px;padding:14px 14px 12px;box-shadow:0 1px 2px rgba(31,42,41,.05),0 10px 24px rgba(31,42,41,.07)}
.swm-n b{display:block;font-family:var(--display,Georgia,serif);font-weight:400;font-size:21px;line-height:1.15;color:var(--ink,#1f2a29)}
.swm-n span{display:block;margin-top:4px;font-size:13.5px;line-height:1.35;color:var(--muted,#5d6967)}
.swm-n i{display:block;width:30px;height:30px;margin:0 auto 8px;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%;background:var(--sage,#d6e4d3)}
.swm-n:nth-of-type(3) i{background:var(--clay,#efd6c4)}.swm-n:nth-of-type(4) i{background:var(--sky,#d3e3ec)}.swm-n:nth-of-type(5) i{background:var(--rose,#f0dcd8)}.swm-n:nth-of-type(6) i{background:var(--clay,#efd6c4)}.swm-n:nth-of-type(7) i{background:var(--sky,#d3e3ec)}.swm-n:nth-of-type(8) i{background:var(--sage,#d6e4d3)}
.swm-hub{width:220px;background:var(--deep,#2f4a45);border-color:var(--deep,#2f4a45);border-radius:999px;padding:26px 18px}
.swm-hub b{color:#f4f8f6;font-size:28px}
.swm-hub span{color:rgba(244,248,246,.8)}
.swm-hub i{display:none}
@media (max-width:760px){
.swm-map{aspect-ratio:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.swm-map svg{display:none}
.swm-n{position:static;transform:none;width:auto}
.swm-hub{grid-column:1/-1;border-radius:22px;margin-bottom:6px}
.swm-hub:after{content:"\21C5  refers to and from";display:block;margin-top:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--warm,#b58f73)}
.swm-n b{font-size:19px}.swm-map .swm-n:last-child{grid-column:1/-1}}
.swm-sup{padding-block:8px 88px}
.swm-sup-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:40px;align-items:center;background:var(--sage,#d6e4d3);border-radius:22px;padding:52px}
.swm-sup-card h2{margin-top:10px}
.swm-sup-card p{margin-top:16px;font-size:18px;color:var(--ink,#1f2a29);opacity:.85}
.swm-sup-card .btn{margin-top:26px}
.swm-sup-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.swm-sup-list li{background:var(--surface,#fbfaf7);border-radius:16px;padding:16px 20px;display:grid;gap:2px}
.swm-sup-list b{font-family:var(--display,Georgia,serif);font-weight:400;font-size:22px;color:var(--ink,#1f2a29)}
.swm-sup-list span{font-size:15px;color:var(--muted,#5d6967)}
@media (max-width:760px){.swm-sup-card{grid-template-columns:1fr;padding:32px 22px;gap:26px}}
.swm-local{padding-block:8px 72px}
.swm-local-card{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:44px;align-items:center;background:var(--clay,#efd6c4);border-radius:22px;padding:52px}
.swm-local-card h2{margin-top:10px}
.swm-local-card p{margin-top:16px;font-size:18px;color:var(--ink,#1f2a29);opacity:.85}
.swm-local-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.swm-local-list li{background:var(--surface,#fbfaf7);border-radius:16px;padding:16px 20px;display:grid;gap:2px}
.swm-local-list b{font-family:var(--display,Georgia,serif);font-weight:400;font-size:22px;color:var(--ink,#1f2a29)}
.swm-local-list span{font-size:15px;color:var(--muted,#5d6967)}
.swm-local-card .swm-founder{font-size:16px;opacity:.8}
.swm-quote{margin:24px 0 0;padding-left:18px;border-left:3px solid var(--warm,#b58f73);font-family:var(--display,Georgia,serif);font-size:26px;line-height:1.25;color:var(--ink,#1f2a29)}
.swm-quote span{display:block;margin-top:8px;font-family:var(--body,"Work Sans",Arial,sans-serif);font-size:14px;color:var(--muted,#5d6967)}
@media (max-width:760px){.swm-local-card{grid-template-columns:1fr;padding:32px 22px;gap:26px}}
body{margin:0}img{max-width:100%}[hidden]{display:none!important}

/* ---- multi-page additions ---- */
.skip{position:absolute;left:-999px;top:0;background:var(--deep);color:var(--on-deep);padding:10px 16px;z-index:20}
.skip:focus{left:12px;top:12px}
header nav a[aria-current="page"]{color:var(--ink);text-decoration:underline;text-underline-offset:6px}
.crumbs{font-size:14px;color:var(--muted);padding-top:26px}
.crumbs a{color:var(--muted);text-decoration:none}
.crumbs a:hover{color:var(--ink);text-decoration:underline}
.crumbs span[aria-hidden]{margin:0 8px}
.phero{padding-block:22px 64px;display:grid;gap:22px;position:relative;isolation:isolate}
.phero::after{content:"";position:absolute;z-index:-1;width:min(300px,40%);height:220px;right:0;top:10px;background:var(--blob3);border-radius:45% 55% 40% 60% / 55% 45% 60% 40%;opacity:.7}
.phero h1{font-size:clamp(40px,6vw,68px);max-width:18ch}
.phero .lead{font-size:20px;color:var(--muted);max-width:56ch}
.phero .ctas{display:flex;flex-wrap:wrap;gap:12px}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.facts div{background:var(--surface);border:1px solid var(--ink);padding:24px;display:grid;gap:6px;align-content:start;min-width:0}
.facts b{font-family:var(--display);font-weight:400;font-size:26px;line-height:1.15}
.facts span{font-size:15px;color:var(--muted)}
@media (max-width:820px){.facts{grid-template-columns:1fr}}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cards3 article{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px;display:grid;gap:12px;align-content:start;min-width:0}
.cards3 article h3{font-size:24px}
.cards3 article p{font-size:16px;color:var(--muted)}
.cards3 article::before{content:"";width:40px;height:40px;border-radius:58% 42% 55% 45% / 48% 60% 40% 52%;background:var(--blob1)}
.cards3 article:nth-child(2)::before{background:var(--blob2)}.cards3 article:nth-child(3)::before{background:var(--blob3)}
@media (max-width:900px){.cards3{grid-template-columns:1fr}}
.hoods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.hoods a{display:grid;gap:4px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:20px;min-width:0;transition:border-color .2s ease,transform .2s ease}
.hoods a:hover{border-color:var(--ink);transform:translateY(-1px)}
.hoods b{font-family:var(--display);font-weight:400;font-size:23px;line-height:1.15}
.hoods span{font-size:14px;color:var(--muted)}
.hoods .tag{justify-self:start;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:3px 10px;background:var(--sage);color:var(--ink);margin-bottom:6px}
.hoods .tag.soon{background:var(--clay)}
@media (max-width:900px){.hoods{grid-template-columns:1fr 1fr}}
@media (max-width:480px){.hoods{grid-template-columns:1fr}}
.prose{max-width:720px}
.prose h2{font-size:clamp(28px,3.6vw,38px);margin-top:44px}
.prose h3{font-size:24px;margin-top:28px}
.prose p,.prose ul,.prose ol,.prose table{margin-top:16px}
.prose ul,.prose ol{padding-left:22px;display:grid;gap:8px}
.prose table{width:100%;border-collapse:collapse;font-size:15px}
.prose th,.prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{font-weight:500}
.prose .note{font-size:14px;color:var(--muted)}
.post-meta{font-size:14px;color:var(--muted)}
.postlist{display:grid;gap:18px;max-width:820px}
.postlist a{display:grid;gap:8px;text-decoration:none;background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px}
.postlist a:hover{border-color:var(--ink)}
.postlist b{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15}
.postlist span{color:var(--muted);font-size:16px}
.split{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:28px}}
.cta-box{background:var(--deep);color:var(--on-deep);padding:40px 36px;display:grid;gap:14px;justify-items:start}
.cta-box h2{font-size:clamp(30px,4vw,44px)}
.cta-box p{color:var(--on-deep);opacity:.85}
.mini-price{display:grid;grid-template-columns:1fr auto;border:1px solid var(--ink);background:var(--surface)}
.mini-price span{padding:14px 20px;border-top:1px solid var(--line);font-size:16px}
.mini-price span:nth-child(-n+2){border-top:0}
.mini-price span:nth-child(even){text-align:right;font-family:var(--display);font-size:20px}
.related{display:flex;flex-wrap:wrap;gap:10px}
.related a{border-radius:999px;padding:8px 16px;font-size:15px;text-decoration:none;background:var(--sage)}
.related a:nth-child(3n+2){background:var(--clay)}.related a:nth-child(3n){background:var(--sky)}
footer .cols{grid-template-columns:1.5fr repeat(4,minmax(0,1fr))!important}
@media (max-width:900px){footer .cols{grid-template-columns:1fr 1fr!important}footer .cols > :first-child{grid-column:1/-1}}
.addons{grid-template-columns:repeat(4,1fr)}
@media (max-width:900px){.addons{grid-template-columns:1fr 1fr}}

.cmp th,.cmp td{padding:12px 10px;border-bottom:1px solid rgba(0,0,0,.08);text-align:left;vertical-align:top}.cmp thead th{font-weight:500}.cmp td:last-child,.cmp th:last-child{background:rgba(120,150,120,.10)}

.calc{display:grid;gap:28px;grid-template-columns:1fr;background:#fff;border-radius:18px;padding:24px;box-shadow:0 1px 0 rgba(0,0,0,.04)}
@media(min-width:820px){.calc{grid-template-columns:1fr 1fr;padding:36px}}
.calc label{display:grid;gap:6px;font-size:15px;margin-top:14px}
.calc label b{font-weight:500}
.calc output{font-family:"Gilda Display",serif;font-size:40px;line-height:1;display:block;margin-top:6px}
.calc input[type=range]{width:100%;margin-top:10px;accent-color:#2f4a40}
.calc input[type=number]{padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font:inherit;width:100%;box-sizing:border-box}
.calc-ticks{display:flex;justify-content:space-between;font-size:12px;color:var(--muted)}
.calc-adv{margin-top:18px}.calc-adv summary{cursor:pointer;font-size:15px}
.calc-out{display:grid;gap:12px;align-content:start}
.calc-row{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;border-radius:12px;background:rgba(0,0,0,.03)}
.calc-row b{font-size:22px;font-weight:500}.calc-row small{grid-column:1/-1;color:var(--muted);font-size:13px}
.calc-row.best{background:rgba(120,150,120,.16)}
.calc-sum{font-size:15px;margin:4px 0 8px}
