
@font-face{font-family:'Baar Sophia';src:url(/fonts/baar-sophia-400.ttf) format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Baar Sophia';src:url(/fonts/baar-sophia-700.ttf) format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Baar Sophia';src:url(/fonts/baar-sophia-400-italic.ttf) format('truetype');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Baar Sophia';src:url(/fonts/baar-sophia-700-italic.ttf) format('truetype');font-weight:700;font-style:italic;font-display:swap}
  :root{
    --paper:#f7f2e7;
    --paper-soft:rgba(252,249,241,.58);
    --ink:#3b3547;
    --ink-soft:#6a6276;
    --gold:#c98a2e;
    --gold-deep:#a8701f;
    --rose:#b85a76;
    --rose-deep:#9c4360;
    --blue:#4f6f9e;
    --blue-deep:#3c5a86;
    --green:#6e9468;
    --green-deep:#54774f;
    --flame:#b5432f;
    --board:#2a332e;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:'Alegreya', Georgia, 'Iowan Old Style', serif;
    color:var(--ink);
    background-color:var(--paper);
    font-size:1.03rem;
    line-height:1.58;
    overflow-x:clip;
    position:relative;
  }
  #washCanvas{position:absolute;top:0;left:0;width:100%;z-index:0;pointer-events:none}
  .veil{position:fixed;inset:-25%;z-index:0;pointer-events:none;mix-blend-mode:multiply;filter:blur(70px)}
  .veil-a{background:radial-gradient(38% 30% at 30% 25%, rgba(201,138,46,.13), transparent 70%);animation:driftA 75s ease-in-out infinite alternate}
  .veil-b{background:radial-gradient(34% 28% at 70% 70%, rgba(79,111,158,.11), transparent 70%);animation:driftB 95s ease-in-out infinite alternate}
  @keyframes driftA{from{transform:translate(-2.5%,-1.5%) scale(1)}to{transform:translate(2.5%,2%) scale(1.06)}}
  @keyframes driftB{from{transform:translate(2%,1.5%) scale(1.05)}to{transform:translate(-2%,-2%) scale(1)}}

  header.site, main, footer.site{position:relative;z-index:1}
  .shell{max-width:1120px;margin:0 auto;padding:0 clamp(1.15rem, 4vw, 2.5rem)}

  /* ---------- type ---------- */
  .display{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    font-weight:700;
    line-height:1.14;
    letter-spacing:.005em;
  }
  h2.display{font-size:clamp(1.65rem, 3.4vw, 2.35rem);margin-bottom:.3em}
  .kicker{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    text-transform:uppercase;
    letter-spacing:.26em;
    font-size:.78rem;
    font-weight:700;
    margin-bottom:.9rem;
  }
  .lede{font-size:clamp(1.06rem, 2vw, 1.2rem);color:var(--ink);max-width:36em}
  .quiet{color:var(--ink-soft)}
  em{font-style:italic}

  .uline{display:block;width:min(200px, 55%);height:14px;margin-top:.15rem;overflow:visible}
  .uline path{fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;opacity:.45}

  /* ---------- header ---------- */
  header.site{padding-top:clamp(1.3rem,2.6vw,2rem)}
  .headrow{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}
  .wordmark{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    font-weight:700;font-style:italic;
    font-size:clamp(1.28rem,2.9vw,1.65rem);
    color:var(--ink);text-decoration:none;line-height:1;
  }
  .wordmark .mark-wash{display:block;width:100%;max-width:11em;height:10px;margin-top:5px}
  .headnote{font-style:italic;color:var(--ink-soft);font-size:.95rem;text-align:right}

  /* ---------- sections ---------- */
  section{padding:clamp(1.5rem, 3.2vw, 2.2rem) 0}
  .hero{padding-top:clamp(2rem, 4.5vw, 3.4rem);padding-bottom:clamp(1.8rem,4vw,3rem)}
  .hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.6rem,4vw,3.2rem);align-items:center}
  @media (max-width:880px){.hero-grid{grid-template-columns:1fr}}
  .hero h1{font-size:clamp(2rem, 4.2vw, 3.05rem);max-width:13em}
  .hero h1 .l2{display:block;color:var(--blue-deep)}
  .hero h1 .paint{
    background:linear-gradient(100deg, var(--gold-deep) 10%, var(--rose-deep) 90%);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }
  .hero .lede{margin:1rem 0 1.4rem}
  .cta-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}
  .cta{
    display:inline-block;
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    font-weight:700;font-size:1.04rem;
    color:var(--paper);
    background:radial-gradient(120% 130% at 30% 25%, #b95f7b 0%, var(--rose-deep) 60%, #86364f 100%);
    padding:.95em 2em;
    border-radius:48% 52% 55% 45% / 62% 48% 52% 38%;
    text-decoration:none;
    box-shadow:0 18px 34px -18px rgba(156,67,96,.55);
    animation:breatheBtn 9s ease-in-out infinite;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .cta:hover{background:radial-gradient(120% 130% at 30% 25%, #a94f6b 0%, #86364f 70%, #6f2a40 100%);transform:translateY(-2px);box-shadow:0 22px 38px -18px rgba(156,67,96,.65)}
  .cta:active{transform:translateY(0) scale(.98)}
  @keyframes breatheBtn{
    0%,100%{border-radius:48% 52% 55% 45% / 62% 48% 52% 38%}
    50%{border-radius:55% 45% 47% 53% / 50% 60% 40% 50%}
  }
  .cta-side{font-style:italic;color:var(--ink-soft);text-decoration:underline;text-decoration-style:wavy;text-decoration-color:rgba(201,138,46,.6);text-underline-offset:5px}
  .cta-side:hover{color:var(--ink)}

  /* ---------- blackboards ---------- */
  .board-frame{
    padding:9px 11px 13px;
    background:linear-gradient(160deg, #93704a, #6d5136 55%, #57402a);
    border-radius:2.5rem 3rem 2.6rem 3.2rem / 3rem 2.5rem 3.2rem 2.6rem;
    box-shadow:0 34px 64px -42px rgba(46,38,28,.75);
  }
  .board{
    position:relative;
    background:radial-gradient(120% 120% at 40% 30%, #313f38, #232b27 85%);
    border-radius:2.2rem 2.7rem 2.3rem 2.9rem / 2.7rem 2.2rem 2.9rem 2.3rem;
    overflow:hidden;
    box-shadow:inset 0 0 60px rgba(0,0,0,.4);
  }
  .board canvas{display:block;width:100%}
  .board-cap{font-style:italic;color:var(--ink-soft);font-size:.95rem;margin-top:.55rem;text-align:center}

  /* ---------- load + reveal motion ---------- */
  .rise{opacity:0;transform:translateY(22px);animation:riseIn 1.15s cubic-bezier(.22,.8,.3,1) forwards;animation-delay:var(--d,0s)}
  @keyframes riseIn{to{opacity:1;transform:none}}
  .js .reveal{opacity:0;transform:translateY(26px) rotate(-.35deg);transition:opacity 1.05s ease, transform 1.05s cubic-bezier(.22,.8,.3,1);transition-delay:var(--d,0s)}
  .js .reveal.in{opacity:1;transform:none}

  /* ---------- seasonal wheel ---------- */
  .rhythm{max-width:560px;margin:0 auto;text-align:center;padding:0 1.2rem;display:flex;align-items:center;gap:1.1rem;justify-content:center}
  .rhythm svg{width:min(110px,30%);height:auto;display:block;flex:0 0 auto}
  .rhythm p{text-align:left;max-width:22em}
  .rhythm .spin{transform-origin:100px 100px;animation:wheelTurn 90s linear infinite}
  @keyframes wheelTurn{to{transform:rotate(360deg)}}
  .rhythm p{font-style:italic;color:var(--ink-soft);font-size:.98rem}

  /* ---------- lobes ---------- */
  .lobe{
    position:relative;
    background:var(--paper-soft);
    border-radius:2.4rem 3rem 2.5rem 3.2rem / 2.9rem 2.4rem 3.2rem 2.2rem;
    padding:clamp(1.5rem, 3.2vw, 2.2rem) clamp(1.4rem, 3.6vw, 2.4rem);
    box-shadow:0 34px 70px -55px rgba(59,53,71,.5);
    animation:breatheLobe 21s ease-in-out infinite;
    transition:transform .35s ease;
  }
  @keyframes breatheLobe{
    0%,100%{border-radius:2.4rem 3rem 2.5rem 3.2rem / 2.9rem 2.4rem 3.2rem 2.2rem}
    33%{border-radius:3rem 2.5rem 3.1rem 2.4rem / 2.4rem 3rem 2.3rem 3.1rem}
    66%{border-radius:2.7rem 3.2rem 2.3rem 2.9rem / 3.1rem 2.3rem 2.9rem 2.6rem}
  }
  .lobe.alt{animation-delay:-8s}
  .lobe.tint-rose{background:rgba(230,197,206,.38)}
  .lobe.tint-gold{background:rgba(232,208,158,.34)}
  .lobe.tint-blue{background:rgba(196,209,228,.4)}
  .lobe.tint-green{background:rgba(203,219,196,.38)}
  .lobe h3{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.26rem;line-height:1.2;margin-bottom:.4rem}
  .lobe p{font-size:.98rem;color:var(--ink)}
  .hoverlift:hover{transform:translateY(-4px)}

  /* ---------- inputs ---------- */
  .inputs .kicker{color:var(--rose-deep)}
  .three{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(1.1rem,2.6vw,1.8rem);margin-top:1.9rem;align-items:start}
  .three .lobe{text-align:center}
  .three canvas{width:88px;height:88px;margin:0 auto .6rem;display:block}

  /* ---------- temperaments ---------- */
  .temps{margin-top:clamp(2rem,4.5vw,3.2rem)}
  .temps h3.display{font-size:clamp(1.4rem,2.8vw,1.75rem);margin-bottom:.25rem}
  .temps .lede{font-size:1.01rem;margin-bottom:1.2rem}
  .tempduo{display:grid;grid-template-columns:1fr 1.06fr;gap:clamp(1.4rem,3vw,2.4rem);align-items:start;margin-top:1.2rem}
  @media (max-width:960px){.tempduo{grid-template-columns:1fr}}
  .tempnames{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:.8rem}
  .tname{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:.95rem;
    color:var(--ink);background:var(--paper-soft);
    border:1.5px solid rgba(59,53,71,.18);
    border-radius:1.4rem 1.1rem 1.5rem 1rem / 1.1rem 1.5rem 1rem 1.4rem;
    padding:.45em 1.1em;cursor:pointer;
    transition:transform .2s ease, border-color .2s, background-color .2s, color .2s;
  }
  .tname:hover{transform:translateY(-2px);border-color:rgba(59,53,71,.4)}
  .tname[aria-pressed="true"]{color:var(--paper)}
  .tname.c-C[aria-pressed="true"]{background:#a8503c;border-color:#a8503c}
  .tname.c-S[aria-pressed="true"]{background:#b07d2c;border-color:#b07d2c}
  .tname.c-M[aria-pressed="true"]{background:#43608c;border-color:#43608c}
  .tname.c-P[aria-pressed="true"]{background:#587a52;border-color:#587a52}
  .tempcap{max-width:34em;margin:.7rem auto 0;text-align:center;min-height:2.7em;font-size:.97rem;transition:opacity .4s ease}
  .tempcap.swap{opacity:0}
  .tempcap b{font-family:'Baar Sophia', 'Alegreya', Georgia, serif}
  .temps .aside{font-style:italic;color:var(--ink-soft);text-align:center;margin-top:.6rem;font-size:.95rem}

  /* ---------- finder journey ---------- */
  .finder{margin:0}
  .finder h3.display{font-size:clamp(1.3rem,2.5vw,1.55rem);margin-bottom:.25rem;text-align:center}
  .finder .lede{font-size:.99rem;margin:0 auto 1rem;text-align:center;max-width:34em}
  .skiplink{color:var(--ink-soft);text-decoration:underline;text-decoration-style:wavy;text-decoration-color:rgba(201,138,46,.6);text-underline-offset:4px}
  .skiplink:hover{color:var(--ink)}
  .jcard{padding:clamp(1.4rem,3.4vw,2.2rem) clamp(1.2rem,3.6vw,2.4rem) 1.3rem}
  .jmarks{display:flex;gap:.55rem;justify-content:center;margin-bottom:1.1rem}
  .jmark{width:20px;height:24px;border:0;background:none;padding:0;cursor:pointer;color:rgba(59,53,71,.22);transition:transform .25s ease, color .35s ease}
  .jmark svg{width:100%;height:100%;display:block}
  .jmark.cur{color:var(--gold-deep);transform:scale(1.25)}
  .jmark.done-C{color:#b5432f}
  .jmark.done-S{color:#c98a2e}
  .jmark.done-M{color:#3c5a86}
  .jmark.done-P{color:#54774f}
  .jmark.done-U{color:#8a8494}
  .jmark:disabled{cursor:default}
  .qstack{display:grid;position:relative}
  .qpane{grid-area:1/1;position:relative;min-height:0}
  .qpane.leave-f{animation:qLeaveF .45s ease forwards;pointer-events:none}
  .qpane.enter-f{animation:qEnterF .6s cubic-bezier(.22,.8,.3,1) both}
  .qpane.leave-b{animation:qLeaveB .45s ease forwards;pointer-events:none}
  .qpane.enter-b{animation:qEnterB .6s cubic-bezier(.22,.8,.3,1) both}
  @keyframes qLeaveF{to{opacity:0;transform:translateX(-48px) rotate(-.9deg);filter:blur(3px)}}
  @keyframes qEnterF{from{opacity:0;transform:translateX(54px) rotate(.8deg);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
  @keyframes qLeaveB{to{opacity:0;transform:translateX(48px) rotate(.9deg);filter:blur(3px)}}
  @keyframes qEnterB{from{opacity:0;transform:translateX(-54px) rotate(-.8deg);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}
  .qpane.enter-f::after, .qpane.enter-b::after{
    content:"";position:absolute;inset:-4%;pointer-events:none;
    background:radial-gradient(60% 60% at 62% 38%, rgba(201,138,46,.22), transparent 70%);
    animation:washFade 1s ease forwards;
  }
  @keyframes washFade{from{opacity:1}to{opacity:0}}
  .q-text{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.16rem;margin-bottom:.85rem;text-align:center}
  .opts{display:grid;grid-template-columns:1fr;gap:.55rem;max-width:560px;margin:0 auto}
  .opt{position:relative;display:flex;gap:.65rem;align-items:flex-start;text-align:left;background:var(--paper-soft);border:1.5px solid rgba(59,53,71,.16);border-radius:1.4rem 1.1rem 1.5rem 1rem / 1.2rem 1.5rem 1rem 1.4rem;padding:.66rem 1.05rem;cursor:pointer;font-family:inherit;font-size:.97rem;line-height:1.42;color:var(--ink);transition:border-color .2s, background-color .2s, transform .2s ease}
  .opt:hover{border-color:rgba(59,53,71,.35);transform:translateX(3px)}
  .opt:active{transform:scale(.985)}
  .opt .dot{flex:0 0 auto;width:13px;height:13px;margin-top:.28rem;border-radius:54% 46% 50% 50% / 48% 52% 48% 52%;border:2px solid var(--ink-soft);transition:background-color .2s,border-color .2s}
  .opt.sel{background:rgba(232,208,158,.5);border-color:var(--gold-deep)}
  .opt.sel .dot{background:var(--gold-deep);border-color:var(--gold-deep)}
  .opt:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
  .opt.unsure{font-style:italic;color:var(--ink-soft);justify-content:center}
  .jnav{display:flex;justify-content:space-between;align-items:center;margin-top:1.1rem;min-height:1.6em}
  .jback{border:0;background:none;font-family:inherit;font-style:italic;font-size:.95rem;color:var(--ink-soft);cursor:pointer;text-decoration:underline;text-decoration-style:wavy;text-decoration-color:rgba(201,138,46,.5);text-underline-offset:4px}
  .jback:hover{color:var(--ink)}
  .jhint{font-style:italic;font-size:.88rem;color:var(--ink-soft);opacity:.8}
  /* result */
  .qpane.res h4{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.35rem;margin-bottom:.4rem;text-align:center}
  .qpane.res .blend{font-size:1.08rem;text-align:center;max-width:30em;margin:0 auto;opacity:0;transform:translateY(8px);transition:opacity .9s ease, transform .9s ease}
  .blendbars{list-style:none;margin:1.2rem auto 0;max-width:480px}
  .blendbars li{display:grid;grid-template-columns:9.5em 1fr 2.8em;gap:.7rem;align-items:center;margin-bottom:.45rem;font-size:.93rem;color:var(--ink-soft)}
  @media (max-width:480px){.blendbars li{grid-template-columns:7.6em 1fr 2.6em;font-size:.87rem}}
  .bar{height:11px;border-radius:7px 9px 8px 10px;background:rgba(59,53,71,.09);overflow:hidden}
  .bar i{display:block;height:100%;border-radius:inherit;width:0;transition:width 1s cubic-bezier(.22,.8,.3,1)}
  .fill-C{background:#b5432f}.fill-S{background:#c98a2e}.fill-M{background:#3c5a86}.fill-P{background:#54774f}
  .blendbars .pct{text-align:right;font-variant-numeric:tabular-nums}
  .tcaveat{margin-top:1.1rem;font-size:.95rem;max-width:36em;margin-left:auto;margin-right:auto}
  .tprivacy{margin-top:.6rem;font-size:.88rem;font-style:italic;color:var(--ink-soft);text-align:center}
  .res-row{display:flex;gap:1.4rem;justify-content:center;margin-top:1rem;flex-wrap:wrap}

  /* ---------- stages / road ---------- */
  .stages .kicker{color:var(--green-deep)}
  .stages .lede{margin-bottom:1.2rem}
  .roadwrap{position:relative}
  .road{position:relative}
  .road canvas{display:block;width:100%}
  .stones{position:absolute;inset:0}
  .stone{
    position:absolute;transform:translate(-50%,-50%);
    width:46px;height:46px;border:0;
    display:grid;place-items:center;
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    font-weight:700;font-size:1.12rem;
    color:var(--paper);cursor:pointer;
    border-radius:52% 48% 44% 56% / 46% 56% 44% 54%;
    box-shadow:0 10px 22px -10px rgba(40,45,40,.7);
    transition:transform .3s cubic-bezier(.22,.8,.3,1), box-shadow .3s ease;
  }
  .stone:nth-child(odd){border-radius:44% 56% 55% 45% / 57% 45% 55% 43%}
  .stone:hover{transform:translate(-50%,-58%)}
  .stone.on{transform:translate(-50%,-50%) scale(1.22);box-shadow:0 0 0 5px rgba(247,242,231,.55), 0 12px 26px -10px rgba(40,45,40,.8)}
  .stone.s1{background:radial-gradient(115% 115% at 32% 28%, #d8a44a, #a8701f)}
  .stone.s2{background:radial-gradient(115% 115% at 32% 28%, #cf8a5a, #ab5f33)}
  .stone.s3{background:radial-gradient(115% 115% at 32% 28%, #97ad63, #6d8442)}
  .stone.s4{background:radial-gradient(115% 115% at 32% 28%, #7d9a77, #54774f)}
  .stone.s5{background:radial-gradient(115% 115% at 32% 28%, #6f94a8, #47708a)}
  .stone.s6{background:radial-gradient(115% 115% at 32% 28%, #6b83b0, #3c5a86)}
  .stone.s7{background:radial-gradient(115% 115% at 32% 28%, #b06e88, #86445f);font-size:.85rem}
  .gradepanel{max-width:620px;margin:.9rem auto 0;text-align:center;min-height:4.4em;padding-top:1rem;padding-bottom:1rem;transition:opacity .35s ease}
  .gradepanel.swap{opacity:0}
  .gradepanel .gtitle{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.25rem}
  .gradepanel .gyear{font-style:italic;color:var(--ink-soft);font-size:.92rem;margin-bottom:.35rem}
  .stages .outro{font-style:italic;color:var(--ink-soft);margin-top:.8rem;text-align:center}

  /* ---------- place ---------- */
  .place .kicker{color:var(--blue-deep)}
  .skies{display:grid;grid-template-columns:1.08fr 1.08fr .92fr;gap:clamp(1.2rem,2.6vw,1.9rem);margin-top:1.6rem;align-items:start}
  @media (max-width:940px){.skies{grid-template-columns:1fr}}
  .sky h3{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.22rem;margin:.7rem 0 .05rem}
  .sky .lat{font-style:italic;color:var(--ink-soft);font-size:.93rem;margin-bottom:.35rem}
  .sky p.note{font-size:.95rem}
  .skycol{display:flex;flex-direction:column;gap:1.1rem}
  .equator p{font-size:.95rem}
  .place .mech{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;
    font-weight:700;
    font-size:clamp(1.05rem,2vw,1.22rem);color:var(--blue-deep);
    padding:0 .4rem;
  }

  /* ---------- arrives ---------- */
  .arrives .kicker{color:var(--gold-deep)}
  .artefacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:clamp(1rem,2.2vw,1.4rem);margin-top:1.6rem}
  .artefacts canvas{width:64px;height:53px;display:block;margin-bottom:.45rem}
  .artefacts .lobe p{font-size:.94rem}

  /* ---------- intake + privacy ---------- */
  .intake .kicker{color:var(--green-deep)}
  .intake-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.5rem}
  @media (max-width:880px){.intake-grid{grid-template-columns:1fr;max-width:780px}}
  .intake-foot{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(1.2rem,2.6vw,2rem);align-items:center;margin-top:1.5rem}
  @media (max-width:880px){.intake-foot{grid-template-columns:1fr}}
  .field label{display:block;font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.08rem;margin-bottom:.4rem}
  .field .optional{font-family:'Alegreya', Georgia, serif;font-weight:400;font-style:italic;font-size:.9rem;color:var(--ink-soft)}
  .field textarea{width:100%;min-height:6.3em;font-family:inherit;font-size:1rem;line-height:1.5;color:var(--ink);background:var(--paper-soft);border:1.5px solid rgba(59,53,71,.18);border-radius:1.5rem 1.2rem 1.6rem 1.1rem / 1.3rem 1.6rem 1.1rem 1.5rem;padding:.9rem 1.2rem;resize:vertical;transition:border-color .25s ease, box-shadow .25s ease}
  .field textarea:focus{outline:none;border-color:var(--green-deep);box-shadow:0 0 0 3px rgba(110,148,104,.16)}
  .field textarea::placeholder{color:rgba(106,98,118,.72);font-style:italic}
  .intake .aside{font-style:italic;color:var(--ink-soft);margin-top:1.2rem;max-width:640px}
  .privacy-lobe{max-width:760px;margin-top:clamp(1.8rem,4vw,2.6rem)}
  .privacy-lobe h3{margin-bottom:.5rem}
  .privacy-lobe p{font-size:1.02rem}

  /* ---------- pricing ---------- */
  .pricing .kicker{color:var(--rose-deep)}
  .price-note{font-style:italic;color:var(--ink-soft);max-width:620px;margin-top:1rem}
  .price-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:clamp(1rem,2.4vw,1.5rem);margin-top:1.6rem;align-items:stretch}
  .plan{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.35rem 1.1rem 1.25rem}
  .plan .plan-name{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:1.18rem;margin-bottom:.15rem}
  .plan .amount{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:2.3rem;line-height:1.05}
  .plan .per{font-style:italic;color:var(--ink-soft);font-size:.94rem;margin-bottom:.55rem}
  .plan p{font-size:.94rem;color:var(--ink)}
  .plan .badge{font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-weight:700;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);background:radial-gradient(120% 130% at 30% 25%, #b95f7b 0%, var(--rose-deep) 100%);padding:.45em 1.2em;border-radius:1.2em 1em 1.3em .9em / 1em 1.2em .9em 1.3em;margin-bottom:.6rem}
  .sub-points{list-style:none;margin-top:1.4rem;max-width:660px}
  .sub-points li{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.55rem;font-size:.99rem}
  .leafdot{flex:0 0 auto;width:14px;height:18px;margin-top:.35rem}
  .pricing .cta-row{margin-top:1.5rem}

  /* ---------- footer ---------- */
  footer.site{padding:clamp(1.8rem,4vw,2.5rem) 0 2.2rem}
  footer.site .shell{max-width:860px}
  footer.site p{font-size:.9rem;color:var(--ink-soft);margin-bottom:.55rem}
  footer.site .fmark{
    font-family:'Baar Sophia', 'Alegreya', Georgia, serif;font-style:italic;font-weight:700;
    color:var(--ink);font-size:1.5rem;margin-bottom:.9rem;
  }

  .divider{max-width:520px;margin:0 auto;padding:0 2rem}
  .divider svg{width:100%;height:20px;display:block}
  .divider path{fill:none;stroke-width:2.6;stroke-linecap:round;opacity:.35}

  @media (max-width:560px){
    .headnote{display:none}
    body{font-size:.98rem}
    .stone{width:40px;height:40px;font-size:1rem}
    section{padding:1.5rem 0}
    .lobe{padding:1.2rem 1.15rem}
    .field textarea{min-height:5.4em}
    .rhythm{flex-direction:column;gap:.4rem}
    .rhythm p{text-align:center}
    .jcard{padding:1.2rem .95rem 1rem}
  }
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation:none !important;transition:none !important}
    html{scroll-behavior:auto}
    .rise, .js .reveal{opacity:1 !important;transform:none !important}
    .qpane.res .blend{opacity:1 !important;transform:none !important;transition:none !important}
    .bar i{transition:none !important}
  }
