/* Lumos site — Card Studio token system · three live themes */
:root{
  --amber:#F5A623; --amber-dark:#B77A16; --amber-display:#C4820A; --amber-deep:#8a5a2a; --amber-soft:#FBEACB;
  --serif:"DM Serif Display",Georgia,serif; --sans:"DM Sans",-apple-system,"Segoe UI",Arial,sans-serif;
}
[data-theme="warm"]{--ground:#FBF7EF;--ground-edge:#EEE4D0;--ink:#2C2C2C;--body:#5d5648;--eyebrow:#9A650D;--sign:#8a5a2a;
  --card:#FFFFFF;--line:#E8DEC9;--chip-bg:#FFFFFF;--glow:rgba(245,166,35,.20);--footer:#1A1A1A;--mote:rgba(245,166,35,.5)}
[data-theme="classic"]{--ground:#2C2C2C;--ground-edge:#232323;--ink:#FFFFFF;--body:#BDB8AE;--eyebrow:#F5A623;--sign:#F5C97A;
  --card:#FFFFFF;--line:#3B3A36;--chip-bg:#ffffff10;--glow:rgba(245,166,35,.45);--footer:#1A1A1A;--mote:rgba(245,166,35,.85)}
[data-theme="porcelain"]{--ground:#FFFFFF;--ground-edge:#FBF7EF;--ink:#242424;--body:#5d5648;--eyebrow:#9A650D;--sign:#8a5a2a;
  --card:#FFFFFF;--line:#E9E5DC;--chip-bg:#FFFFFF;--glow:rgba(245,166,35,.14);--footer:#161616;--mote:rgba(245,166,35,.4)}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.65;
  -webkit-font-smoothing:antialiased;transition:background .5s,color .5s}
img{max-width:100%}
.wrap{max-width:1220px;margin:0 auto;padding:0 32px}
.narrow{max-width:820px}
#pgr{position:fixed;top:0;left:0;height:3px;background:var(--amber);width:0;z-index:999}
/* header + real logo */
header{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--ground) 90%,transparent);
  backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in srgb,var(--line) 60%,transparent)}
.nav{display:flex;align-items:center;gap:12px;height:82px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex-shrink:0}
.logo .em{height:46px;display:block}
.logo .wmk{height:18px;display:block}
[data-theme="classic"] .only-light{display:none}
:not([data-theme="classic"]) body .only-dark{display:none}
[data-theme="warm"] .only-dark,[data-theme="porcelain"] .only-dark{display:none}
.links{display:flex;gap:4px;margin-left:auto;align-items:center}
.ni{position:relative}
.ni>a{display:block;color:var(--ink);text-decoration:none;font-size:13px;font-weight:600;padding:9px 8px;border-radius:9px;white-space:nowrap;transition:.2s}
.ni>a:hover,.ni>a.on{color:var(--amber-dark);background:color-mix(in srgb,var(--amber) 12%,transparent)}
[data-theme="classic"] .ni>a:hover,[data-theme="classic"] .ni>a.on{color:var(--amber)}
.ni .car{font-size:9px;opacity:.6}
.dd{position:absolute;top:100%;left:0;min-width:230px;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:8px;box-shadow:0 24px 54px rgba(0,0,0,.16);opacity:0;transform:translateY(8px);pointer-events:none;transition:.22s}
.has-dd:hover .dd,.has-dd:focus-within .dd{opacity:1;transform:none;pointer-events:auto}
.dd a{display:block;color:#26251F;text-decoration:none;font-size:13.5px;font-weight:600;padding:9px 12px;border-radius:8px}
.dd a:hover{background:var(--amber-soft);color:#1A1A1A}
#burger{display:none;margin-left:auto;background:none;border:1.5px solid var(--line);color:var(--ink);font-size:18px;border-radius:10px;padding:6px 12px;cursor:pointer}
.themepill{display:flex;background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px;flex-shrink:0}
.themepill button{border:none;background:transparent;color:var(--ink);opacity:.55;font-family:var(--sans);font-size:11.5px;font-weight:700;padding:6px 11px;border-radius:999px;cursor:pointer;transition:.25s}
.themepill button.on{opacity:1;background:var(--amber);color:#1A1A1A}
.tel{font-weight:700;color:var(--ink);text-decoration:none;white-space:nowrap;font-size:13.5px}
.hbtn{padding:11px 18px!important;font-size:13.5px!important;flex-shrink:0;width:auto;min-width:max-content}
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:9px;background:var(--amber);color:#1A1A1A;
  border-radius:999px;padding:13px 24px;font-weight:700;font-size:14.5px;text-decoration:none;transition:transform .2s,box-shadow .25s;border:none;cursor:pointer;font-family:var(--sans);white-space:nowrap}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 34px var(--glow)}
.btn::after{content:"";position:absolute;top:0;left:-90%;width:55%;height:100%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);transition:left .55s}
.btn:hover::after{left:140%}
.btn.line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn.line:hover{box-shadow:inset 0 0 0 1.5px var(--amber),0 10px 26px var(--glow);color:var(--amber-dark)}
[data-theme="classic"] .btn.line:hover{color:var(--amber)}
/* typography */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:16px}
h1{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,58px);line-height:1.06;color:var(--ink)}
h1.big{font-size:clamp(46px,5.8vw,80px);line-height:1.03}
h1 .hw,h2 .a{color:var(--amber-display)}
[data-theme="classic"] h1 .hw,[data-theme="classic"] h2 .a,
.ihero h1 .hw,.ihero h2 .a,.band h2 .a{color:var(--amber)}
h1 .hw{position:relative}
h1 .hw::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:4px;background:currentColor;transform:scaleX(0);transform-origin:left;animation:draw 1s .9s cubic-bezier(.7,0,.2,1) forwards}
h2{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3.4vw,42px);line-height:1.12;color:var(--ink);margin:46px 0 14px}
h3{font-family:var(--serif);font-weight:400;font-size:21px;color:var(--ink);margin:28px 0 8px}
h4{font-family:var(--serif);font-weight:400;font-size:18px;color:var(--ink);margin:20px 0 6px}
.lead{margin:20px 0 26px;font-size:18.5px;color:var(--body);max-width:36em}
.sub{color:var(--body);margin-top:12px;max-width:40em}
.fine{margin-top:14px;font-size:13px;color:var(--body)}
.cta-row{display:flex;gap:13px;flex-wrap:wrap}
@keyframes draw{to{transform:scaleX(1)}}
/* hero (home) */
.hero{position:relative;overflow:hidden;background:radial-gradient(130% 120% at 50% 0%,var(--ground) 44%,var(--ground-edge) 100%)}
.aurora{position:absolute;inset:-20% -10%;pointer-events:none;opacity:.9;filter:blur(60px);
  background:radial-gradient(38% 30% at 18% 78%,var(--glow),transparent 70%),radial-gradient(30% 26% at 82% 22%,var(--glow),transparent 70%),radial-gradient(24% 20% at 62% 88%,color-mix(in srgb,var(--amber) 22%,transparent),transparent 70%);
  animation:aurora 16s ease-in-out infinite alternate}
@keyframes aurora{0%{transform:translate3d(-2%,1%,0)}50%{transform:translate3d(2%,-2%,0) scale(1.06)}100%{transform:translate3d(-1%,2%,0) scale(1.02)}}
#motes{position:absolute;inset:0;pointer-events:none}
.ghost{position:absolute;right:-170px;top:30px;width:700px;opacity:.09;pointer-events:none}
.hgrid{position:relative;z-index:3;display:grid;grid-template-columns:1.16fr .84fr;gap:56px;align-items:center;padding-top:60px;padding-bottom:92px}
h1 .w{display:inline-block;opacity:0;transform:translateY(.6em) rotate(1.5deg);animation:wordUp .9s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes wordUp{to{opacity:1;transform:none}}
h1 .aw{color:var(--amber-display);position:relative;display:inline-block;opacity:0;animation:wordUp .9s .41s cubic-bezier(.2,.8,.2,1) forwards,glow 4s 1.7s ease-in-out infinite}
@keyframes glow{0%,100%{text-shadow:0 0 14px var(--glow)}50%{text-shadow:0 0 46px var(--glow),0 0 90px var(--glow)}}
h1 .ul::after{content:"";position:absolute;left:0;right:0;bottom:6px;height:4px;background:currentColor;transform:scaleX(0);transform-origin:left;animation:draw 1s 1.3s cubic-bezier(.7,0,.2,1) forwards}
.router{margin:0 0 28px;background:var(--chip-bg);border:1px solid var(--line);border-radius:18px;padding:18px 20px 20px;backdrop-filter:blur(6px)}
.router .q{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:12px}
.chips{display:flex;flex-wrap:wrap;gap:9px}
.chips span{border:1.5px solid var(--line);background:var(--card);color:#26251F;border-radius:999px;
  padding:9px 17px;font-size:13.5px;font-weight:600;transition:transform .2s}
.chips span:hover{transform:translateY(-2px);border-color:var(--amber)}
.chips button{border:1.5px solid var(--line);background:transparent;color:var(--ink);font-family:var(--sans);font-size:13.5px;font-weight:600;border-radius:999px;padding:9px 16px;cursor:pointer;transition:.22s}
.chips button:hover{border-color:var(--amber);transform:translateY(-2px)}
.chips button.on{background:var(--amber);border-color:var(--amber);color:#1A1A1A}
.router .route{margin-top:14px;font-size:14px;color:var(--body);display:flex;align-items:center;gap:10px;min-height:22px}
.router .route a{color:var(--body);text-decoration:none}
.router .route b{color:var(--ink)}
.router .route .arrow{color:var(--amber);font-weight:900;animation:nudge 1.6s ease-in-out infinite}
@keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
.stage{position:relative;justify-self:end;width:min(430px,100%)}
.frame{aspect-ratio:4/5;border-radius:18px;position:relative;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.35),inset 0 0 0 1px #ffffff18}
.frame img.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 22s ease-in-out infinite alternate}
@keyframes kb{from{transform:scale(1)}to{transform:scale(1.1)}}
.frame::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 60% at 65% 30%,var(--glow),transparent 70%);mix-blend-mode:screen;z-index:2}
.frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(20,18,14,.5));z-index:2}
.frame figcaption{position:absolute;left:18px;bottom:15px;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:#E4DCC8;z-index:3}
.badge{position:absolute;right:-14px;top:-16px;z-index:4;white-space:nowrap;background:#fff;color:#26251F;border-radius:16px;padding:15px 19px;box-shadow:0 22px 48px rgba(0,0,0,.3);text-align:center;animation:float 5.5s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.badge b{font-family:var(--serif);font-size:30px;display:block;line-height:1}
.badge .stars{color:var(--amber);font-size:13px;letter-spacing:2px}
.badge small{display:block;font-size:11px;color:#6E6A60;margin-top:3px}
.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:color-mix(in srgb,var(--ground-edge) 55%,var(--ground))}
.ticker .track{display:flex;gap:56px;width:max-content;padding:14px 0;animation:tick 34s linear infinite}
.ticker:hover .track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.ticker span{font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--body);white-space:nowrap}
.ticker span b{color:var(--amber-dark)}
[data-theme="classic"] .ticker span b{color:var(--amber)}
/* sections */
section{padding:84px 0}
.cols2{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.dhead{display:block;margin-bottom:38px}
.dhead .sub{margin-top:12px;max-width:46em}
.doorgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.door{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px 18px 20px;text-decoration:none;color:#26251F;position:relative;overflow:hidden;transition:.3s;display:flex;flex-direction:column}
[data-theme="classic"] .door{border-color:transparent;box-shadow:0 18px 44px rgba(0,0,0,.28)}
.door::before{content:"";position:absolute;inset:auto 0 0 0;height:0;background:linear-gradient(180deg,transparent,var(--amber-soft));transition:height .35s}
.door:hover{transform:translateY(-8px)}
.door:hover::before{height:100%}
.door>*{position:relative;z-index:1}
.door .num{font-family:var(--serif);font-size:30px;color:var(--amber);line-height:1}
.door .dimg{display:block;height:112px;border-radius:10px;overflow:hidden;margin:13px 0 4px}
.door .dimg img{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.door:hover .dimg img{transform:scale(1.09)}
.door h3{margin:10px 0 6px;font-size:19px}
.door p{font-size:12.5px;color:#6E6A60;line-height:1.5}
.door .go{margin-top:auto;padding-top:12px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dark);opacity:0;transform:translateX(-8px);transition:.3s}
.door:hover .go{opacity:1;transform:none}
@media(hover:none),(max-width:900px){.door .go{opacity:1;transform:none}}
.clarity .panel{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:0 24px 60px rgba(0,0,0,.1)}
.clarity .row{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);color:#26251F}
.clarity .row:first-child{border-top:none;padding-top:0}
.clarity .tick{color:var(--amber-dark);font-weight:900;margin-top:2px}
.clarity .row div b{display:block;font-size:15px}
.clarity .row div span{font-size:13.5px;color:#6E6A60}
.clar-img{margin-top:26px;border-radius:18px;overflow:hidden;box-shadow:0 26px 60px rgba(0,0,0,.15)}
.clar-img img{width:100%;display:block}
.quotes blockquote{position:relative;padding-top:44px}
.quotes blockquote::before{content:"“";position:absolute;top:-14px;left:-6px;font-family:var(--serif);font-size:110px;color:var(--amber);line-height:1;transform:scale(0) rotate(-12deg);transition:transform .7s .2s cubic-bezier(.3,1.5,.4,1)}
.quotes blockquote.in::before{transform:none}
.quotes blockquote p{font-family:var(--serif);font-size:21px;line-height:1.45;color:var(--ink)}
.quotes blockquote footer{margin-top:14px;font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sign)}
/* portrait: arched frame, used on the homepage and the provider hero */
.dframe{aspect-ratio:4/5;border-radius:210px 210px 18px 18px;position:relative;overflow:hidden;
  background:var(--ground-edge);max-width:400px;margin:0;
  box-shadow:0 26px 60px rgba(44,36,20,.22)}
.dframe img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;display:block}
.dframe::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35),inset 0 -70px 90px -60px rgba(44,36,20,.5)}
.doctor .dframe{max-width:400px}
.ihero .dframe{max-width:340px;justify-self:end;box-shadow:0 30px 70px rgba(0,0,0,.42)}
.doctor .bio p{color:var(--body);margin:13px 0;font-size:15.5px}
.cred{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.cred span{border:1px solid var(--line);background:var(--chip-bg);border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:600;color:var(--ink)}
.band{text-align:center;position:relative;overflow:hidden;background:radial-gradient(120% 140% at 50% 100%,var(--ground) 40%,var(--ground-edge) 100%)}
.band .emblem-bg{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:480px;opacity:.06;animation:spin 100s linear infinite}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
/* inner pages */
.crumbs{padding:18px 0 0;font-size:13px;color:var(--body)}
.crumbs a{color:var(--body);text-decoration:none}
.crumbs a:hover{color:var(--amber-dark)}
.crumbs .sep{margin:0 8px;color:var(--amber)}
.crumbs b{color:var(--ink);font-weight:600}
.phero{background:radial-gradient(130% 120% at 50% 0%,var(--ground) 46%,var(--ground-edge) 100%);padding:0 0 54px}
.phero .cols2{padding-top:30px;align-items:start}
.phero.small{padding-bottom:44px}
.phero.small .wrap:not(.crumbs){padding-top:36px}
.rail{position:sticky;top:100px}
.helpcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px;box-shadow:0 18px 44px rgba(0,0,0,.1);color:#26251F}
.helpcard h3,.helpcard .hct{margin:0 0 6px;font-size:20px;font-family:var(--serif);font-weight:400;color:inherit}
.helpcard .stars{color:var(--amber);letter-spacing:2px;font-size:13px}
.helpcard .r{font-size:13px;color:#6E6A60}
.helpcard .row{display:grid;gap:10px;margin:15px 0}
.helpcard .mini{font-size:13px;color:#6E6A60;border-top:1px solid var(--line);padding-top:13px}
.helpcard .mini b{color:#26251F}
.crisis{margin-top:13px;background:var(--amber-soft);border-radius:10px;padding:11px 13px;font-size:12.5px;color:#6b4b0d}
.pband{padding:8px 0 0}
.pband figure{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 26px 60px rgba(0,0,0,.16)}
.pband img{width:100%;display:block;max-height:400px;object-fit:cover}
.pband figcaption{position:absolute;left:26px;bottom:20px;color:#fff;font-family:var(--serif);font-size:clamp(17px,2vw,24px);text-shadow:0 2px 22px rgba(0,0,0,.55)}
.content{padding:56px 0 30px}
.content p{margin:13px 0;color:var(--body)}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;margin:20px 0 10px}
.checks div{display:flex;gap:11px;font-size:14.5px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 15px;color:#26251F}
.checks .tick{color:var(--amber-dark);font-weight:900}
ul.nice{margin:14px 0 14px 2px;list-style:none}
ul.nice li{padding:7px 0 7px 26px;position:relative;color:var(--body)}
ul.nice li::before{content:"—";position:absolute;left:0;color:var(--amber)}
.todo{background:var(--amber-soft);border:1.5px dashed var(--amber-dark);border-radius:12px;padding:14px 18px;font-size:13.5px;color:#6b4b0d;margin-bottom:22px}
.article p{font-size:17px}
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:10px}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;color:#26251F;transition:.28s;display:flex;flex-direction:column;border-top:3px solid transparent}
.bcard:hover{transform:translateY(-6px);border-top-color:var(--amber);box-shadow:0 22px 48px rgba(0,0,0,.12)}
.bcard h3{margin:0 0 8px;font-size:19px;line-height:1.3}
.bcard p{font-size:13.5px;color:#6E6A60}
.bcard .go{margin-top:auto;padding-top:14px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-dark)}
.fgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0 20px}
.fcard{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;color:#26251F}
.fcard b{font-family:var(--serif);font-size:26px;color:var(--amber)}
.fcard h3{font-size:16.5px;margin:8px 0 6px;font-family:var(--sans);font-weight:700}
.fcard p{font-size:13px;color:#6E6A60;margin:0}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:16px 0}
table{border-collapse:collapse;width:100%;font-size:12.5px}
th{background:#2C2C2C;color:#fff;text-align:left;padding:9px 12px}
td{padding:7px 12px;border-top:1px solid var(--line);color:var(--body)}
.pcard{border-radius:18px;overflow:hidden;position:relative;box-shadow:0 26px 60px rgba(0,0,0,.16)}
.pcard img{display:block;width:100%}
.pcard figcaption{position:absolute;left:0;right:0;bottom:0;padding:12px 18px;background:linear-gradient(transparent,rgba(20,18,14,.7));color:#fff;font-size:12px;letter-spacing:.08em}
/* forms */
.book .head{text-align:center;max-width:44em;margin:0 auto 36px}
form{max-width:860px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:38px;box-shadow:0 24px 60px rgba(0,0,0,.1);color:#26251F}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:16px}
.frow.one{grid-template-columns:1fr}
label{display:block;font-size:13px;font-weight:700;margin-bottom:7px}
label em{color:var(--amber-dark);font-style:normal}
input,select,textarea{width:100%;border:1.5px solid var(--line);border-radius:10px;background:var(--ground-edge);padding:12px 14px;font-family:var(--sans);font-size:15px;color:#26251F;transition:.2s;outline:none}
[data-theme="classic"] input,[data-theme="classic"] select,[data-theme="classic"] textarea{background:#FBF7EF}
input:focus,select:focus,textarea:focus{border-color:var(--amber);background:#fff;box-shadow:0 0 0 4px var(--amber-soft)}
textarea{min-height:100px;resize:vertical}
.fsubmit{display:flex;align-items:center;gap:18px;margin-top:6px;flex-wrap:wrap}
.fnote{font-size:12px;color:#6E6A60;max-width:30em}
/* footer + abbey */
footer.site{background:var(--footer);color:#B9B3A6;padding:58px 0 38px;font-size:14px}
footer.site .cols{display:grid;grid-template-columns:1.5fr .9fr .9fr 1.15fr;gap:clamp(28px,3.5vw,54px)}
footer.site h4,footer.site .fh{color:#fff;font-size:12px;letter-spacing:.2em;text-transform:uppercase;margin-bottom:12px}
footer.site a{color:#B9B3A6;text-decoration:none;display:block;padding:3px 0}
footer.site a:hover{color:var(--amber)}
.legal{border-top:1px solid #33322e;margin-top:40px;padding-top:20px;font-size:12px;color:#98937F;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px}
#abbey{position:fixed;right:24px;bottom:24px;z-index:80;background:#1A1A1A;color:#fff;border-radius:999px;padding:13px 20px 13px 15px;display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:600;text-decoration:none;box-shadow:0 18px 44px rgba(0,0,0,.35);transition:.25s}
#abbey:hover{transform:translateY(-3px)}
#abbey .dot{width:36px;height:36px;border-radius:50%;background:var(--amber);display:grid;place-items:center;color:#1A1A1A;font-family:var(--serif);font-size:17px;position:relative}
#abbey .dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--amber);animation:ring 2.2s ease-out infinite}
@keyframes ring{0%{transform:scale(.8);opacity:1}100%{transform:scale(1.5);opacity:0}}
/* reveal system */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s,transform .7s}
.rv.in{opacity:1;transform:none}
.stag>*{opacity:0;transform:translateY(20px) scale(.98);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}
.stag.go>*{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}
  .rv,.stag>*,h1 .w,h1 .aw{opacity:1!important;transform:none!important}}
@media(max-width:1680px){.tel{display:none}}
@media(max-width:1160px){.links{display:none}.links.open{display:flex;position:absolute;top:82px;left:0;right:0;background:var(--card);flex-direction:column;align-items:stretch;padding:12px;border-bottom:1px solid var(--line);box-shadow:0 30px 60px rgba(0,0,0,.2)}
.links.open .ni>a{color:#26251F;padding:12px}
.links.open .dd{position:static;opacity:1;transform:none;pointer-events:auto;box-shadow:none;border:none;padding-left:16px}
#burger{display:block}.themepill{display:none}}
@media(max-width:900px){.hgrid,.cols2{grid-template-columns:1fr}.stage{justify-self:start}
.doorgrid{grid-template-columns:1fr 1fr}.bgrid{grid-template-columns:1fr 1fr}.fgrid{grid-template-columns:1fr 1fr}
.checks{grid-template-columns:1fr}.frow{grid-template-columns:1fr}.rail{position:static}
footer.site .cols{grid-template-columns:1fr}.tel{display:none}}
@media(max-width:620px){.bgrid,.doorgrid,.fgrid{grid-template-columns:1fr}}

/* ═══ v2 · revamp components ═══ */
.glow{position:fixed;width:520px;height:520px;border-radius:50%;pointer-events:none;z-index:1;
  background:radial-gradient(circle,var(--glow) 0%,transparent 65%);transform:translate(-50%,-50%);
  opacity:0;transition:opacity .5s;will-change:left,top}
body:hover .glow{opacity:.38}
.glow.off{opacity:0!important}
@media (pointer:coarse){.glow{display:none}}
/* content sections with numbers + tints */
.csec{padding:54px 0;position:relative}
.csec.tint{background:radial-gradient(120% 130% at 50% 50%,color-mix(in srgb,var(--ground-edge) 55%,var(--ground)) 30%,var(--ground) 100%)}
.csec .wrap{position:relative}
/* number stacks above the heading by default so it can never collide; moves into the left gutter on wide screens (see min-width:1280 below) */
.csec .snum{font-family:var(--serif);font-size:46px;line-height:1;color:color-mix(in srgb,var(--amber) 34%,transparent);position:static;display:block;margin:0 0 6px;user-select:none}
.csec h2{position:relative;z-index:1;margin-top:0}
.csec p{margin:13px 0;color:var(--body)}
.beam{height:2px;max-width:1156px;margin:0 auto;background:linear-gradient(90deg,transparent,var(--amber),transparent);
  transform:scaleX(0);transition:transform 1.1s cubic-bezier(.7,0,.2,1);opacity:.55}
.beam.in{transform:scaleX(1)}
/* spotlight hover */
.spot{position:relative;overflow:hidden}
.spot::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;
  background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),color-mix(in srgb,var(--amber) 20%,transparent),transparent 70%)}
.spot:hover::after{opacity:1}
/* symptom grid */
.symgrid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin:22px 0 12px}
.sym{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;
  padding:15px 17px;font-size:14.5px;color:#26251F;transition:transform .25s,box-shadow .25s}
.sym:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.1)}
.sym .sn{font-family:var(--serif);color:var(--amber);font-size:19px;line-height:1.3;flex-shrink:0}
/* treatment cards */
.txgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:22px 0 12px}
.txc{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;border-top:3px solid var(--amber);
  color:#26251F;transition:transform .25s,box-shadow .25s}
.txc:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(0,0,0,.12)}
.txc h4{margin:0 0 8px;font-size:18px}
.txc p{font-size:13.5px;color:#6E6A60!important;margin:0!important}
/* accordions */
.accwrap{margin:20px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card)}
.acc+.acc{border-top:1px solid var(--line)}
.acc-q{width:100%;text-align:left;background:none;border:none;font-family:var(--serif);font-size:17.5px;color:#26251F;
  padding:18px 54px 18px 22px;cursor:pointer;position:relative;transition:.2s}
.acc-q:hover{color:var(--amber-dark)}
.acc-i{position:absolute;right:20px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;
  background:var(--amber-soft);color:var(--amber-dark);display:grid;place-items:center;font-weight:800;transition:transform .35s}
.acc.open .acc-i{transform:translateY(-50%) rotate(45deg);background:var(--amber);color:#1A1A1A}
.acc-a{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.2,.7,.2,1)}
.acc-a p{padding:0 22px 18px;font-size:14.5px;color:#6E6A60!important;margin:0!important}
/* inline quotes */
.inq{position:relative;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--amber);
  border-radius:0 14px 14px 0;padding:20px 24px;margin:22px 0}
.inq p{font-family:var(--serif);font-size:17px!important;line-height:1.5;color:#26251F!important;margin:0!important}
.inq footer{margin-top:10px;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--sign)}
/* silo cards */
.silogrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}
.silo{background:#2C2C2C;color:#fff;border-radius:14px;padding:22px 20px;text-decoration:none;position:relative;
  transition:.28s;display:flex;flex-direction:column;min-height:130px;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.silo::before{content:"";position:absolute;inset:auto 0 0 0;height:4px;background:var(--amber);transform:scaleX(0);transform-origin:left;transition:.3s}
.silo:hover{transform:translateY(-5px)}
.silo:hover::before{transform:none}
.silo .n{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.silo h4{font-family:var(--serif);font-weight:400;font-size:19px;margin:8px 0 6px;color:#fff}
.silo .go{margin-top:auto;padding-top:8px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
/* trials tabs */
.ttabs{display:flex;gap:8px;background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:6px;width:max-content;margin:6px 0 0}
.ttab{padding:10px 20px;border-radius:999px;text-decoration:none;color:var(--ink);font-size:13.5px;font-weight:700;transition:.22s}
.ttab.on{background:var(--amber);color:#1A1A1A}
.ttab:not(.on):hover{background:color-mix(in srgb,var(--amber) 14%,transparent)}
/* timeline */
.tline{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:22px;counter-reset:tl}
.tline.five{grid-template-columns:repeat(5,1fr);align-items:start}.tline.five .tl span{font-size:13px}
.tlnote{margin:18px auto 0;max-width:720px;text-align:center;font-size:14.5px;color:#5d5648;background:rgba(245,166,35,.1);border:1px solid rgba(245,166,35,.4);border-radius:12px;padding:12px 18px}.tlnote b{color:#26251F;font-weight:700}
.tline .tl{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 18px;color:#26251F;position:relative}
.tline .tl::before{content:"";position:absolute;top:-8px;left:22px;width:14px;height:14px;border-radius:50%;
  background:var(--amber);box-shadow:0 0 0 4px var(--amber-soft)}
.tline .tl b{display:block;font-family:var(--serif);font-weight:400;font-size:18px;margin-bottom:6px}
.tline .tl span{font-size:13px;color:#6E6A60}
.tline.vert{grid-template-columns:1fr;max-width:560px;gap:0;position:relative;padding-left:26px}
.tline.vert::before{content:"";position:absolute;left:6px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--amber),var(--amber-soft))}
.tline.vert .tl{border:none;background:transparent;padding:12px 0 18px;color:var(--ink)}
.tline.vert .tl::before{top:18px;left:-26px}
.tline.vert .tl span{color:var(--body)}
/* TMS visualization */
.tmsviz-sec{padding:76px 0 60px;background:radial-gradient(120% 130% at 50% 0%,var(--ground) 40%,var(--ground-edge) 100%)}
.tmsviz{position:relative;width:min(340px,80vw);aspect-ratio:1;margin:0 auto 40px}
.tring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--amber);opacity:0;animation:tpulse 3.6s ease-out infinite}
.t2{animation-delay:.9s}.t3{animation-delay:1.8s}.t4{animation-delay:2.7s}
@keyframes tpulse{0%{transform:scale(.25);opacity:.85}100%{transform:scale(1.05);opacity:0}}
.tcore{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:50%;
  background:radial-gradient(circle at 38% 34%,#FFD98A,var(--amber) 60%,#C98A12);box-shadow:0 0 60px var(--glow),0 0 130px var(--glow);
  animation:coreglow 3.6s ease-in-out infinite}
@keyframes coreglow{0%,100%{box-shadow:0 0 40px var(--glow)}50%{box-shadow:0 0 90px var(--glow),0 0 160px var(--glow)}}
.tmsfilm{position:relative;max-width:860px;margin:0 auto 40px;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#1A1714;box-shadow:0 34px 70px -40px rgba(60,40,10,.55);border:1px solid var(--line)}
.tmsfilm video{width:100%;height:100%;object-fit:cover;display:block}
.tmsfilm figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 18px 14px;font-size:13.5px;color:#fff;text-align:left;background:linear-gradient(180deg,transparent,rgba(20,16,12,.72))}
.tsteps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1000px;margin:0 auto;text-align:left}
.tstep{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;color:#26251F}
.tstep b{display:block;font-family:var(--serif);font-weight:400;font-size:17px;margin-bottom:6px;color:var(--amber-dark)}
.tstep span{font-size:13px;color:#6E6A60}
/* blog extras */
.bcat{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amber-dark);display:block;margin-bottom:10px}
.catchips{margin-top:22px}
.catchips button{border:1.5px solid var(--line);background:transparent;color:var(--ink);font-family:var(--sans);
  font-size:13px;font-weight:600;border-radius:999px;padding:8px 16px;cursor:pointer;transition:.2s}
.catchips button.on{background:var(--amber);border-color:var(--amber);color:#1A1A1A}
.bcard.hidden{display:none}
.article .csec{padding:26px 0}
.article .snum{display:none}
@media(max-width:900px){.symgrid,.txgrid,.tsteps,.tline{grid-template-columns:1fr}.silogrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.silogrid{grid-template-columns:1fr}}

/* ═══ v2.1 · visual tier: immersive heroes, parallax, tilt, rays, grain, marquee ═══ */
/* film grain over everything (very subtle) */
body::before{content:"";position:fixed;inset:0;z-index:998;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E")}
/* immersive page hero */
.ihero{position:relative;overflow:hidden;min-height:520px;display:flex;flex-direction:column;color:#fff}
.ihero .ibg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:kb 26s ease-in-out infinite alternate}
.ihero .iov{position:absolute;inset:0;background:linear-gradient(105deg,rgba(22,19,14,.88) 0%,rgba(22,19,14,.62) 46%,rgba(22,19,14,.28) 100%),linear-gradient(0deg,rgba(22,19,14,.55),transparent 40%)}
.ihero .irays{position:absolute;inset:-40%;background:conic-gradient(from 0deg at 78% 18%,transparent 0 42deg,rgba(245,166,35,.10) 55deg,transparent 72deg,transparent 150deg,rgba(245,166,35,.07) 165deg,transparent 185deg);animation:rayspin 70s linear infinite;pointer-events:none}
@keyframes rayspin{to{transform:rotate(360deg)}}
.ihero .crumbs{position:relative;z-index:3;color:#D8D2C4}
.ihero .crumbs a{color:#D8D2C4}.ihero .crumbs b{color:#fff}
.ihero-in{position:relative;z-index:3;padding-top:64px;padding-bottom:110px;align-items:center}
.ihero h1{color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.45)}
.ihero .lead{color:#E7E1D4}
.ihero .fine{color:#CFC9BC}
.ihero .eyebrow{color:var(--amber)}
.btn.iline{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px #ffffff88}
.btn.iline:hover{box-shadow:inset 0 0 0 1.5px var(--amber),0 10px 26px var(--glow);color:var(--amber)}
.btn.line.dark{color:#26251F;box-shadow:inset 0 0 0 1.5px #26251F}
/* smoked glass: the card belongs to the film's world (like the mbar and Abbey),
   instead of sitting on it like a paper sticker */
.ihero .helpcard{backdrop-filter:blur(20px) saturate(1.2);-webkit-backdrop-filter:blur(20px) saturate(1.2);
  background:rgba(20,18,14,.52);border:1px solid rgba(255,255,255,.16);max-width:400px;justify-self:end;
  box-shadow:0 24px 60px rgba(0,0,0,.45);color:#EDE8DC}
.ihero .helpcard h3,.ihero .helpcard .hct{color:#fff}
.ihero .helpcard .r{color:#D8D2C4}
.ihero .helpcard .btn.line.dark{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}
.ihero .helpcard .btn.line.dark:hover{color:var(--amber);box-shadow:inset 0 0 0 1.5px var(--amber),0 10px 26px var(--glow)}
.ihero .helpcard .mini{border-top:1px solid rgba(255,255,255,.16);color:#C9C2B2}
.ihero .helpcard .crisis{background:rgba(245,166,35,.16);border:1px solid rgba(245,166,35,.32);color:#F5D9A0}
.ihero .helpcard .crisis b{color:#FFDF9E}
@supports not (backdrop-filter:blur(1px)){.ihero .helpcard{background:rgba(20,18,14,.9)}}
/* mid-page parallax band */
.pxband{position:relative;height:340px;overflow:hidden;display:grid;place-items:center}
.pxband .px{position:absolute;left:0;top:-18%;width:100%;height:136%;object-fit:cover;will-change:transform}
.pxband::after{content:"";position:absolute;inset:0;background:rgba(22,19,14,.44)}
.pxband .pxq{position:relative;z-index:2;font-family:var(--serif);font-size:clamp(24px,3.4vw,40px);color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.5);padding:0 24px;text-align:center}
/* silo cards with duotone imagery */

/* rotating rays on home hero */
.hero .rays{position:absolute;inset:-45%;background:conic-gradient(from 0deg at 72% 12%,transparent 0 40deg,var(--glow) 56deg,transparent 76deg,transparent 200deg,color-mix(in srgb,var(--amber) 10%,transparent) 216deg,transparent 236deg);animation:rayspin 80s linear infinite;pointer-events:none;opacity:.8}
/* giant outline marquee above footer */
.mq{overflow:hidden;border-top:1px solid var(--line);padding:26px 0 18px;background:var(--ground)}
.mqt{display:flex;width:max-content;animation:tick 52s linear infinite}
.mqt span{font-family:var(--serif);font-size:clamp(44px,6vw,84px);line-height:1;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px color-mix(in srgb,var(--amber) 55%,var(--line));padding-right:24px}
.mq:hover .mqt{animation-play-state:paused}
/* 3D tilt cards */
.tilt{transform-style:preserve-3d;will-change:transform}
@media(max-width:900px){.ihero{min-height:0}.pxband{height:240px}}

/* ═══ v2.2 · MOBILE IMPACT PASS ═══ */
@keyframes up{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.mbar{display:none}
.mrate{display:none}
@media(max-width:900px){
  .hbtn{display:none}
  .csec .snum{position:static;display:block;font-size:40px;line-height:1;margin:0 0 2px;
    color:color-mix(in srgb,var(--amber) 45%,transparent)}
  /* ── sticky thumb-zone action bar ── */
  .mbar{display:flex;position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:90;
    background:rgba(20,18,14,.92);backdrop-filter:blur(14px);border:1px solid #ffffff22;border-radius:18px;
    padding:8px;gap:8px;box-shadow:0 18px 44px rgba(0,0,0,.45)}
  .mbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;color:#fff;text-decoration:none;
    font-weight:700;font-size:14px;padding:13px 4px;border-radius:12px;background:#ffffff14}
  .mbar a b{color:var(--amber);font-size:15px}
  .mbar a.bk{background:var(--amber);color:#1A1A1A;flex:1.3}
  body{padding-bottom:84px}
  #abbey{bottom:calc(78px + env(safe-area-inset-bottom));right:12px;padding:10px;border-radius:50%}
  #abbey .alabel{display:none}
  /* ── HOME: full-screen image-led hero ── */
  .hero{min-height:94svh;display:flex;align-items:flex-end;
    background:linear-gradient(180deg,rgba(22,19,14,.72) 0%,rgba(22,19,14,.38) 42%,rgba(22,19,14,.82) 100%),
    url('img/hero.jpg') center 30%/cover no-repeat #2C2C2C}
  .hero .aurora,.hero .ghost{display:none}
  .hero .rays{opacity:.5}
  .hgrid{grid-template-columns:1fr;padding-top:110px;padding-bottom:44px;gap:0}
  .hero .stage{display:none}
  .hero h1.big,.hero .eyebrow{color:#fff}
  .hero h1 .w,.hero h1 .aw{text-shadow:0 2px 26px rgba(0,0,0,.5)}
  .hero .lead{color:#EDE7D9;font-size:16.5px;text-shadow:0 1px 14px rgba(0,0,0,.4)}
  .hero .fine{color:#D8D2C4}
  .hero .fine b{color:#fff}
  .hero .btn.line{color:#fff;box-shadow:inset 0 0 0 1.5px #ffffffaa}
  .router{background:rgba(255,255,255,.1);border-color:#ffffff2e;backdrop-filter:blur(10px)}
  .router .q{color:var(--amber)}
  .chips button{color:#fff;border-color:#ffffff55}
  .chips button.on{color:#1A1A1A}
  .router .route,.router .route a{color:#E7E1D4}
  .router .route b{color:#fff}
  .mrate{display:flex;align-items:center;color:var(--amber);font-weight:700;font-size:14px;margin:-6px 0 16px;
    text-shadow:0 1px 10px rgba(0,0,0,.5);letter-spacing:.04em}
  /* ── inner pages: taller cinematic hero, glass card below ── */
  .ihero{min-height:74svh;display:flex;flex-direction:column;justify-content:flex-end}
  .ihero-in{padding-top:96px;padding-bottom:34px;gap:22px}
  .ihero h1{font-size:clamp(34px,9.4vw,44px)}
  .ihero .helpcard{background:rgba(20,18,14,.6)}
  .rail{position:static}
  /* ── swipe-snap carousels ── */
  .ttabs{width:auto;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .ttabs::-webkit-scrollbar{display:none}
  .ttab{white-space:nowrap;flex:0 0 auto}
  .doorgrid,.silogrid,.tsteps,.tline:not(.vert),.txgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    gap:12px;padding:6px 4px 18px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .doorgrid::-webkit-scrollbar,.silogrid::-webkit-scrollbar,.tsteps::-webkit-scrollbar,.txgrid::-webkit-scrollbar{display:none}
  .doorgrid>*,.silogrid>*,.tsteps>*,.tline:not(.vert)>*,.txgrid>*{flex:0 0 80%;scroll-snap-align:center;min-height:0}
  .tsteps>*,.tline:not(.vert)>*{flex-basis:72%}
  /* stagger off inside carousels (all visible at once feels snappier) */
  .doorgrid.stag>*,.silogrid.stag>*,.tsteps.stag>*,.txgrid.stag>*{opacity:1;transform:none;transition:none}
  /* ── full-screen menu ── */
  .links.open{position:fixed;inset:0;width:100%;height:100dvh;z-index:80;background:rgba(20,18,14,.97);backdrop-filter:blur(16px);
    display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;padding:90px 34px 140px;
    gap:2px;overflow-y:auto;border:none;box-shadow:none}
  /* auto-margins center a short menu but, unlike justify-content:center, keep the top
     reachable when an expanded dropdown makes the list taller than the screen */
  .links.open > :first-child{margin-top:auto}
  .links.open > :last-child{margin-bottom:auto}
  .links.open .ni>a{color:#fff;font-family:var(--serif);font-size:27px;font-weight:400;padding:8px 0;background:none;
    opacity:0;transform:translateY(16px);animation:up .5s forwards}
  .links.open .ni:nth-child(2)>a{animation-delay:.05s}.links.open .ni:nth-child(3)>a{animation-delay:.1s}
  .links.open .ni:nth-child(4)>a{animation-delay:.15s}.links.open .ni:nth-child(5)>a{animation-delay:.2s}
  .links.open .ni:nth-child(6)>a{animation-delay:.25s}.links.open .ni:nth-child(7)>a{animation-delay:.3s}
  .links.open .ni:nth-child(8)>a{animation-delay:.35s}
  .links.open .ni>a:hover{color:var(--amber)}
  .links.open .dd{position:static;opacity:1;transform:none;pointer-events:auto;background:none;border:none;box-shadow:none;
    padding:0 0 6px 14px;display:none}
  .links.open .ni.dd-open .dd{display:block}
  .links.open .dd a{color:#BDB8AE;font-size:15px;padding:6px 0}
  .links.open .dd a:hover{color:var(--amber);background:none}
  header:has(.links.open) #burger{position:fixed;top:18px;right:16px;z-index:81;background:var(--amber);color:#1A1A1A;border-color:var(--amber)}
  /* the old fixed-position pill resolved against the header (backdrop-filter makes it a
     containing block), so it landed off-screen at y=-65. Replaced by .mtheme, which sits in flow. */
  header:has(.links.open) .themepill{display:none}
  /* ── scale niceties ── */
  .mqt span{font-size:38px;-webkit-text-stroke-width:1px}
  .pxband{height:230px}
  .pxband .pxq{font-size:22px}
  .csec .snum{font-size:54px}
  .tmsviz{width:min(240px,70vw)}
  h1{font-size:clamp(32px,9vw,44px)}
  h1.big{font-size:clamp(40px,11.5vw,54px)}
}

/* v2.3 · reference-validated additions */
.statrow{border-bottom:1px solid var(--line);background:var(--ground)}
.statgrid{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:24px 22px;border-left:1px solid var(--line)}
.stat:first-child{border-left:none}
.stat b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;color:var(--ink)}
.stat span{font-size:13px;color:var(--body)}
.apart{padding-bottom:30px}
.apartgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ap{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px 24px;color:#26251F;border-top:3px solid var(--amber)}
.ap .ic{width:44px;height:44px;border-radius:12px;background:#1A1A1A;color:var(--amber);display:grid;place-items:center;font-size:19px;margin-bottom:16px}
.ap h3{margin:0 0 8px;font-size:20px}
.ap p{font-size:14px;color:#6E6A60;margin:0}
@media(max-width:900px){.statgrid{grid-template-columns:1fr 1fr}.stat{border-left:none;border-top:1px solid var(--line)}
.apartgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:6px 4px 18px;scrollbar-width:none}
.apartgrid>*{flex:0 0 80%;scroll-snap-align:center}
.apartgrid.stag>*{opacity:1;transform:none;transition:none}}

/* ═══ v2.4 · mobile rhythm: no scroll-reveal lag, tighter vertical spacing, smaller logo ═══ */
@media(max-width:900px){
  /* reveals OFF on mobile — content is always there, no blank-while-scrolling */
  .rv,.stag>*,.quotes blockquote{opacity:1;transform:none;transition:none}
  .beam{transform:scaleX(1)}
  /* vertical rhythm ~45% tighter */
  section{padding:44px 0}
  .csec{padding:30px 0}
  .doors .dhead{margin-bottom:16px;gap:8px}
  h2{margin:26px 0 10px}
  .csec h2{margin-top:0}
  .apart .rv{margin-bottom:20px!important}
  .book .head{margin-bottom:22px}
  .ticker .track{padding:11px 0}
  .statrow .stat{padding:16px 18px}
  .pxband{height:200px}
  .mq{padding:16px 0 10px}
  .content{padding:30px 0 16px}
  /* smaller logo */
  .logo{gap:9px}
  .logo .em{height:36px}
  .logo .wmk{height:13px}
  .nav{height:66px}
}

/* ═══ v2.5 · scroll-driven motion layer (2026 technique, GPU-composited, lag-proof) ═══ */
.sunrise{display:none;position:fixed;left:50%;bottom:-28vh;transform:translateX(-50%);width:150vw;height:64vh;
  pointer-events:none;z-index:5;mix-blend-mode:screen;filter:blur(10px);
  background:radial-gradient(50% 62% at 50% 100%, color-mix(in srgb,var(--amber) 34%,transparent), transparent 72%)}
@keyframes sdUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes sdPop{from{opacity:.3;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
@keyframes heroExit{to{opacity:0;transform:translateY(-44px) scale(.97)}}
@keyframes sunup{from{opacity:0;transform:translate(-50%,18vh)}to{opacity:.85;transform:translate(-50%,-5vh)}}
@supports (animation-timeline: view()){
 @media (max-width:900px) and (prefers-reduced-motion: no-preference){
  /* vertical elements reveal in lockstep with the thumb — proportional, reversible, unmissable */
  .statgrid .stat,.dhead,.clarity .panel,.clar-img,.quotes blockquote,.doctor .dframe,.doctor .bio,
  .band .wrap,.csec>.wrap,.book form,.book .head,.mq{
    animation:sdUp auto linear both;animation-timeline:view();animation-range:entry 5% entry 48%}
  /* carousel cards scale up as they swipe into view (cover-flow feel) */
  .doorgrid>*,.apartgrid>*,.silogrid>*,.tsteps>*,.txgrid>*,.tline:not(.vert)>*{
    animation:sdPop auto linear both;animation-timeline:view(inline);animation-range:entry 0% entry 60%}
  /* hero lifts away as you leave it — app-like exit */
  .hgrid,.ihero-in{animation:heroExit auto linear both;animation-timeline:view();animation-range:exit 70% exit 100%}
  /* the signature: light rises as you scroll — find your light, literally */
  .sunrise{display:block;animation:sunup auto linear both;animation-timeline:scroll(root)}
 }
}

/* ═══ v2.6 · ALIVE tier: shader light, kinetic type, touch bloom (mobile landing) ═══ */
@media(max-width:900px){
  #lightgl{position:absolute;inset:0;z-index:1;pointer-events:none;mix-blend-mode:screen;opacity:.55}
  /* light sweeps through the headline — letters lit from within */
  @media (prefers-reduced-motion: no-preference){
    .hero h1.big{filter:drop-shadow(0 2px 16px rgba(0,0,0,.65))}
    .hero h1.big .w{background:linear-gradient(105deg,#F6EFE2 0%,#F6EFE2 32%,#FFE1A0 46%,#FFF9EC 50%,#FFE1A0 54%,#F6EFE2 68%,#F6EFE2 100%);
      background-size:280% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
      animation:wordUp .9s cubic-bezier(.2,.8,.2,1) both, textsweep 5.5s ease-in-out infinite}
    .hero h1.big .aw{-webkit-text-fill-color:var(--amber);animation:wordUp .9s .41s cubic-bezier(.2,.8,.2,1) both, glow 4s 1.7s ease-in-out infinite}
  }
  .bloom{position:absolute;width:14px;height:14px;border-radius:50%;pointer-events:none;z-index:4;
    background:radial-gradient(circle,#FFE9BC 0%,var(--amber) 35%,transparent 70%);
    transform:translate(-50%,-50%) scale(1);animation:bloomOut .9s cubic-bezier(.2,.7,.3,1) forwards;mix-blend-mode:screen}
}
@keyframes textsweep{0%,100%{background-position:120% 0}50%{background-position:-20% 0}}
@keyframes bloomOut{to{transform:translate(-50%,-50%) scale(26);opacity:0}}

/* ═══ v2.7 · Veo video hero (mobile) ═══ */
.vwrap{display:none}
@media(max-width:900px){
  .vwrap{display:block;position:absolute;inset:0;z-index:0;overflow:hidden}
  .vwrap video{width:100%;height:100%;object-fit:cover}
  .vshade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(22,19,14,.72) 0%,rgba(22,19,14,.34) 42%,rgba(22,19,14,.82) 100%)}
  .hero{background:#2C2C2C}  /* video replaces the still; poster covers pre-load */
}

/* v2.8 · video in the desktop hero frame */
.frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.hv-desk{display:none}}

/* v2.9 · desktop full-bleed dawn-room video backdrop */
.vdesk{display:none}
@media(min-width:901px){
  .vdesk{display:block;position:absolute;inset:0;z-index:0;overflow:hidden}
  .vdesk video{width:100%;height:100%;object-fit:cover}
  .vdveil{position:absolute;inset:0;background:
    linear-gradient(90deg,var(--ground) 6%,color-mix(in srgb,var(--ground) 80%,transparent) 44%,color-mix(in srgb,var(--ground) 30%,transparent) 100%),
    linear-gradient(180deg,color-mix(in srgb,var(--ground) 45%,transparent) 0%,transparent 30%,transparent 62%,var(--ground) 100%)}
  .hero .aurora{opacity:.5}
  .hero .ghost{opacity:.06}
}

/* v3.0 · living door cards (video-ready) */
.dimg video{width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.door:hover .dimg video{transform:scale(1.09)}

/* v3.1 · Wave 1 (Vid feedback): floating desktop CTA */
#fcta{display:none}
@media(min-width:901px){
  #fcta{display:flex;gap:10px;position:fixed;right:24px;bottom:24px;z-index:79;opacity:0;transform:translateY(14px);
    transition:opacity .4s,transform .4s;pointer-events:none}
  #fcta.on{opacity:1;transform:none;pointer-events:auto}
  #fcta .btn{box-shadow:0 16px 40px rgba(0,0,0,.25)}
  #fcta .btn.line{background:var(--card);color:#26251F;box-shadow:0 16px 40px rgba(0,0,0,.18),inset 0 0 0 1.5px #26251F}
  #abbey{bottom:92px;right:24px;left:auto}   /* stacked above the floating Book CTA */
}

/* ── E2 · sub-brand lockup in interior page heroes ─────────────── */
.slock{display:block;width:150px;height:auto;margin:0 0 18px;opacity:0;filter:drop-shadow(0 2px 18px rgba(0,0,0,.5));
  animation:slockIn .9s cubic-bezier(.2,.7,.2,1) .15s both}
@keyframes slockIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
.ihero .slock{width:112px;margin-bottom:14px}
@media(max-width:900px){.slock{width:96px;margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.slock{animation:none;opacity:1}}

/* ── editorial section numerals in the gutter (wide screens only) ─── */
@media(min-width:1280px){
  .csec .snum{position:absolute;left:0;top:4px;transform:translateX(calc(-100% - 26px));
    font-size:84px;line-height:.9;margin:0;color:color-mix(in srgb,var(--amber) 30%,transparent)}
}

/* ── mobile theme switcher: always-visible swatches + light bloom ─── */
.themedots{display:none;align-items:center;flex-shrink:0}
.themedots button{width:26px;height:26px;border-radius:50%;padding:0;cursor:pointer;position:relative;flex:0 0 auto;
  border:1.5px solid color-mix(in srgb,var(--ink) 20%,transparent);-webkit-tap-highlight-color:transparent;
  transition:width .3s cubic-bezier(.2,.8,.2,1),margin .3s cubic-bezier(.2,.8,.2,1),
             opacity .2s,transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s}
.themedots button+button{margin-left:8px}
/* collapsed by default: one calm swatch showing the current theme, no ring */
.themedots:not([data-open="true"]) button:not(.on){width:0;margin-left:0;opacity:0;border-width:0;pointer-events:none}
.themedots button[data-t="warm"]{background:linear-gradient(145deg,#FBF7EF 50%,#F5A623 50%)}
.themedots button[data-t="classic"]{background:linear-gradient(145deg,#2C2C2C 50%,#F5A623 50%)}
.themedots button[data-t="porcelain"]{background:linear-gradient(145deg,#FFFFFF 50%,#E8DEC9 50%)}
.themedots[data-open="true"] button.on{outline:2.5px solid var(--amber);outline-offset:2px;box-shadow:none}
.themedots button:active{transform:scale(.92)}
@media(max-width:1160px){
  .themedots{display:flex;margin-left:auto}
  #burger{margin-left:12px}
  header:has(.links.open) .themedots{display:none}
}
/* light bloom radiating from the tapped swatch */
.themesweep{position:fixed;width:12px;height:12px;border-radius:50%;pointer-events:none;z-index:200;
  background:radial-gradient(circle,var(--amber),color-mix(in srgb,var(--amber) 30%,transparent) 45%,transparent 72%);
  transform:translate(-50%,-50%) scale(0);opacity:.55;
  transition:transform .7s cubic-bezier(.22,.7,.2,1),opacity .7s ease-out}
.themesweep.go{transform:translate(-50%,-50%) scale(300);opacity:0}
@media(prefers-reduced-motion:reduce){
  .themedots button{transition:none}
  .themesweep{display:none}
}

/* ── theme row inside the open mobile menu (in flow, so no containing-block trap) ── */
.mtheme{display:none}
@media(max-width:1160px){
  .links.open .mtheme{display:flex;align-items:center;gap:12px;margin-top:26px;padding-top:20px;
    width:100%;border-top:1px solid #ffffff24}
  .links.open .mtheme span{color:#BDB8AE;font-size:11.5px;font-weight:700;letter-spacing:.22em;
    text-transform:uppercase;margin-right:4px}
  .links.open .mtheme button{width:34px;height:34px;border-radius:50%;padding:0;cursor:pointer;
    border:1.5px solid #ffffff44;-webkit-tap-highlight-color:transparent;
    transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s}
  .links.open .mtheme button[data-t="warm"]{background:linear-gradient(145deg,#FBF7EF 50%,#F5A623 50%)}
  .links.open .mtheme button[data-t="classic"]{background:linear-gradient(145deg,#2C2C2C 50%,#F5A623 50%)}
  .links.open .mtheme button[data-t="porcelain"]{background:linear-gradient(145deg,#FFFFFF 50%,#E8DEC9 50%)}
  .links.open .mtheme button.on{transform:scale(1.1);outline:2.5px solid var(--amber);outline-offset:2px;box-shadow:none}
  .links.open .mtheme button:active{transform:scale(.92)}
}
@media(prefers-reduced-motion:reduce){.links.open .mtheme button{transition:none}}

/* ── Finding us · route films ─────────────────────────────────────── */
.visitsec{padding:72px 0 78px;background:radial-gradient(120% 130% at 50% 0%,
  color-mix(in srgb,var(--ground-edge) 62%,var(--ground)) 0%,var(--ground) 62%)}
.rhead{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-bottom:26px}
.rintro{max-width:46em}
.rswitch{position:absolute;top:14px;right:14px;z-index:5;display:flex;gap:3px;padding:4px;border-radius:999px;
  background:rgba(20,18,14,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.22)}
.rswitch button{border:none;background:transparent;color:#fff;opacity:.85;font-family:var(--sans);
  font-size:12px;font-weight:700;padding:7px 13px;border-radius:999px;cursor:pointer;transition:.25s;white-space:nowrap}
.rswitch button.on{opacity:1;background:var(--amber);color:#1A1A1A}
.rswitch button:focus-visible,.rchap:focus-visible,.rplay:focus-visible{outline:2px solid var(--amber);outline-offset:3px}

.rstage{position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#14120E;
  border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,0,0,.28)}
.rvid{width:100%;height:100%;object-fit:cover;display:block}
.rveil{position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(0deg,rgba(20,18,14,.55) 0%,transparent 34%,transparent 70%,rgba(20,18,14,.3) 100%);
  opacity:1;transition:opacity .5s}
.rstage.playing .rveil{opacity:.35}
.rplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;
  border:none;cursor:pointer;background:var(--amber);color:#1A1A1A;display:grid;place-items:center;
  box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 0 0 var(--glow);transition:transform .25s,opacity .3s;
  animation:rpulse 3.4s ease-out infinite}
.rplay span{display:block;width:0;height:0;border-left:20px solid #1A1A1A;border-top:13px solid transparent;
  border-bottom:13px solid transparent;margin-left:6px}
.rplay:hover{transform:translate(-50%,-50%) scale(1.07)}
.rstage.playing .rplay{opacity:0;pointer-events:none;animation:none}
/* buffering: the control stays up as a spinner so a slow connection never looks broken */
.rplay.busy{animation:none}
.rplay.busy span{display:none}
.rplay.busy::after{content:"";width:26px;height:26px;border-radius:50%;
  border:3px solid rgba(26,26,26,.28);border-top-color:#1A1A1A;animation:rspin .8s linear infinite}
.rstage.playing .rplay.busy{opacity:1;pointer-events:none}
@keyframes rspin{to{transform:rotate(360deg)}}
@keyframes rpulse{0%{box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 0 0 var(--glow)}
  70%{box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 0 26px transparent}
  100%{box-shadow:0 16px 44px rgba(0,0,0,.4),0 0 0 0 transparent}}
.rbadge{position:absolute;left:18px;top:16px;background:rgba(20,18,14,.66);backdrop-filter:blur(8px);
  color:#fff;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:8px 14px;border-radius:999px;border:1px solid #ffffff26}
.rbar{position:absolute;left:0;right:0;bottom:0;height:4px;background:#ffffff1f}
.rbar i{display:block;height:100%;width:0;background:var(--amber);transition:width .2s linear}

.rchaps{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}
.rchap{display:inline-flex;align-items:center;gap:9px;background:var(--chip-bg);border:1px solid var(--line);
  color:var(--ink);font-family:var(--sans);font-size:13px;font-weight:600;padding:10px 15px;border-radius:999px;
  cursor:pointer;transition:.22s}
.rchap .rn{font-family:var(--serif);font-size:14px;color:var(--eyebrow);line-height:1}
[data-theme="classic"] .rchap .rn{color:var(--amber)}
.rchap:hover{border-color:var(--amber);transform:translateY(-1px)}
.rchap.on{background:var(--amber);border-color:var(--amber);color:#1A1A1A}
.rchap.on .rn{color:#1A1A1A}

.rfoot{display:grid;grid-template-columns:1fr 1fr auto;gap:26px;align-items:start;margin-top:28px;
  padding-top:24px;border-top:1px solid var(--line)}
.rfoot .rk{display:block;font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--eyebrow);margin-bottom:7px}
.rfoot b{display:block;font-size:16px;color:var(--ink);font-weight:700;line-height:1.35}
.rfoot .rs{display:block;margin-top:5px;font-size:13.5px;color:var(--body)}
.rcta{display:flex;gap:10px;flex-wrap:wrap;justify-self:end}

@media(max-width:900px){
  .visitsec{padding:52px 0 56px}
  .rhead{flex-direction:column;align-items:stretch;gap:16px}
  .rswitch{align-self:flex-start}
  .rstage{border-radius:16px}
  .rplay{width:66px;height:66px}
  .rplay span{border-left-width:16px;border-top-width:11px;border-bottom-width:11px}
  .rchaps{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;
    padding-bottom:4px;margin-left:-4px;padding-left:4px}
  .rchap{flex:0 0 auto;scroll-snap-align:start}
  .rfoot{grid-template-columns:1fr;gap:18px}
  .rcta{justify-self:stretch}
  .rcta .btn{flex:1;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.rplay{animation:none}.rbar i{transition:none}
  .rplay.busy::after{animation-duration:1.6s}}

/* ── research study pages ─────────────────────────────────────────── */
.svgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.sv{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px 18px}
.sv b{display:block;font-family:var(--serif);font-size:30px;color:var(--amber-dark);line-height:1;margin-bottom:8px}
[data-theme="classic"] .sv b{color:var(--amber)}
.sv span{font-size:13.5px;color:var(--body);line-height:1.5;display:block}
[data-theme="classic"] .sv span{color:#4a453a}
[data-theme="classic"] .sv{background:var(--card)}
.fitlist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.fitem{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);
  border-radius:13px;padding:15px 16px}
.fitem .tick{flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:var(--amber);color:#1A1A1A;
  display:grid;place-items:center;font-size:13px;font-weight:900;margin-top:1px}
.fitem p{margin:0;font-size:14.5px;color:#4a453a;line-height:1.5}
.studychips a{display:inline-block;background:var(--chip-bg);border:1px solid var(--line);color:var(--ink);
  border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s}
.studychips a:hover{border-color:var(--amber);color:var(--amber-dark);transform:translateY(-1px)}
[data-theme="classic"] .studychips a:hover{color:var(--amber)}
@media(max-width:900px){.svgrid{grid-template-columns:1fr}.fitlist{grid-template-columns:1fr}}

/* ── article E-E-A-T: byline, jump list, related ───────────────────── */
.byline{margin-top:14px;font-size:13.5px;color:var(--body);display:flex;align-items:center;gap:8px}
.byline::before{content:"";width:26px;height:2px;background:var(--amber);border-radius:2px}
.toc{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--amber);
  border-radius:0 14px 14px 0;padding:18px 22px;margin:26px 0 6px;display:flex;flex-direction:column;gap:7px}
.toc .tk{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow);margin-bottom:3px}
.toc a{color:#4a453a;text-decoration:none;font-size:14px;line-height:1.45;transition:.15s}
.toc a:hover{color:var(--amber-dark);transform:translateX(2px)}
.relgrid{grid-template-columns:repeat(3,1fr)}
.relgrid .bcard h4,.relgrid .bcard h3{font-family:var(--serif);font-weight:400;font-size:17.5px;margin:8px 0 10px}
@media(max-width:900px){.relgrid{grid-template-columns:1fr}}

/* ── research cross-link band + ADHD cluster box ───────────────────── */
.xresearch{padding:10px 0 34px}
.xr{display:flex;align-items:center;justify-content:space-between;gap:26px;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:0 16px 16px 0;
  padding:24px 28px}
.xr .xrk{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.xr h3{margin:6px 0 6px;font-size:22px}
.xr p{margin:0;font-size:14.5px;color:#5d5648;max-width:38em}
.xr .btn{flex-shrink:0}
.clusterbox{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--amber);
  border-radius:0 14px 14px 0;padding:20px 24px;margin:8px 0 34px}
.clusterbox .tk{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.clusterbox p{margin:8px 0 12px;font-size:14.5px;color:#5d5648}
.clusterbox .cl{display:flex;flex-wrap:wrap;gap:9px}
.clusterbox .cl a{display:inline-block;background:var(--chip-bg);border:1px solid var(--line);color:var(--ink);
  border-radius:999px;padding:8px 15px;font-size:13px;font-weight:600;text-decoration:none;transition:.2s}
.clusterbox .cl a:hover{border-color:var(--amber);color:var(--amber-dark);transform:translateY(-1px)}
@media(max-width:900px){.xr{flex-direction:column;align-items:flex-start}.xr .btn{align-self:stretch;justify-content:center}}

/* film heroes: the footage moves — no Ken Burns on top of it */
.ihero video.ibg{animation:none}

/* compact hero card: title+rating on one row, tighter rhythm */
.hchead{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}
.hchead h3,.hchead .hct{margin:0}
.hchead .r{font-size:12.5px;color:#5d5648;white-space:nowrap}
.hchead .stars{font-size:12px}
.ihero .helpcard{padding:18px 20px}
.ihero .helpcard .row{margin:10px 0 12px;gap:8px}
.ihero .helpcard .btn{padding:11px 18px;font-size:13.5px}
.ihero .helpcard .mini{padding:9px 0 0;margin-top:2px;font-size:12.5px;line-height:1.45}
.ihero .helpcard .crisis{margin-top:10px;padding:9px 12px;font-size:12.5px}

/* click-to-play film box */
.fvbox{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#14120E;
  border:1px solid var(--line);box-shadow:0 24px 56px rgba(0,0,0,.22);margin-top:8px}
.fvbox video{width:100%;height:100%;object-fit:cover;display:block}
.fvbox .rbadge{pointer-events:none}
.fvbox.playing .fvgo{opacity:0;pointer-events:none;animation:none}
.fvbox.playing .rbadge,.fvbox.playing .fvnote{opacity:0;transition:opacity .4s}
.fvnote{position:absolute;right:14px;bottom:12px;font-size:11px;letter-spacing:.06em;color:#ffffffb0;
  background:rgba(20,18,14,.55);padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px)}

/* h3 sized like the old silo h4 */
.h4s{font-size:18px;margin:20px 0 6px}
.bcard h3{font-family:var(--serif);font-weight:400;font-size:17.5px;margin:8px 0 10px}
/* keyboard focus, everywhere interactive */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
[tabindex]:focus-visible{outline:2.5px solid var(--amber);outline-offset:2px;border-radius:4px}

[data-theme="classic"] h1 .aw{color:var(--amber)}

/* ── homepage review round 1 ───────────────────────────────────────── */
/* 3+5 · vertical rhythm: 84px stacked to 168 between sections — tighten */
section{padding:62px 0}
.statrow{padding:26px 0}
.mbs{padding-top:70px}

/* 6 · Mind. Body. Soul — constellation */
.mbs-title{font-size:clamp(34px,4.6vw,54px)}
.mbs-title .mw{display:inline-block;opacity:0;transform:translateY(.5em)}
.mbs-title .sa{color:var(--amber-display)}
[data-theme="classic"] .mbs-title .sa{color:var(--amber)}
.rv.in .mw,.in .mbs-title .mw{animation:wordUp .8s cubic-bezier(.2,.8,.2,1) forwards}
.rv.in .mw:nth-child(2){animation-delay:.15s}
.rv.in .mw:nth-child(3){animation-delay:.3s}
.mbsflow{position:relative;margin-top:44px}
.mbspath{position:absolute;left:0;right:0;top:8px;width:100%;height:120px;pointer-events:none}
.mbspath path{fill:none;stroke:var(--amber);stroke-width:1.6;opacity:.45;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.2s cubic-bezier(.6,0,.2,1) .2s}
.mbspath.in path{stroke-dashoffset:0}
.mbsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;position:relative;z-index:1}
.mbsnode{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px 26px 26px;
  text-align:center;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.mbsnode:hover{transform:translateY(-6px);box-shadow:0 26px 60px rgba(44,36,20,.16)}
.mbsnode h3{margin:18px 0 8px;font-size:23px}
.mbsnode p{margin:0;font-size:14.5px;line-height:1.6;color:#4a453a}
.orb{position:relative;width:72px;height:72px;margin:0 auto;border-radius:50%;
  background:radial-gradient(closest-side,#FFF7E4,#FBEACB 62%,transparent 63%);display:grid;place-items:center}
.orb::after{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--amber) 55%,transparent)}
.orb-sun .core{width:22px;height:22px;border-radius:50%;background:var(--amber);
  box-shadow:0 0 18px color-mix(in srgb,var(--amber) 70%,transparent);animation:sunbreathe 4s ease-in-out infinite}
.orb-sun .rays{position:absolute;inset:6px;border-radius:50%;
  background:repeating-conic-gradient(var(--amber) 0 2deg,transparent 2deg 30deg);
  -webkit-mask:radial-gradient(circle,transparent 58%,#000 60%,#000 72%,transparent 74%);
  mask:radial-gradient(circle,transparent 58%,#000 60%,#000 72%,transparent 74%);
  animation:rayspin 26s linear infinite;opacity:.85}
@keyframes sunbreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
.orb-star .star{font-size:30px;color:var(--amber);animation:starpulse 2.8s ease-in-out infinite;
  text-shadow:0 0 16px color-mix(in srgb,var(--amber) 70%,transparent)}
@keyframes starpulse{0%,100%{transform:scale(1) rotate(0deg);opacity:.9}50%{transform:scale(1.25) rotate(18deg);opacity:1}}
.orb-moon .moon{width:26px;height:26px;border-radius:50%;
  background:radial-gradient(circle at 68% 35%,transparent 42%,var(--amber) 44%);
  box-shadow:0 0 20px color-mix(in srgb,var(--amber) 45%,transparent);animation:moondrift 6s ease-in-out infinite}
@keyframes moondrift{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@media(max-width:900px){
  .mbsgrid{grid-template-columns:1fr;gap:14px}
  .mbspath{display:none}
  .mbs{padding-top:52px}
}
@media(prefers-reduced-motion:reduce){
  .orb-sun .rays,.orb-sun .core,.orb-star .star,.orb-moon .moon{animation:none}
  .mbspath path{transition:none;stroke-dashoffset:0}
  .mbs-title .mw{opacity:1;transform:none;animation:none}
}

/* 7 · clarity steps (replaces the stock waiting-room image) */
.clarsteps{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:28px;
  display:flex;flex-direction:column;gap:18px;box-shadow:0 24px 60px rgba(0,0,0,.08)}
.clarsteps .cs-k{font-size:11.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--eyebrow)}
.cstep{display:flex;gap:16px;align-items:flex-start}
.cstep .cn{flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--amber);color:#1A1A1A;
  display:grid;place-items:center;font-family:var(--serif);font-size:16px}
.cstep b{display:block;color:#26251F;font-size:15.5px;margin-bottom:3px}
.cstep span{font-size:13.5px;color:#5d5648;line-height:1.5}

/* 9 · route toggle with icons */
.rswitch button{display:inline-flex;align-items:center;gap:8px}
.rswitch button svg{flex:0 0 auto}

/* ── Finding us: two-column, right-sized player ────────────────────── */
.vgrid{display:grid;grid-template-columns:.85fr 1.3fr;gap:clamp(24px,3.5vw,52px);align-items:stretch}
.vleft .rswitch{margin-top:20px;display:inline-flex}
.vleft .rchaps{margin-top:18px;display:flex;flex-direction:column;gap:0;position:relative;padding-left:2px}
.vleft .rchaps::before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:2px;
  background:var(--line);border-radius:2px}
.vleft .rchap{background:none;border:none;border-radius:0;padding:8px 0 8px 26px;position:relative;
  font-size:14px;color:var(--body);transform:none!important;justify-content:flex-start;text-align:left}
.vleft .rchap::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);
  width:12px;height:12px;border-radius:50%;background:var(--ground);border:2px solid var(--line);transition:.25s}
.vleft .rchap:hover{color:var(--ink)}
.vleft .rchap:hover::before{border-color:var(--amber)}
.vleft .rchap.on{background:none;color:var(--amber-display);font-weight:700}
.vleft .rchap.on::before{background:var(--amber);border-color:var(--amber);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 22%,transparent)}
.vleft .rchap .rn{color:inherit;opacity:.75;font-size:13px}
.vleft .rchap.on .rn{color:inherit}
.vinfo{margin-top:26px}
.vinfo b{display:block;font-size:15.5px;color:var(--ink);line-height:1.4}
.vinfo>span{display:block;margin-top:4px;font-size:13px;color:var(--body)}
@media(max-width:900px){
  .vgrid{grid-template-columns:1fr;gap:18px}
  .vgrid>*{min-width:0}
  .vleft .rchaps{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}
  .vleft .rchap{flex:0 0 auto;scroll-snap-align:start}
  .vgrid .rstage{order:-1}
  .vleft .rswitch{margin-top:4px}
}

@media(max-width:900px){
  .vleft .rchaps{flex-direction:row;padding-left:0}
  .vleft .rchaps::before{display:none}
  .vleft .rchap{background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;
    padding:10px 15px;color:var(--ink);font-size:13px}
  .vleft .rchap::before{display:none}
  .vleft .rchap.on{background:var(--amber);border-color:var(--amber);color:#1A1A1A;font-weight:600}
  .rswitch{top:10px;right:10px}
  .rswitch button span{display:none}
  .rswitch button{padding:8px 10px}
}

/* Finding-us info buttons: equal pair, no wrap */
.vbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;max-width:380px}
.vbtns .btn{justify-content:center;padding:12px 14px;font-size:13.5px;white-space:nowrap}
@media(max-width:900px){.vbtns{max-width:none}}

/* clarity: full-width head, cards aligned on one grid line */
.clargrid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(18px,2.5vw,34px);align-items:stretch;margin-top:30px}
.clargrid .clarsteps{height:100%;justify-content:center}
.clargrid .panel{height:100%}
@media(max-width:900px){.clargrid{grid-template-columns:1fr;margin-top:20px}}

/* Finding-us: full-width head, rail+player aligned */
.vhead{max-width:46em}
.vgrid{align-items:start}
.vleft .rchaps{margin-top:4px}



/* video matches the left column's height exactly; cover-crop absorbs the ratio */
.vhead{margin-bottom:26px}
.vgrid .rstage{aspect-ratio:auto;height:100%;min-height:0}
@media(max-width:900px){.vgrid .rstage{aspect-ratio:16/9;height:auto;min-height:0}}

/* ══ homepage polish pass ══════════════════════════════════════════ */

/* 1 · stats: staggered rise + amber tick drawing under each */
.stat b{position:relative;display:block;width:fit-content}
.stat b::after{content:"";position:absolute;left:0;bottom:-5px;height:2px;width:26px;background:var(--amber);
  transform:scaleX(0);transform-origin:left;transition:transform .7s cubic-bezier(.7,0,.2,1) .35s}
.statgrid.go .stat b::after{transform:scaleX(1)}

/* 2 · eyebrows: a dash that draws in when the section reveals */
.eyebrow{position:relative;padding-left:0;transition:padding-left .5s cubic-bezier(.2,.7,.2,1)}
.eyebrow::before{content:"";position:absolute;left:0;top:.55em;height:2px;width:0;
  background:var(--amber);transition:width .6s cubic-bezier(.7,0,.2,1) .1s}
.eyebrow.in,.rv.in .eyebrow,.in .eyebrow{padding-left:31px}
.eyebrow.in::before,.rv.in .eyebrow::before,.in .eyebrow::before{width:22px}

/* 3 · door cards: pointer tilt + film breathe + numeral draw */
.door{transform-style:preserve-3d;will-change:transform;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.door.tilting{transition:box-shadow .35s}
.door .dimg video,.door .dimg img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.door:hover .dimg video,.door:hover .dimg img{transform:scale(1.06)}
.door .num{transition:color .5s, -webkit-text-stroke-color .5s;-webkit-text-stroke:1px transparent}
.doorgrid.go .door .num{color:var(--amber-display)}
.door:hover .num{color:transparent;-webkit-text-stroke:1.5px var(--amber)}

/* 4 · clarity: sequential pops for ticks and step numbers */
.clargrid .panel .tick,.cstep .cn{opacity:0;transform:scale(.4)}
.clargrid .panel.in .tick,.clarsteps.in .cn{animation:tickpop .55s cubic-bezier(.3,1.4,.4,1) forwards}
.clargrid .panel.in .row:nth-child(1) .tick{animation-delay:.15s}
.clargrid .panel.in .row:nth-child(2) .tick{animation-delay:.3s}
.clargrid .panel.in .row:nth-child(3) .tick{animation-delay:.45s}
.clargrid .panel.in .row:nth-child(4) .tick{animation-delay:.6s}
.clarsteps.in .cstep:nth-child(2) .cn{animation-delay:.15s}
.clarsteps.in .cstep:nth-child(3) .cn{animation-delay:.35s}
.clarsteps.in .cstep:nth-child(4) .cn{animation-delay:.55s}
@keyframes tickpop{60%{opacity:1;transform:scale(1.18)}100%{opacity:1;transform:scale(1)}}

/* 5 · portrait: gentle parallax + breathing halo */
.doctor .dframe{transition:none}
.doctor .dframe::before{content:"";position:absolute;inset:-14px;border-radius:inherit;z-index:-1;
  background:radial-gradient(60% 55% at 50% 30%,color-mix(in srgb,var(--amber) 26%,transparent),transparent 70%);
  animation:halobreathe 6s ease-in-out infinite}
@keyframes halobreathe{0%,100%{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}

/* 6 · route rail: idle attract pulse, then progress fill during playback */
.visitsec:not(.started) .vleft .rchap::before{animation:dotwave 3.2s ease-in-out infinite}
.visitsec:not(.started) .vleft .rchap:nth-child(2)::before{animation-delay:.5s}
.visitsec:not(.started) .vleft .rchap:nth-child(3)::before{animation-delay:1s}
.visitsec:not(.started) .vleft .rchap:nth-child(4)::before{animation-delay:1.5s}
@keyframes dotwave{0%,20%,100%{border-color:var(--line);box-shadow:none}
  10%{border-color:var(--amber);box-shadow:0 0 0 4px color-mix(in srgb,var(--amber) 18%,transparent)}}
.vleft .rchaps::after{content:"";position:absolute;left:7px;top:10px;width:2px;height:calc((100% - 20px) * var(--railp,0));
  background:var(--amber);border-radius:2px;transition:height .25s linear}

/* 7 · closing band: emblem drift + breathing glow behind the line */
.band{position:relative;overflow:hidden}
.band .emblem-bg{animation:embdrift 26s ease-in-out infinite alternate}
@keyframes embdrift{from{transform:translateY(-8px) rotate(-2deg) scale(1)}to{transform:translateY(10px) rotate(2deg) scale(1.05)}}
.band .wrap::before{content:"";position:absolute;left:50%;top:36%;width:520px;height:300px;transform:translate(-50%,-50%);
  background:radial-gradient(closest-side,color-mix(in srgb,var(--amber) 22%,transparent),transparent 72%);
  pointer-events:none;animation:halobreathe 7s ease-in-out infinite;z-index:-1}

@media (prefers-reduced-motion:reduce){
  .stat b::after{transition:none;transform:scaleX(1)}
  .eyebrow::before{transition:none;width:22px}
  .eyebrow{transition:none;padding-left:31px}
  .door:hover .dimg video,.door:hover .dimg img{transform:none}
  .clargrid .panel .tick,.cstep .cn{opacity:1;transform:none;animation:none!important}
  .doctor .dframe::before,.band .emblem-bg,.band .wrap::before{animation:none}
  .visitsec:not(.started) .vleft .rchap::before{animation:none}
}

/* ── footer, finished ─────────────────────────────────────────────── */
footer.site{position:relative;overflow:hidden;border-top:1px solid #ffffff14}
.fglow{position:absolute;left:50%;top:-140px;width:640px;height:280px;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(245,166,35,.13),transparent 70%);pointer-events:none}
.flock{display:flex;align-items:center;gap:12px;margin-bottom:16px}
.flock img:first-child{height:44px}
.flock img:last-child{height:20px}
.ftag{max-width:30em;font-size:13.5px;line-height:1.65;color:#98937F;margin:0 0 20px}
footer.site a.fbook{display:inline-flex;color:#1A1A1A;padding:11px 20px;font-size:13.5px;width:auto}
.faddr{font-style:normal;margin:0 0 12px}
footer.site .faddr a{display:block;padding:0;line-height:1.55;color:#D8D2C4}
.faddr a:hover{color:var(--amber)}
.fnoteln{display:block;margin-top:5px;font-size:12.5px;color:#7E7867}
footer.site a.fcontact{display:block;color:#D8D2C4;padding:3px 0}
.fcrisis{margin-top:34px;padding:14px 18px;border:1px solid rgba(245,166,35,.28);border-radius:12px;
  background:rgba(245,166,35,.07);font-size:13px;color:#E8D5AC;text-align:center}
footer.site .fcrisis a{display:inline;color:#FFDF9E;padding:0}
.fcrisis b{color:#FFDF9E}
footer.site .legal{margin-top:22px;padding-top:18px;border-top:1px solid #ffffff12;display:flex;
  justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:12px;color:#7E7867}
@media(max-width:900px){
  footer.site .cols{grid-template-columns:1fr 1fr}
  .fbrand{grid-column:1/-1}
  footer.site .legal{flex-direction:column;gap:6px}
}
@media(max-width:560px){footer.site .cols{grid-template-columns:1fr}}

/* ── Google reviews section (multi-profile) ─────────────────────── */
.revsec{padding:62px 0}
.rvchips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 30px}
.rvchip{font:inherit;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--body);
  background:var(--chip-bg);border:1px solid var(--line);border-radius:999px;padding:9px 20px;
  cursor:pointer;transition:color .2s,border-color .2s,background .2s}
.rvchip:hover{border-color:var(--amber)}
.rvchip.on{color:var(--ink);border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.rvpan{display:none}
.rvpan.on{display:block;animation:rvin .45s ease both}
@keyframes rvin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.rvhead{display:flex;align-items:baseline;gap:18px;margin-bottom:26px;flex-wrap:wrap}
.rvnum{font-family:var(--serif);font-size:64px;line-height:1;color:var(--eyebrow)}
.rvmeta{display:flex;flex-direction:column;gap:4px}
.rvmeta .stars{color:var(--amber);letter-spacing:.12em;font-size:15px}
.rvmeta a{color:var(--body);font-size:13.5px;text-decoration:none;border-bottom:1px solid var(--line)}
.rvmeta a:hover{color:var(--ink);border-color:var(--amber)}
.rvgrid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.rvc{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;
  margin:0;display:flex;flex-direction:column;gap:12px}
[data-theme="classic"] .rvc{background:#ffffff0d;border-color:#3B3A36}
.rvc .stars{color:var(--amber);letter-spacing:.12em;font-size:13px}
.rvc p{font-size:14.5px;line-height:1.6;color:var(--body);flex:1;margin:0}
.rvc footer{font-size:12.5px;color:var(--eyebrow);font-weight:600}
@media (prefers-reduced-motion:reduce){.rvpan.on{animation:none}}

/* ── 3D tour pane in the route stage ────────────────────────────── */
.rtour{position:absolute;inset:0;z-index:4;background:#1A1A1A}
.rtour iframe{width:100%;height:100%;border:0;display:block}

/* ── standalone 3D tour section ─────────────────────────────────── */
.toursec{padding:62px 0}
.tstage{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:16/7;
  box-shadow:0 30px 70px rgba(0,0,0,.22);background:#1A1A1A}
.tstage img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s ease}
.tstage:hover img{transform:scale(1.025)}
.tstage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(20,18,14,.45));pointer-events:none}
.tstage.live::after{display:none}
.tstage iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tplay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;
  display:flex;align-items:center;gap:10px;font:inherit;font-size:15px;font-weight:600;
  color:#FBF7EF;background:rgba(20,18,14,.55);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(251,247,239,.35);border-radius:999px;padding:14px 26px;cursor:pointer;
  transition:background .25s,border-color .25s,transform .25s}
.tplay:hover{background:rgba(20,18,14,.72);border-color:var(--amber);transform:translate(-50%,-50%) scale(1.04)}
.tplay svg{width:19px;height:19px}
.tplay{white-space:nowrap}
@media(max-width:700px){.tstage{aspect-ratio:4/3}.tplay{font-size:13.5px;padding:11px 18px}}

/* enquiry form: honeypot off-screen (never display:none — bots check), error note */
.hpw{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.ferr{color:var(--risk,#A8452E);font-weight:600}
.ferr a{color:inherit}

/* ── Abbey chat panel ───────────────────────────────────────────── */
.apanel[hidden]{display:none}
.apanel{position:fixed;right:18px;bottom:18px;z-index:90;width:min(370px,calc(100vw - 24px));
  height:min(560px,calc(100dvh - 40px));display:flex;flex-direction:column;border-radius:20px;
  background:var(--card);border:1px solid var(--line);box-shadow:0 30px 80px rgba(0,0,0,.35);overflow:hidden}
[data-theme="classic"] .apanel{background:#242424}
.ahead{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid var(--line)}
.ahead .dot{width:34px;height:34px;border-radius:50%;background:var(--amber);color:#1A1A1A;
  display:grid;place-items:center;font-weight:800}
.ahead b{display:block;color:var(--ink);font-size:15px;line-height:1.1}
.ahead small{color:var(--body);font-size:11.5px}
.ahead .ax{margin-left:auto;background:none;border:0;color:var(--body);font-size:22px;cursor:pointer;line-height:1;padding:4px 8px}
.abody{position:relative;flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px}
.am{max-width:86%;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.5;color:var(--ink)}
.am.abbey{background:var(--ground-edge);border-bottom-left-radius:4px;align-self:flex-start}
[data-theme="classic"] .am.abbey{background:#2E2D2A}
.am.me{background:var(--amber);color:#1A1A1A;border-bottom-right-radius:4px;align-self:flex-end}
.am a{color:var(--eyebrow);font-weight:600}
.am.me a{color:inherit}
.am.typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--body);
  margin:0 2px;animation:blink 1.2s infinite}
.am.typing span:nth-child(2){animation-delay:.2s}.am.typing span:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,80%,100%{opacity:.25}40%{opacity:1}}
.acap{display:flex;flex-direction:column;gap:8px;width:86%}
.acap input{width:100%;border:1.5px solid var(--line);border-radius:9px;padding:9px 11px;font:inherit;font-size:13.5px;background:var(--card);color:var(--ink)}
.acap .btn,.acont{font-size:13px;padding:9px 14px;margin-top:2px}
.achips{display:flex;gap:7px;flex-wrap:wrap;padding:0 14px 10px}
.achip{font:inherit;font-size:12px;font-weight:600;color:var(--body);background:var(--chip-bg);
  border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}
.achip:hover{border-color:var(--amber);color:var(--ink)}
.afoot{display:flex;gap:8px;padding:10px 14px;border-top:1px solid var(--line)}
.afoot .ain{flex:1;border:1.5px solid var(--line);border-radius:999px;padding:10px 15px;font:inherit;
  font-size:13.5px;background:var(--card);color:var(--ink);outline:none}
.afoot .ain:focus{border-color:var(--amber)}
.afoot .btn{padding:9px 16px;font-size:13.5px}
.acrisis{text-align:center;font-size:11.5px;color:var(--body);padding:7px 10px;background:var(--ground-edge);border-top:1px solid var(--line)}
[data-theme="classic"] .acrisis{background:#2E2D2A}
.acrisis a{color:var(--eyebrow)}
@media (prefers-reduced-motion:reduce){.am.typing span{animation:none;opacity:.6}}

/* Abbey v2: header buttons, unread badge, jump pill, pill-open state */
.ahead .amin{margin-left:auto;background:none;border:0;color:var(--body);font-size:22px;cursor:pointer;line-height:1;padding:4px 8px}
.ahead .ax{margin-left:0}
#abbey .abadge{position:absolute;top:-6px;right:-6px;min-width:19px;height:19px;border-radius:999px;
  background:#C24A2E;color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center;padding:0 5px}
#abbey .abadge[hidden]{display:none}
#abbey.aopen{opacity:0;pointer-events:none;transition:opacity .2s}
.ajump{align-self:center;margin:0 auto 6px;font:inherit;font-size:12px;font-weight:700;color:#1A1A1A;
  background:var(--amber);border:0;border-radius:999px;padding:7px 14px;cursor:pointer;
  box-shadow:0 6px 18px rgba(0,0,0,.25)}

/* ── taste-pass R2 fixes ────────────────────────────────────────── */
/* centered section headers: no orphaned left dash */
.mbs .eyebrow, .band .eyebrow{padding-left:0!important}
.mbs .eyebrow::before, .band .eyebrow::before{display:none}
/* tour: breathing room between sub and stage */
.toursec .tstage{margin-top:28px}
/* router: expandable extra chips */
.chips .morebtn{border-style:dashed;color:var(--eyebrow);font-weight:700}
.chips .xchips{display:contents}
.chips .xchips[hidden]{display:none}
/* Mind-Body-Soul: cinematic tiles */
.mbsnode .mtile{position:relative;border-radius:14px;overflow:hidden;height:150px;margin-bottom:-27px}
.mbsnode .mtile img{width:100%;height:100%;object-fit:cover;display:block}
.mbsnode .mtile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(20,18,14,.38))}
.mbsnode .orb{position:relative;z-index:2;background:var(--card);box-shadow:0 8px 24px rgba(0,0,0,.18)}

/* footer: accessibility link + larger-text toggle */
footer.site .legal .floot{color:#B9B3A6;display:inline;text-decoration:underline;text-underline-offset:2px}
footer.site .legal .floot:hover{color:#FBF7EF}
#fstog{font:inherit;font-size:inherit;background:none;border:0;color:#B9B3A6;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}
#fstog:hover{color:#FBF7EF}
#fstog[aria-pressed="true"]{color:var(--amber)}
html[data-fs="lg"]{font-size:112.5%}
html[data-fs="lg"] body{font-size:17.5px}
/* dark hero: outline button must read over film */
.ihero .btn.line{color:#FBF7EF;box-shadow:inset 0 0 0 1.5px rgba(251,247,239,.8)}
.ihero .btn.line:hover{color:var(--amber);box-shadow:inset 0 0 0 1.5px var(--amber)}

/* ── silo cards v2: cinematic, legible, alive ───────────────────── */
.silo{overflow:hidden;isolation:isolate;min-height:172px;background:#221F1B}
.silo::after{content:"";position:absolute;inset:0;z-index:0;opacity:1;background:var(--si) center/cover no-repeat #221F1B;
  transition:transform .6s cubic-bezier(.2,.7,.2,1),filter .45s;filter:saturate(.85)}
.silo .veil{position:absolute;inset:0;z-index:1;
  background:linear-gradient(180deg,rgba(24,21,17,.34) 0%,rgba(24,21,17,.55) 55%,rgba(24,21,17,.9) 100%);
  transition:opacity .45s}
.silo>*:not(.veil){position:relative;z-index:2}
.silo::before{z-index:3}
.silo:hover{transform:translateY(-6px);box-shadow:0 22px 48px rgba(0,0,0,.3),0 0 0 1.5px var(--amber)}
.silo:hover::after{transform:scale(1.07);filter:saturate(1)}
.silo h4,.silo .h4s{font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.2;
  margin:8px 0 4px;color:#FBF7EF!important;text-shadow:0 2px 14px rgba(0,0,0,.55)}
.silo .d{font-size:12.5px;line-height:1.45;color:#D8D2C4;max-width:26em;
  opacity:.85;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.silo .go{transition:letter-spacing .3s,color .3s}
.silo:hover .go{letter-spacing:.2em;color:#FBF7EF}
.silo:hover .n{color:#FBF7EF}
@media (prefers-reduced-motion:reduce){.silo::after{transition:none}.silo:hover::after{transform:none}}

/* credentials rail: draw in on reveal */
.tline.vert::before{transform:scaleY(0);transform-origin:top;transition:transform 1.1s cubic-bezier(.2,.7,.2,1) .15s}
.tline.vert.in::before{transform:none}
.tline.vert .tl::before{transform:scale(0);transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.tline.vert.in .tl::before{transform:none}
.tline.vert.in .tl:nth-child(2)::before{transition-delay:.25s}
.tline.vert.in .tl:nth-child(3)::before{transition-delay:.45s}
.tline.vert.in .tl:nth-child(4)::before{transition-delay:.65s}
.tline.vert.in .tl:nth-child(5)::before{transition-delay:.85s}
@media (prefers-reduced-motion:reduce){.tline.vert::before,.tline.vert .tl::before{transform:none;transition:none}}

/* inline review quotes: a voice, not a box */
.inq{padding-top:30px}
.inq::before{content:"\201C";position:absolute;top:2px;left:14px;font-family:var(--serif);
  font-size:56px;line-height:1;color:var(--amber);opacity:.35}
.inq{transition:transform .3s,box-shadow .3s}
.inq:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.1)}

/* provider portrait: quiet breathing halo */
.ihero .dframe{animation:portglow 5.5s ease-in-out infinite}
@keyframes portglow{0%,100%{box-shadow:0 30px 70px rgba(0,0,0,.42)}50%{box-shadow:0 30px 84px rgba(0,0,0,.42),0 0 56px rgba(245,166,35,.28)}}
@media (prefers-reduced-motion:reduce){.ihero .dframe{animation:none}}

/* centered eyebrow in book/take-the-first-step heads: no orphan dash */
.book .eyebrow{padding-left:0!important}
.book .eyebrow::before{display:none}

/* YouTube facades (patient stories) */
.ytgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
@media(max-width:900px){.ytgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px;scrollbar-width:none}
  .ytgrid>*{flex:0 0 78%;scroll-snap-align:center}}
.ytbox{position:relative;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#1A1A1A;cursor:pointer}
.ytbox img{width:100%;height:100%;object-fit:cover;display:block;opacity:.85;transition:transform .5s,opacity .3s}
.ytbox:hover img{transform:scale(1.05);opacity:1}
.ytbox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ytbox .rbadge{position:absolute;left:12px;bottom:10px;top:auto;right:auto;height:auto;width:auto}

/* before/after gallery */
.bagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
@media(max-width:900px){.bagrid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.bagrid{grid-template-columns:1fr}}
.bapair{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px;border-radius:14px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.ba{position:relative;aspect-ratio:3/4}
.ba img{width:100%;height:100%;object-fit:cover;display:block}
.ba span{position:absolute;left:8px;bottom:8px;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  color:#FBF7EF;background:rgba(20,18,14,.6);padding:4px 8px;border-radius:999px}

/* ── live-homepage content ports (verbatim copy, laid out by nature) ── */
.hl-integ .narrow,.hl-about .narrow{max-width:var(--narrow,52em)}
.bugrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}
.bucard{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 20px 18px;position:relative;display:flex;flex-direction:column}
.bucard .bun{font-family:var(--serif);font-size:30px;line-height:1;color:color-mix(in srgb,var(--amber) 55%,transparent)}
.bucard h3{margin:10px 0 4px;font-size:20px}
.bucard p{font-size:14.5px;line-height:1.55;margin:8px 0;color:var(--body)}
.bucard .go{margin-top:auto;padding-top:10px;font-weight:600;color:var(--amber-ink,#8a5a00)}
.cashpay{margin-top:30px;padding:26px 28px;border:1px solid var(--line);border-radius:16px;background:var(--card)}
.cashpay h3{margin:6px 0 4px;font-size:24px}
.cashpay .ticks{margin-top:10px}
.cols2.top{align-items:start}
.tline.three{grid-template-columns:repeat(3,1fr)}
.hl-open{padding:34px 0}
.hl-open h3{font-size:20px;margin-bottom:8px}
.hl-open p{font-size:14.5px;color:var(--muted,var(--body))}
@media (max-width:900px){.bugrid{grid-template-columns:1fr 1fr}.tline.three{grid-template-columns:1fr}}
@media (max-width:560px){.bugrid{grid-template-columns:1fr}}
.cashpay p{margin:12px 0;color:var(--body)}

/* ── study finder (enrolling studies) ── */
.finder .head{max-width:52em}
.sfilt{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:22px 0 18px}
.sfilt button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:999px;padding:8px 16px;font:600 14px var(--sans);cursor:pointer;transition:background .2s,color .2s,transform .2s}
.sfilt button b{font-weight:600;opacity:.55;margin-left:4px}
.sfilt button.on{background:var(--amber);color:#1e1a12;border-color:var(--amber)}
.sfilt button:hover{transform:translateY(-1px)}
.ssearch{margin-left:auto;flex:0 1 260px}
.ssearch input{width:100%;border:1px solid var(--line);border-radius:999px;padding:9px 16px;font:14px var(--sans);background:var(--card);color:var(--ink)}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.scard{display:flex;gap:16px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s,opacity .3s}
.scard:hover{transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(60,40,10,.45)}
.scard[hidden]{display:none}
.sicon{flex:0 0 96px;width:96px;height:96px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,color-mix(in srgb,var(--amber) 22%,#fff));display:grid;place-items:center;overflow:hidden;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 35%,transparent)}
.sicon img{width:84px;height:84px;object-fit:contain;transition:transform .35s}
.sicon.photo img{width:100%;height:100%;object-fit:cover}
.scard:hover .sicon img{transform:scale(1.08) rotate(-2deg)}
.sbody{min-width:0;display:flex;flex-direction:column}
.skind{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink,#8a5a00);margin-bottom:8px}
.scard h3{font-size:21px;margin:0 0 6px}
.scard p{font-size:14.5px;line-height:1.5;margin:0 0 6px;color:var(--body);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.scard p.ask{font-weight:600;color:var(--ink);-webkit-line-clamp:2}
.sact{display:flex;gap:8px;margin-top:auto;padding-top:10px;flex-wrap:wrap}
.btn.sm{padding:8px 14px;font-size:13.5px}
@media (max-width:1000px){.sgrid{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.sgrid{grid-template-columns:1fr}.ssearch{flex-basis:100%;margin-left:0}}

/* homepage: mission figure, pillars, "more" disclosure */
.hl-about .cols2{align-items:center}
.mission{margin:0;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/4.6;box-shadow:0 30px 60px -30px rgba(50,30,0,.5)}
.mission img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform 1.2s}
.mission:hover img{transform:scale(1.07)}
.mission blockquote{position:absolute;left:0;right:0;bottom:0;margin:0;padding:34px 26px 24px;color:#fff;font:italic 20px/1.4 var(--serif);background:linear-gradient(to top,rgba(20,14,6,.86),rgba(20,14,6,.55) 60%,transparent)}
.mission .q{display:block;font-size:44px;line-height:.6;color:var(--amber);margin-bottom:10px}
.mission footer{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--amber);margin-top:12px}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:18px;position:relative}
.pillars::before{content:"";position:absolute;left:4%;right:4%;top:22px;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent);opacity:.6}
.pillar{padding:0 26px 0 0;position:relative}
.pillar+ .pillar{padding-left:26px;border-left:1px solid var(--line)}
.pillar .pn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--card);border:1px solid var(--amber);color:var(--amber-ink,#8a5a00);font:700 13px var(--sans);position:relative;z-index:1}
.pillar b{display:block;font:22px/1.2 var(--serif);margin:14px 0 8px}
.pillar p{font-size:15px;line-height:1.55;color:var(--body);margin:0}
details.more{margin:14px 0 0;color:var(--body)}
details.more summary{cursor:pointer;font-weight:600;color:var(--amber-ink,#8a5a00);list-style:none;display:inline-flex;align-items:center;gap:8px}
details.more summary::before{content:"+";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--amber);font-weight:600}
details.more[open] summary::before{content:"–"}
details.more p{margin:10px 0 0;max-width:52em}
@media (max-width:900px){.pillars{grid-template-columns:1fr}.pillars::before{display:none}.pillar{padding:0 0 18px}.pillar+ .pillar{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:18px}.mission{aspect-ratio:4/3}}

/* condition pages: CTA panel + definition box (generic section renderer) */
.ctapanel{margin:26px 0 6px;padding:26px 28px;border-radius:18px;background:linear-gradient(135deg,color-mix(in srgb,var(--amber) 18%,var(--card)),var(--card));border:1px solid color-mix(in srgb,var(--amber) 40%,var(--line));display:grid;grid-template-columns:1.4fr auto;gap:22px;align-items:center}
.ctapanel h3{margin:0 0 6px;font-size:24px}
.ctapanel p{margin:0;font-size:15px;line-height:1.55}
.ctapanel .cta-row{flex-direction:column;align-items:stretch;gap:10px;min-width:220px}
.defbox{margin:22px 0;padding:22px 26px 22px 30px;border-left:4px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--card));border-radius:0 16px 16px 0}
.defbox h3{margin:0 0 8px;font-size:22px}
.defbox p{margin:0}
@media (max-width:760px){.ctapanel{grid-template-columns:1fr}}

/* long pages: first paragraph reads as a lead; numbered feature cards; dot nav */
.csec .wrap.narrow > h2 + p{font-size:18.5px;line-height:1.6;color:var(--ink)}
.txc .txn{font-family:var(--serif);font-size:22px;color:color-mix(in srgb,var(--amber) 70%,transparent);line-height:1;display:block;margin-bottom:6px}
.dotnav{position:fixed;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:40;opacity:0;pointer-events:none;transition:opacity .4s}
.dotnav.show{opacity:1;pointer-events:auto}
.dotnav a{width:10px;height:10px;border-radius:50%;background:color-mix(in srgb,var(--ink) 22%,transparent);position:relative;display:block;transition:transform .25s,background .25s}
.dotnav a.on{background:var(--amber);transform:scale(1.5)}
.dotnav a::after{content:attr(data-t);position:absolute;right:20px;top:50%;transform:translateY(-50%);white-space:nowrap;font:600 12px var(--sans);color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:5px 10px;opacity:0;pointer-events:none;transition:opacity .2s}
.dotnav a:hover::after{opacity:1}
@media (max-width:1100px){.dotnav{display:none}}
.reslink{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);font-weight:600;text-decoration:none}

/* condition-link chips + study hero icon */
.condchips{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 6px}
.condchips a,.condchips .nolink{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:14.5px;color:var(--ink);text-decoration:none;transition:transform .2s,border-color .2s,background .2s}
.condchips a span{color:var(--amber);transition:transform .2s}
.condchips a:hover{transform:translateY(-2px);border-color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,var(--card))}
.condchips a:hover span{transform:translateX(3px)}
.hicon{width:96px;height:96px;border-radius:50%;background:rgba(255,255,255,.9);padding:10px;object-fit:contain;display:block;margin:0 0 14px;box-shadow:0 10px 30px -12px rgba(0,0,0,.5)}

/* blog: featured images */
.pfeat{margin:-26px 0 26px;border-radius:20px;overflow:hidden;aspect-ratio:16/8;box-shadow:0 26px 50px -30px rgba(50,30,0,.45)}
.pfeat img{width:100%;height:100%;object-fit:cover;display:block}
.bcard.hasimg{padding-top:0;overflow:hidden}
.bcard .bimg{display:block;margin:0 -1px 16px;aspect-ratio:16/9;overflow:hidden;border-radius:16px 16px 0 0}
.bcard .bimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s}
.bcard:hover .bimg img{transform:scale(1.05)}
.bcard.hasimg .bcat,.bcard.hasimg h3,.bcard.hasimg p,.bcard.hasimg .go{margin-left:22px;margin-right:22px}
.scard p.sif{font-size:13px;color:var(--muted,var(--body));-webkit-line-clamp:2}

/* quality gate: contrast + lock ratio */
.themepill button{opacity:1;color:color-mix(in srgb,var(--ink) 70%,var(--chip-bg))}
.themepill button:hover{color:var(--ink)}
footer.site .fnoteln,footer.site .legal span,footer.site .legal{color:#B9B3A4}
img.slock{height:auto!important}

.csec .snum::before{content:attr(data-n)}

/* ═══ Homepage v3 ═══ */
/* Door explorer: five panels, the hovered one opens */
.doors2{padding:70px 0 60px}
.xdoors{display:flex;gap:12px;height:520px;margin-top:34px}
.xdoor{position:relative;flex:1;min-width:0;border-radius:22px;overflow:hidden;text-decoration:none;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:flex 1.05s cubic-bezier(.33,.9,.25,1);transform:translateY(24px);opacity:0;animation:xin .8s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(var(--i) * .09s)}
.xdoors.rv:not(.in) .xdoor{animation-play-state:paused}
@keyframes xin{to{transform:none;opacity:1}}
.xdoor:hover,.xdoor:focus-visible,.xdoor.open{flex:2.7}
.xdoor .xmedia{position:absolute;inset:0;z-index:0}
.xdoor .xmedia .dimg{display:block;height:100%;margin:0;border-radius:0}
.xdoor .xmedia img,.xdoor .xmedia video{width:100%;height:100%;object-fit:cover;transform:scale(1.06);transition:transform 1.6s cubic-bezier(.25,.8,.25,1);filter:saturate(.92)}
.xdoor:hover .xmedia img,.xdoor:hover .xmedia video{transform:scale(1)}
.xdoor .xveil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(18,14,8,.05) 20%,rgba(18,14,8,.55) 62%,rgba(18,14,8,.9));transition:opacity .5s}
.xdoor .xnum{position:absolute;top:18px;left:20px;z-index:2;font-family:var(--serif);font-size:26px;color:var(--amber);text-shadow:0 2px 12px rgba(0,0,0,.4)}
.xdoor .xbody{position:relative;z-index:2;padding:22px 20px 22px;display:flex;flex-direction:column;gap:8px}
.xdoor .xtitle{font-family:var(--serif);font-size:24px;line-height:1.12;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;white-space:nowrap;max-height:420px;opacity:1;overflow:hidden;transition:max-height .7s cubic-bezier(.33,.9,.25,1),opacity .35s;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.xdoor .xtitle2{display:block;font-family:var(--serif);font-size:30px;line-height:1.1;max-height:0;opacity:0;overflow:hidden;transition:max-height .8s cubic-bezier(.33,.9,.25,1),opacity .55s .2s;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.xdoor:hover .xtitle,.xdoor:focus-visible .xtitle,.xdoor.open .xtitle{max-height:0;opacity:0;transition:max-height .5s cubic-bezier(.33,.9,.25,1),opacity .2s}
.xdoor:hover .xtitle2,.xdoor:focus-visible .xtitle2,.xdoor.open .xtitle2{max-height:120px;opacity:1}
.xdoor .xlead,.xdoor .xmore,.xdoor .go{opacity:0;max-height:0;overflow:hidden;transition:opacity .6s .25s,max-height .8s cubic-bezier(.33,.9,.25,1)}
.xdoor:hover .xlead,.xdoor:focus-visible .xlead,.xdoor.open .xlead{opacity:1;max-height:120px;font-size:15.5px;line-height:1.5;color:#fff}
.xdoor:hover .xmore,.xdoor:focus-visible .xmore,.xdoor.open .xmore{opacity:.86;max-height:120px;font-size:13.5px;line-height:1.5;color:#f3ede1}
.xdoor:hover .go,.xdoor:focus-visible .go,.xdoor.open .go{opacity:1;max-height:24px;font-size:11.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
@media (max-width:1000px){.xdoors{height:auto;flex-direction:column;gap:12px}.xdoor{flex:none;height:150px}.xdoor .xtitle{display:none}.xdoor .xtitle2{max-height:none;opacity:1;font-size:24px}.xdoor:hover,.xdoor.open{flex:none;height:auto}.xdoor .xlead,.xdoor .xmore,.xdoor .go{opacity:1;max-height:none}.xdoor .xmore{display:none}.xdoor .xlead{font-size:14.5px;color:#fff}.xdoor .go{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}}
@media (prefers-reduced-motion:reduce){.xdoor{animation:none;opacity:1;transform:none;transition:none}}

/* Psychiatry at the core */
.pcore{padding:70px 0 64px;background:radial-gradient(120% 130% at 50% 0%,color-mix(in srgb,var(--ground-edge) 55%,var(--ground)) 20%,var(--ground) 100%)}
.pcore .cols2{align-items:center}
.pcore .lead{font-size:18.5px;line-height:1.6;color:var(--ink)}
.condchips.home{margin-top:18px}
.condchips.home a.all{background:var(--amber);border-color:var(--amber);color:#1e1a12}
.pathhead{margin:54px 0 18px}
.pathhead .h3s,.pathhead h3{font-size:clamp(22px,2.6vw,30px);margin:8px 0 0}
.carepath{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:cp;position:relative}
.carepath::before{content:"";position:absolute;left:6%;right:6%;top:34px;height:1px;background:linear-gradient(90deg,transparent,var(--amber) 15%,var(--amber) 85%,transparent);opacity:.55}
.cstep2{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 18px 18px;position:relative;transition:transform .3s,box-shadow .3s}
.cstep2:hover{transform:translateY(-6px);box-shadow:0 22px 44px -26px rgba(60,40,10,.5)}
.cstep2 .ci{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:color-mix(in srgb,var(--amber) 18%,var(--card));color:var(--amber-ink,#8a5a00);font-size:20px;margin-bottom:12px;position:relative;z-index:1;box-shadow:0 0 0 6px var(--card)}
.cstep2 b{display:block;font:20px/1.2 var(--serif);margin-bottom:6px}
.cstep2 p{margin:0;font-size:13.5px;line-height:1.5;color:var(--body)}
@media (max-width:1000px){.carepath{grid-template-columns:1fr 1fr}.carepath::before{display:none}}
@media (max-width:560px){.carepath{grid-template-columns:1fr}}

/* Review wall */
.revsec.wall{padding:70px 0 66px;overflow:hidden}
.revsec.wall .rvchip b{font-weight:700;color:var(--amber-ink,#8a5a00);margin-left:4px}
.rvwall{margin-top:8px;display:flex;flex-direction:column;gap:16px;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.rvrow{display:flex;width:max-content;gap:16px;animation:rvscroll 70s linear infinite}
.rvrow.rev{animation-direction:reverse;animation-duration:84s}
.rvrow .rvtrack{display:flex;gap:16px}
.rvwall:hover .rvrow,.rvwall.paused .rvrow{animation-play-state:paused}
@keyframes rvscroll{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 8px))}}
.rvc2{width:340px;flex:0 0 340px;margin:0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px 22px 16px;display:flex;flex-direction:column;gap:10px;cursor:pointer;transition:transform .3s,box-shadow .3s,border-color .3s;position:relative}
.rvc2:hover,.rvc2:focus-visible{transform:translateY(-4px);box-shadow:0 20px 40px -26px rgba(60,40,10,.5);border-color:color-mix(in srgb,var(--amber) 50%,var(--line))}
.rvc2 .stars{color:var(--amber);letter-spacing:.12em;font-size:13px}
.rvc2 p{margin:0;font-size:14.5px;line-height:1.55;color:var(--body);display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rvc2 p::after{content:""}
.rvc2.open{width:520px;flex-basis:520px}
.rvc2.open p{-webkit-line-clamp:unset;display:block}
.rvc2 footer{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--eyebrow);font-weight:600;margin-top:auto}
.rvc2 .av{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--amber) 22%,var(--card));color:var(--amber-ink,#8a5a00);font:700 12px var(--sans)}
.rvc2::before{content:"Read";position:absolute;right:16px;bottom:14px;font:700 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--amber-ink,#8a5a00);opacity:0;transition:opacity .3s}
.rvc2:hover::before{opacity:1}
.rvc2.open::before{content:"Close"}
@media (prefers-reduced-motion:reduce),(max-width:760px){.rvrow{animation:none;width:auto;flex-wrap:wrap}.rvrow .rvtrack[aria-hidden]{display:none}.rvrow .rvtrack{flex-wrap:wrap}.rvc2,.rvc2.open{width:100%;flex-basis:100%}.rvwall{mask-image:none;-webkit-mask-image:none}}

/* doctor: three-step path under the bio */
.doctor .tline.three{margin-top:22px}
.doctor .h3s{font-size:clamp(22px,2.6vw,30px);margin:6px 0 0}

/* scroll-driven parallax where supported */
@supports (animation-timeline: view()){
  .mission img,.dframe img{animation:plx linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes plx{from{transform:scale(1.12) translateY(-4%)}to{transform:scale(1.12) translateY(4%)}}
  .mission:hover img{animation-play-state:running}
}

/* homepage v3 fixes */
@media (max-width:1000px){.xdoor .xnum{position:static;margin:0 0 0 20px;padding-top:16px;display:block}.xdoor .xbody{padding-top:6px}.xdoor{min-height:180px;height:auto}}
@media (max-width:1000px){.xdoor .xtitle{font-size:clamp(19px,5.4vw,24px)}}

/* ═══ Site-wide v3: self-checks, step strips, post digest ═══ */
.selfcheck .sym,.checks.self button{cursor:pointer;text-align:left;font:inherit;color:inherit;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.checks.self button{display:flex;gap:11px;font-size:14.5px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 15px;color:var(--ink);align-items:flex-start}
.selfcheck .sym:hover,.checks.self button:hover{transform:translateY(-2px);border-color:var(--amber)}
.selfcheck .sym[aria-pressed="true"],.checks.self button[aria-pressed="true"]{background:color-mix(in srgb,var(--amber) 14%,var(--card));border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.selfcheck .sym[aria-pressed="true"] .sn{color:var(--amber-ink,#8a5a00)}
.checks.self button .tick{opacity:.35;transition:opacity .2s,transform .2s}
.checks.self button[aria-pressed="true"] .tick{opacity:1;transform:scale(1.15)}
.symsum{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:14px 0 6px;padding:14px 18px;border-radius:14px;background:var(--card);border:1px dashed color-mix(in srgb,var(--amber) 55%,var(--line))}
.symsum .symcount{font:600 15px var(--sans);color:var(--ink)}
.symsum .symcount b{font-family:var(--serif);font-size:24px;color:var(--amber-ink,#8a5a00);margin-right:4px}
.symsum .symhint{font-size:13px;color:var(--body);flex:1;min-width:200px}
.symsum .btn.sm{opacity:.55;transition:opacity .3s,transform .3s}
.symsum.lit .btn.sm{opacity:1;transform:scale(1.03)}
.symsum.lit{border-style:solid;background:color-mix(in srgb,var(--amber) 8%,var(--card))}
.stepstrip{list-style:none;margin:18px 0 10px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;position:relative}
.stepstrip li{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:44px 16px 16px;font-size:14px;line-height:1.5;color:var(--body);position:relative}
.stepstrip .stn{position:absolute;top:12px;left:14px;width:26px;height:26px;border-radius:50%;background:var(--amber);color:#1e1a12;font:700 13px/26px var(--sans);text-align:center}
.brief{margin:8px 0 26px;padding:22px 26px;border-radius:16px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--amber)}
.brief .tk{display:block;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--amber-ink,#8a5a00);margin-bottom:10px}
.brief ul{margin:0;padding:0 0 0 18px}
.brief li{margin:6px 0;font-size:14.5px;line-height:1.5;color:var(--body)}
.brief li b{color:var(--ink);font-weight:600}
.catchips .ssearch{margin-left:auto;flex:0 1 240px}
@media (max-width:640px){.catchips .ssearch{flex-basis:100%;margin-left:0}}
.fitlist button.fitem{font:inherit;color:inherit;text-align:left;cursor:pointer;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.fitlist button.fitem:hover{transform:translateY(-2px);border-color:var(--amber)}
.fitlist button.fitem[aria-pressed="true"]{background:color-mix(in srgb,var(--amber) 14%,var(--card));border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}
.fitlist button.fitem{display:flex;gap:12px;align-items:flex-start;width:100%}
.fitlist button.fitem p{margin:0}

/* ═══ Card text is always dark: cards stay white in every theme (Classic sets --ink white) ═══ */
:root{--card-ink:#26251F;--card-body:#4A453A;--card-mute:#6E6A60}
.scard,.scard h3,.scard p.ask{color:var(--card-ink)}
.scard p{color:var(--card-body)}
.scard p.sif{color:var(--card-mute)}
.scard .btn.line{color:var(--card-ink);border-color:var(--card-ink);background:transparent}
.scard .btn.line:hover{background:var(--card-ink);color:#fff}
.sfilt button{color:var(--card-ink)}
.sfilt button.on{color:#1e1a12}
.ssearch input{color:var(--card-ink)}
.bucard,.bucard h3{color:var(--card-ink)}.bucard p{color:var(--card-body)}
.cstep2 b{color:var(--card-ink)}.cstep2 p{color:var(--card-body)}
.rvc2 p{color:var(--card-body)}.rvc2 footer{color:var(--card-mute)}
.symsum .symcount{color:var(--card-ink)}.symsum .symhint{color:var(--card-body)}
.ctapanel h3{color:var(--card-ink)}.ctapanel p{color:var(--card-body)}
.defbox h3{color:var(--card-ink)}.defbox p{color:var(--card-body)}
.brief li{color:var(--card-body)}.brief li b{color:var(--card-ink)}
.stepstrip li{color:var(--card-body)}
.condchips a,.condchips .nolink{color:var(--card-ink)}
.checks.self button{color:var(--card-ink)}
.cashpay,.cashpay h3,.cashpay p,.cashpay li{color:var(--card-ink)}.cashpay p{color:var(--card-body)}
.fitlist button.fitem,.fitlist button.fitem p{color:var(--card-ink)}
.sym,.selfcheck .sym{color:var(--card-ink)}
.txc h4,.txc{color:var(--card-ink)}.txc p{color:var(--card-body)}
.ctapanel .btn.line{color:var(--card-ink);border-color:var(--card-ink)}
.ctapanel .btn.line:hover{background:var(--card-ink);color:#fff}
.rvchip{color:var(--ink)}.rvchip.on{color:var(--ink)}
.tl,.tl b{color:var(--card-ink)}.tl span{color:var(--card-body)}
.sv,.sv span{color:var(--card-body)}.sv b{color:var(--card-ink)}
.acc-q{color:var(--card-ink)}.acc-a p{color:var(--card-body)}

/* study icons v2: full-bleed illustrations */
.sicon img{width:100%;height:100%;object-fit:cover}
.sicon{background:#FBF7EF}
.hicon{padding:0;object-fit:cover}

/* ═══ Before / after comparison slider ═══ */
.bagrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.bamode{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--chip-bg);margin-top:14px}
.bamode button{border:0;background:transparent;color:var(--ink);font:600 13px var(--sans);padding:7px 14px;border-radius:999px;cursor:pointer}
.bamode button.on{background:var(--amber);color:#1e1a12}
.bacmp{position:relative;margin:0;border-radius:18px;overflow:hidden;background:#EFE8DA;aspect-ratio:1/1;user-select:none;touch-action:pan-y;box-shadow:0 18px 40px -28px rgba(60,40,10,.5)}
.bacmp .bimgs{position:absolute;inset:0}
.bacmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bacmp img.aft{clip-path:inset(0 0 0 var(--x))}
.bacmp .bhandle{position:absolute;top:0;bottom:0;left:var(--x);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.15);transform:translateX(-1px)}
.bacmp .bhandle::after{content:"◀ ▶";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:#26251F;font:700 11px/44px var(--sans);text-align:center;letter-spacing:.06em;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.bacmp .blbl{position:absolute;top:12px;font:700 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(20,14,6,.55);padding:7px 10px;border-radius:999px;pointer-events:none}
.bacmp .blbl.b{left:12px}.bacmp .blbl.a{right:12px}
.bacmp .basl{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}
.bacmp:focus-within .bhandle::after{box-shadow:0 0 0 3px var(--amber),0 6px 18px rgba(0,0,0,.25)}
.bagrid.side .bacmp{aspect-ratio:2/1}
.bagrid.side .bacmp .bimgs{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.bagrid.side .bacmp img{position:static;clip-path:none}
.bagrid.side .bacmp .bhandle,.bagrid.side .bacmp .basl{display:none}
.bagrid.side .bacmp .blbl.a{right:auto;left:calc(50% + 14px)}
@media (max-width:900px){.bagrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.bagrid{grid-template-columns:1fr}}


/* photographs never get the card hover spotlight */
.bacmp::after,.mission::after,.pfeat::after,.dframe::after,.bcard.hasimg::after,.ytbox::after,.tstage::after{display:none!important}
.glow{transition:opacity .15s}

/* gate: active nav link contrast on light chip */
header .links .ni > a.on{color:#8a5a00}
[data-theme="classic"] header .links .ni > a.on{color:#F5C97A}

/* ═══ Abbey mascot: a little spark of light ═══ */
#abbey .dot,.ahead .dot{background:#2B2620;color:#fff;overflow:visible}
#abbey .dot{width:38px;height:38px}
.spark{display:block;transform-origin:50% 60%;animation:sparkbob 3.2s ease-in-out infinite}
.spark .eye{transform-origin:center;transform-box:fill-box;animation:sparkblink 4.8s infinite}
.spark .eye:nth-of-type(2){animation-delay:.05s}
.spark .rays{transform-origin:center;transform-box:fill-box;animation:raytwinkle 2.4s ease-in-out infinite}
@keyframes raytwinkle{0%,100%{opacity:.35;transform:scale(.92)}50%{opacity:.9;transform:scale(1.06)}}
@keyframes sparkbob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-2px) rotate(2deg)}}
@keyframes sparkblink{0%,91%,100%{transform:scaleY(1)}94%{transform:scaleY(.08)}}
#abbey:hover .spark{animation:sparkwave .7s ease-in-out}
@keyframes sparkwave{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg) translateY(-2px)}75%{transform:rotate(12deg) translateY(-2px)}}
#abbey.unread .spark,#abbey.has-unread .spark{animation:sparkhop .8s ease-in-out infinite}
@keyframes sparkhop{0%,100%{transform:translateY(0)}40%{transform:translateY(-5px) scale(1.06)}}
.ahead .spark{width:26px;height:26px}
@media (prefers-reduced-motion:reduce){.spark,.spark .eye,#abbey:hover .spark{animation:none}}

/* ═══ Abbey expressions ═══ */
.amascot{display:flex;align-items:center;gap:12px;padding:6px 4px 10px;color:var(--card-ink)}
.amascot .spark{width:64px;height:64px;filter:drop-shadow(0 6px 14px rgba(217,131,26,.35))}
.amascot span{font:600 14px var(--sans);color:var(--card-mute)}
.spark .eyes-happy{opacity:0;transition:opacity .2s}
.spark .eyes,.spark .smile{transition:transform .25s,opacity .2s;transform-box:fill-box;transform-origin:center}
/* listening: wide-eyed, head tilted toward you */
.apanel.mood-listening .spark{animation:sparklisten 1.6s ease-in-out infinite}
.apanel.mood-listening .spark .eyes{transform:scale(1.18)}
@keyframes sparklisten{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-7deg) translateY(-1px)}}
/* thinking: eyes drift up and to the side, mouth goes small, gentle sway */
.apanel.mood-thinking .spark .eyes{transform:translate(1.4px,-1.4px)}
.apanel.mood-thinking .spark .smile{transform:scale(.45,.7)}
.apanel.mood-thinking .spark{animation:sparkthink 1.4s ease-in-out infinite}
@keyframes sparkthink{0%,100%{transform:rotate(3deg)}50%{transform:rotate(-3deg) translateY(-2px)}}
/* happy: closed-arc eyes, bigger smile, a little bounce */
.apanel.mood-happy .spark .eyes{opacity:0}
.apanel.mood-happy .spark .eyes-happy{opacity:1}
.apanel.mood-happy .spark .smile{transform:scale(1.3,1.35)}
.apanel.mood-happy .spark{animation:sparkjoy .6s ease-in-out 2}
@keyframes sparkjoy{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(1.06)}}
@media (prefers-reduced-motion:reduce){.apanel .spark{animation:none!important}}

/* ═══ Abbey launcher: just her face; the words live in a speech bubble ═══ */
#abbey{background:transparent;padding:0;gap:0;box-shadow:none;overflow:visible}
#abbey .dot{width:62px;height:62px;background:#1A1A1A;box-shadow:0 12px 30px -10px rgba(0,0,0,.45),0 0 0 3px rgba(245,166,35,.35)}
#abbey .dot .spark{width:44px;height:44px}
#abbey .dot::after{inset:-6px;border-width:2px}
#abbey .alabel{position:absolute;right:76px;bottom:10px;background:#1A1A1A;color:#fff;font:600 13.5px/1.3 var(--sans);padding:11px 15px;border-radius:16px 16px 4px 16px;white-space:nowrap;box-shadow:0 14px 34px -14px rgba(0,0,0,.5);opacity:0;transform:translateX(8px) scale(.96);transform-origin:right bottom;pointer-events:none;transition:opacity .3s,transform .3s}
#abbey .alabel::after{content:"";position:absolute;right:-6px;bottom:10px;border:6px solid transparent;border-left-color:#1A1A1A;border-right:0}
#abbey:hover .alabel,#abbey:focus-visible .alabel,#abbey.say .alabel{opacity:1;transform:none}
#abbey .abadge{top:-2px;right:-2px}
#abbey:hover{transform:translateY(-3px) scale(1.04)}
@media (max-width:760px){#abbey .dot{width:54px;height:54px}#abbey .dot .spark{width:38px;height:38px}#abbey .alabel{display:block;right:66px;bottom:8px;font-size:13px}#abbey:hover .alabel{opacity:0}#abbey.say .alabel{opacity:1;transform:none}}

/* Abbey's arms: rest at her sides; the right one waves on hover / greeting / happy */
.spark .arm{transform-box:fill-box;transition:transform .3s}
.spark .arm.l{transform-origin:100% 0}
.spark .arm.r{transform-origin:0 0}
#abbey:hover .spark .arm.r,#abbey.say .spark .arm.r,.apanel.mood-happy .spark .arm.r{animation:armwave 1.1s ease-in-out infinite}
#abbey:hover .spark,#abbey.say .spark{animation:sparklean 1.1s ease-in-out infinite}
@keyframes armwave{0%,100%{transform:rotate(-118deg)}50%{transform:rotate(-158deg)}}
@keyframes sparklean{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.apanel.mood-listening .spark .arm.l{transform:rotate(25deg)}
@media (prefers-reduced-motion:reduce){.spark .arm{animation:none!important}}

.spark{overflow:visible}

/* ═══ Abbey, illustrated: four faces, one person ═══ */
.aface{display:block;position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;background:#FBF3E4}
.aface img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .28s;display:block}
.aface img.idle{opacity:1}
.apanel.mood-listening .aface img{opacity:0}.apanel.mood-listening .aface img.listening{opacity:1}
.apanel.mood-thinking .aface img{opacity:0}.apanel.mood-thinking .aface img.thinking{opacity:1}
.apanel.mood-happy .aface img{opacity:0}.apanel.mood-happy .aface img.happy{opacity:1}
#abbey .dot{background:#FBF3E4;padding:0;box-shadow:0 12px 30px -10px rgba(0,0,0,.45),0 0 0 3px #fff,0 0 0 5px rgba(245,166,35,.55)}
#abbey .aface{animation:facefloat 3.4s ease-in-out infinite}
@keyframes facefloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
#abbey:hover .aface{animation:facehello .7s ease-in-out}
@keyframes facehello{0%,100%{transform:rotate(0)}30%{transform:rotate(-7deg) scale(1.05)}70%{transform:rotate(5deg) scale(1.05)}}
#abbey.unread .aface,#abbey.has-unread .aface{animation:sparkhop .8s ease-in-out infinite}
.ahead .dot{width:38px;height:38px;background:#FBF3E4;padding:0}
.amascot .aface{width:76px;height:76px;flex:0 0 76px;box-shadow:0 8px 20px -10px rgba(60,40,10,.45),0 0 0 2px #fff,0 0 0 4px rgba(245,166,35,.45)}
.apanel.mood-happy .amascot .aface{animation:sparkjoy .6s ease-in-out 2}
.apanel.mood-thinking .amascot .aface{animation:sparkthink 1.6s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.aface{animation:none!important}}

/* ═══ Abbey voice: mic in the box, speaker in the header ═══ */
.afoot .amic{flex:0 0 auto;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--card-ink);display:grid;place-items:center;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.afoot .amic[hidden]{display:none}
.afoot .amic:hover{transform:translateY(-1px);border-color:var(--amber)}
.afoot .amic[aria-pressed="true"]{background:var(--amber);color:#1e1a12;border-color:var(--amber);animation:micpulse 1.2s ease-in-out infinite}
@keyframes micpulse{0%,100%{box-shadow:0 0 0 0 rgba(245,166,35,.55)}50%{box-shadow:0 0 0 8px rgba(245,166,35,0)}}
.ahead .aspk{width:32px;height:32px;border-radius:50%;border:0;background:transparent;color:var(--card-mute);display:grid;place-items:center;cursor:pointer;margin-left:auto}
.ahead .aspk[hidden]{display:none}
.ahead .aspk[aria-pressed="true"]{color:var(--amber-ink,#8a5a00);background:color-mix(in srgb,var(--amber) 16%,var(--card))}
.ahead .aspk .w1,.ahead .aspk .w2{opacity:.35}
.ahead .aspk[aria-pressed="true"] .w1,.ahead .aspk[aria-pressed="true"] .w2{opacity:1}
.apanel.speaking .aspk .w1{animation:wave1 .9s ease-in-out infinite}.apanel.speaking .aspk .w2{animation:wave1 .9s ease-in-out .2s infinite}
@keyframes wave1{0%,100%{opacity:.3}50%{opacity:1}}
.ahead .amin{margin-left:0}
.anote{font-size:11.5px;color:var(--card-mute);padding:0 16px 8px;text-align:center}
.anote[hidden]{display:none}
.apanel.listening-voice .ain{border-color:var(--amber);box-shadow:inset 0 0 0 1px var(--amber)}

/* ═══ Real clinic photography ═══ */
.cgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}
.cph{margin:0;border-radius:16px;overflow:hidden;background:var(--card);border:1px solid var(--line)}
.cph img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform .8s}
.cph:hover img{transform:scale(1.04)}
.cph figcaption{font:600 12.5px var(--sans);color:var(--card-ink);padding:10px 14px}
.cph.wide{margin:0 0 30px}.cph.wide img{aspect-ratio:16/8}
.arrive{padding:0 0 50px}.arrive .cgrid{margin-top:0}
.peek{padding-bottom:20px}
.plates{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0 0 60px}
.plates img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.teamsec{padding:0 0 60px}
.teamband{margin:0;border-radius:22px;overflow:hidden;position:relative;box-shadow:0 30px 60px -34px rgba(50,30,0,.5)}
.teamband img{width:100%;aspect-ratio:21/9;object-fit:cover;object-position:center 30%;display:block}
.teamband figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 28px 22px;color:#fff;font:15px/1.5 var(--sans);background:linear-gradient(to top,rgba(20,14,6,.82),transparent)}
.teamband figcaption b{font-family:var(--serif);font-size:22px;display:block;margin-bottom:4px}
.cph::after,.teamband::after{display:none!important}
@media (max-width:760px){.plates{grid-template-columns:1fr 1fr}.teamband img{aspect-ratio:16/10}}

/* study finder: whole card is the link, one Apply at the top */
a.scard{text-decoration:none;color:var(--card-ink)}
.scard .scue{margin-top:auto;padding-top:10px;font:700 12px var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--amber-ink,#8a5a00);display:inline-flex;gap:6px;align-items:center}
.scard .scue span{transition:transform .2s}
.scard:hover .scue span{transform:translateX(4px)}
.sfilt .sapply{margin-left:10px;padding:9px 18px;font-size:14px}
@media (max-width:640px){.sfilt .sapply{flex-basis:100%;margin-left:0;text-align:center}}

/* confidentiality note centred under the form card */
.book .fnote{display:block;max-width:44em;margin:14px auto 0;text-align:center}
.book .fnote[hidden],.fnote[hidden]{display:none!important}

/* contact hero: film top-aligned with the text column, not floating mid-height */
.phero.contact .cintro{max-width:42em}
.phero.contact .contactrow{margin-top:26px;align-items:start}
.phero.contact .contactrow .checks{margin-top:0}
.phero.contact aside{margin-top:0}

/* route steps: rings sit on top of the rail with a solid fill, so the line never shows through */
.vleft .rchap::before{background:var(--ground);z-index:1}
.vleft .rchap.on::before{background:var(--amber)}
/* disclosure "+" centred in its ring */
details.more summary::before{line-height:1;font-size:15px;padding-bottom:1px;font-family:var(--sans)}
/* story thumbnails: smaller play button and label */
.ytbox .rplay{width:52px;height:52px;box-shadow:0 8px 22px rgba(0,0,0,.35);animation:none}
.ytbox .rplay span{border-left-width:14px;border-top-width:9px;border-bottom-width:9px;margin-left:4px}
.ytbox .rbadge{font-size:11px;padding:6px 10px}

/* ═══ Abbey launcher as a portrait card (Vid, Sep 17): the illustration as-is, no circle ═══ */
#abbey .dot{width:84px;height:105px;border-radius:18px;background:#FBF3E4;box-shadow:0 14px 34px -12px rgba(0,0,0,.45),0 0 0 2px #fff,0 0 0 4px rgba(245,166,35,.5)}
#abbey .aface{border-radius:16px}
#abbey .aface img{object-position:center top}
#abbey .alabel{right:98px;bottom:14px}
#abbey .abadge{top:-6px;right:-6px}
.ahead .dot{width:40px;height:50px;border-radius:10px}
.ahead .aface{border-radius:9px}
.amascot .aface{width:76px;height:95px;flex:0 0 76px;border-radius:14px}
.amascot .aface img{object-position:center top}
@media (max-width:760px){#abbey .dot{width:66px;height:82px}#abbey .alabel{right:78px}}

/* ═══ Abbey as a cut-out figure: no card, no background ═══ */
#abbey .dot{width:96px;height:112px;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
#abbey .aface{border-radius:0;background:transparent;overflow:visible}
#abbey .aface img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 12px 18px rgba(40,25,5,.35))}
#abbey .alabel{right:104px;bottom:20px}
#abbey .abadge{top:4px;right:6px}
.ahead .dot{width:44px;height:52px;border-radius:0;background:transparent}
.ahead .aface{border-radius:0;background:transparent}
.ahead .aface img{object-fit:contain;object-position:center bottom}
.amascot .aface{width:84px;height:100px;flex:0 0 84px;border-radius:0;background:transparent;box-shadow:none}
.amascot .aface img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 8px 14px rgba(40,25,5,.25))}
@media (max-width:760px){#abbey .dot{width:76px;height:90px}#abbey .alabel{right:84px}}
#abbey .dot::after{display:none}

/* Abbey cut-out: a sticker edge + a soft spot of light behind her, and a blink */
#abbey .dot{overflow:visible}
#abbey .dot::before{content:"";position:absolute;left:50%;top:58%;width:118px;height:118px;transform:translate(-50%,-50%);border-radius:50%;
  background:radial-gradient(circle,rgba(245,166,35,.32) 0%,rgba(245,166,35,.14) 45%,rgba(245,166,35,0) 72%);z-index:0;pointer-events:none}
#abbey .aface{position:relative;z-index:1}
#abbey .aface img{filter:drop-shadow(1.5px 0 0 #fff) drop-shadow(-1.5px 0 0 #fff) drop-shadow(0 1.5px 0 #fff) drop-shadow(0 -1.5px 0 #fff) drop-shadow(0 12px 18px rgba(40,25,5,.35))}
.amascot .aface img{filter:drop-shadow(1.2px 0 0 #fff) drop-shadow(-1.2px 0 0 #fff) drop-shadow(0 1.2px 0 #fff) drop-shadow(0 -1.2px 0 #fff) drop-shadow(0 8px 14px rgba(40,25,5,.25))}
/* blink: the closed-eye frame flashes for a beat every few seconds while she is idle */
/* Abbey: eyes-only blink (closed-lid frame over the idle face), occasional soft smile */
.aface img.blink{opacity:0}
#abbey .aface img.blink,.apanel:not([class*="mood-"]) .aface img.blink{animation:abblink 4.6s infinite}
.ahead .aface img.blink{animation-delay:.9s}
@keyframes abblink{0%,3.2%,4.6%,100%{opacity:0}3.6%,4.2%{opacity:1}}
#abbey .aface img.happy,.apanel:not([class*="mood-"]) .amascot .aface img.happy{animation:absmile 17s infinite;transition:opacity .5s}
#abbey .aface img.happy{animation-delay:2.3s}
@keyframes absmile{0%,86%{opacity:0}89%,96%{opacity:1}99%,100%{opacity:0}}
@media (prefers-reduced-motion:reduce){#abbey .aface img.happy,.amascot .aface img.happy,.aface img.blink{animation:none}}

/* Aesthetics before/after: veiled until the visitor chooses to look (Vid, Sep 19) */
.bacmp .bimgs{transition:filter .55s ease,transform .55s ease}
.bacmp.veiled .bimgs{filter:blur(22px) saturate(.75);transform:scale(1.1)}
.bacmp.veiled .blbl,.bacmp.veiled .bhandle{opacity:0}
.bacmp .blbl,.bacmp .bhandle{transition:opacity .4s .2s}
.bacmp.veiled .basl{pointer-events:none}
.bveil{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;cursor:pointer;background:rgba(24,17,8,.34);color:#fff;font-family:var(--sans);text-align:center;padding:16px;transition:background .25s}
.bveil:hover{background:rgba(24,17,8,.46)}
.bveil .bvi{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.16);border:1.5px solid rgba(255,255,255,.7);display:grid;place-items:center;font-size:18px;margin-bottom:6px}
.bveil b{font-size:15px;font-weight:800;letter-spacing:.01em}
.bveil small{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
.bacmp:not(.veiled) .bveil{opacity:0;pointer-events:none;transition:opacity .35s}
.brevall{margin-top:14px;padding:10px 18px;font-size:13.5px}
#results .head{display:flex;flex-direction:column;align-items:center}
@media (prefers-reduced-motion:reduce){.bacmp .bimgs{transition:none}}

/* Privacy policy page (Vid, Sep 19) */
.glance{margin:26px 0 8px;padding:22px 26px;border:1px solid var(--line);border-radius:18px;background:var(--card)}
.glance .ticks{margin:10px 0 0}
.legal2{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;align-items:start;margin-top:34px}
.ltoc{position:sticky;top:96px;display:flex;flex-direction:column;gap:2px}
.ltoc .eyebrow{margin-bottom:8px}
.ltoc a{display:flex;gap:10px;align-items:baseline;padding:7px 10px;border-radius:9px;text-decoration:none;color:var(--body);font-size:13.5px;font-weight:600;line-height:1.35}
.ltoc a span{font-family:var(--serif);font-style:italic;color:var(--amber);font-size:13px;min-width:22px}
.ltoc a:hover{background:var(--amber-soft);color:var(--ink)}
.lbody{max-width:46em}
.lsec{padding:6px 0 26px;margin-bottom:10px;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.lsec:last-child{border-bottom:0}
.lsec h2{display:flex;gap:14px;align-items:baseline;font-size:26px;margin:22px 0 8px}
.lsec h3{font-size:19px;margin:24px 0 6px}
.lsec h4{font-size:15.5px;margin:18px 0 4px;color:var(--ink)}
.lsec p{color:var(--body)}
.legal-list{margin:8px 0 10px;padding-left:20px}
.legal-list li{margin:7px 0;color:var(--body);line-height:1.6}
.legal-list li b{color:var(--ink)}
.legal-list li.ckcard{list-style:none;margin:10px 0 10px -20px;padding:14px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);display:grid;gap:4px}
.legal-list li.ckcard .ckt{font-size:15px;color:var(--ink);margin-bottom:2px}
.legal-list li.ckcard span{font-size:14px}
@media (max-width:900px){.legal2{grid-template-columns:1fr;gap:20px}.ltoc{position:static;flex-direction:row;flex-wrap:wrap;gap:6px}.ltoc .eyebrow{width:100%}.ltoc a{border:1px solid var(--line);padding:6px 10px}}

/* Blog cards: title must use card ink, not theme ink (invisible on Classic) */
.bcard h3,.bcard h4,.relgrid .bcard h3,.relgrid .bcard h4{color:var(--card-ink)}
.bcard p{color:var(--card-mute)}

/* No cursor spotlight on tiles (Sep 21): keep the hover lift, drop the moving highlight */
.spot::after,.spot:hover::after{display:none}

/* Classic theme audit (Sep 21): light card surfaces always use card ink, never theme ink */
.txc h2,.txc h3,.txc h4,.xr h3,.xr h4,.mbsnode h3,.mbsnode b,.ckcard b,.ckcard .ckt,.tl b,.acc-q,.glance li,.glance b,.defbox h3,.rvchip,.clarsteps b,.sv b,.sym b,.fcard h3,.fcard b{color:var(--card-ink)}
.txc p,.txc li,.xr p,.mbsnode p,.ckcard,.ckcard span,.glance li,.tl span,.acc-a p,.defbox p,.sv span,.clarsteps p{color:var(--card-body)}
.xr .btn.line{color:var(--card-ink);border-color:var(--card-ink)}
.xr .btn.line:hover{background:var(--card-ink);color:#fff}
.chips a,.condchips a{color:var(--card-ink)}

.legal-list li.ckcard b,.legal-list li.ckcard .ckt{color:var(--card-ink)}

.tline.vert .tl b{color:var(--ink)}
.tline.vert .tl span{color:var(--body)}
.clusterbox .cl a{color:var(--card-ink)}
.clusterbox p{color:var(--card-body)}

/* Sponsors page (doc 36) */
.phero.sponsors .lead{max-width:44em}
.ph{display:inline-block;min-width:2.2em;text-align:center;color:#9A650D;background:rgba(245,166,35,.16);border:1px dashed rgba(245,166,35,.8);border-radius:6px;padding:0 8px;font-weight:700;cursor:help}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:0}
.facts .fact{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts dt{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow);padding-top:3px}
.facts dd{margin:0;font-size:15px;line-height:1.5;color:var(--body)}
.tblwrap{overflow-x:auto}
.tbl{width:100%;border-collapse:collapse;font-size:15px}
.tbl th{text-align:left;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow);padding:10px 12px;border-bottom:2px solid var(--amber)}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--body)}
.tbl td:first-child{color:var(--ink);font-weight:600}
.rooms{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px}
.rooms li{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.rooms li b{font-weight:600;color:var(--ink)}
.rooms li span{color:var(--body);white-space:nowrap}
@media (max-width:820px){.facts,.rooms{grid-template-columns:1fr}.facts .fact{grid-template-columns:120px 1fr}}

.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.prog{position:relative;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:14px;padding:18px 18px 16px}
.prog .pct{position:absolute;right:14px;top:12px;background:var(--amber);color:#1A1A1A;font-weight:800;font-size:13px;padding:4px 10px;border-radius:999px}
.prog b{display:block;color:var(--card-ink);font-size:16px;margin:2px 0 10px;padding-right:70px}
.prog .nums{color:var(--card-body);font-size:14px}
.prog .nums em{font-style:normal;font-family:var(--serif);font-size:22px;color:var(--card-ink);margin-right:2px}
.prog .nums em+em{color:#9A650D}
@media (max-width:820px){.progs{grid-template-columns:1fr 1fr}}

/* Sponsors page v2: photographic hero, bars, pillars, facility tiles */
.shero{position:relative;overflow:hidden;min-height:640px;display:flex;align-items:center;color:#fff;background:#1A1714}
.shero .sbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;filter:saturate(.85)}
.shero .sveil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,15,8,.92) 0%,rgba(20,15,8,.78) 45%,rgba(20,15,8,.35) 100%),linear-gradient(180deg,rgba(20,15,8,.2),rgba(20,15,8,.55))}
.shero .wrap{position:relative;padding-top:64px;padding-bottom:56px}
.shero .eyebrow{color:var(--amber)}
.shero h1{color:#fff;font-size:clamp(38px,5.4vw,64px);line-height:1.04;margin:14px 0 16px;max-width:12em}
.shero h1 .a{color:var(--amber);font-style:italic}
.shero .lead{color:#EFE8DA;font-size:18.5px;line-height:1.55;max-width:38em;margin:0 0 26px}
.shero .btn.line.light{color:#fff;border-color:rgba(255,255,255,.7)}
.shero .btn.line.light:hover{background:#fff;color:#1A1A1A}
.sstats{display:grid;grid-template-columns:repeat(5,1fr);gap:11px;margin-top:40px;max-width:1040px}
.sstats div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:16px 18px}
.sstats b{display:block;font-family:var(--serif);font-weight:400;font-size:31px;line-height:1;color:var(--amber)}
.sstats span{display:block;margin-top:6px;font-size:12.5px;line-height:1.35;color:#DAD3C4}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px 24px 24px;position:relative}
.pillar .pn{font-family:var(--serif);font-style:italic;color:var(--amber);font-size:22px}
.pillar h3{font-size:21px;margin:10px 0 8px;color:var(--card-ink)}
.pillar p{color:var(--card-body);font-size:15px;line-height:1.55;margin:0}
.bars{display:grid;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 26px}
.bar{display:grid;grid-template-columns:230px 1fr 190px;gap:16px;align-items:center}
.bar .bl b{display:block;color:var(--card-ink);font-size:15px}.bar .bl span{font-size:12.5px;color:#9A650D;font-weight:700}
.bar .bt{position:relative;height:18px;background:#F1EAD9;border-radius:999px;overflow:hidden}
.bar .bt i{position:absolute;left:0;top:0;bottom:0;border-radius:999px;display:block}
.bar .bt i.exp{background:#D9CDB3}.bar .bt i.got{background:linear-gradient(90deg,#F5A623,#F7B94F);opacity:.92}
.bar .bn{font-size:13px;color:var(--card-body);text-align:right}.bar .bn b{display:block;color:var(--card-ink);font-size:16px}
.bars .legend{font-size:12.5px;color:var(--card-body);display:flex;gap:10px;align-items:center;padding-top:6px;border-top:1px solid var(--line)}
.bars .legend i{display:inline-block;width:22px;height:8px;border-radius:999px;background:#D9CDB3}.bars .legend i.got{background:#F5A623;margin-left:14px}
.minis{display:grid;gap:8px;margin-top:10px}
.mini{display:grid;grid-template-columns:1fr 60px;grid-template-rows:auto auto;column-gap:12px;align-items:center;font-size:14px;color:var(--body)}
.mini span{grid-column:1}.mini b{grid-row:1/3;grid-column:2;text-align:right;font-family:var(--serif);font-weight:400;font-size:20px;color:var(--ink)}
.mini i{grid-column:1;display:block;height:8px;border-radius:999px;background:linear-gradient(90deg,#F5A623,#F7B94F)}
.cred{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.cred span{border:1px solid var(--amber);border-radius:999px;padding:6px 12px;font-size:12.5px;font-weight:700;color:var(--ink);background:transparent}
.ftiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}
.ftiles div{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--amber);border-radius:14px;padding:16px 18px}
.ftiles b{display:block;font-family:var(--serif);font-weight:400;font-size:30px;color:var(--card-ink)}.ftiles span{font-size:13px;color:var(--card-body)}
@media (max-width:1100px){.sstats{grid-template-columns:repeat(3,1fr)}}
@media (max-width:900px){.sstats,.pillars,.ftiles{grid-template-columns:1fr 1fr}.bar{grid-template-columns:1fr;gap:6px}.bar .bn{text-align:left}.shero{min-height:0}}

.pillars,.bars,.bars+.cols2,.mults,.mnote,.mnote+.cols2{max-width:1080px;margin-left:auto;margin-right:auto}
.pillar p{font-size:15.5px}

/* Sponsors v2.1: consistent column, facility card grid, film hero */
.shero video.sbg{object-fit:cover}
.roomgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.room{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.room .rk{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--eyebrow)}
.room b{font-weight:600;font-size:15px;line-height:1.45;color:var(--card-ink)}
.ftiles{max-width:none}
.facts{max-width:1080px}
@media (max-width:900px){.roomgrid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.roomgrid{grid-template-columns:1fr}}

/* Sponsors: over-target bars (Ankita, Sep 21) */
.bar{grid-template-columns:110px 1fr;gap:18px;align-items:center}
.bar .bpct b{display:block;font-family:var(--serif);font-weight:400;font-size:34px;line-height:1;color:#9A650D}
.bar .bpct span{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--card-body);font-weight:700}
.bar .bmid{display:grid;gap:8px}
.bar .bl{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.bar .bl b{font-size:15px;color:var(--card-ink)}.bar .bl span{font-size:13px;color:var(--card-body);font-weight:500}.bar .bl span em{font-style:normal;color:var(--card-ink);font-weight:700}
.bar .bt{height:16px;background:#F1EAD9;border-radius:999px;position:relative;overflow:visible}
.bar .bt i.got{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#E9C77A 0,#E9C77A 22%,#F5A623 22%,#F7B94F 100%)}
.bar .bt i.tgt{position:absolute;left:22%;top:-5px;bottom:-5px;width:2px;background:var(--ink);border-radius:2px}
.bar .bt .tl{position:absolute;left:22%;top:-20px;transform:translateX(-50%);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--card-body);font-weight:700}
.bars{gap:26px;padding-top:30px}
@media (max-width:900px){.bar{grid-template-columns:1fr}}

.bar .bt .tl{top:auto;bottom:-19px}
.bar .bmid{gap:10px;padding-bottom:12px}

/* sponsors: enrollment multiplier tiles (replaces the target bars) */
.mults{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mult{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:22px 24px 20px;display:grid;gap:14px;align-content:start}
.mult .mm{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mult .mm b{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1;color:#9A650D;letter-spacing:-.01em}
.mult .mm span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--card-body)}
.mult h4{margin:0;font-size:16px;color:var(--card-ink);font-weight:700;padding-bottom:12px;border-bottom:1px solid var(--line)}
.mult .mrow{display:grid;grid-template-columns:64px 1fr 34px;gap:10px;align-items:center;font-size:12.5px;color:var(--card-body)}
.mult .mrow i{display:block;height:14px;border-radius:999px;justify-self:start;min-width:14px}
.mult .mrow i.exp{background:#D9CDB3}
.mult .mrow i.got{width:100%;background:linear-gradient(90deg,#F5A623,#F7B94F)}
.mult .mrow b{color:var(--card-ink);font-size:14px;text-align:right}
.csec p.mnote{font-size:12.5px;color:var(--muted);margin:14px auto 0}
@media (max-width:900px){.mults{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.mults{grid-template-columns:1fr}}
.mult .mm b i{font-family:var(--sans);font-style:normal;font-weight:700;font-size:.5em;margin-left:3px;vertical-align:.18em;color:#B8811A}
.mult .mm{display:block}.mult .mm span{display:block;margin-top:8px}
@media (max-width:900px){.pillars.stag .pillar,.pillars.stag .pillar+.pillar{padding:24px 22px 22px;border:1px solid var(--line)}}
@media (max-width:640px){.pillars.stag{grid-template-columns:1fr;gap:14px}.pillar h3{font-size:22px}}
.acap small.alt{display:block;font-size:12px;color:var(--muted);margin-top:8px}.acap small.alt a{color:var(--ink);font-weight:600}
.am .btn.line.acont{background:transparent;border:1px solid var(--line);color:var(--ink)}
.achip.hot{border-color:var(--amber);color:var(--ink);background:var(--card)}
@media (max-width:760px){#abbey .alabel{white-space:normal;width:max-content;max-width:min(240px,calc(100vw - 120px));text-align:left}}
.mult h4 small{display:block;font-family:var(--sans);font-weight:600;font-size:12.5px;letter-spacing:.04em;color:var(--card-body);margin-top:4px}
@media (max-width:900px){.mults{grid-template-columns:1fr 1fr}}
details.more ul{margin:10px 0 0;padding-left:1.3em;max-width:52em}details.more ul li{margin:4px 0;padding-left:.2em}

/* footer: social links, one row per line of business */
footer.site .social{margin-top:22px;display:flex;flex-direction:column;gap:10px}
footer.site .socrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
footer.site .socl{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#98937F;min-width:124px}
footer.site a.soc{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid #3A3833;color:#B9B3A6;padding:0;transition:border-color .2s,color .2s,background .2s}
footer.site a.soc:hover{color:#1A1A1A;background:var(--amber);border-color:var(--amber)}
@media (max-width:560px){footer.site .socl{min-width:100%}}

/* GMA segment: click-to-load ABC embed (no third-party request until tapped) */
.gmabox{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#14120E;max-width:860px;margin:6px 0 10px;box-shadow:0 30px 60px -36px rgba(0,0,0,.55)}
.gmabox .gmago{position:absolute;inset:0;width:100%;height:100%;border:0;cursor:pointer;text-align:left;padding:28px 30px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;color:#fff;font:inherit;background:radial-gradient(900px 500px at 20% 10%,rgba(245,166,35,.28),transparent 60%),linear-gradient(180deg,#1E1A14 0%,#0F0D0A 100%)}
.gmabox .gmatag{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#F7B94F}
.gmabox .gmatitle{font-family:var(--serif);font-size:clamp(22px,2.6vw,32px);line-height:1.15;color:#fff}
.gmabox .gmasub{font-size:13.5px;line-height:1.45;color:#D9D2C4;max-width:40em}
.gmabox .rplay{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%)}
.gmabox iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gmalink{margin-top:0}

/* ── sponsors: "four things sponsors ask first" tabs (Ankita deck, Oct 2026) ── */
.sbtabs{max-width:1080px;margin:0 auto}
.sbnav{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.sbtab{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:18px 20px 16px;cursor:pointer;font:inherit;color:inherit;position:relative;
  transition:border-color .2s,box-shadow .2s,transform .2s}
.sbtab:hover{border-color:rgba(245,166,35,.55);transform:translateY(-2px)}
.sbtab:focus-visible{outline:2px solid var(--amber);outline-offset:3px}
.sbtab .sbn{display:block;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1;color:#9A650D}
.sbtab b{display:block;font-size:16.5px;color:var(--card-ink);margin-top:9px}
.sbtab .sbd{display:block;font-size:13px;line-height:1.4;color:var(--card-body);margin-top:5px}
.sbtab.on{border-color:var(--amber);box-shadow:0 14px 30px -18px rgba(60,40,10,.45)}
.sbtab.on::after{content:"";position:absolute;left:50%;bottom:-8px;width:16px;height:16px;margin-left:-8px;
  background:var(--card);border-left:1px solid var(--amber);border-top:1px solid var(--amber);transform:rotate(45deg)}
.sbstage{margin-top:22px;background:var(--card);border:1px solid var(--amber);border-radius:18px;
  padding:26px 28px 28px;min-height:230px}
.sbpanel{display:none}
.sbpanel.on{display:block;animation:sbfade .25s ease both}
@keyframes sbfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sbph{display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;
  padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.sbph h3{margin:0;font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.1;color:var(--card-ink)}
.sblink{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9A650D;
  text-decoration:none;border-bottom:1px solid currentColor;white-space:nowrap}
.sblink:hover{color:var(--ink)}
.sbig{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:18px 26px}
.sbit b{display:block;font-size:14.5px;color:var(--card-ink);margin-bottom:4px}
.sbit span{display:block;font-size:13.5px;line-height:1.45;color:var(--card-body)}
.sbgroup{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.sbgroup:last-child{margin-bottom:0}
.sbgl{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:#9A650D;
  min-width:94px;flex:0 0 auto}
.sbchip{border:1px solid var(--line);background:var(--ground,#FBF7EF);border-radius:999px;padding:9px 16px;
  font-size:13.5px;font-weight:600;color:var(--card-ink);font-family:inherit;cursor:pointer;
  transition:border-color .18s,background .18s,transform .18s}
.sbchip:hover{border-color:rgba(245,166,35,.6);transform:translateY(-1px)}
.sbchip:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sbchip.on{border-color:var(--amber);background:rgba(245,166,35,.16)}
.indstage{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.indcard{display:none}
.indcard.on{display:block;animation:sbfade .22s ease both}
.indcard>b{display:block;font-family:var(--serif);font-weight:400;font-size:21px;line-height:1.1;
  color:var(--card-ink);margin-bottom:13px}
.indfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px 24px}
.indfacts span{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:#9A650D}
.indfacts b{display:block;font-family:var(--serif);font-weight:400;font-size:25px;line-height:1.1;
  color:var(--card-ink);margin-top:4px}
.indfacts b.sm{font-family:inherit;font-size:14px;font-weight:600;color:var(--card-body)}
.indnote{margin:13px 0 0;font-size:12.5px;line-height:1.5;color:var(--card-body)}
.indfoot{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);font-size:12px}
@media(max-width:900px){
  .sbnav{display:flex;overflow-x:auto;gap:10px;padding:2px 2px 6px;
    scroll-snap-type:x mandatory;-ms-overflow-style:none;scrollbar-width:none}
  .sbnav::-webkit-scrollbar{display:none}
  .sbnav .sbtab{flex:0 0 72%;scroll-snap-align:center}
  .sbtab:hover{transform:none}
  .sbtab.on::after{display:none}
  .sbstage{min-height:0;padding:22px 20px 24px}
  .sbph{gap:10px}
  .sbgl{min-width:0;width:100%}
  .sbig{gap:16px}
}
.pools{display:grid;gap:12px;margin-top:12px}
.pool{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.pool b{display:block;font-family:var(--serif);font-weight:400;font-size:19px;color:var(--card-ink);margin-bottom:5px}
.pool p{margin:0;font-size:13.5px;line-height:1.45;color:var(--card-body)}
/* ── v2.1 persona switch + hold-to-talk (doc 23 §10) ── */
.ahead .dot{position:relative;overflow:visible}
.ahead .aswap{position:absolute;right:-9px;bottom:-5px;width:24px;height:24px;margin:0;padding:0;border-radius:50%;border:2px solid #fff;background:#FBF3E4;box-shadow:0 2px 8px rgba(0,0,0,.28);cursor:pointer;display:block;overflow:hidden;z-index:2;transition:transform .2s}
.ahead .aswap:hover,.ahead .aswap:focus-visible{transform:scale(1.18)}
.ahead .aswap img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.ahead .aswap span{position:absolute;left:-9999px}
.afoot .amic{touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.afoot .amic.holding{background:#1A1A1A;color:var(--amber);border-color:#1A1A1A;transform:scale(1.14)}
.achip.swap{color:var(--card-mute);border-style:dashed}

/* Chat panel on Classic (20 Oct): the site-wide form{} card rule was painting the composer as a white card,
   classic inputs were cream with white text, and the two highlighted chips were white on white. */
.afoot{max-width:none;margin:0;background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none;align-items:center}
[data-theme="classic"] .afoot .ain,[data-theme="classic"] .acap input{background:#2E2D2A;color:#fff;border-color:#4A4842}
[data-theme="classic"] .afoot .ain::placeholder,[data-theme="classic"] .acap input::placeholder{color:#9C978C}
[data-theme="classic"] .afoot .ain:focus,[data-theme="classic"] .acap input:focus{background:#2E2D2A;border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,166,35,.22)}
[data-theme="classic"] .afoot .amic{background:#2E2D2A;color:#fff;border-color:#4A4842}
[data-theme="classic"] .achip.hot{background:rgba(245,166,35,.16);color:#fff;border-color:var(--amber)}
[data-theme="classic"] .achip.hot:hover{background:var(--amber);color:#1A1A1A}
[data-theme="classic"] .achip.swap{color:#B5AFA3}
[data-theme="classic"] .abody{scrollbar-color:#4A4842 transparent}
[data-theme="classic"] .abody::-webkit-scrollbar{width:8px}
[data-theme="classic"] .abody::-webkit-scrollbar-track{background:transparent}
[data-theme="classic"] .abody::-webkit-scrollbar-thumb{background:#4A4842;border-radius:8px}
