





:root{--canvas:#0B0B0C;--panel:#141416;--card:#1B1B1E;--line:#2A2A2E;--ink:#F4F1E9;--ink-2:#C9C5B9;--ink-3:#93907F;
--gold:#C8A45C;--gold-hi:#E3C57E;--gold-dim:#8F7434;--br:#D8AC7E;--wl:#B9AE6A;
--font-display:'Cormorant Garamond','Times New Roman',serif;--font-ui:'Inter',-apple-system,'Segoe UI',sans-serif;
--t-display:clamp(2.7rem,6.2vw,4.6rem);--t-h1:clamp(2.1rem,4vw,3.1rem);--t-h2:clamp(1.6rem,3vw,2.2rem);
--t-body:1.0625rem;--t-label:.8125rem;--track:.18em;--measure:66ch;--radius:2px;--ease:cubic-bezier(.22,1,.36,1);--dur:260ms}
@media (prefers-reduced-motion:reduce){:root{--dur:0ms}}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--canvas);color:var(--ink);font:400 var(--t-body)/1.68 var(--font-ui);-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--gold-dim);color:#0B0B0C}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1220px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
.label{font:600 var(--t-label)/1.4 var(--font-ui);letter-spacing:var(--track);text-transform:uppercase;color:var(--gold)}
.label.dim{color:var(--ink-3)} .label.rose{color:var(--br)} .label.sage{color:var(--wl)}
h1,h2,h3,.display{font-family:var(--font-display);font-weight:500;line-height:1.1;color:var(--ink)}
.display{font-size:var(--t-display);letter-spacing:.005em}
em,.goldem{font-style:italic;color:var(--gold);font-family:var(--font-display)}
.sub{color:var(--ink-2);max-width:var(--measure)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;height:52px;padding:0 2.1rem;border-radius:var(--radius);
font:600 .9375rem/1 var(--font-ui);letter-spacing:.05em;transition:transform var(--dur) var(--ease),background var(--dur),border-color var(--dur),color var(--dur);cursor:pointer;border:1px solid transparent}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:var(--gold);color:#141416}.btn-gold:hover{background:var(--gold-hi)}
.btn-ghost{border-color:var(--gold-dim);color:var(--ink)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}
.btn-br{background:var(--br);color:#141416}.btn-br:hover{filter:brightness(1.07)}
.btn-wl{background:var(--wl);color:#141416}.btn-wl:hover{filter:brightness(1.08)}
.rule-gold{border:0;border-top:1px solid var(--gold-dim);width:64px;margin:1.2rem 0}
section{padding:clamp(4.2rem,8vw,7.2rem) 0;position:relative}
.sec-head{margin-bottom:2.8rem;max-width:820px}
.sec-head h2{font-size:var(--t-h1);margin-top:.45rem}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.3rem}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.3rem}
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem;transition:border-color var(--dur),transform var(--dur) var(--ease);display:flex;flex-direction:column}
.pcard .more{margin-top:auto;padding-top:.8rem}
.pcard ul{flex:0}
.pcard p{flex:1}
.pcard:hover{border-color:var(--gold-dim);transform:translateY(-3px)}
.pcard h3{font-size:1.6rem;color:var(--gold)}
.pcard ul{list-style:none;margin:1rem 0 1.2rem;color:var(--ink-2)}
.pcard li{padding:.34rem 0;border-bottom:1px solid var(--line);font-size:.95rem}
.pcard li:last-child{border-bottom:0}
.more{font:600 .875rem/1 var(--font-ui);color:var(--gold)}.more:hover{color:var(--gold-hi)}
.frame{position:relative;display:block}
.frame::after{content:'';position:absolute;inset:0;border:1px solid var(--gold-dim);transform:translate(11px,11px);pointer-events:none;transition:transform var(--dur) var(--ease)}
.frame:hover::after{transform:translate(7px,7px)}
.frame img{position:relative;z-index:1;border:1px solid var(--line)}
.figcap{margin-top:1.15rem;font-size:.85rem;color:var(--ink-3)}
.consent{font-size:.76rem;color:var(--ink-3)}
.fam{background:#000;border-bottom:1px solid var(--line);font:600 .72rem/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase}
.fam .wrap{display:flex;gap:1.6rem;align-items:center;height:34px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}
.fam a{color:var(--ink-3);transition:color var(--dur)}.fam a:hover{color:var(--gold-hi)}
.fam a.cur{color:var(--gold)}.fam .push{margin-left:auto}
.stats{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2.6rem 0}
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.5rem;text-align:center}
.stat b{display:block;font:500 2.5rem/1 var(--font-display);color:var(--gold)}
.stat span{font:600 .76rem/1.5 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}
.ba{position:relative;user-select:none;overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:2/3!important}
.ba:focus-within{outline:3px solid var(--gold);outline-offset:3px}
.ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}
.ba .aft{clip-path:inset(0 0 0 50%)}
.ba .bar{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--gold);pointer-events:none;box-shadow:0 0 18px rgba(200,164,92,.55)}
.ba .knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;
background:rgba(11,11,12,.85);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;
color:var(--gold);font:600 .85rem/1 var(--font-ui);pointer-events:none;backdrop-filter:blur(4px)}
.ba .tag{position:absolute;bottom:.8rem;font:600 .68rem/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;
background:rgba(11,11,12,.72);border:1px solid var(--line);padding:.42rem .7rem;border-radius:2px;color:var(--ink-2);pointer-events:none}
.ba .tag.b{left:.8rem}.ba .tag.a{right:.8rem;color:var(--gold-hi);border-color:var(--gold-dim)}
.ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.ba-wrap .hint{margin-top:.8rem;font:600 .72rem/1.5 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-align:center}
.scard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:border-color var(--dur),transform var(--dur) var(--ease)}
.scard:hover{border-color:var(--gold-dim);transform:translateY(-4px)}
.scard img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;filter:saturate(.92)}
.scard .nm{padding:1.1rem 1.2rem 1.3rem}
.scard .nm b{display:block;font:500 1.3rem/1.2 var(--font-display);color:var(--ink)}
.scard .nm i{display:block;font:600 .68rem/1.6 var(--font-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--gold);font-style:normal;margin:.3rem 0 .35rem}
.scard .nm span{font-size:.83rem;color:var(--ink-3);line-height:1.5;display:block}
.bookgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:1.2rem}
.bcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:border-color var(--dur),transform var(--dur) var(--ease)}
.bcard:hover{border-color:var(--br);transform:translateY(-4px)}
.bcard .ph{position:relative;overflow:hidden}
.bcard .ph img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:top;transition:transform .6s var(--ease)}
.bcard:hover .ph img{transform:scale(1.045)}
.bcard .who{padding:1.1rem 1.25rem 1.35rem;display:flex;flex-direction:column;gap:.3rem;flex:1}
.bcard .who b{font:500 1.35rem/1.15 var(--font-display)}
.bcard .who i{font:600 .68rem/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--br);font-style:normal}
.bcard .who span{font-size:.84rem;color:var(--ink-3);flex:1;padding:.35rem 0 .8rem}
.bcard .ig{font:600 .74rem/1 var(--font-ui);color:var(--ink-3);padding-bottom:.7rem}
.bcard .btn{height:46px;margin:0 1.25rem 1.25rem}
.preserve{border:1px solid var(--gold-dim);background:rgba(200,164,92,.06);border-radius:var(--radius);padding:1.15rem 1.4rem;font-size:.85rem;color:var(--ink-2);margin-top:2.1rem}
.preserve b{color:var(--gold)}
footer{background:#000;border-top:1px solid var(--line);padding:3.2rem 0 2.4rem;color:var(--ink-3);font-size:.85rem}
footer .cols{display:flex;flex-wrap:wrap;gap:2.5rem;justify-content:space-between}
footer a:hover{color:var(--gold-hi)}
.reveal{opacity:1;transform:none;transition:opacity .65s var(--ease),transform .65s var(--ease)}
.reveal.pre{opacity:0;transform:translateY(26px)}
.reveal.pre.d1{transition-delay:.08s}.reveal.pre.d2{transition-delay:.16s}.reveal.pre.d3{transition-delay:.24s}






.optnav{display:flex;gap:.85rem;flex-wrap:wrap}
.optnav a{color:var(--ink-3);font:600 .72rem/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase}
.optnav a:hover{color:var(--gold-hi)}
section.lt,.lt{background:#F5EFE3;color:#191713}
.lt h1,.lt h2,.lt h3,.lt .display{color:#191713}
.lt .label{color:#6E5826}.lt .label.dim{color:#6b6350}
.lt .sub{color:#4a4436}
.lt .pcard{background:#FCF8EE;border-color:#E2D8C2}
.lt .pcard h3{color:#7a5f28}.lt .pcard li{border-color:#E9E0CC;color:#4a4436}
.lt .btn-ghost{border-color:#B99C58;color:#191713}.lt .btn-ghost:hover{border-color:#7a5f28;color:#6E5826}
.lt .figcap,.lt .consent{color:#6b6350}
.lt .more{color:#6E5826}.lt .more:hover{color:#57451E}
.lt .rule-gold{border-color:#B99C58}
.lt em,.lt .goldem{color:#7a5f28}
.lt .noimg .mono{color:#6E5826}
.sub a,p.figcap a,.preserve a,.costnote a{text-decoration:underline;text-underline-offset:3px}
[id]{scroll-margin-top:96px}
@media print{.hdr{position:static}body{padding-bottom:0!important}.reveal{opacity:1!important;transform:none!important}}
.skip{position:absolute;left:-9999px;top:0;background:var(--gold);color:#141416;padding:.8rem 1.2rem;z-index:200;font:600 .85rem/1 var(--font-ui)}
.skip:focus{left:0}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.split{display:grid;grid-template-columns:1.4fr .6fr;gap:2.5rem;align-items:center}

.sevengrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
@media(min-width:1150px){.sevengrid{grid-template-columns:repeat(6,1fr)}}
.sevengrid .scard .nm{padding:.9rem .85rem 1rem}
.sevengrid .scard .nm b{font-size:1.08rem}
.sevengrid .scard .nm i{font-size:.6rem}
.sevengrid .scard .nm span{font-size:.74rem}
.regline{height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.55}
.hdr{position:sticky;top:0;z-index:80;background:rgba(11,11,12,.93);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.hdr .hwrap{max-width:1300px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);display:flex;align-items:center;gap:1.15rem;height:74px}
.brand{font:600 1.45rem/1 var(--font-display);letter-spacing:.02em;white-space:nowrap}
.brand span{color:var(--gold)}
.mainnav{display:flex;gap:1.05rem;margin-left:auto;height:100%}
.mainnav>div{height:100%;display:flex;align-items:center}
.nl{font:600 .74rem/1 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2);padding:.4rem 0;border-bottom:1px solid transparent;transition:color var(--dur),border-color var(--dur)}
.nl.on,.mainnav>div:hover .nl{color:var(--gold-hi);border-color:var(--gold-dim)}
.hdr .tel{font:600 .9rem/1 var(--font-ui);color:var(--ink);white-space:nowrap}
.hdr .tel:hover{color:var(--gold-hi)}
.hdr .btn{height:42px;padding:0 1.15rem;font-size:.82rem;white-space:nowrap}
.burger{display:none;margin-left:auto;border:1px solid var(--line);background:none;color:var(--ink);font:600 .75rem/1 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;padding:.7rem .9rem;border-radius:2px;cursor:pointer}
.sheet{display:none;position:fixed;inset:0;z-index:120;background:#0B0B0C;padding:4.6rem 2rem 2rem;overflow:auto}
.sheet.on{display:block}
.sheet a{display:block;font:500 1.6rem/1.3 var(--font-display);padding:.5rem 0;border-bottom:1px solid var(--line)}
.sheet .x{position:absolute;top:1.2rem;right:1.4rem;border:1px solid var(--line);background:none;color:var(--ink-2);padding:.6rem .9rem;font:600 .75rem/1 var(--font-ui);letter-spacing:.12em;border-radius:2px;cursor:pointer}
.hero{position:relative;padding:clamp(2.6rem,5vw,4.4rem) 0 clamp(3rem,6vw,4.8rem)}
.hgrid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(2rem,5vw,4.2rem);align-items:center}
.hero .display{font-size:clamp(2.8rem,5.4vw,4.7rem)}
.kb{overflow:hidden}
.hero .frame img{max-height:620px;object-fit:cover;object-position:center 40%}
.kb img{transform:scale(1);animation:kb 26s ease-in-out infinite alternate}
@keyframes kb{to{transform:scale(1.065)}}
@media (prefers-reduced-motion:reduce){.kb img{animation:none}}
.revchip{display:inline-flex;gap:.6rem;align-items:center;border:1px solid var(--line);padding:.6rem 1.05rem;border-radius:999px;font:600 .8rem/1 var(--font-ui);color:var(--ink-2);margin-top:1.5rem}
.revchip:hover{border-color:var(--gold-dim);color:var(--ink)}
.ctarow{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.9rem}
.vwrap{position:relative;border:1px solid var(--line);background:#000;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9}
.vwrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vfac{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;cursor:pointer;background:radial-gradient(120% 120% at 30% 20%,#1c1c20 0%,#0B0B0C 70%)}
.vfac img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.6}
.vfac .play{position:relative;z-index:2;width:84px;height:84px;border-radius:50%;border:1.5px solid var(--gold);background:rgba(11,11,12,.72);display:flex;align-items:center;justify-content:center;transition:transform var(--dur) var(--ease),background var(--dur);backdrop-filter:blur(4px)}
.vfac:hover .play{transform:scale(1.07);background:rgba(200,164,92,.22)}
.vfac .play::after{content:'';margin-left:6px;border-left:22px solid var(--gold-hi);border-top:13px solid transparent;border-bottom:13px solid transparent}
.vfac .vt{position:absolute;left:1.2rem;bottom:1.1rem;z-index:2;font:600 .78rem/1.5 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);text-shadow:0 2px 8px #000}
.vfac .vt b{color:var(--gold-hi)}
.socgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.3rem;align-items:start}
.soccard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.soccard .schead{display:flex;align-items:center;gap:.7rem;padding:.95rem 1.15rem;border-bottom:1px solid var(--line);font:600 .8rem/1 var(--font-ui)}
.soccard .schead i{font-style:normal;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem}
.soccard .schead b{color:var(--ink)}
.soccard .schead a{margin-left:auto;font-size:.72rem;color:var(--gold);letter-spacing:.08em;text-transform:uppercase}
.soccard .scbody{min-height:200px;display:flex;align-items:center;justify-content:center;padding:.6rem}
.soccard blockquote{margin:0!important;max-width:100%!important;min-width:0!important}
.handles{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:1.8rem}
.handles a{display:inline-flex;gap:.5rem;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font:600 .78rem/1 var(--font-ui);color:var(--ink-2)}
.handles a:hover{border-color:var(--gold-dim);color:var(--gold-hi)}
.handles a i{font-style:normal;color:var(--gold);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase}
.prof{display:grid;grid-template-columns:minmax(240px,340px) 1fr;gap:clamp(1.6rem,4vw,3.4rem);align-items:start;padding:2.8rem 0;border-bottom:1px solid var(--line)}
.prof:last-child{border-bottom:0}
.prof .pimg img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border:1px solid var(--line);filter:saturate(.92)}
.prof h2.pname,.prof h3{font-size:clamp(1.7rem,2.6vw,2.3rem)}
.prof .role{font:600 .72rem/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:.4rem 0 .9rem}
.badges{display:flex;gap:.5rem;flex-wrap:wrap;margin:.9rem 0 1.1rem}
.badge{border:1px solid var(--gold-dim);border-radius:2px;padding:.4rem .7rem;font:600 .68rem/1.4 var(--font-ui);letter-spacing:.07em;text-transform:uppercase;color:var(--gold-hi);background:rgba(200,164,92,.07)}
.prof .facts{margin:1.1rem 0;display:grid;gap:.55rem}
.prof .facts>div{display:grid;grid-template-columns:130px 1fr;gap:1rem;font-size:.92rem;color:var(--ink-2);border-bottom:1px solid var(--line);padding-bottom:.55rem}
.prof .facts b{font:600 .68rem/1.8 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.prof .src{font-size:.72rem;color:var(--ink-3)}
.lt .prof .facts>div{color:#4a4436;border-color:#E2D8C2}
.lt .prof .facts b{color:#6b6350}
.lt .prof .src{color:#6b6350}
.lt .prof .role{color:#6E5826}
.lt .badge{border-color:#B99C58;color:#57451E;background:rgba(110,88,38,.06)}
.noimg{border:1px dashed var(--gold-dim);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--gold);font:500 1.05rem/1.5 var(--font-display);padding:1rem;background:rgba(200,164,92,.03);overflow:hidden}
.scard .noimg{aspect-ratio:4/5}
.noimg .mono{font-size:2.4rem}
.noimg .mono{font-size:3.2rem;color:var(--gold-hi);letter-spacing:.06em}
.noimg i{font-size:.8rem;color:var(--ink-3);font-style:normal;font-family:var(--font-ui)}
.lt .noimg{border-color:#B99C58;color:#6E5826;background:#FCF8EE}
.lt .noimg i{color:#6b6350}
.chips{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.6rem 0 2.4rem}
.chip{border:1px solid var(--line);border-radius:999px;padding:.85rem 1.25rem;font:600 .78rem/1 var(--font-ui);letter-spacing:.07em;color:var(--ink-2);cursor:pointer;background:none;transition:border-color var(--dur),color var(--dur)}
.chip:hover{border-color:var(--gold-dim);color:var(--ink)}
.chip.on{border-color:var(--gold);color:var(--gold-hi);background:rgba(200,164,92,.08)}
.lt .chip{border-color:#D9CDB4;color:#4a4436}
.lt .chip.on{border-color:#7a5f28;color:#57451E;background:rgba(110,88,38,.08)}
.galgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2.2rem 1.6rem}
.fitem.hide{display:none}
.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;grid-template-columns:1fr 1fr 1.25fr;gap:1px;background:var(--line);border-top:1px solid var(--gold-dim)}
.actionbar a{display:flex;align-items:center;justify-content:center;gap:.5rem;height:58px;background:rgba(11,11,12,.97);font:600 .78rem/1 var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--ink)}
.actionbar a.book{background:var(--gold);color:#141416}
.consult{background:var(--card);border:1px solid var(--gold-dim);border-radius:var(--radius);padding:1.9rem;position:sticky;top:96px}
.consult h3{font-size:1.55rem}
.consult .call{font:600 1.15rem/1 var(--font-ui);color:var(--gold-hi);display:inline-block;margin:.7rem 0 1.1rem}
.consult label{display:block;font:600 .68rem/1 var(--font-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin:.95rem 0 .4rem}
.consult input,.consult select,.consult textarea{width:100%;background:var(--panel);border:1px solid var(--line);color:var(--ink);padding:.78rem .95rem;border-radius:2px;font:400 .95rem/1.4 var(--font-ui)}
.consult input:focus,.consult select:focus,.consult textarea:focus{outline:none;border-color:var(--gold-dim)}
.consult .btn{width:100%;margin-top:1.3rem}
.consult .fine{font-size:.74rem;color:var(--ink-3);margin-top:.85rem;line-height:1.55}
.consult .fine a{text-decoration:underline;text-underline-offset:2px}
.toast{position:fixed;left:50%;bottom:5.4rem;transform:translateX(-50%);z-index:130;background:var(--card);border:1px solid var(--gold);padding:1rem 1.4rem;border-radius:2px;font-size:.88rem;color:var(--ink);display:none;max-width:min(92vw,480px)}
.toast.on{display:block}
.pgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4.5vw,4rem);align-items:start}
.crumbs{font:600 .74rem/1 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);display:flex;gap:.6rem;flex-wrap:wrap;padding-top:1.6rem}
.crumbs a:hover{color:var(--gold-hi)}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;background:none;border:none;border-radius:var(--radius);margin-top:2rem}
.glance div{background:var(--card);border:1px solid var(--line);padding:1.05rem 1.15rem}
.glance b{display:block;font:600 .68rem/1 var(--font-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.45rem}
.glance span{font:500 1.12rem/1.3 var(--font-display);color:var(--ink)}
.glance .gold span{color:var(--gold-hi)}
.lt .glance{background:none;border:none}.lt .glance div{background:#FCF8EE;border-color:#E2D8C2}
.lt .glance b{color:#6b6350}.lt .glance span{color:#191713}.lt .glance .gold span{color:#7a5f28}
details.faq{border-bottom:1px solid var(--line)}
details.faq summary{cursor:pointer;padding:1.15rem 0;font:500 1.3rem/1.3 var(--font-display);color:var(--ink);list-style:none;display:flex;justify-content:space-between;gap:1rem}
details.faq summary::after{content:'+';color:var(--gold);font:500 1.4rem/1 var(--font-display)}
details.faq[open] summary::after{content:'\2212'}
details.faq div{color:var(--ink-2);max-width:74ch;padding:0 0 1.3rem}
.lt details.faq{border-color:#E2D8C2}.lt details.faq summary{color:#191713}
.lt details.faq div{color:#4a4436}
.costband{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.costnote{border-left:2px solid var(--gold-dim);padding-left:1.2rem;font-size:.9rem;color:var(--ink-3)}
.lt .costnote{border-color:#B99C58;color:#6b6350}
.visitgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.3rem}
.vcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:2rem}
.vcard h3{font-size:1.5rem;color:var(--gold)}
.vcard p{color:var(--ink-2);font-size:.95rem;margin-top:.7rem}
.revpanel{max-width:860px;margin:0 auto;text-align:center}
.revpanel .q{font:500 clamp(1.4rem,2.4vw,1.95rem)/1.45 var(--font-display);color:var(--ink);font-style:italic}





.pillar{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:2.4rem;display:flex;flex-direction:column;gap:.9rem;position:relative;overflow:hidden;transition:border-color var(--dur),transform var(--dur) var(--ease)}
.pillar:hover{transform:translateY(-4px)}
.pillar.p-surg:hover{border-color:var(--gold-dim)}
.pillar.p-spa:hover{border-color:var(--br)}
.pillar.p-well:hover{border-color:var(--wl)}
.pillar h3{font-size:1.9rem;color:var(--ink)}
.lt .pillar h3{color:var(--ink)}
.lt .pillar .label{color:var(--gold)}
.lt .pillar .label.rose{color:var(--br)}
.lt .pillar .label.sage{color:var(--wl)}
.lt .pillar .tagline{color:var(--ink-2)}
.lt .pillar ul{color:var(--ink-3)}
.lt .pillar li{border-color:var(--line)}
.lt .pillar .btn-ghost{border-color:var(--gold-dim);color:var(--ink)}
.lt .pillar .btn-ghost:hover{border-color:var(--gold);color:var(--gold-hi)}
.pillar .tagline{color:var(--ink-2);font-size:.95rem;flex:1}
.pillar ul{list-style:none;color:var(--ink-3);font-size:.88rem}
.pillar li{padding:.3rem 0;border-bottom:1px solid var(--line)}
.pillar li:last-child{border:0}
.pillar .btn{align-self:flex-start;margin-top:.6rem}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px}
.pillar.p-surg::before{background:linear-gradient(90deg,var(--gold),transparent)}
.pillar.p-spa::before{background:linear-gradient(90deg,var(--br),transparent)}
.pillar.p-well::before{background:linear-gradient(90deg,var(--wl),transparent)}
details.xd{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-top:1rem}
details.xd>summary{cursor:pointer;list-style:none;padding:1.15rem 1.4rem;display:flex;align-items:center;gap:.9rem;font:600 .8rem/1.4 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
details.xd>summary::-webkit-details-marker{display:none}
details.xd>summary::after{content:'+';margin-left:auto;color:var(--gold);font:500 1.5rem/1 var(--font-display)}
details.xd[open]>summary::after{content:'\2212'}
details.xd .xdb{padding:.4rem 1.4rem 1.6rem;border-top:1px solid var(--line)}
.lt details.xd{background:#FCF8EE;border-color:#E2D8C2}
.lt details.xd>summary{color:#6E5826}
.lt details.xd .xdb{border-color:#E9E0CC}
.pubs{margin:.6rem 0 0;padding-left:1.15rem;color:var(--ink-2);font-size:.88rem}
.pubs li{margin:.42rem 0;line-height:1.55}
.lt .pubs{color:#4a4436}
.libitem{display:grid;grid-template-columns:64px 1fr;gap:1.2rem;padding:1.05rem 0;border-bottom:1px solid var(--line);font-size:.94rem;color:var(--ink-2)}
.libitem:last-child{border:0}
.libitem .yr{font:500 1.25rem/1 var(--font-display);color:var(--gold)}
.libitem .note{display:block;font-size:.8rem;color:var(--ink-3);margin-top:.25rem}
.libitem a.go{font:600 .72rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.libitem a.go:hover{color:var(--gold-hi)}
.lt .libitem{border-color:#E2D8C2;color:#4a4436}
.lt .libitem .yr{color:#7a5f28}.lt .libitem .note{color:#6b6350}.lt .libitem a.go{color:#6E5826}
.tree{position:relative;margin:2.2rem 0 0;padding-left:1.6rem;border-left:1px solid var(--gold-dim)}
.tnode{position:relative;padding:0 0 2rem 1.4rem}
.tnode::before{content:'';position:absolute;left:-1.95rem;top:.5rem;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 12px rgba(200,164,92,.6)}
.tnode h3.tname{font:500 1.35rem/1.2 var(--font-display);color:var(--ink);margin:0}
.tnode .era{font:600 .68rem/1.8 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.tnode p{color:var(--ink-2);font-size:.92rem;max-width:70ch}
.lingrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.2rem;margin-top:2rem}
.lincard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.6rem;display:flex;flex-direction:column;gap:.5rem;transition:border-color var(--dur)}
.lincard:hover{border-color:var(--gold-dim)}
.lincard b{font:500 1.25rem/1.25 var(--font-display);color:var(--ink)}
.lincard i{font:600 .68rem/1.5 var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-style:normal}
.lincard p{font-size:.86rem;color:var(--ink-2);flex:1}
.lincard a{font:600 .7rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.lincard a:hover{color:var(--gold-hi)}
.tablewrap{overflow-x:auto;margin-top:.6rem;-webkit-overflow-scrolling:touch}
.swipehint{display:none;margin-top:1.4rem}
@media(max-width:720px){.swipehint{display:block}}
table.costs{width:100%;min-width:660px;border-collapse:collapse;font-size:.94rem}
table.costs th{font:600 .7rem/1.5 var(--font-ui);letter-spacing:.12em;text-transform:uppercase;color:#6b6350;text-align:left;padding:.7rem .8rem;border-bottom:2px solid #B99C58}
table.costs td{padding:.72rem .8rem;border-bottom:1px solid #E2D8C2;color:#332e24}
table.costs td.amt{font:500 1.06rem/1.2 var(--font-display);white-space:nowrap;color:#191713}
table.costs tr:hover td{background:#FCF8EE}
table.costs a{color:#6E5826;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.storegrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.sku{background:#FCF8EE;border:1px solid #E2D8C2;border-radius:var(--radius);padding:1.4rem;display:flex;flex-direction:column;gap:.45rem;transition:border-color var(--dur),transform var(--dur) var(--ease)}
.sku:hover{border-color:#B99C58;transform:translateY(-3px)}
.sku b{font:500 1.12rem/1.3 var(--font-display);color:#191713}
.sku i{font:600 .66rem/1.4 var(--font-ui);letter-spacing:.11em;text-transform:uppercase;color:#7a5f28;font-style:normal}
.sku span{font-size:.8rem;color:#6b6350;flex:1}
.sku a{font:600 .72rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:#6E5826}
.sku a:hover{color:#57451E}
.brandrow{display:flex;gap:.6rem;flex-wrap:wrap}
.brandrow a{border:1px solid #D9CDB4;background:#FCF8EE;border-radius:999px;padding:.6rem 1.15rem;font:600 .8rem/1 var(--font-ui);color:#4a4436}
.brandrow a:hover{border-color:#7a5f28;color:#57451E}
.wcard{background:var(--card);border:1px solid var(--line);border-left:2px solid var(--wl);border-radius:var(--radius);padding:2rem}
.wcard h3{color:var(--wl);font-size:1.55rem}
.wcard p{color:var(--ink-2);font-size:.93rem;margin-top:.6rem}
.wcard ul{list-style:none;margin-top:.8rem;color:var(--ink-3);font-size:.88rem}
.wcard li{padding:.28rem 0;border-bottom:1px solid var(--line)}
.wcard li:last-child{border:0}
.compliance{border:1px solid var(--line);border-left:2px solid var(--wl);background:rgba(185,174,106,.05);padding:1.2rem 1.5rem;font-size:.85rem;color:var(--ink-2);border-radius:var(--radius)}
.compliance b{color:var(--wl)}
@media (max-width:1120px){.mainnav{display:none}.burger{display:flex}}
@media (max-width:600px){.hdr .tel{display:none}}
@media (max-width:960px){.hgrid,.pgrid{grid-template-columns:1fr}.consult{position:static;margin-top:2.2rem}.prof{grid-template-columns:1fr}.prof .pimg{max-width:320px}}
@media (max-width:860px){
  .actionbar{display:grid} body{padding-bottom:58px!important}
  
  
  
  .split{grid-template-columns:1fr}
  .split .btn,.ctarow .btn{width:100%}
  .fam a:nth-child(2),.fam a:nth-child(5){display:none}
  .hdr .bookbtn{display:none}
  
}

/* production additions 2026-08-19 */
.leadpanel{border:1px solid var(--line);border-radius:2px;padding:1.5rem 1.4rem;background:rgba(20,20,22,.35)}
.lt .leadpanel,.pgrid .leadpanel{background:#FCF8EE;border-color:#D9CDB4;color:#191713}
.leadpanel .ctarow{margin-top:.4rem;display:flex;gap:.7rem;flex-wrap:wrap}
.leadpanel .fine{font-size:.78rem;color:var(--ink-3);line-height:1.55}
.lt .leadpanel .fine,.pgrid .leadpanel .fine{color:#6b6350}
.legalpage h2{font-size:1.35rem;margin:2.2rem 0 .7rem;color:var(--gold)}
.legalpage p,.legalpage li{color:var(--ink-2);font-size:.95rem;line-height:1.7;max-width:70ch}
.legalpage ul{padding-left:1.2rem;margin:.6rem 0}
.campusgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:1.3rem;align-items:start}
.campuscard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem}
.campuscard h3{font-family:var(--font-d);font-size:1.5rem;margin-bottom:.5rem}
.campuscard .kv{display:grid;gap:.5rem;margin:.9rem 0}
.campuscard .kv b{display:block;font:600 .62rem/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.15rem}
.campuscard .kv span{color:var(--ink-2);font-size:.92rem}

/* store 2.0 — bag + membership tiers (2026-08-19) */
.bagpill{position:fixed;right:1.1rem;bottom:4.6rem;z-index:80;background:var(--gold);color:#141416;border:0;border-radius:999px;padding:.7rem 1.15rem;font:600 .8rem/1 var(--font-ui);letter-spacing:.06em;cursor:pointer;box-shadow:0 6px 24px rgba(0,0,0,.45)}
.bagpill .bagcount{background:#141416;color:var(--gold);border-radius:999px;padding:.15rem .5rem;margin-left:.4rem}
.bagdrawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,92vw);z-index:120;background:#141416;border-left:1px solid var(--gold-dim);padding:1.6rem;transform:translateX(105%);transition:transform .25s ease;overflow:auto}
.bagdrawer.on{transform:none}
.bagdrawer h2{color:var(--gold);font-size:1.3rem;margin-bottom:.4rem}
.bagrow{border-bottom:1px solid var(--line);padding:.8rem 0;font-size:.9rem;color:var(--ink-2)}
.bagrow b{color:var(--ink);display:block;margin-bottom:.25rem}
.bagrow a{color:var(--gold-hi)} .bagrm{background:none;border:1px solid var(--line);color:var(--ink-3);border-radius:2px;padding:.2rem .55rem;margin-left:.6rem;cursor:pointer;font-size:.7rem}
.bagclose{position:absolute;top:1rem;right:1rem;background:none;border:1px solid var(--line);color:var(--ink-2);border-radius:2px;padding:.35rem .8rem;cursor:pointer}
.bagnote{font-size:.78rem;color:var(--ink-3);margin:.6rem 0 1rem}
.sku .skuacts{display:flex;gap:.55rem;margin-top:.6rem;flex-wrap:wrap}
.sku .addbag{background:none;border:1px solid var(--gold-dim);color:var(--gold);border-radius:2px;padding:.45rem .8rem;font:600 .68rem/1 var(--font-ui);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.sku .addbag:hover{border-color:var(--gold)}
.tiergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;align-items:stretch}
.tiercard{background:#FCF8EE;border:1px solid #E2D8C2;border-radius:2px;padding:2rem;display:flex;flex-direction:column;gap:.7rem}
.tiercard h3{font-family:var(--font-d);font-size:1.7rem;color:#191713}
.tiercard .tierline{color:#4a4436;font-size:.95rem;line-height:1.6}
.tiercard .btn{margin-top:auto}
.fenwickband{border:1px solid var(--br,#C98A8A);border-radius:var(--radius);padding:1.8rem;background:rgba(20,20,22,.03)}

/* dual-view gallery — Dr. Cuzalina directive 2026-08-19.
   Twin frames are pixel-identical in size, letterbox and treatment; img filter is
   locked to none so both photos render with exactly their captured color/illumination. */
.sbs{display:grid;grid-template-columns:1fr 1fr;gap:3px;background:var(--line);border:1px solid var(--line);border-radius:2px;overflow:hidden;margin-top:.65rem}
.sbs figure{margin:0;position:relative;background:#0E0E10}
.sbs img{width:100%;height:100%;object-fit:cover;display:block;filter:none !important;mix-blend-mode:normal !important;opacity:1 !important}
.sbs figcaption{position:absolute;left:.5rem;bottom:.45rem;font:600 .58rem/1 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:rgba(11,11,12,.72);padding:.3rem .55rem;border-radius:2px}
.sbs figure:last-child figcaption{left:auto;right:.5rem;background:rgba(200,164,92,.88);color:#141416}

/* clinical-gallery discretion gate — native <details>, no-JS safe */
.clingate{border:1px solid var(--gold-dim);border-radius:var(--radius);margin-top:2.6rem;background:rgba(20,20,22,.4)}
.clingate summary{cursor:pointer;padding:1.5rem 1.6rem;list-style:none;display:flex;flex-direction:column;gap:.35rem}
.clingate summary::-webkit-details-marker{display:none}
.clingate summary b{font-family:var(--font-d);font-size:1.35rem;color:var(--gold)}
.clingate summary span{color:var(--ink-2);font-size:.9rem}
.clingate summary:hover b{color:var(--gold-hi)}
.clingate[open] summary{border-bottom:1px solid var(--line)}
.clingate .galgrid{padding:0 1.6rem 1.6rem}

/* editorial photo strips — owner-approved image kit, 2026-08-21. Plain <figure>s (the .sbs
   overlay-caption rules are scoped and do not reach these). 3:2 crops; .tall keeps a 4:5 frame. */
.pstrip{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.3rem;margin-top:2.4rem}
.pstrip figure{margin:0;position:static;background:none}
.pstrip img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;border:1px solid var(--line);filter:saturate(.92)}
.pstrip .tall img{aspect-ratio:4/5}
.pstrip figcaption{margin-top:.8rem;font-size:.85rem;line-height:1.55;color:var(--ink-3)}
.lt .pstrip figcaption{color:#6b6350}
.lt .pstrip img{border-color:#E2D8C2}
.pstrip.pair{grid-template-columns:1.875fr 1fr}   /* 3:2 beside 4:5 at equal height */
@media(max-width:760px){.pstrip.pair{grid-template-columns:1fr}}
/* self-hosted click-to-play video (created by estate.js only after the click; nothing preloads) */
.vwrap video{position:absolute;inset:0;width:100%;height:100%;border:0;background:#000}
.vwrap .vfac .poster{opacity:.78}
.vwrap .vnote{position:absolute;left:1.2rem;bottom:2.9rem;z-index:2;font-size:.78rem;color:var(--ink-2);text-shadow:0 2px 8px #000}
