@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:wght@400;500;600&display=swap');
@font-face{font-family:'Antro Vectra';src:url('assets/Antro_Vectra.otf') format('opentype');font-weight:400;font-display:swap;}
:root{
    --ink:#2e2a25;
    --paper:#f7f5f0;
    --paper-2:#efebe2;
    --kraft:#c9b698;
    --kraft-deep:#8a7757;
    --faint:#9c9488;
    --hair:#d8d3c8;
    --card:#fdfcfa;
    --ink-soft:#4a463f;
    --maxw:1140px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    background:var(--paper); color:var(--ink);
    font-family:"Jost",system-ui,sans-serif; font-weight:300;
    font-size:18px; line-height:1.7; -webkit-font-smoothing:antialiased;
  }
  img{display:block;max-width:100%;}
  a{color:inherit;text-decoration:none;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}

  /* ---- shared type ---- */
  .label{
    font-size:11.5px; font-weight:400; letter-spacing:.34em; text-indent:.34em;
    text-transform:uppercase; color:var(--faint);
  }
  h1,h2,h3{font-weight:300;line-height:1.06;letter-spacing:.005em;}
  .display{font-weight:200;letter-spacing:.01em;}
  h2.display{font-size:clamp(32px,5vw,58px);line-height:1.04;}
  section{padding:104px 0;}

  /* ---- buttons ---- */
  .btn{
    display:inline-block;padding:15px 34px;
    font-size:12px;letter-spacing:.22em;text-transform:uppercase;font-weight:400;
    border:1px solid var(--ink);transition:background .18s ease,color .18s ease;
  }
  .btn-fill{background:var(--ink);color:var(--paper);}
  .btn-fill:hover{background:#000;border-color:#000;}
  .btn-ghost{background:transparent;color:var(--ink);}
  .btn-ghost:hover{background:var(--ink);color:var(--paper);}
  .ctas{display:flex;gap:16px;flex-wrap:wrap;}

  /* ---- weave mark ---- */
  /* fill/stroke are inherited, so they flow into the <use> shadow tree */
  .weave{display:block;fill:none;stroke:currentColor;stroke-width:8;stroke-linecap:round;stroke-linejoin:round;}
  .divider{display:flex;justify-content:center;align-items:center;gap:22px;padding:18px 0;color:var(--kraft);}
  .divider .ln{height:1px;width:84px;background:var(--hair);}
  .divider .weave{width:108px;color:var(--kraft-deep);opacity:.85;}

  /* ---- nav ---- */
  .nav{position:sticky;top:0;z-index:30;background:rgba(247,245,240,.93);
    -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hair);}
  .nav .wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;}
  .brand{display:flex;align-items:center;gap:13px;}
  .brand .weave{width:46px;color:var(--ink);}
  .brand b{font-weight:400;font-size:18px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;}
  .menu{display:flex;gap:26px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);font-weight:400;white-space:nowrap;}
  .menu a{padding-bottom:3px;border-bottom:1px solid transparent;transition:border-color .15s;}
  .menu a .ext{font-size:.82em;margin-left:.18em;opacity:.6;letter-spacing:0;}
  .menu a:hover{border-color:var(--ink);}
  .nav-cta{display:flex;align-items:center;gap:22px;}
  .nav-cta .cart{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;}
  .nav-cta .btn{padding:11px 22px;}
  .nav-toggle{display:none;flex-direction:column;gap:5px;width:34px;height:34px;justify-content:center;align-items:center;background:none;border:0;cursor:pointer;}
  .nav-toggle span{display:block;width:24px;height:1.5px;background:var(--ink);transition:transform .25s,opacity .2s;}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .nav.open .nav-toggle span:nth-child(2){opacity:0;}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  /* ---- hero ---- */
  .hero{padding:88px 0 96px;}
  .hero .grid{display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center;}
  .hero h1{font-size:clamp(46px,7vw,86px);font-weight:200;letter-spacing:.005em;margin:.26em 0 .42em;}
  .hero .sub{font-size:20px;font-weight:300;color:var(--ink-soft);max-width:30em;margin-bottom:34px;line-height:1.62;}
  .hero .proof{margin-top:30px;display:flex;gap:14px;max-width:32em;align-items:flex-start;}
  .hero .proof .stars{color:var(--kraft-deep);letter-spacing:2px;font-size:13px;flex:none;margin-top:5px;}
  .hero .proof p{font-size:15px;line-height:1.6;color:var(--ink-soft);}
  .hero .proof p span{color:var(--faint);}
  .hero .proof .proof-link{display:inline-block;margin-top:9px;font-size:13px;
    color:var(--faint);text-decoration:none;letter-spacing:.02em;
    border-bottom:1px solid color-mix(in srgb,var(--faint) 45%,transparent);
    padding-bottom:1px;transition:color .18s,border-color .18s;}
  .hero .proof .proof-link:hover{color:var(--ink);border-color:var(--ink);}
  .hero-photo{position:relative;}
  .hero-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;}
  .hero-photo .tag{position:absolute;left:-16px;bottom:30px;background:var(--paper);
    border:1px solid var(--hair);padding:11px 20px;font-size:12px;letter-spacing:.14em;
    text-transform:uppercase;font-weight:400;color:var(--ink);}
  .hero-photo .tag b{color:var(--kraft-deep);font-weight:500;}

  /* ---- why (dark band) ---- */
  .why{background:var(--ink);color:var(--paper);}
  .why .label{color:var(--kraft);}
  .why h2{margin:.32em 0 .7em;color:var(--paper);}
  .split{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center;margin-top:34px;}
  .split .ph{width:100%;aspect-ratio:4/5;object-fit:cover;}
  .why .lead{font-size:19px;line-height:1.7;color:#e3ddd1;max-width:33em;margin-bottom:16px;}
  .why .sub{font-size:16.5px;line-height:1.68;color:#b3ac9f;max-width:33em;}
  .why .more{display:inline-block;margin-top:26px;font-size:12px;letter-spacing:.2em;
    text-transform:uppercase;color:var(--paper);border-bottom:1px solid var(--kraft);padding-bottom:4px;}

  /* ---- the label comparison ---- */
  .expose{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:48px;}
  .lbl{border:1px solid rgba(201,182,152,.35);padding:28px 30px 32px;}
  .lbl .lab-h{font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;
    color:var(--kraft);padding-bottom:14px;border-bottom:1px solid rgba(201,182,152,.4);}
  .lbl.ours .lab-h{color:var(--paper);border-bottom-color:rgba(247,245,240,.45);}
  .lbl .ings{font-size:15.5px;line-height:1.8;color:#cfc8bb;margin-top:16px;}
  .lbl .ings b{color:var(--paper);font-weight:400;}
  .expose-note{font-size:16px;color:#b3ac9f;margin-top:26px;max-width:46em;}

  /* ---- the heart (our son) ---- */
  .heart{background:var(--paper);}
  .heart .inner{max-width:720px;margin:0 auto;text-align:center;}
  .heart h2{margin:.2em 0 .5em;}
  .heart p{font-size:19px;line-height:1.78;color:var(--ink-soft);margin:0 auto 22px;max-width:34em;text-align:left;}
  .heart .pullquote{font-size:clamp(26px,3.4vw,38px);font-weight:200;line-height:1.3;
    color:var(--ink);margin:42px auto;max-width:18em;letter-spacing:.005em;}
  .heart .pullquote .cite{display:block;margin-top:20px;font-size:11.5px;letter-spacing:.24em;
    text-transform:uppercase;font-weight:400;color:var(--faint);}
  /* chat-bubble variant of a pullquote */
  .heart .chatrow{max-width:34em;font-size:19px;margin:42px auto;text-align:left;}
  .heart .pullquote.chat{font-family:"Hanken Grotesk",system-ui,sans-serif;
    font-size:clamp(19px,2.1vw,23px);font-weight:400;line-height:1.42;letter-spacing:0;
    color:var(--ink);background:var(--card);display:block;
    max-width:none;margin:0;padding:22px 26px;
    border:1px solid rgba(46,42,37,.10);border-radius:22px;
    box-shadow:0 10px 30px -18px rgba(46,42,37,.45);position:relative;}
  .heart .pullquote.chat .cite{margin-top:12px;letter-spacing:.18em;color:var(--faint);}
  .story-photo{margin:64px auto 0;max-width:470px;position:relative;
    background:#fdfcfa;padding:18px 18px 0;
    box-shadow:0 28px 54px -30px rgba(46,42,37,.55),0 2px 0 rgba(46,42,37,.04);
    transform:rotate(-1.8deg);transition:transform .4s ease;}
  .story-photo:hover{transform:rotate(0deg);}
  .story-photo img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;}
  .story-photo .cap{display:block;text-align:center;padding:24px 10px 28px;margin:0;
    font-family:'Antro Vectra',cursive;font-size:42px;font-weight:400;line-height:1;
    letter-spacing:0;text-transform:none;color:var(--ink-soft);transform:rotate(-2deg);}

  /* full-bleed photographic divider — the breath between story and the doors */
  .photo-divider{position:relative;width:100vw;left:50%;margin-left:-50vw;padding:0;
    height:clamp(320px,44vw,540px);overflow:hidden;background:var(--ink);
    border-top:1px solid var(--kraft);border-bottom:1px solid var(--kraft);}
  .photo-divider img{width:100%;height:100%;object-fit:cover;object-position:center 52%;
    display:block;}
  .photo-divider::after{content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(to top,rgba(28,24,20,.46) 0%,rgba(28,24,20,0) 34%);}
  .photo-divider .cap{position:absolute;left:clamp(22px,5vw,68px);bottom:clamp(20px,3.2vw,40px);
    z-index:1;font-family:'Antro Vectra',cursive;font-size:clamp(36px,4.6vw,58px);line-height:1;
    color:#fdfcfa;text-shadow:0 2px 22px rgba(0,0,0,.55);transform:rotate(-2deg);}
  .watch{text-align:center;margin-top:44px;}
  .watch a{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink);
    border-bottom:1px solid var(--kraft);padding-bottom:4px;}

  /* ---- reviews ---- */
  .reviews{background:var(--paper-2);}
  .reviews .head{text-align:center;margin-bottom:36px;}
  .reviews .head h2{margin-top:.3em;}
  .rev-agg{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;
    width:max-content;max-width:100%;margin:0 auto 44px;padding:15px 28px;
    background:var(--card);border:1px solid var(--hair);}
  .rev-agg .g{width:22px;height:22px;display:inline-flex;}
  .rev-agg .score{font-size:28px;font-weight:300;line-height:1;}
  .rev-agg .agg-stars{color:var(--kraft-deep);letter-spacing:2px;font-size:17px;}
  .rev-agg .count{font-size:13px;letter-spacing:.04em;color:var(--faint);}
  .rev-agg .count b{color:var(--ink);font-weight:400;}
  .rev-agg .leave{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--kraft-deep);
    border-left:1px solid var(--hair);padding-left:16px;font-weight:400;}
  .rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  .rev{background:var(--card);border:1px solid var(--hair);padding:28px 28px 30px;display:flex;flex-direction:column;}
  .rev header{display:flex;align-items:center;gap:13px;margin-bottom:15px;}
  .rev .av{width:42px;height:42px;flex:none;border-radius:50%;color:var(--paper);font-weight:400;
    font-size:18px;display:flex;align-items:center;justify-content:center;letter-spacing:.02em;}
  .rev .meta{display:flex;flex-direction:column;line-height:1.3;min-width:0;}
  .rev .name{font-weight:400;font-size:15.5px;letter-spacing:.02em;}
  .rev .sub{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);}
  .rev .g-mark{margin-left:auto;width:17px;height:17px;flex:none;opacity:.9;}
  .rev .stars{color:var(--kraft-deep);letter-spacing:2px;font-size:14px;margin-bottom:12px;}
  .rev .text{font-size:15.5px;line-height:1.66;color:var(--ink-soft);font-weight:300;}

  /* ---- quiet questions ---- */
  .faqsec .split{align-items:center;}
  .faqsec .ph{width:100%;aspect-ratio:3/4;object-fit:cover;}
  .faqsec h2{margin:.28em 0 .5em;}
  .faq{margin-top:8px;}
  .faq .q{border-top:1px solid var(--hair);padding:24px 0;}
  .faq .q:last-child{border-bottom:1px solid var(--hair);}
  .faq .q h3{font-size:19px;font-weight:400;letter-spacing:.01em;margin-bottom:9px;}
  .faq .q p{font-size:16.5px;line-height:1.66;color:var(--ink-soft);font-weight:300;}
  .worth{max-width:680px;margin:48px auto 0;text-align:center;font-size:clamp(22px,2.8vw,30px);
    font-weight:200;line-height:1.36;color:var(--ink);}
  .worth .cite{display:block;margin-top:18px;font-size:11.5px;letter-spacing:.24em;
    text-transform:uppercase;font-weight:400;color:var(--faint);}

  /* ---- close ---- */
  .close{background:var(--ink);color:var(--paper);text-align:center;}
  .close .label{color:var(--kraft);}
  .close h2{margin:.3em 0 .35em;color:var(--paper);}
  .close .lead{font-size:18px;color:#cfc8bb;max-width:26em;margin:0 auto 32px;}
  .close .ctas{justify-content:center;}
  .close .btn-fill{background:var(--paper);color:var(--ink);border-color:var(--paper);}
  .close .btn-fill:hover{background:#fff;}
  .close .btn-ghost{color:var(--paper);border-color:var(--kraft);}
  .close .btn-ghost:hover{background:var(--kraft);color:var(--ink);border-color:var(--kraft);}
  .close .micro{font-size:13.5px;letter-spacing:.04em;color:#9c958a;margin-top:18px;max-width:34em;margin-left:auto;margin-right:auto;}
  .close .send{margin:54px auto 0;max-width:15em;font-size:clamp(26px,4vw,40px);font-weight:200;line-height:1.18;color:var(--paper);letter-spacing:.01em;}
  .close .send-sub{font-size:14px;letter-spacing:.04em;color:#9c958a;margin-top:14px;}
  .close .weave{width:96px;color:var(--kraft);margin:60px auto 0;opacity:.7;}
  .close .paths{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1000px;margin:10px auto 0;text-align:left;}
  .close .path{background:rgba(241,235,223,.045);border:1px solid rgba(201,182,152,.28);border-radius:16px;padding:28px 28px 26px;display:flex;flex-direction:column;}
  .close .ptag{font-family:"Jost",system-ui,sans-serif;font-weight:400;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--kraft);}
  .close .path h3{font-family:"Jost",system-ui,sans-serif;font-weight:300;font-size:25px;color:var(--paper);margin:.55em 0 .4em;}
  .close .path p{font-size:15.5px;line-height:1.55;color:#cfc8bb;font-weight:400;margin:0 0 20px;}
  .close .path p b{color:var(--paper);font-weight:500;}
  .close .path .plink{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;font-family:"Jost",system-ui,sans-serif;font-size:15.5px;letter-spacing:.02em;color:var(--paper);border-bottom:1px solid var(--kraft);padding-bottom:3px;transition:gap .16s ease,color .16s ease;}
  .close .path .plink:hover{gap:14px;color:var(--kraft);}
  @media (max-width:820px){.close .paths{grid-template-columns:1fr;max-width:480px;}}

  /* ---- footer ---- */
  .foot{background:var(--paper);color:var(--ink-soft);padding:78px 0 44px;border-top:1px solid var(--hair);font-size:15px;}
  .foot .grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;}
  .foot .brand .weave{width:42px;}
  .foot .brand b{font-size:16px;letter-spacing:.16em;text-transform:uppercase;}
  .foot .mission{margin-top:16px;color:var(--faint);max-width:25em;font-size:15px;line-height:1.6;}
  .foot .email{margin-top:16px;color:var(--ink-soft);letter-spacing:.04em;}
  .foot h4{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--kraft-deep);margin-bottom:16px;font-weight:400;}
  .foot a{display:block;margin-bottom:11px;color:var(--ink-soft);}
  .foot a:hover{color:var(--ink);}
  .foot .spots div{margin-bottom:12px;color:var(--faint);line-height:1.5;}
  .foot .spots b{color:var(--ink);font-weight:400;}
  .foot .legal{border-top:1px solid var(--hair);margin-top:52px;padding-top:24px;color:var(--faint);
    font-size:12.5px;letter-spacing:.04em;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}

  /* ---- sticky mobile CTA ---- */
  .storybar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:none;gap:12px;
    justify-content:center;align-items:center;padding:12px 16px calc(12px + env(safe-area-inset-bottom));
    background:rgba(247,245,240,.96);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
    border-top:1px solid var(--hair);transition:transform .32s ease,opacity .32s ease;}
  .storybar .btn{flex:1 1 0;text-align:center;max-width:220px;padding:13px 14px;font-size:11px;}
  .storybar.is-hidden{transform:translateY(130%);opacity:0;pointer-events:none;}

  /* ---- responsive ---- */
  @media(max-width:960px){
    section{padding:68px 0;}
    .wrap{padding:0 28px;}
    .nav .wrap{flex-wrap:wrap;padding:14px 28px;}
    .hero .grid,.split,.foot .grid{grid-template-columns:1fr;gap:40px;}
    .hero-photo{order:-1;}
    .hero-photo img{aspect-ratio:5/4;}
    .expose,.rev-grid{grid-template-columns:1fr;}
    .nav-toggle{display:flex;order:2;}
    .brand{order:0;}
    .menu{order:3;display:none;flex-basis:100%;flex-direction:column;gap:0;margin:8px -28px 0;border-top:1px solid var(--hair);}
    .menu a{padding:16px 28px;border-bottom:1px solid var(--hair);}
    .nav-cta{order:4;display:none;flex-basis:100%;justify-content:flex-start;gap:24px;padding:16px 0 2px;}
    .nav.open .menu,.nav.open .nav-cta{display:flex;}
    .storybar{display:flex;}
  }
  @media(prefers-reduced-motion:reduce){.storybar{transition:opacity .2s ease;}.storybar.is-hidden{transform:none;}}


/* ============ marketing-page components ============ */
.page-hero{padding:96px 0 18px;text-align:center;}
.page-hero .label{display:block;margin-bottom:18px;}
.page-hero h1{font-size:clamp(44px,7vw,82px);font-weight:200;letter-spacing:.005em;}
.page-hero .lede{font-size:20px;font-weight:300;color:var(--ink-soft);max-width:30em;margin:22px auto 0;line-height:1.6;}

/* plain section-opening display heading + optional lede — one consistent rhythm */
section:not([class]) > .wrap > h2.display:first-child{margin:0 0 .5em;}
section:not([class]) > .wrap > h2.display:first-child + .lede{margin:0 0 34px;max-width:34em;}

.prose{max-width:680px;margin:0 auto;}
.prose p{margin-bottom:22px;font-size:19px;line-height:1.78;color:var(--ink-soft);font-weight:300;}
.prose p.lead-p{font-size:22px;color:var(--ink);}
.prose h2{font-size:clamp(26px,3.4vw,38px);font-weight:200;margin:52px 0 16px;letter-spacing:.01em;}
.bigquote{text-align:center;font-size:clamp(28px,4.4vw,46px);font-weight:200;line-height:1.28;
  color:var(--ink);max-width:16em;margin:0 auto;letter-spacing:.005em;}
.bigquote em{font-style:normal;color:var(--kraft-deep);}

/* four-step flow with brand icons */
.flow{text-align:center;}
.flow h2{margin-bottom:48px;}
.flow .steps{display:flex;align-items:flex-start;justify-content:center;gap:8px;flex-wrap:wrap;}
.flow .step{width:140px;}
.flow .badge{width:78px;height:78px;margin:0 auto 16px;border:1px solid var(--kraft);border-radius:50%;
  display:flex;align-items:center;justify-content:center;background:var(--card);}
.flow .badge img{width:42px;height:42px;object-fit:contain;}
.flow .step .nm{font-size:11.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);}
.flow .conn{flex:0 0 30px;height:1px;background:var(--kraft);margin-top:39px;}

/* doors grid */
.doors{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:14px;}
.door{border:1px solid var(--hair);background:var(--card);padding:40px 38px;display:flex;flex-direction:column;
  transition:border-color .18s ease,transform .18s ease;}
.door:hover{border-color:var(--kraft-deep);transform:translateY(-3px);}
.door img{width:54px;height:54px;object-fit:contain;margin-bottom:22px;}
.door .intent{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);font-weight:400;}
.door h3{font-size:25px;font-weight:300;margin:9px 0 12px;letter-spacing:.01em;}
.door p{font-size:16px;line-height:1.62;color:var(--ink-soft);font-weight:300;margin-bottom:22px;}
.door .go{margin-top:auto;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);
  border-bottom:1px solid var(--kraft);padding-bottom:4px;align-self:flex-start;}

/* class card */
.classcard{display:grid;grid-template-columns:1fr 1.1fr;border:1px solid var(--hair);background:var(--card);overflow:hidden;}
.classcard img{width:100%;height:100%;object-fit:cover;min-height:340px;}
.classcard .body{padding:52px 50px;}
.classcard .body .price{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--kraft-deep);font-weight:400;}
.classcard .body h2{font-size:clamp(30px,3.6vw,44px);font-weight:200;margin:10px 0 16px;}
.classcard .body p{font-size:17px;line-height:1.7;color:var(--ink-soft);font-weight:300;margin-bottom:18px;max-width:32em;}
.classcard .meta{display:flex;flex-direction:column;gap:6px;margin:24px 0 30px;font-size:15px;color:var(--ink);}
.classcard .meta .row{display:flex;gap:12px;align-items:baseline;}
.classcard .meta .row span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);width:88px;flex:none;}
.micro-quote{font-size:15px;font-style:italic;color:var(--ink-soft);border-left:2px solid var(--kraft);padding-left:16px;max-width:30em;margin:0 0 28px;}

/* pickup cards */
.pickup{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:14px;}
.pcard{border:1px solid var(--hair);background:var(--card);padding:34px 34px 36px;}
.pcard .ic{width:40px;height:40px;object-fit:contain;margin-bottom:18px;opacity:.92;}
.pcard h3{font-size:22px;font-weight:300;letter-spacing:.01em;}
.pcard .when{color:var(--kraft-deep);font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin-top:8px;font-weight:400;}
.pcard .addr{color:var(--ink-soft);font-size:16px;margin-top:12px;line-height:1.55;font-weight:300;}

/* contact strip */
.contact{text-align:center;}
.contact .rows{display:flex;flex-direction:column;gap:14px;max-width:30em;margin:8px auto 0;}
.contact .rows a,.contact .rows span{font-size:18px;color:var(--ink);letter-spacing:.02em;font-weight:300;}
.contact .rows .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint);display:block;margin-bottom:2px;}

@media(max-width:880px){
  .doors,.pickup{grid-template-columns:1fr;}
  .classcard{grid-template-columns:1fr;}
  .classcard img{min-height:240px;}
  .flow .conn{display:none;}
  .flow .steps{gap:30px;}
}

.menu a[aria-current="page"]{border-color:var(--ink);color:var(--ink);}
.menu:empty{display:none !important;}

/* ---- readability pass ---- */
:root{--ink-soft:#3b362f;}
body{font-weight:400;font-size:18px;}
.prose p,.faq .q p,.door p,.rev .text,.hero .sub,.lede,.close .lead,.pcard .addr,.classcard .body p,.expose-note,.contact .rows a,.contact .rows span{font-weight:400;}
.prose p{color:#332f29;font-size:19.5px;}
.faq .q p{color:#332f29;}

/* ---- body font: Hanken Grotesk (Jost kept for headings + tracked labels) ---- */
body{font-family:"Hanken Grotesk",system-ui,sans-serif;}
h1,h2,h3,.display,.hero h1,.bigquote,.pullquote,.worth,.send,.classcard .body h2{font-family:"Jost",system-ui,sans-serif;}
.label,.menu,.brand b,.btn,.foot h4,.rev .sub,.rev .name,.pcard .when,.classcard .price,.door .intent,.tag,.hero-photo .tag,.legal,.cap,.classcard .meta .row span,.contact .rows .k{font-family:"Jost",system-ui,sans-serif;}
.prose p{font-size:19px;line-height:1.75;}

/* ---- reviews mosaic (masonry columns) ---- */
.rev-grid{display:block;column-count:3;column-gap:20px;}
.rev{display:block;break-inside:avoid;-webkit-column-break-inside:avoid;margin:0 0 20px;width:100%;}
@media(max-width:960px){.rev-grid{column-count:2;}}
@media(max-width:560px){.rev-grid{column-count:1;}}

/* ---- proof band (why page) ---- */
.proof-band{background:var(--paper-2);}
.proof-head{text-align:center;max-width:34em;margin:0 auto 40px;}
.proof-head h2{margin-bottom:.34em;}
.proof-sub{font-size:18px;line-height:1.62;color:var(--ink-soft);font-weight:400;}
.proof-two{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:840px;margin:0 auto;}
.proof-two .rev{margin:0;}
.proof-note{text-align:center;margin:30px auto 0;font-size:14px;letter-spacing:.02em;color:var(--faint);}
.proof-note a{color:var(--kraft-deep);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--kraft-deep) 40%,transparent);padding-bottom:1px;white-space:nowrap;}
.proof-note a:hover{color:var(--ink);border-color:var(--ink);}
@media(max-width:640px){.proof-two{grid-template-columns:1fr;}}

/* ---- announcement bar (class push, above the sticky nav) ---- */
.fl-a{position:relative;background:var(--ink);color:var(--paper);
  font-family:"Jost",system-ui,sans-serif;border-bottom:1px solid rgba(201,182,152,.28);}
html.fl-a-off .fl-a{display:none;}
.fl-a__link{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;
  max-width:var(--maxw);margin:0 auto;padding:9px 56px;
  font-size:13.5px;font-weight:300;letter-spacing:.01em;line-height:1.4;text-align:center;
  color:#ded7c9;transition:color .18s ease;}
.fl-a__link:hover{color:var(--paper);}
.fl-a__msg b{color:var(--paper);font-weight:500;}
.fl-a__cta{display:inline-flex;align-items:center;gap:.45em;white-space:nowrap;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--paper);
  border-bottom:1px solid var(--kraft);padding-bottom:2px;}
.fl-a__cta i{font-style:normal;transition:transform .18s ease;}
.fl-a__link:hover .fl-a__cta i{transform:translateX(3px);}
.fl-a__compact{display:none;}
.fl-a__spots{font-weight:500;color:var(--paper);}
.fl-a--low .fl-a__spots{color:#e8c98c;}
.fl-a__x{position:absolute;right:12px;top:50%;transform:translateY(-50%);
  width:30px;height:30px;display:flex;align-items:center;justify-content:center;
  background:none;border:0;cursor:pointer;font-size:20px;line-height:1;
  color:rgba(222,215,201,.55);transition:color .16s ease;}
.fl-a__x:hover{color:var(--paper);}
@media(max-width:560px){
  .fl-a__full{display:none;}
  .fl-a__compact{display:inline;}
  .fl-a__link{padding:8px 40px;font-size:12.5px;gap:10px;}
  .fl-a__cta{letter-spacing:.14em;}
}
@media(prefers-reduced-motion:reduce){.fl-a__link:hover .fl-a__cta i{transform:none;}}
