/* Sovereign Splendor — shared stylesheet (Oct 2026 redesign).
   One dark ground; gold for links, buttons and quotes; each doorway has its own color.
   Change a style here and it changes on every page. */
:root{
  --ink:#0D0B0E; --parchment:#E8DECE; --gold:#C7A867;
  --forest:#11302A; --garnet:#5A1F22; --fog:#2A1B2D; --sage:#7A8C72;
  --text:rgba(232,222,206,0.88);   /* body copy, about 12:1 on ink */
  --muted:rgba(232,222,206,0.72);  /* secondary copy, about 8:1 on ink */
  --rule:rgba(199,168,103,0.2);
  --display:'Cormorant Garamond',Georgia,serif;
  --body:'Jost',system-ui,sans-serif;
  --wrap:1080px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
html,body{max-width:100%;overflow-x:hidden;overflow-x:clip;} /* clip keeps the sticky menu working */
body{background:var(--ink);color:var(--text);font-family:var(--body);font-weight:300;font-size:1.0625rem;line-height:1.8;}
a{color:inherit;text-decoration:none;}
em{font-style:italic;}
img{max-width:100%;height:auto;display:block;}
.text-link{color:var(--gold);border-bottom:1px solid rgba(199,168,103,0.45);transition:border-color .2s;}
.text-link:hover{border-bottom-color:var(--gold);}

/* ---------- NAV (unchanged from the rest of the site) ---------- */
nav{position:sticky;top:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.5rem 4rem;background:rgba(13,11,14,0.97);border-bottom:1px solid rgba(199,168,103,0.12);transition:transform .35s ease;}
nav.nav-hidden{transform:translateY(-100%);}
.nav-logo{display:inline-flex;align-items:center;font-family:var(--display);font-size:1.25rem;font-weight:400;letter-spacing:0.12em;color:var(--gold);}
.nav-mark{vertical-align:middle;margin-right:0.5rem;flex-shrink:0;}
.nav-links{display:flex;gap:2.5rem;list-style:none;}
.nav-links a{font-family:var(--body);font-size:0.75rem;font-weight:400;letter-spacing:0.2em;text-transform:uppercase;color:var(--parchment);opacity:0.7;transition:opacity 0.2s,color 0.2s;}
.nav-links a:hover,.nav-links a.active{opacity:1;color:var(--gold);}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:.5rem;margin:-.5rem;line-height:0;position:relative;z-index:999;}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--parchment);margin:5px 0;transition:transform .3s,opacity .3s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
@media(min-width:961px) and (max-width:1180px){nav{padding-left:2rem;padding-right:2rem;}.nav-links{gap:1.3rem;}.nav-links a{letter-spacing:.12em;font-size:.7rem;}}
@media(max-width:960px){
  nav{padding:.9rem 1.35rem;}
  .nav-toggle{display:block;}
  .nav-links{flex-direction:column;gap:0;position:fixed;top:0;right:0;bottom:0;width:min(78vw,320px);background:linear-gradient(165deg,#11302A 0%,#0d0b0e 70%);border-left:1px solid rgba(199,168,103,0.2);padding:6rem 2rem 2rem;transform:translateX(100%);transition:transform .35s ease;z-index:998;overflow-y:auto;}
  .nav-links.open{transform:translateX(0);}
  .nav-links li{border-bottom:1px solid rgba(199,168,103,0.12);}
  .nav-links a{display:block;padding:1.1rem 0;font-size:0.9rem;letter-spacing:0.18em;opacity:0.9;}
  .nav-backdrop{position:fixed;inset:0;background:rgba(5,4,6,0.7);opacity:0;pointer-events:none;transition:opacity .35s;z-index:997;}
  .nav-backdrop.open{opacity:1;pointer-events:auto;}
}

/* ---------- BUTTONS ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.75rem 1.6rem;border:1px solid var(--gold);color:var(--gold);font-family:var(--body);font-size:.74rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;line-height:1.4;text-align:center;transition:background .2s,color .2s;}
.btn:hover{background:var(--gold);color:var(--ink);}
button.btn{background:transparent;cursor:pointer;font-family:var(--body);}
.contact-form .btn,.home-form .btn,.form-submit .btn{align-self:flex-start;}
.btn.quiet{border-color:rgba(232,222,206,0.45);color:var(--parchment);}
.btn.quiet:hover{background:rgba(232,222,206,0.08);color:var(--parchment);}
.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;}

/* ---------- PAGE HEAD ---------- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:2.5rem;padding-right:2.5rem;}
.page-head{padding-top:7.5rem;padding-bottom:5rem;}
.page-head h1{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(3rem,6.5vw,5.25rem);line-height:1.02;color:var(--parchment);margin-bottom:1.75rem;}
.page-head p{max-width:60ch;font-size:1.125rem;line-height:1.85;}
.page-head p + p{margin-top:1rem;font-size:1rem;color:var(--muted);}

/* ---------- CONTENTS: the six doors, read like a book's contents page ---------- */
.contents{padding-top:4rem;padding-bottom:6rem;}
.contents h2{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(2.1rem,3.8vw,2.9rem);line-height:1.1;color:var(--parchment);margin-bottom:1rem;}
.contents-intro{max-width:62ch;margin-bottom:2.75rem;}
.contents ol{list-style:none;border-top:1px solid var(--rule);}
.contents li a{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:1.4rem;row-gap:.2rem;align-items:baseline;padding:1.35rem 0;border-bottom:1px solid var(--rule);transition:padding-left .3s ease,background .3s ease;}
.contents li a:hover{padding-left:.75rem;background:linear-gradient(90deg,rgba(199,168,103,0.06),transparent 70%);}
.c-name{font-family:var(--display);font-size:clamp(1.6rem,2.6vw,2.05rem);font-weight:400;line-height:1.15;color:var(--parchment);transition:color .2s;}
.c-status{font-family:var(--body);font-size:.7rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);text-align:right;white-space:nowrap;}
.c-desc{grid-column:2 / -1;color:var(--muted);font-size:1rem;}
.contents .door{grid-row:1 / span 2;align-self:center;width:1.9rem;height:auto;transition:transform .3s ease;}
.contents li a:hover .door{transform:translateY(-3px);}
.contents li a:hover .c-name,.contents li a:focus-visible .c-name{color:var(--gold);}
.contents-foot{margin-top:1.75rem;color:var(--muted);}

/* ---------- OFFERS ---------- */
.offer{position:relative;padding-top:5.5rem;padding-bottom:5.5rem;}
.offer.ruled{padding-top:0;}
.ruled > .wrap::before{content:"";display:block;height:1px;background:var(--rule);margin-bottom:5.5rem;}

/* Atmospheres: each offer sits in its own soft light, fading into the dark ground */
.atmo{position:relative;isolation:isolate;}
/* Light enters softly from beyond the page edge and fades out fully inside its own section, so no seams or blobs */
.atmo::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;}
.atmo-hero::after{background:radial-gradient(ellipse 68% 70% at -10% 42%,color-mix(in srgb,rgba(17,48,42,0.95) 100.0%,transparent) 0.0%,color-mix(in srgb,rgba(17,48,42,0.95) 96.0%,transparent) 10.0%,color-mix(in srgb,rgba(17,48,42,0.95) 84.9%,transparent) 20.0%,color-mix(in srgb,rgba(17,48,42,0.95) 69.2%,transparent) 30.0%,color-mix(in srgb,rgba(17,48,42,0.95) 51.8%,transparent) 40.0%,color-mix(in srgb,rgba(17,48,42,0.95) 35.6%,transparent) 50.0%,color-mix(in srgb,rgba(17,48,42,0.95) 22.3%,transparent) 60.0%,color-mix(in srgb,rgba(17,48,42,0.95) 12.5%,transparent) 70.0%,color-mix(in srgb,rgba(17,48,42,0.95) 6.0%,transparent) 80.0%,color-mix(in srgb,rgba(17,48,42,0.95) 2.1%,transparent) 90.0%,color-mix(in srgb,rgba(17,48,42,0.95) 0.0%,transparent) 100.0%);}
.atmo-plum-left::after{background:radial-gradient(ellipse 62% 62% at -10% 50%,color-mix(in srgb,rgba(42,27,45,0.9) 100.0%,transparent) 0.0%,color-mix(in srgb,rgba(42,27,45,0.9) 96.0%,transparent) 10.0%,color-mix(in srgb,rgba(42,27,45,0.9) 84.9%,transparent) 20.0%,color-mix(in srgb,rgba(42,27,45,0.9) 69.2%,transparent) 30.0%,color-mix(in srgb,rgba(42,27,45,0.9) 51.8%,transparent) 40.0%,color-mix(in srgb,rgba(42,27,45,0.9) 35.6%,transparent) 50.0%,color-mix(in srgb,rgba(42,27,45,0.9) 22.3%,transparent) 60.0%,color-mix(in srgb,rgba(42,27,45,0.9) 12.5%,transparent) 70.0%,color-mix(in srgb,rgba(42,27,45,0.9) 6.0%,transparent) 80.0%,color-mix(in srgb,rgba(42,27,45,0.9) 2.1%,transparent) 90.0%,color-mix(in srgb,rgba(42,27,45,0.9) 0.0%,transparent) 100.0%);}
/* Each doorway has its own color: its arch, and the soft light behind its title */
#threshold,.d-threshold{--door:#5A1F22;--hue:rgba(90,31,34,0.6);}
#alchemy,.d-alchemy{--door:#C7A867;--hue:rgba(199,168,103,0.13);}
#portrait,.d-portrait{--door:#A85650;--hue:rgba(168,86,80,0.3);}
#atelier,.d-atelier{--door:#1A3F37;--hue:rgba(26,63,55,0.95);}
#immersions,.d-immersions{--door:#4A3252;--hue:rgba(74,50,82,0.75);}
#workshops,.d-workshops{--door:#7A8C72;--hue:rgba(122,140,114,0.22);}
.door-glow::after{background:radial-gradient(ellipse 62% 58% at -10% 38%,color-mix(in srgb,var(--hue) 100.0%,transparent) 0.0%,color-mix(in srgb,var(--hue) 96.0%,transparent) 10.0%,color-mix(in srgb,var(--hue) 84.9%,transparent) 20.0%,color-mix(in srgb,var(--hue) 69.2%,transparent) 30.0%,color-mix(in srgb,var(--hue) 51.8%,transparent) 40.0%,color-mix(in srgb,var(--hue) 35.6%,transparent) 50.0%,color-mix(in srgb,var(--hue) 22.3%,transparent) 60.0%,color-mix(in srgb,var(--hue) 12.5%,transparent) 70.0%,color-mix(in srgb,var(--hue) 6.0%,transparent) 80.0%,color-mix(in srgb,var(--hue) 2.1%,transparent) 90.0%,color-mix(in srgb,var(--hue) 0.0%,transparent) 100.0%);}
#alchemy.door-glow::after{background:radial-gradient(ellipse 62% 58% at 110% 38%,color-mix(in srgb,var(--hue) 100.0%,transparent) 0.0%,color-mix(in srgb,var(--hue) 96.0%,transparent) 10.0%,color-mix(in srgb,var(--hue) 84.9%,transparent) 20.0%,color-mix(in srgb,var(--hue) 69.2%,transparent) 30.0%,color-mix(in srgb,var(--hue) 51.8%,transparent) 40.0%,color-mix(in srgb,var(--hue) 35.6%,transparent) 50.0%,color-mix(in srgb,var(--hue) 22.3%,transparent) 60.0%,color-mix(in srgb,var(--hue) 12.5%,transparent) 70.0%,color-mix(in srgb,var(--hue) 6.0%,transparent) 80.0%,color-mix(in srgb,var(--hue) 2.1%,transparent) 90.0%,color-mix(in srgb,var(--hue) 0.0%,transparent) 100.0%);}
.door path{fill:var(--door);stroke:#C7A867;stroke-width:1.2;}
.offer-head{margin-bottom:2.25rem;}
.title-row{display:flex;align-items:flex-end;gap:1.1rem;}
.title-row .door{flex:none;width:clamp(1.8rem,2.6vw,2.4rem);height:auto;margin-bottom:.55rem;}
.offer-grid .first{margin-top:0;}
.feature-body .tagline{margin-top:.55rem;}
/* The heart of the practice gets the page's one full band of color */
.band-plum{background:linear-gradient(180deg,color-mix(in srgb,#2A1B2D 0.0%,#0D0B0E) 0.0%,color-mix(in srgb,#2A1B2D 4.3%,#0D0B0E) 2.8%,color-mix(in srgb,#2A1B2D 15.6%,#0D0B0E) 5.5%,color-mix(in srgb,#2A1B2D 31.6%,#0D0B0E) 8.2%,color-mix(in srgb,#2A1B2D 50.0%,#0D0B0E) 11.0%,color-mix(in srgb,#2A1B2D 68.4%,#0D0B0E) 13.8%,color-mix(in srgb,#2A1B2D 84.4%,#0D0B0E) 16.5%,color-mix(in srgb,#2A1B2D 95.7%,#0D0B0E) 19.2%,color-mix(in srgb,#2A1B2D 100.0%,#0D0B0E) 22.0%,color-mix(in srgb,#2A1B2D 100.0%,#0D0B0E) 78.0%,color-mix(in srgb,#2A1B2D 95.7%,#0D0B0E) 80.8%,color-mix(in srgb,#2A1B2D 84.4%,#0D0B0E) 83.5%,color-mix(in srgb,#2A1B2D 68.4%,#0D0B0E) 86.2%,color-mix(in srgb,#2A1B2D 50.0%,#0D0B0E) 89.0%,color-mix(in srgb,#2A1B2D 31.6%,#0D0B0E) 91.8%,color-mix(in srgb,#2A1B2D 15.6%,#0D0B0E) 94.5%,color-mix(in srgb,#2A1B2D 4.3%,#0D0B0E) 97.2%,color-mix(in srgb,#2A1B2D 0.0%,#0D0B0E) 100.0%);padding-top:7rem;padding-bottom:7rem;}
.band-plum .pull{border-left-color:rgba(199,168,103,0.6);}

/* Images */
.offer-media{overflow:hidden;border:1px solid rgba(199,168,103,0.18);}
.offer-media img{width:100%;height:100%;object-fit:cover;}
.offer-media.wide{margin-top:3.75rem;aspect-ratio:21/9;}
.offer-media.wide img{object-position:center 40%;}
.aside .offer-media{aspect-ratio:4/3;margin-bottom:1.75rem;}
.feature{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4.5rem;align-items:start;}
.feature-media{aspect-ratio:4/5;}
.feature-media img{object-position:center 30%;}
.doors{display:block;width:100%;max-width:380px;height:auto;margin:0 0 2.5rem;}
.glyphs{display:block;width:100%;max-width:340px;height:auto;margin-bottom:1.75rem;}

/* One gentle movement: images and quotes settle in as you reach them */
.js .fade{opacity:0;transition:opacity 1.2s ease;}
.js .fade.in{opacity:1;}
.offer-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4.5rem;align-items:start;}
.offer h2{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(2.6rem,4.6vw,3.6rem);line-height:1.05;color:var(--parchment);}
/* The lintel: a fine gold line under each doorway name, with its status at the end */
.lintel{display:flex;align-items:center;gap:.9rem;margin-top:.85rem;max-width:720px;}
.lintel::before{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold),rgba(199,168,103,0.14));}
.lintel span{font-family:var(--body);font-size:.72rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);white-space:nowrap;}
.lintel + .tagline{margin-top:.75rem;}
.tagline,.pull,.offer h2{text-wrap:balance;}
.tagline{font-family:var(--display);font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--muted);margin-top:.55rem;}
.status{font-size:.98rem;color:var(--gold);margin-top:.85rem;}
.offer-text{max-width:62ch;}
.offer-text .first{margin-top:1.75rem;}
.offer-text p + p{margin-top:1.1rem;}
.pull{font-family:var(--display);font-style:italic;font-size:clamp(1.55rem,2.4vw,1.95rem);line-height:1.4;color:var(--gold);margin-top:2.25rem;max-width:32ch;border-left:2px solid var(--garnet);padding-left:1.4rem;}
.aside{padding-top:.4rem;}
.for-you h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.3rem;color:var(--parchment);margin-bottom:.4rem;}
.facts{list-style:none;margin-top:1.75rem;border-top:1px solid var(--rule);}
.aside > .facts:first-child{margin-top:0;}
.facts li{padding:.75rem 0;border-bottom:1px solid var(--rule);font-size:1rem;}
.price{margin-top:1.75rem;font-family:var(--display);font-size:1.4rem;line-height:1.4;color:var(--parchment);}
.price strong{font-weight:500;color:var(--gold);}
.price-note{margin-top:.5rem;font-size:.95rem;line-height:1.7;color:var(--muted);}

/* Portrait Experience: the arc is a real sequence, so it keeps its numerals */
.arc{margin-top:4.5rem;}
.arc h3,.voices h3{font-family:var(--display);font-style:italic;font-weight:300;font-size:2rem;color:var(--parchment);margin-bottom:1.25rem;}
.arc ol{list-style:none;border-top:1px solid var(--rule);}
.arc li{display:grid;grid-template-columns:3rem 12rem minmax(0,1fr);column-gap:1.5rem;padding:1.25rem 0;border-bottom:1px solid var(--rule);align-items:baseline;}
.arc .num{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--gold);}
.arc .step{font-family:var(--display);font-size:1.35rem;color:var(--parchment);line-height:1.25;}
.arc p{max-width:62ch;}
.arc-hint{display:none;}
.portrait-pair{display:grid;grid-template-columns:1.667fr 1fr;gap:4px;margin-top:4rem;aspect-ratio:2.133/1;}
.portrait-pair img{width:100%;height:100%;object-fit:cover;}
.voices{margin-top:4rem;}
.voices-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem 3.5rem;}
.voices blockquote{font-family:var(--display);font-style:italic;font-size:1.3rem;line-height:1.5;color:var(--parchment);}
.voices cite{display:block;margin-top:.5rem;font-family:var(--body);font-style:normal;font-size:.95rem;color:var(--gold);}

/* How to begin */
.ways{list-style:none;margin-top:2.25rem;border-top:1px solid var(--rule);max-width:860px;}
.ways li{display:grid;grid-template-columns:16rem minmax(0,1fr);column-gap:2rem;padding:1.35rem 0;border-bottom:1px solid var(--rule);align-items:baseline;}
.ways .w-name{font-family:var(--display);font-size:1.35rem;line-height:1.25;color:var(--parchment);}
.section-title,.offer h2.section-title{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(2.1rem,3.6vw,3rem);line-height:1.1;color:var(--parchment);}
.section-intro{max-width:56ch;margin-top:1rem;color:var(--muted);}

/* The one colored band on the page */
.closing{background:var(--garnet);padding:5rem 2.5rem;text-align:center;}
.closing h2{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(2.2rem,4vw,3.2rem);line-height:1.15;color:var(--parchment);margin-bottom:2rem;}
.closing .actions{justify-content:center;margin-top:0;}
.closing .btn{border-color:rgba(232,222,206,0.75);color:var(--parchment);}
.closing .btn:hover{background:var(--parchment);color:var(--garnet);}

/* ---------- FOOTER (unchanged) ---------- */
footer{background:#080608;padding:3rem 4rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.footer-logo{font-family:var(--display);font-size:1.1rem;font-style:italic;color:var(--gold);opacity:0.7;}
.footer-tagline{font-family:var(--display);font-size:1.15rem;font-style:italic;color:rgba(232,222,206,0.6);}
.footer-copy{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem 1.4rem;font-size:0.7rem;letter-spacing:0.15em;color:rgba(232,222,206,0.6);text-transform:uppercase;}
.footer-copy a{margin-right:0 !important;}

/* ---------- ACCESS ---------- */
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--garnet);color:var(--parchment);padding:.75rem 1.25rem;font-size:.85rem;}
.skip-link:focus{left:1rem;top:1rem;}
a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

/* ---------- SMALLER SCREENS ---------- */
@media(max-width:960px){
  footer{flex-direction:column;text-align:center;padding:2.5rem 1.35rem;}
  .footer-copy{justify-content:center;}
  .footer-copy > span{flex-basis:100%;text-align:center;}
}
@media(max-width:820px){
  body{font-size:1rem;}
  .wrap{padding-left:1.35rem;padding-right:1.35rem;}
  .page-head{padding-top:4rem;padding-bottom:3rem;}
  .page-head p{font-size:1.0625rem;}
  .contents{padding-bottom:3.5rem;}
  .contents li a{grid-template-columns:auto minmax(0,1fr);column-gap:1rem;padding:1.1rem 0;}
  .contents .door{grid-row:1 / span 3;align-self:start;margin-top:.35rem;width:1.6rem;}
  .c-status{grid-column:2;text-align:left;font-size:.66rem;margin:.15rem 0 .1rem;}
  .c-desc{grid-column:2;}
  .offer{padding-top:3.5rem;padding-bottom:3.5rem;}
  .ruled > .wrap::before{margin-bottom:3.5rem;}
  .offer.ruled{padding-top:0;}
  .band-plum{padding-top:4.5rem;padding-bottom:4.5rem;}
  .feature{grid-template-columns:1fr;gap:2.25rem;}
  .feature-media{aspect-ratio:4/3;}
  .offer-media.wide{aspect-ratio:16/10;margin-top:2.5rem;}
  .doors{max-width:300px;margin-bottom:2rem;}
  .contents li a:hover{padding-left:0;}
  .offer-grid{grid-template-columns:1fr;gap:2.25rem;}
  .pull{font-size:1.3rem;}
  .offer h2{font-size:clamp(1.75rem,9vw,2.4rem);}
  .section-title,.offer h2.section-title{font-size:2.1rem;}
  .lintel span{font-size:.68rem;letter-spacing:.18em;}
  .offer-head .tagline,.feature-body .tagline{font-size:1.25rem;}
  .title-row{gap:.8rem;}
  .title-row .door{width:1.55rem;margin-bottom:.35rem;}
  .offer-head{margin-bottom:1.75rem;}
  .arc{margin-top:3rem;}
  .arc li{grid-template-columns:1.9rem minmax(0,1fr);row-gap:.15rem;column-gap:.55rem;padding:.75rem 0;}
  .arc .num{font-size:1.05rem;}
  .arc .step{font-size:1.2rem;}
  .arc li p{grid-column:2;font-size:.93rem;line-height:1.6;}
  .portrait-pair{grid-template-columns:1fr 1fr;aspect-ratio:auto;margin-top:3rem;}
  .portrait-pair img{aspect-ratio:3/4;}
  .voices-grid{grid-template-columns:1fr;gap:1.5rem;}
  .voices blockquote{font-size:1.2rem;}
  .ways li{grid-template-columns:1fr;row-gap:.3rem;}
  .closing{padding:3.5rem 1.35rem;}
  .actions .btn{flex:1 1 100%;max-width:360px;}
  .closing .actions{flex-direction:column;align-items:center;}
  .closing .actions .btn{width:100%;}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto;}nav,.nav-links,.btn,.contents li a{transition:none;}.js .fade{opacity:1;transition:none;}}
  

/* ============================================================
   SHARED COMPONENTS FOR THE OTHER PAGES
   ============================================================ */
.page-head .lede{font-family:var(--display);font-style:italic;font-size:clamp(1.35rem,2.2vw,1.7rem);line-height:1.45;color:var(--muted);max-width:44ch;margin:-0.5rem 0 1.75rem;}
.page-head .status-line{display:flex;align-items:center;gap:.9rem;max-width:520px;margin:-0.75rem 0 1.75rem;}
.page-head .status-line::before{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--gold),rgba(199,168,103,0.14));}
.page-head .status-line span{font-family:var(--body);font-size:.72rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);white-space:nowrap;}
.head-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:4.5rem;align-items:center;}
.head-media{aspect-ratio:4/5;overflow:hidden;border:1px solid rgba(199,168,103,0.22);}
.head-media img{width:100%;height:100%;object-fit:cover;}

/* Plain reading sections */
.section{position:relative;padding-top:5.5rem;padding-bottom:5.5rem;}
.section.ruled{padding-top:0;}
.prose{max-width:64ch;}
.prose p + p{margin-top:1.15rem;}
.prose h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.6rem;line-height:1.25;color:var(--parchment);margin:2.5rem 0 .75rem;}
.prose h3:first-child{margin-top:0;}
.prose ul{margin:1rem 0 0 1.1rem;}
.prose li + li{margin-top:.4rem;}
.prose a{color:var(--gold);border-bottom:1px solid rgba(199,168,103,0.45);}
.prose strong{font-weight:500;color:var(--parchment);}
.section-head{margin-bottom:2.25rem;}
.section-head .section-intro{margin-top:.9rem;}
.split{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:4.5rem;align-items:start;}
.split.flip > :first-child{order:2;}
.split-media{overflow:hidden;border:1px solid rgba(199,168,103,0.2);}
.split-media img{width:100%;height:100%;object-fit:cover;}
.caption{margin-top:.6rem;font-family:var(--display);font-style:italic;font-size:1rem;color:var(--muted);}
.note{border-left:2px solid var(--gold);padding:.3rem 0 .3rem 1.4rem;max-width:64ch;}
.note h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.4rem;color:var(--parchment);margin-bottom:.5rem;}
.note p + p{margin-top:.7rem;}
.quote-band{text-align:center;padding:5rem 2.5rem;}
.quote-band p{font-family:var(--display);font-style:italic;font-weight:300;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.4;color:var(--parchment);max-width:30ch;margin:0 auto;text-wrap:balance;}
.quote-band p + p{margin-top:.75rem;color:var(--gold);font-size:clamp(1.3rem,2.2vw,1.7rem);}
.cards3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem;}
.cards3 > div{border-top:1px solid var(--rule);padding-top:1.25rem;}
.cards3 h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.45rem;color:var(--parchment);margin-bottom:.5rem;}
.cards3 .num{display:block;font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--gold);margin-bottom:.3rem;}
.defs{display:grid;grid-template-columns:1fr 1fr;gap:3rem;}
.defs dt{font-family:var(--display);font-size:2rem;color:var(--parchment);}
.defs .pron{display:block;font-family:var(--display);font-style:italic;font-size:1.05rem;color:var(--muted);margin:.2rem 0 .1rem;}
.defs .pos{display:block;font-family:var(--body);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:.6rem;}
.chip-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem .75rem;}
.chip-list li{border:1px solid var(--rule);padding:.35rem .8rem;font-size:.92rem;color:var(--text);}
.meta-small{font-size:.95rem;color:var(--muted);}

/* ============================================================
   FORMS (Home, Begin, Threshold, Mythos & Marrow, Portrait Experience)
   ============================================================ */
.contact-form,.home-form{display:flex;flex-direction:column;gap:1.4rem;max-width:760px;}
.form-row,.hf-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.form-field,.hf-field{display:flex;flex-direction:column;gap:.45rem;border:0;min-width:0;}
.form-field label,.form-field legend,.hf-field label{font-family:var(--body);font-size:.74rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);line-height:1.6;}
.form-field .opt,.hf-opt{text-transform:none;letter-spacing:.02em;color:rgba(232,222,206,0.6);}
.form-field .hint{font-family:var(--display);font-style:italic;font-size:1.02rem;line-height:1.5;color:var(--muted);}
.form-field input:not([type=radio]):not([type=checkbox]),.form-field textarea,.form-field select,
.hf-field input,.hf-field textarea,.hf-field select{width:100%;background:rgba(232,222,206,0.04);border:1px solid rgba(232,222,206,0.24);color:var(--parchment);font-family:var(--body);font-size:1rem;font-weight:300;padding:.85rem 1rem;border-radius:0;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s;}
.form-field select,.hf-field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23C7A867' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;}
.form-field select option,.hf-field select option{background:#1a1520;color:var(--parchment);}
.form-field input:focus,.form-field textarea:focus,.form-field select:focus,.hf-field input:focus,.hf-field textarea:focus,.hf-field select:focus{border-color:var(--gold);}
.form-field textarea,.hf-field textarea{resize:vertical;min-height:120px;}
.form-field.invalid input,.form-field.invalid textarea,.form-field.invalid select,.hf-field.invalid input,.hf-field.invalid textarea,.hf-field.invalid select,.th-choice.invalid .th-radios,.th-checks.invalid{border-color:#D48F84 !important;}
.th-choice{padding:0;margin:0;}
.th-radios{display:flex;gap:1.5rem;padding:.6rem 0;border:1px solid transparent;}
.th-radios.wrap{flex-wrap:wrap;gap:.6rem 1.75rem;max-width:none;margin:0;padding-left:0;padding-right:0;}
.th-radios.stack{flex-direction:column;gap:.55rem;}
.th-radios label,.th-checks label{display:flex;align-items:flex-start;gap:.75rem;font-size:1rem;letter-spacing:0;text-transform:none;color:var(--text);cursor:pointer;line-height:1.6;}
.th-radios input,.th-checks input{-webkit-appearance:none;appearance:none;width:1.1rem;height:1.1rem;margin:.3rem 0 0;flex-shrink:0;display:grid;place-content:center;background:rgba(232,222,206,0.04);border:1px solid rgba(199,168,103,0.7);border-radius:0;cursor:pointer;transition:border-color .2s,background .2s;}
.th-radios input{border-radius:50%;}
.th-radios input::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--gold);transform:scale(0);transition:transform .15s ease;}
.th-radios input:checked::before{transform:scale(1);}
.th-checks input::before{content:"";width:.62rem;height:.62rem;background:var(--gold);clip-path:polygon(14% 44%,0 59%,40% 100%,100% 20%,86% 6%,39% 69%);transform:scale(0);transition:transform .15s ease;}
.th-checks input:checked::before{transform:scale(1);}
.th-radios input:hover,.th-checks input:hover{border-color:var(--gold);background:rgba(199,168,103,0.08);}
.th-choice .th-sublabel{margin-top:.6rem;text-transform:none;letter-spacing:.02em;font-size:.95rem;color:var(--muted);}
.th-other{display:flex;flex-direction:column;gap:.45rem;}
.th-other textarea{min-height:80px;}
.th-other[hidden]{display:none;}
.th-checks{display:flex;flex-direction:column;gap:.8rem;border:1px solid var(--rule);padding:1.4rem 1.5rem;}
.form-submit{display:flex;flex-direction:column;align-items:flex-start;gap:1rem;}
.th-feedback,.hf-feedback{display:none;font-size:.98rem;line-height:1.7;}
.form-privacy,.hf-privacy{font-size:.92rem;color:var(--muted);}
.form-privacy a,.hf-privacy a{color:var(--gold);border-bottom:1px solid rgba(199,168,103,0.45);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

@media(max-width:820px){
  .head-grid,.split{grid-template-columns:1fr;gap:2.25rem;}
  .split.flip > :first-child{order:0;}
  .head-media{max-width:440px;}
  .section{padding-top:3.5rem;padding-bottom:3.5rem;}
  .section.ruled{padding-top:0;}
  .cards3,.defs{grid-template-columns:1fr;gap:1.75rem;}
  .form-row,.hf-row{grid-template-columns:1fr;}
  .th-checks{padding:1.1rem 1rem;}
  .quote-band{padding:3.5rem 1.35rem;}
}


/* ============================================================
   OFFER PAGES (Mythos & Marrow, Threshold, Portrait Experience)
   ============================================================ */
.offer-hero{padding-top:6rem;}
.offer-title{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(2.6rem,4.6vw,3.6rem);line-height:1.05;color:var(--parchment);text-wrap:balance;}
.offer-hero .head-grid{align-items:start;}
.offer-hero .head-media{border-color:rgba(199,168,103,0.22);}
.offer-hero .actions{margin-top:2.25rem;}
.arc .ph{display:block;font-family:var(--body);font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--sage);margin-bottom:.4rem;}
.arc.roomy li{padding:1.75rem 0;}
.list-title{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.5rem;line-height:1.3;color:var(--parchment);}
.list-title + .facts{margin-top:1rem;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;}
.cards3 p + p{margin-top:.75rem;}
.cards3 strong{font-weight:500;color:var(--parchment);}
.cards3 .aside-note{font-size:.95rem;color:var(--muted);}
.figure-art{display:block;width:100%;max-width:380px;height:auto;}
.fit{border-left:2px solid var(--gold);padding:.3rem 0 .3rem 1.4rem;max-width:64ch;margin-bottom:3rem;}
.fit h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.45rem;color:var(--parchment);margin-bottom:.5rem;}
.fit .scope{margin-top:.75rem;font-size:.95rem;color:var(--muted);}
.note a{color:var(--gold);border-bottom:1px solid rgba(199,168,103,0.45);}
.apply-head{margin-bottom:2.75rem;}
@media(max-width:820px){
  .offer-hero{padding-top:3.5rem;}
  .offer-title{font-size:clamp(1.75rem,9vw,2.4rem);}
  /* the opening photo comes first on phones, edge to edge, in its own shape */
  .offer-hero.has-media{padding-top:0;}
  .offer-hero .head-media{order:-1;max-width:none;margin:0 -1.35rem;border:0;border-bottom:1px solid rgba(199,168,103,0.22);aspect-ratio:var(--m-ratio,4/3);}
  .arc.roomy li{padding:1.1rem 0;}
  .arc.roomy li p{font-size:1rem;line-height:1.75;}
  .two-col{grid-template-columns:1fr;gap:2.5rem;}
  .list-title{font-size:1.35rem;}
  .figure-art{max-width:320px;}
}

/* A whisper of film grain: smooths the dark gradients (no banding) and gives the black some depth */
body::after{content:"";position:fixed;inset:0;z-index:300;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@media(max-width:820px){
  .door-glow::after{background:radial-gradient(ellipse 95% 45% at -15% 30%,color-mix(in srgb,var(--hue) 100.0%,transparent) 0.0%,color-mix(in srgb,var(--hue) 96.0%,transparent) 10.0%,color-mix(in srgb,var(--hue) 84.9%,transparent) 20.0%,color-mix(in srgb,var(--hue) 69.2%,transparent) 30.0%,color-mix(in srgb,var(--hue) 51.8%,transparent) 40.0%,color-mix(in srgb,var(--hue) 35.6%,transparent) 50.0%,color-mix(in srgb,var(--hue) 22.3%,transparent) 60.0%,color-mix(in srgb,var(--hue) 12.5%,transparent) 70.0%,color-mix(in srgb,var(--hue) 6.0%,transparent) 80.0%,color-mix(in srgb,var(--hue) 2.1%,transparent) 90.0%,color-mix(in srgb,var(--hue) 0.0%,transparent) 100.0%);}
  #alchemy.door-glow::after{background:radial-gradient(ellipse 95% 45% at 115% 30%,color-mix(in srgb,var(--hue) 100.0%,transparent) 0.0%,color-mix(in srgb,var(--hue) 96.0%,transparent) 10.0%,color-mix(in srgb,var(--hue) 84.9%,transparent) 20.0%,color-mix(in srgb,var(--hue) 69.2%,transparent) 30.0%,color-mix(in srgb,var(--hue) 51.8%,transparent) 40.0%,color-mix(in srgb,var(--hue) 35.6%,transparent) 50.0%,color-mix(in srgb,var(--hue) 22.3%,transparent) 60.0%,color-mix(in srgb,var(--hue) 12.5%,transparent) 70.0%,color-mix(in srgb,var(--hue) 6.0%,transparent) 80.0%,color-mix(in srgb,var(--hue) 2.1%,transparent) 90.0%,color-mix(in srgb,var(--hue) 0.0%,transparent) 100.0%);}
  .atmo-hero::after{background:radial-gradient(ellipse 100% 60% at -15% 40%,color-mix(in srgb,rgba(17,48,42,0.95) 100.0%,transparent) 0.0%,color-mix(in srgb,rgba(17,48,42,0.95) 96.0%,transparent) 10.0%,color-mix(in srgb,rgba(17,48,42,0.95) 84.9%,transparent) 20.0%,color-mix(in srgb,rgba(17,48,42,0.95) 69.2%,transparent) 30.0%,color-mix(in srgb,rgba(17,48,42,0.95) 51.8%,transparent) 40.0%,color-mix(in srgb,rgba(17,48,42,0.95) 35.6%,transparent) 50.0%,color-mix(in srgb,rgba(17,48,42,0.95) 22.3%,transparent) 60.0%,color-mix(in srgb,rgba(17,48,42,0.95) 12.5%,transparent) 70.0%,color-mix(in srgb,rgba(17,48,42,0.95) 6.0%,transparent) 80.0%,color-mix(in srgb,rgba(17,48,42,0.95) 2.1%,transparent) 90.0%,color-mix(in srgb,rgba(17,48,42,0.95) 0.0%,transparent) 100.0%);}
  .atmo-plum-left::after{background:radial-gradient(ellipse 95% 50% at -15% 50%,color-mix(in srgb,rgba(42,27,45,0.9) 100.0%,transparent) 0.0%,color-mix(in srgb,rgba(42,27,45,0.9) 96.0%,transparent) 10.0%,color-mix(in srgb,rgba(42,27,45,0.9) 84.9%,transparent) 20.0%,color-mix(in srgb,rgba(42,27,45,0.9) 69.2%,transparent) 30.0%,color-mix(in srgb,rgba(42,27,45,0.9) 51.8%,transparent) 40.0%,color-mix(in srgb,rgba(42,27,45,0.9) 35.6%,transparent) 50.0%,color-mix(in srgb,rgba(42,27,45,0.9) 22.3%,transparent) 60.0%,color-mix(in srgb,rgba(42,27,45,0.9) 12.5%,transparent) 70.0%,color-mix(in srgb,rgba(42,27,45,0.9) 6.0%,transparent) 80.0%,color-mix(in srgb,rgba(42,27,45,0.9) 2.1%,transparent) 90.0%,color-mix(in srgb,rgba(42,27,45,0.9) 0.0%,transparent) 100.0%);}
}

/* ---- Footer menu + back to top (same block on every page) ---- */
.footer-nav-band{background:#080608;border-top:1px solid rgba(199,168,103,0.1);padding:2.75rem 4rem 0;}
.footer-nav-band + footer{border-top:0 !important;}
.footer-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem;padding-bottom:1.6rem;border-bottom:1px solid rgba(199,168,103,0.12);}
.footer-nav ul{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 2.5rem;list-style:none;margin:0;padding:0;}
.footer-nav a{font-family:'Jost',system-ui,sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:rgba(232,222,206,0.72);text-decoration:none;transition:color .2s;}
.footer-nav a:hover,.footer-nav a.active{color:#C7A867;}
.footer-top{display:inline-flex;align-items:center;gap:.6rem;color:rgba(199,168,103,0.85) !important;}
.footer-top svg{width:12px;height:12px;flex:none;}
.to-top{position:fixed;right:1.5rem;bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));z-index:90;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;background:rgba(13,11,14,0.9);border:1px solid rgba(199,168,103,0.5);color:#C7A867;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease,visibility .3s,background .25s,color .25s;}
.to-top svg{width:16px;height:16px;}
.to-top.show{opacity:1;visibility:visible;transform:none;}
.to-top:hover{background:#C7A867;color:#0D0B0E;}
@media(max-width:960px){
  .footer-nav-band{padding:2rem 1.35rem 0;}
  .footer-nav{flex-direction:column;gap:.25rem;padding-bottom:1.1rem;}
  .footer-nav ul{justify-content:center;gap:0 .15rem;}
  .footer-nav a{display:inline-block;padding:.75rem .5rem;font-size:.74rem;letter-spacing:.14em;}
  .to-top{right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom, 0px));width:44px;height:44px;}
}
@media(prefers-reduced-motion:reduce){.to-top{transform:none;transition:opacity .01s,visibility .01s;}}
  