/* SRG Holding website preview by Landon Scales */
@property --c1{syntax:"<color>";inherits:true;initial-value:rgba(201,146,72,.42)}
@property --c2{syntax:"<color>";inherits:true;initial-value:rgba(28,74,86,.55)}
@property --c3{syntax:"<color>";inherits:true;initial-value:rgba(120,78,40,.4)}
@property --c4{syntax:"<color>";inherits:true;initial-value:rgba(141,127,113,.28)}
:root{--bg:#0A0F15;--bg2:#0E151E;--ink:#121A24;--ink2:#070B10;--gold:#CFA563;--gold2:#E7CB92;--gold-d:#B88A4A;--bronze:#9A6F3A;--taupe:#8D7F71;--cream:#F4EEE4;--head:#F4EEE4;--text:#E6DFD3;--muted:#C2B9AC;--faint:#9C9488;--line:rgba(207,165,99,.24);--line2:rgba(244,238,228,.11);--card:rgba(255,255,255,.035);--card2:rgba(255,255,255,.065);--ok:#7DB688;--serif:"Source Serif 4",Georgia,"Times New Roman",serif;--sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--r:16px;--rp:22px;--ease:cubic-bezier(.16,1,.3,1);--ease2:cubic-bezier(.76,0,.24,1);--hdr:84px}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:transparent;color:var(--text);font:400 17px/1.66 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
main{display:block;position:relative;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--gold);color:var(--bg)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.04;letter-spacing:-.022em;margin:0 0 .5em;color:var(--head);text-wrap:balance}
h1 em,h2 em,.say em{font-style:italic;font-weight:400;color:var(--gold2)}
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.skip{position:absolute;left:-9999px;top:8px;z-index:400;background:var(--gold);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:700}
.skip:focus{left:12px}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 20px}
@media(min-width:720px){.wrap{padding:0 36px}}
.band{position:relative;padding:clamp(96px,12vw,176px) 0}
.paper,.sand,.ink{background:transparent}
.label{display:inline-flex;align-items:center;gap:14px;font:700 .74rem/1.3 var(--sans);letter-spacing:.26em;text-transform:uppercase;color:var(--gold);margin-bottom:24px}
.label::before{content:"";flex:none;width:34px;height:1px;background:currentColor;transform-origin:left;transition:transform 1.1s var(--ease) calc(var(--d,0s) + .2s)}
.js .label[data-rv]::before,.js [data-rv] .label::before{transform:scaleX(0)}
.js .label[data-rv].in::before,.js [data-rv].in .label::before{transform:none}
.h-xl{font-size:clamp(2.9rem,5.5vw,5.7rem);line-height:.98;letter-spacing:-.034em}
.h-l{font-size:clamp(2.7rem,5vw,5.1rem);line-height:1;letter-spacing:-.032em}
.h2{font-size:clamp(2.3rem,4.3vw,4.1rem);line-height:1.02;letter-spacing:-.03em}
.h3{font-size:clamp(1.4rem,2vw,1.72rem);font-weight:500;line-height:1.18;letter-spacing:-.012em}
.lead{font-size:clamp(1.1rem,1.4vw,1.28rem);line-height:1.62;color:var(--muted);max-width:34em}
.muted{color:var(--muted)}
.sec-head{max-width:880px;margin-bottom:clamp(48px,6vw,84px)}
.sec-head.c{margin-left:auto;margin-right:auto;text-align:center}
.sec-head .lead{margin-top:20px}
.c .lead{margin-left:auto;margin-right:auto}
/* buttons and links */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 28px;border-radius:999px;font:700 .95rem/1.1 var(--sans);letter-spacing:.02em;text-decoration:none;text-align:center;border:1px solid transparent;cursor:pointer;overflow:hidden;isolation:isolate;transition:background .35s,color .35s,border-color .35s,box-shadow .45s,translate .7s var(--ease),scale .2s}
.btn:active{scale:.97}
.btn-gold{background:var(--gold);color:#0B1016;box-shadow:0 16px 36px -18px rgba(207,165,99,.8)}
.btn-gold::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.6) 50%,transparent 75%);transform:translateX(-130%);transition:transform 1s var(--ease)}
.btn-gold:hover{background:var(--gold2);box-shadow:0 22px 48px -16px rgba(231,203,146,.75)}
.btn-gold:hover::after{transform:translateX(130%)}
.btn-line{border-color:rgba(244,238,228,.34);color:var(--cream);background:rgba(255,255,255,.025)}
.btn-line:hover{background:var(--cream);border-color:var(--cream);color:var(--bg)}
.btn[disabled]{opacity:.45;cursor:not-allowed}
.btns{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:700;color:var(--gold);text-decoration:none;letter-spacing:.01em}
.tlink span{background:linear-gradient(currentColor,currentColor) 0 100%/100% 1px no-repeat;padding-bottom:3px;transition:background-size .6s var(--ease)}
.tlink:hover span{background-size:0 1px;background-position:100% 100%}
.tlink svg.ic{width:18px;height:18px;flex:none;transition:transform .5s var(--ease)}
.tlink:hover svg.ic{transform:translateX(7px)}
.quiet{font-weight:500;color:var(--muted);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 6px}
.quiet b{color:var(--cream);border-bottom:1px solid var(--line)}
/* header */
.hdr{position:sticky;top:0;z-index:60;border-bottom:1px solid transparent;transition:background .45s,border-color .45s,transform .7s var(--ease)}
.hdr.scrolled{background:rgba(9,13,19,.74);-webkit-backdrop-filter:blur(16px) saturate(1.25);backdrop-filter:blur(16px) saturate(1.25);border-bottom-color:var(--line2)}
.hdr.hide{transform:translate3d(0,-104%,0)}
.hdr-in{display:flex;align-items:center;gap:26px;height:var(--hdr)}
.brand{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--cream);flex:none;min-height:44px}
.brand img{height:34px;width:auto}
.brand b{position:relative;font:500 1.34rem/1 var(--serif);letter-spacing:.004em;padding-bottom:8px;white-space:nowrap}
.brand b::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;border-top:1px solid var(--cream);border-bottom:1px solid var(--taupe)}
.nav{display:flex;gap:28px;margin-left:auto}
.nav a{position:relative;font:500 .93rem/1 var(--sans);letter-spacing:.02em;text-decoration:none;color:var(--text);padding:12px 0;opacity:.82;transition:opacity .3s}
.nav a:hover,.nav a[aria-current=page]{opacity:1}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .55s var(--ease)}
.nav a:hover::after,.nav a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
.hdr-tel{font-weight:700;font-size:.93rem;text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;color:var(--cream)}
.hdr .btn{min-height:46px;padding:0 22px}
.menu-btn{display:none;margin-left:auto;align-items:center;gap:10px;min-height:46px;padding:0 18px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.04);font:700 .9rem var(--sans);color:var(--cream);cursor:pointer}
.menu-btn i{display:grid;gap:5px}.menu-btn i::before,.menu-btn i::after{content:"";display:block;width:20px;height:1.5px;background:currentColor}
@media(max-width:1239px){.hdr-tel{display:none}}
@media(max-width:1099px){.nav,.hdr .btn{display:none}.menu-btn{display:inline-flex}}
/* phone menu */
.menu{position:fixed;inset:0;z-index:80;background:radial-gradient(120% 80% at 100% 0%,rgba(29,74,85,.55),transparent 60%),radial-gradient(90% 70% at 0% 100%,rgba(184,138,74,.3),transparent 62%),#090D13;color:var(--cream);display:flex;flex-direction:column;padding:12px 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .85s var(--ease2),visibility 0s .85s}
.menu.open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .85s var(--ease2)}
.menu-top{display:flex;align-items:center;justify-content:space-between;min-height:58px}
.menu-close{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--cream);font-size:1.6rem;line-height:1;cursor:pointer}
.menu-links{display:flex;flex-direction:column;margin:28px 0 30px}
.menu-links a{font:500 clamp(2.1rem,9vw,3rem)/1.12 var(--serif);letter-spacing:-.02em;color:var(--cream);text-decoration:none;padding:12px 0;border-bottom:1px solid var(--line2)}
.menu-links a[aria-current=page]{color:var(--gold2);font-style:italic}
.menu.open .menu-links a{animation:menuIn 1s var(--ease) both}
.menu.open .menu-links a:nth-child(1){animation-delay:.22s}.menu.open .menu-links a:nth-child(2){animation-delay:.28s}.menu.open .menu-links a:nth-child(3){animation-delay:.34s}.menu.open .menu-links a:nth-child(4){animation-delay:.4s}.menu.open .menu-links a:nth-child(5){animation-delay:.46s}.menu.open .menu-links a:nth-child(6){animation-delay:.52s}.menu.open .menu-links a:nth-child(7){animation-delay:.58s}
@keyframes menuIn{from{opacity:0;transform:translate3d(0,44px,0)}to{opacity:1;transform:none}}
.menu .btns{margin-top:auto}.menu .btn{flex:1 1 220px}
.menu-note{color:var(--muted);font-size:.92rem;margin:18px 0 0}
/* phone bottom bar */
.mbar{display:none}
@media(max-width:719px){.mbar{position:fixed;left:0;right:0;bottom:0;z-index:55;display:grid;grid-template-columns:1fr 1.5fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(9,13,19,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line2)}.mbar .btn{min-height:50px;padding:0 12px}body{padding-bottom:74px}}
/* one moving backdrop for the whole site */
.bg{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(140% 90% at 50% -10%,#121B26 0%,var(--bg) 58%);transition:--c1 2.2s ease,--c2 2.2s ease,--c3 2.2s ease,--c4 2.2s ease}
.bg i{position:absolute;display:block;width:78vmax;height:78vmax;border-radius:50%;will-change:transform}
.bg i:nth-child(1){left:-30vmax;top:-34vmax;background:radial-gradient(closest-side,var(--c1),transparent);animation:b1 34s ease-in-out infinite alternate;translate:0 calc(var(--sy,0) * -24vh)}
.bg i:nth-child(2){right:-34vmax;top:-8vmax;background:radial-gradient(closest-side,var(--c2),transparent);animation:b2 42s ease-in-out infinite alternate;translate:0 calc(var(--sy,0) * -42vh)}
.bg i:nth-child(3){left:-12vmax;bottom:-46vmax;background:radial-gradient(closest-side,var(--c3),transparent);animation:b3 48s ease-in-out infinite alternate;translate:0 calc(var(--sy,0) * -58vh)}
.bg i:nth-child(4){right:-22vmax;bottom:-38vmax;width:64vmax;height:64vmax;background:radial-gradient(closest-side,var(--c4),transparent);animation:b4 56s ease-in-out infinite alternate;translate:0 calc(var(--sy,0) * -34vh)}
@keyframes b1{to{transform:translate3d(18vw,14vh,0) scale(1.2)}}
@keyframes b2{to{transform:translate3d(-16vw,20vh,0) scale(.84)}}
@keyframes b3{to{transform:translate3d(20vw,-16vh,0) scale(1.14)}}
@keyframes b4{to{transform:translate3d(-18vw,-12vh,0) scale(1.24)}}
.bg .spot{position:absolute;left:0;top:0;width:46vmax;height:46vmax;margin:-23vmax 0 0 -23vmax;border-radius:50%;background:radial-gradient(closest-side,rgba(231,203,146,.12),transparent);translate:var(--mx,50vw) var(--my,40vh);opacity:0;transition:opacity 1.2s}
.bg.lit .spot{opacity:1}
.bg::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:min(1208px,calc(100% - 40px));transform:translateX(-50%);background-image:linear-gradient(90deg,rgba(207,165,99,.07) 1px,transparent 1px);background-size:25% 100%;border-right:1px solid rgba(207,165,99,.07);-webkit-mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent);mask-image:linear-gradient(transparent,#000 18%,#000 82%,transparent)}
.bg::after{content:"";position:absolute;inset:-60%;opacity:.075;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:grain 1.4s steps(6) infinite}
@keyframes grain{0%{transform:translate3d(0,0,0)}20%{transform:translate3d(-7%,4%,0)}40%{transform:translate3d(5%,-6%,0)}60%{transform:translate3d(-4%,-3%,0)}80%{transform:translate3d(6%,5%,0)}100%{transform:translate3d(-2%,7%,0)}}
.bg[data-tone=night]{--c1:rgba(24,66,82,.58);--c2:rgba(18,44,64,.62);--c3:rgba(190,140,74,.26);--c4:rgba(33,92,98,.36)}
.bg[data-tone=sand]{--c1:rgba(198,150,84,.44);--c2:rgba(141,127,113,.4);--c3:rgba(112,72,38,.44);--c4:rgba(28,74,86,.32)}
.bg[data-tone=gold]{--c1:rgba(214,166,92,.5);--c2:rgba(150,100,48,.44);--c3:rgba(28,74,86,.42);--c4:rgba(231,203,146,.2)}
.bg[data-tone=sea]{--c1:rgba(31,90,100,.55);--c2:rgba(201,146,72,.3);--c3:rgba(20,52,70,.55);--c4:rgba(141,127,113,.26)}
/* top progress line */
.prog{position:fixed;left:0;right:0;top:0;z-index:70;height:2px;pointer-events:none}
.prog i{display:block;height:100%;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform:scaleX(0);transform-origin:left}
/* intro and page curtain */
.curtain{position:fixed;inset:0;z-index:300;display:none;place-items:center;background:radial-gradient(90% 70% at 50% 42%,#121B26,#070B10 72%);color:var(--cream);pointer-events:none}
.curtain::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.intro .curtain,.pt .curtain{display:grid;animation:curUp .95s var(--ease2) var(--cd,.06s) both}
.intro .curtain{--cd:1.3s}
.leaving .curtain{display:grid;animation:curIn .55s var(--ease2) both;pointer-events:auto}
.cur-in{display:none}
.intro .cur-in{display:grid;justify-items:center;gap:16px;animation:curOut .5s var(--ease) 1.05s both}
.cur-in img{width:118px;height:auto;animation:rise .9s var(--ease) .1s both}
.cur-in b{font:500 clamp(1.9rem,4vw,2.7rem)/1 var(--serif);letter-spacing:.005em;animation:rise .9s var(--ease) .2s both}
.cur-in i{display:block;width:190px;height:1px;background:var(--gold);transform-origin:left;animation:draw 1s var(--ease2) .2s both}
.cur-in span{font:700 .72rem/1 var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--gold);animation:rise .9s var(--ease) .35s both}
@keyframes curUp{from{transform:none}to{transform:translate3d(0,-100%,0);visibility:hidden}}
@keyframes curIn{from{transform:translate3d(0,100%,0)}to{transform:none}}
@keyframes curOut{to{opacity:0;transform:translate3d(0,-18px,0)}}
@keyframes rise{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:none}}
@keyframes draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
/* photo frames */
.frame{position:relative;overflow:hidden;border-radius:var(--rp);background:#141C26;isolation:isolate;box-shadow:0 50px 100px -50px rgba(0,0,0,.85),0 40px 110px -70px rgba(207,165,99,.45)}
.frame::after{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(231,203,146,.24);pointer-events:none}
.frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.r-wide{aspect-ratio:16/11}.r-43{aspect-ratio:4/3}.r-45{aspect-ratio:4/5}.r-56{aspect-ratio:5/6}.r-tall{aspect-ratio:3/4}.r-169{aspect-ratio:16/9}.r-32{aspect-ratio:3/2}
[data-drift]>img{transform:translate3d(0,var(--dy,0px),0) scale(1.22);will-change:transform}
.mat{padding:10px;border:1px solid var(--line);border-radius:32px}
.zoom .frame>img,.frame.zoom>img{transition:transform 1.4s var(--ease)}
.zoom:hover .frame>img,.frame.zoom:hover>img{transform:scale(1.07)}
.cap{font-size:.86rem;color:var(--faint);margin-top:14px;letter-spacing:.01em}
/* reveal: four sides, staggered */
.js [data-rv]{opacity:0;transition:opacity 1.1s var(--ease) var(--d,0s),transform 1.35s var(--ease) var(--d,0s),translate .6s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.js [data-rv=up]{transform:translate3d(0,90px,0)}
.js [data-rv=down]{transform:translate3d(0,-90px,0)}
.js [data-rv=left]{transform:translate3d(-120px,0,0)}
.js [data-rv=right]{transform:translate3d(120px,0,0)}
.js [data-rv].in{opacity:1;transform:none}
/* headings never fade: their words rise out of a mask */
.js :is(h1,h2,h3)[data-rv]{opacity:1;transform:none}
.wd{display:inline-block;overflow:hidden;vertical-align:top;padding:.1em .05em .12em;margin:-.1em -.05em -.12em}
.js .sw .wi{display:inline-block;transform:translate3d(0,115%,0) rotate(5deg);transform-origin:0 100%;transition:transform 1.3s var(--ease) calc(var(--d,0s) + var(--i,0) * .045s)}
.js .sw.in .wi{transform:none}
/* photos wipe open and settle */
.js [data-rv]:has(.frame),.js [data-rv]:has(.map){opacity:1}
.js [data-rv] .frame,.js [data-rv] .map{clip-path:inset(0 0 100% 0 round var(--rp));transition:clip-path 1.6s var(--ease2) calc(var(--d,0s) + .05s)}
.js [data-rv=up] .frame,.js [data-rv=up] .map{clip-path:inset(100% 0 0 0 round var(--rp))}
.js [data-rv=left] .frame,.js [data-rv=left] .map{clip-path:inset(0 100% 0 0 round var(--rp))}
.js [data-rv=right] .frame,.js [data-rv=right] .map{clip-path:inset(0 0 0 100% round var(--rp))}
.js [data-rv].in .frame,.js [data-rv].in .map{clip-path:inset(0 0 0 0 round var(--rp))}
.js [data-rv] .frame>img{scale:1.38;transition:scale 2.2s var(--ease) var(--d,0s),transform 1.4s var(--ease)}
.js [data-rv].in .frame>img{scale:1}
.js [data-rv] [data-drift]>img{transition:scale 2.2s var(--ease) var(--d,0s)}
@media(max-width:374px){.hdr-in{gap:12px}.brand{gap:10px}.brand img{height:28px}.brand b{font-size:1.1rem}.menu-btn{padding:0 14px;gap:0;font-size:0}}
/* cards and grids */
.grid{display:grid;gap:22px}
@media(min-width:720px){.g2,.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}}
.split{display:grid;gap:52px;align-items:center}
@media(min-width:960px){.split{grid-template-columns:1fr 1fr;gap:84px}.split.wl{grid-template-columns:1.2fr 1fr}.split.wr{grid-template-columns:.85fr 1.15fr}.split.flip>:first-child{order:2}.split.top{align-items:start}}
.card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.058),rgba(255,255,255,.018));border:1px solid var(--line2);border-radius:var(--r);padding:34px 30px}
.card h3{margin-bottom:12px}
.card p:last-child{margin-bottom:0}
.lift{transition:translate .6s var(--ease),box-shadow .5s var(--ease),border-color .4s}
@media(hover:hover){.lift:hover{translate:0 -8px;border-color:rgba(207,165,99,.55);box-shadow:0 0 0 1px rgba(207,165,99,.16),0 36px 70px -34px rgba(207,165,99,.5)}}
.ico{width:50px;height:50px;color:var(--gold);margin-bottom:26px}
.ico svg,svg.ic{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.card .tlink{margin-top:12px}
a.card{display:block;text-decoration:none;color:inherit}
a.card .tlink{margin-top:4px}
.area{font:700 .72rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin:0}
/* hero */
.hero{position:relative;padding:clamp(36px,6vw,92px) 0 clamp(84px,9vw,136px)}
.hero-grid{display:grid;gap:56px;align-items:center}
@media(min-width:960px){.hero-grid{grid-template-columns:1.06fr .94fr;gap:76px}.hero.home{min-height:calc(100svh - var(--hdr));display:flex;align-items:center}.hero.home>.wrap{width:100%}}
.hero h1{margin-bottom:0}
.hero .lead{margin:28px 0 38px}
.hero .btns{gap:12px 14px}
.hero .pill{margin:0 0 28px}
.trust{display:grid;grid-template-columns:1fr 1fr;gap:20px 28px;list-style:none;margin:46px 0 0;padding:30px 0 0;border-top:1px solid var(--line2)}
.trust li{position:relative;padding-left:20px;font-size:.92rem;line-height:1.42;color:var(--muted)}
.trust li::before{content:"";position:absolute;left:0;top:.45em;width:7px;height:7px;background:var(--gold);transform:rotate(45deg)}
.trust b{display:block;color:var(--cream);font:500 1.16rem/1.25 var(--serif);margin-bottom:3px}
.hero-media{position:relative}
.hero.home .frame>img{object-position:32% 50%}
.hero-card{position:absolute;left:-36px;bottom:-36px;z-index:3;max-width:340px;background:rgba(9,13,19,.92);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;box-shadow:0 30px 60px -30px rgba(0,0,0,.85)}
.hero-card b{display:block;font:500 1.1rem/1.25 var(--serif);color:var(--cream);margin-bottom:5px}
.hero-card span{font-size:.9rem;color:var(--muted);line-height:1.45;display:block}
.js .hero-media .hero-card{opacity:0;transform:translate3d(0,44px,0);transition:opacity 1s var(--ease) calc(var(--d,0s) + .75s),transform 1.3s var(--ease) calc(var(--d,0s) + .75s)}
.js .hero-media.in .hero-card{opacity:1;transform:none}
@media(max-width:959px){.hero-card{position:relative;left:auto;bottom:auto;margin:-48px 14px 0;max-width:none}}
.cue{position:absolute;left:50%;bottom:24px;display:none;flex-direction:column;align-items:center;gap:12px;font:700 .64rem/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--faint);translate:-50% 0}
.cue i{position:relative;display:block;width:1px;height:54px;overflow:hidden;background:rgba(207,165,99,.22)}
.cue i::after{content:"";position:absolute;left:0;top:0;width:1px;height:100%;background:var(--gold);animation:cue 2.2s var(--ease2) infinite}
@keyframes cue{from{transform:translate3d(0,-100%,0)}to{transform:translate3d(0,100%,0)}}
@media(min-width:960px) and (min-height:760px){.cue{display:flex}}
/* marquee, two rows that answer the scroll */
.marquee{position:relative;overflow:hidden;padding:30px 0;border-block:1px solid var(--line2);background:rgba(7,11,16,.38)}
.mq{display:flex;width:max-content;will-change:transform;animation:mq 80s linear infinite}
.mq span{display:inline-flex;align-items:center;white-space:nowrap;font:400 clamp(2.1rem,4.8vw,4.3rem)/1.18 var(--serif);letter-spacing:-.022em;color:var(--cream)}
.mq span::after{content:"";flex:none;width:12px;height:12px;background:var(--gold);transform:rotate(45deg);margin:0 clamp(28px,3.4vw,56px)}
.mq.alt{margin-top:10px;animation-duration:110s;animation-direction:reverse}
.mq.alt span{font-style:italic;font-size:clamp(1.25rem,2.4vw,2.05rem);color:var(--gold2)}
.mq.alt span::after{width:8px;height:8px;background:transparent;border:1px solid var(--taupe)}
.mq-js .mq{animation:none}
@keyframes mq{to{transform:translateX(-50%)}}
/* statement, lit word by word as you scroll */
.say{font:400 clamp(1.95rem,4.3vw,3.9rem)/1.16 var(--serif);letter-spacing:-.024em;color:var(--cream);max-width:21em;margin:0;text-wrap:pretty}
.ww{transition:opacity .45s var(--ease),color .45s}
.js .words .ww{opacity:.15}
.js .words .ww.on{opacity:1}
/* year stops */
.stops{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;list-style:none;margin:38px 0 34px;padding:0}
.stops::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--line2)}
.stops .stops-line{position:absolute;left:0;right:0;top:6.5px;height:2px;padding:0!important;background:linear-gradient(90deg,var(--gold-d),var(--gold2));box-shadow:0 0 14px rgba(231,203,146,.6);transform:scaleX(var(--p,0));transform-origin:left}
.stops .stops-line::before{content:none!important}
.stops li{position:relative;padding-top:34px}
.stops li::before{content:"";position:absolute;left:0;top:0;width:15px;height:15px;border-radius:50%;background:var(--bg);border:1.5px solid var(--gold);transition:background .5s var(--d,0s),box-shadow .5s var(--d,0s)}
.stops li.in::before{background:var(--gold);box-shadow:0 0 0 5px rgba(207,165,99,.16)}
.stops b{display:block;font:500 1.75rem/1 var(--serif);color:var(--cream);margin-bottom:8px}
.stops span{display:block;font-size:.88rem;line-height:1.4;color:var(--muted)}
@media(max-width:599px){.stops{grid-template-columns:1fr;gap:24px;padding-left:36px}.stops::before,.stops .stops-line{left:7px;right:auto;top:4px;bottom:4px;width:1px;height:auto}.stops .stops-line{width:2px;left:6.5px;transform:scaleY(var(--p,0));transform-origin:top}.stops li{padding-top:0}.stops li::before{left:-36px;top:4px}}
/* vertical timeline with a travelling light */
.tl-wrap{position:relative;max-width:1060px;margin:0 auto}
.tl-wrap::before,.tl-line{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line2)}
.tl-line{width:2px;margin-left:-.5px;background:linear-gradient(var(--gold-d),var(--gold2));transform:scaleY(var(--p,0));transform-origin:top}
.tl-dot{position:absolute;left:50%;top:calc(var(--p,0) * 100%);z-index:2;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--gold2);box-shadow:0 0 0 6px rgba(207,165,99,.16),0 0 34px 10px rgba(231,203,146,.42)}
.tl{list-style:none;margin:0;padding:0}
.tl li{position:relative;width:50%;padding:0 56px 64px 0;text-align:right}
.tl li:nth-child(even){margin-left:50%;padding:0 0 64px 56px;text-align:left}
.tl li::before{content:"";position:absolute;top:10px;right:-8px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1.5px solid var(--gold);transition:background .5s .25s,box-shadow .5s .25s}
.tl li:nth-child(even)::before{right:auto;left:-8px}
.tl li.in::before{background:var(--gold);box-shadow:0 0 0 6px rgba(207,165,99,.15)}
.tl .yr{display:block;font:400 clamp(2.4rem,4.4vw,3.7rem)/1 var(--serif);letter-spacing:-.03em;color:var(--gold2);margin-bottom:12px}
.tl p{margin:0;color:var(--muted);max-width:30em;display:inline-block}
@media(max-width:759px){.tl-wrap::before,.tl-line,.tl-dot{left:8px}.tl li,.tl li:nth-child(even){width:auto;margin-left:0;padding:0 0 46px 46px;text-align:left}.tl li::before,.tl li:nth-child(even)::before{left:0;right:auto}}
/* quotes */
.pull{margin:0 0 36px;padding-left:28px;border-left:2px solid var(--gold);font:400 italic clamp(1.5rem,2.6vw,2.2rem)/1.32 var(--serif);color:var(--cream);transition:opacity .7s var(--ease),translate .7s var(--ease)}
.pull cite{display:block;margin-top:16px;font:700 .72rem/1.3 var(--sans);font-style:normal;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.quotes .pull{opacity:.2;translate:-10px 0}.quotes .pull.cur{opacity:1;translate:0 0}
.q-small{margin:0;font:400 italic clamp(1.25rem,1.8vw,1.5rem)/1.45 var(--serif);color:var(--cream)}
.q-small cite{display:block;margin-top:12px;font:700 .72rem/1.3 var(--sans);font-style:normal;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
/* stacking business cards */
.stack{display:grid;gap:clamp(20px,3vw,32px)}
.stack-card{position:sticky;top:calc(var(--hdr) + 22px + var(--i,0) * 22px);display:grid;gap:30px;align-content:space-between;min-height:min(64vh,580px);padding:clamp(28px,4.6vw,64px);border:1px solid var(--line);border-radius:30px;background:radial-gradient(120% 90% at 100% 0%,var(--tint,rgba(29,74,85,.5)),transparent 62%),linear-gradient(165deg,#16202B,#0D141C 62%,#0A1017);box-shadow:0 -34px 80px -40px rgba(0,0,0,.95);transform-origin:50% 0;transform:scale(calc(1 - var(--k,0) * .07));overflow:hidden}
.stack-card::after{content:"";position:absolute;inset:0;border-radius:inherit;background:#04070A;opacity:calc(var(--k,0) * .62);pointer-events:none}
.stack-card:nth-child(2){--tint:rgba(184,138,74,.42)}.stack-card:nth-child(3){--tint:rgba(24,58,80,.6)}.stack-card:nth-child(4){--tint:rgba(141,100,55,.45)}
@media(min-width:900px){.stack-card{grid-template-columns:.75fr 1.25fr;align-items:end}}
.sc-top{display:flex;flex-direction:column;justify-content:space-between;gap:26px;height:100%}
.sc-num{font:400 clamp(4.6rem,11vw,9.5rem)/.8 var(--serif);letter-spacing:-.05em;color:var(--gold2)}
.sc-top .ico{margin:0}
.sc-body h3{font-size:clamp(2.1rem,3.6vw,3.3rem);letter-spacing:-.028em;margin-bottom:16px}
.sc-body p{color:var(--muted);font-size:1.08rem;max-width:32em}
.sc-list{display:grid;gap:0;list-style:none;margin:24px 0 18px;padding:0;border-top:1px solid var(--line2)}
.sc-list li{position:relative;padding:13px 0 13px 22px;border-bottom:1px solid var(--line2);color:var(--text)}
.sc-list li::before{content:"";position:absolute;left:2px;top:1.3em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
@media(min-width:640px){.sc-list{grid-template-columns:1fr 1fr;column-gap:26px}}
/* a photo that opens to full screen as you scroll */
.grow{position:relative}
.grow-frame{position:relative;overflow:hidden;aspect-ratio:16/9;border-radius:var(--rp);margin:0 20px}
.grow-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(var(--gs,1));will-change:transform}
.grow-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,11,16,0) 38%,rgba(7,11,16,.86))}
.grow-cap{position:relative;padding:26px 0 0}
.grow-cap p{font:400 clamp(1.3rem,2.4vw,2.05rem)/1.32 var(--serif);color:var(--cream);max-width:27em;margin:0}
.mo .grow{height:200vh}
.mo .grow-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.mo .grow-frame{position:absolute;inset:0;margin:0;aspect-ratio:auto;border-radius:0;clip-path:inset(14% 20% round 28px);will-change:clip-path}
.mo .grow-cap{position:absolute;left:0;right:0;bottom:clamp(30px,7vh,72px);z-index:2;padding:0;opacity:0;transform:translate3d(0,34px,0);transition:opacity .9s var(--ease),transform 1.1s var(--ease)}
.mo .grow.cap-on .grow-cap{opacity:1;transform:none}
/* signature numbers, pinned and moved sideways by the scroll */
.hs{position:relative;padding:clamp(84px,10vw,150px) 0}
.hs-track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 20px 20px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.hs-track::-webkit-scrollbar{display:none}
.hs-intro{flex:none;width:min(86vw,560px);scroll-snap-align:start;padding:0 18px 0 0;align-self:center}
.hs-intro .lead{margin:20px 0 30px}
.hs-card{position:relative;flex:none;display:flex;flex-direction:column;justify-content:space-between;gap:40px;width:min(78vw,400px);min-height:min(64vh,500px);scroll-snap-align:start;padding:32px 30px;border:1px solid var(--line);border-radius:28px;background:radial-gradient(110% 70% at 0% 0%,rgba(207,165,99,.16),transparent 60%),linear-gradient(170deg,rgba(255,255,255,.06),rgba(255,255,255,.012));overflow:hidden;transition:border-color .4s,box-shadow .5s var(--ease),translate .6s var(--ease)}
@media(hover:hover){.hs-card:hover{border-color:rgba(231,203,146,.6);translate:0 -8px;box-shadow:0 40px 80px -40px rgba(207,165,99,.5)}}
.hs-i{font:700 .72rem/1 var(--sans);letter-spacing:.24em;color:var(--faint)}
.hs-card b{display:block;font:400 clamp(5.4rem,10vw,9.4rem)/.82 var(--serif);letter-spacing:-.055em;color:var(--gold2)}
.hs-card strong{display:block;font:500 1.45rem/1.2 var(--serif);color:var(--cream);margin:18px 0 8px}
.hs-card span.t{display:block;color:var(--muted);font-size:.96rem;line-height:1.5}
.hs-bar{position:relative;height:1px;margin:28px 20px 0;background:var(--line2)}
.hs-bar i{position:absolute;left:0;top:-1px;width:100%;height:3px;background:linear-gradient(90deg,var(--gold-d),var(--gold2));transform:scaleX(var(--hp,0));transform-origin:left}
.hs-hint{display:block;margin:14px 20px 0;font:700 .68rem/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--faint)}
.mo-hs .hs{padding:0}
.mo-hs .hs-pin{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.mo-hs .hs-track{width:max-content;overflow:visible;scroll-snap-type:none;padding:0 max(36px,calc((100vw - 1280px) / 2 + 36px));gap:28px;will-change:transform}
.mo-hs .hs-bar{margin:46px max(36px,calc((100vw - 1280px) / 2 + 36px)) 0}
.mo-hs .hs-hint{display:none}
/* values that slide in from both sides */
.val{display:grid;gap:12px;padding:40px 0;border-top:1px solid var(--line2)}
.val h3{font-size:clamp(3rem,8vw,7.4rem);font-weight:400;letter-spacing:-.045em;line-height:.95;margin:0;color:var(--cream)}
.val:nth-child(odd) h3{font-style:italic;color:var(--gold2)}
.val p{margin:0;color:var(--muted);max-width:32em}
@media(min-width:960px){.val{grid-template-columns:1.25fr 1fr;align-items:center}}
.mo [data-slide]{transform:translate3d(var(--sx,0px),0,0);will-change:transform}
/* facts, chain, chart, tags */
.facts{margin:0;border-top:1px solid var(--line2)}
.facts>div{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--line2)}
@media(min-width:720px){.facts>div{grid-template-columns:230px 1fr;gap:28px}}
.facts dt{font:700 .74rem/1.7 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.facts dd{margin:0;color:var(--text)}
.facts a{color:var(--cream)}
.chain{display:grid;gap:10px;list-style:none;margin:30px 0;padding:0}
.chain li{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line2);border-radius:var(--r);background:var(--card);font-weight:500;transition:border-color .5s,background .5s,box-shadow .5s}
.chain li i{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font:500 .95rem/1 var(--serif);font-style:normal;color:var(--gold);transition:background .5s,color .5s}
.chain li.lit{border-color:rgba(207,165,99,.7);background:rgba(207,165,99,.1);box-shadow:0 18px 40px -26px rgba(207,165,99,.6)}.chain li.lit i{background:var(--gold);color:#0B1016}
@media(min-width:720px){.chain{grid-template-columns:repeat(4,1fr)}.chain li{flex-direction:column;align-items:flex-start;line-height:1.3}}
.tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.tag{font:700 .7rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:9px 12px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:rgba(255,255,255,.02)}
.mono{width:88px;height:88px;border-radius:50%;border:1px solid var(--gold);display:grid;place-items:center;font:400 2rem/1 var(--serif);letter-spacing:.04em;color:var(--gold2);margin-bottom:26px;box-shadow:0 0 0 8px rgba(207,165,99,.07)}
.mono+.h3{margin-bottom:6px}
.panel{border-top:1px solid var(--gold);border-bottom:1px solid var(--line2);padding:clamp(40px,5vw,70px) 0}
.pill{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:6px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);font:500 .92rem/1.2 var(--sans);color:var(--cream)}
.pill i{flex:none;width:8px;height:8px;border-radius:50%;background:var(--taupe)}
.pill.is-open i{background:var(--ok);box-shadow:0 0 0 4px rgba(125,182,136,.2)}
.card .pill{margin:6px 0 12px}
.chart{max-width:1120px;margin:0 auto;text-align:center}
.node{position:relative;display:flex;flex-direction:column;justify-content:center;gap:4px;min-height:68px;padding:16px 18px;border:1px solid var(--line2);border-radius:var(--r);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));text-decoration:none;color:var(--text);transition:border-color .35s,translate .5s var(--ease),box-shadow .5s}
.node:hover{border-color:var(--gold);translate:0 -4px;box-shadow:0 22px 44px -26px rgba(207,165,99,.55)}
.node b{font:500 1.1rem/1.2 var(--serif);color:var(--cream)}.node small{font-size:.82rem;line-height:1.38;color:var(--muted)}
.node.top{display:inline-flex;background:var(--gold);border-color:var(--gold);color:#0B1016;padding:20px 38px}
.node.top b{font-size:1.5rem;color:#0B1016}.node.top small{color:rgba(11,16,22,.72)}
.c-stem{width:1px;height:44px;margin:0 auto;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease) .2s}
.c-row{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:40px}
.c-row::before{content:"";position:absolute;top:0;left:12.5%;right:12.5%;height:1px;background:var(--gold);transform:scaleX(0);transition:transform .9s var(--ease) .6s}
.c-col{position:relative;display:flex;flex-direction:column;gap:12px}
.c-col::before{content:"";position:absolute;top:-40px;left:50%;width:1px;height:40px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease) 1.3s}
.c-subs{position:relative;display:grid;gap:10px;margin-left:16px;padding-left:20px;text-align:left}
.c-subs::before{content:"";position:absolute;left:0;top:-12px;bottom:32px;width:1px;background:var(--gold);transform:scaleY(0);transform-origin:top;transition:transform .6s var(--ease) 1.7s}
.c-subs .node{min-height:56px;padding:12px 14px}
.c-subs .node::before{content:"";position:absolute;left:-21px;top:50%;width:20px;height:1px;background:var(--gold)}
.chart.in .c-stem,.chart.in .c-col::before,.chart.in .c-subs::before{transform:scaleY(1)}
.chart.in .c-row::before{transform:scaleX(1)}
@media(max-width:899px){.chart{text-align:left}.c-stem{margin:0 0 0 22px}.c-row{grid-template-columns:1fr;gap:14px;padding:0 0 0 44px}.c-row::before{left:22px;right:auto;top:0;bottom:34px;width:1px;height:auto;transform:scaleY(0);transform-origin:top}.chart.in .c-row::before{transform:scaleY(1)}.c-col::before{top:33px;left:-22px;width:22px;height:1px;transform:scaleX(0);transform-origin:left}.chart.in .c-col::before{transform:scaleX(1)}}
/* big numbers and dated rows */
.bigs{display:grid;grid-template-columns:1fr 1fr;margin:34px 0}
.bigs>div{padding:22px 14px 20px 0;border-top:1px solid var(--line)}
.bigs b{display:block;font:400 clamp(2.6rem,4.8vw,4.2rem)/1 var(--serif);letter-spacing:-.035em;color:var(--gold2)}
.bigs span{display:block;margin-top:10px;font-size:.92rem;color:var(--muted)}
@media(min-width:900px){.bigs{grid-template-columns:repeat(4,1fr)}}
.drows{list-style:none;margin:30px 0;padding:0;border-top:1px solid var(--line2)}
.drows li{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--line2)}
.drows b{font:500 1.35rem/1.25 var(--serif);color:var(--gold2)}
.drows span{color:var(--muted)}
@media(max-width:560px){.drows li{grid-template-columns:1fr;gap:4px}}
.giant{font:400 clamp(5.4rem,15vw,12rem)/.86 var(--serif);letter-spacing:-.055em;margin:0;color:var(--gold2)}
@media(min-width:960px){.stick{position:sticky;top:110px}}
@media(min-width:900px){.stack-card{grid-template-rows:1fr}.sc-body{align-self:end}}
.hs-card span.t{min-height:3em}
.hs-track{scroll-padding-inline:20px}
@media(max-width:719px){.mo .grow-cap{bottom:100px}}
@media(max-width:480px){.label{letter-spacing:.2em;gap:10px}.label::before{width:24px}}
/* portfolio */
.filters{display:grid;gap:12px;margin-bottom:32px}
.chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.chips>span{font:700 .72rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-right:6px;min-width:44px}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--line2);border-radius:999px;background:rgba(255,255,255,.035);font:500 .93rem/1 var(--sans);color:var(--text);cursor:pointer;transition:background .3s,border-color .3s,color .3s,translate .4s var(--ease)}
.chip em{font-style:normal;font-size:.78rem;color:var(--faint)}
.chip:hover{border-color:var(--gold);translate:0 -2px}
.chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:#0B1016}.chip[aria-pressed=true] em{color:rgba(11,16,22,.68)}
.result{font-size:.92rem;color:var(--faint);margin:0 0 20px}
.pgrid{display:grid;gap:24px}
@media(min-width:640px){.pgrid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1200px){.pgrid{grid-template-columns:repeat(4,1fr)}}
.bcard{position:relative;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.015));border:1px solid var(--line2);border-radius:var(--r);overflow:hidden}
.bcard::after{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;pointer-events:none;background:radial-gradient(460px circle at var(--gx,50%) var(--gy,0%),rgba(231,203,146,.18),transparent 45%);opacity:0;transition:opacity .45s}
.bcard:hover::after{opacity:1}
.js .pgrid .bcard{transition:opacity .5s var(--ease) var(--d,0s),transform .6s var(--ease) var(--d,0s),translate .6s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.js .pgrid .bcard.tilting{transition:opacity .5s,transform .16s ease-out,translate .6s var(--ease),box-shadow .5s var(--ease),border-color .4s}
.js .pgrid .bcard.out{opacity:0;transform:scale(.94)}
.bcard[hidden]{display:none}
.bcard .frame{border-radius:0;aspect-ratio:4/5;box-shadow:none}
.bcard .frame::after{box-shadow:none;background:linear-gradient(180deg,transparent 55%,rgba(7,11,16,.55))}
.bcard .frame::before{content:"View details";position:absolute;left:16px;bottom:16px;z-index:3;padding:9px 14px;border-radius:999px;background:var(--gold);color:#0B1016;font:700 .72rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;opacity:0;transform:translate3d(0,14px,0);transition:opacity .4s,transform .6s var(--ease)}
.bcard:hover .frame::before{opacity:1;transform:none}
.js [data-rv].bcard .frame{clip-path:inset(100% 0 0 0)}
.js [data-rv].bcard.in .frame{clip-path:inset(0 0 0 0)}
.bcard-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:22px 22px 20px}
.bcard h3{font-size:1.36rem;margin:0}
.kn{display:flex;flex-wrap:wrap;gap:6px 22px;margin:8px 0 10px}
.kn b{display:block;font:400 2.1rem/1 var(--serif);letter-spacing:-.03em;color:var(--gold2)}
.kn span{font-size:.8rem;color:var(--muted)}
.kn .soft{font:500 1.06rem/1.3 var(--serif);color:var(--cream)}
.bcard-open{position:absolute;inset:0;z-index:1;width:100%;border:0;background:transparent;cursor:pointer;border-radius:var(--r)}
.bcard-open:focus-visible{outline:2px solid var(--gold);outline-offset:-3px}
.bcard .tlink{position:relative;z-index:2;margin-top:auto;align-self:flex-start}
.ptag{position:absolute;top:14px;left:14px;z-index:3;background:rgba(7,11,16,.86);color:var(--cream);border:1px solid var(--line);font:700 .68rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:8px 11px;border-radius:999px}
.empty{padding:44px 0;text-align:center;color:var(--muted)}
.empty .tlink{font:inherit;font-weight:700}
.areas{display:grid;border-top:1px solid var(--line2)}
.areas>div{position:relative;display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line2)}
.areas>div::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .8s var(--ease)}
.areas>div:hover::after{transform:none}
@media(min-width:800px){.areas>div{grid-template-columns:340px 1fr;align-items:center;gap:24px}}
.area-btn{justify-self:start;display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:0;border:0;background:none;font:400 clamp(1.5rem,2.5vw,2.1rem)/1.15 var(--serif);letter-spacing:-.02em;color:var(--cream);cursor:pointer;text-align:left;transition:color .3s,translate .5s var(--ease)}
.area-btn::after{content:"";width:9px;height:9px;border-top:1.5px solid var(--gold);border-right:1.5px solid var(--gold);transform:rotate(45deg);transition:transform .4s var(--ease)}
.area-btn:hover{color:var(--gold2);translate:8px 0}.area-btn:hover::after{transform:translateX(5px) rotate(45deg)}
/* building drawer */
.scrim{position:fixed;inset:0;z-index:90;background:rgba(4,7,10,.66);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);opacity:0;visibility:hidden;transition:opacity .45s,visibility 0s .45s}
.scrim.open{opacity:1;visibility:visible;transition:opacity .45s}
.drawer{position:fixed;top:0;right:0;bottom:0;z-index:95;width:min(600px,100%);display:flex;flex-direction:column;background:radial-gradient(90% 50% at 100% 0%,rgba(29,74,85,.45),transparent 70%),#0C131B;border-left:1px solid var(--line);box-shadow:-40px 0 80px -40px rgba(0,0,0,.8);transform:translateX(100%);visibility:hidden;transition:transform .7s var(--ease2),visibility 0s .7s}
.drawer.open{transform:none;visibility:visible;transition:transform .7s var(--ease2)}
.dr-top{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line2)}
.dr-top .dr-count{margin-right:auto;font:700 .74rem/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--faint)}
.icon-btn{display:inline-grid;place-items:center;width:46px;height:46px;border:1px solid var(--line2);border-radius:50%;background:rgba(255,255,255,.04);color:var(--cream);cursor:pointer;transition:border-color .3s,background .3s}
.icon-btn:hover{border-color:var(--gold);background:rgba(207,165,99,.12)}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dr-body{flex:1;overflow-y:auto;overscroll-behavior:contain}
.dr-body .frame{border-radius:0;aspect-ratio:4/3;box-shadow:none}
.dr-body .frame>img{animation:drImg 1.2s var(--ease) both}
@keyframes drImg{from{transform:scale(1.18)}to{transform:none}}
.dr-in{padding:28px 26px 36px}
.dr-in>*{animation:rise .8s var(--ease) both}
.dr-in>:nth-child(2){animation-delay:.06s}.dr-in>:nth-child(3){animation-delay:.12s}.dr-in>:nth-child(4){animation-delay:.18s}.dr-in>:nth-child(5){animation-delay:.24s}
.dr-in h2{font-size:clamp(1.9rem,4vw,2.6rem);margin:10px 0 14px}
.dr-facts{list-style:none;margin:22px 0 28px;padding:0;border-top:1px solid var(--line2)}
.dr-facts li{position:relative;padding:13px 0 13px 22px;border-bottom:1px solid var(--line2)}
.dr-facts li::before{content:"";position:absolute;left:2px;top:1.2em;width:6px;height:6px;background:var(--gold);transform:rotate(45deg)}
/* collapsibles, faq and news */
.coll{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
.coll.open{grid-template-rows:1fr}
.coll>div{overflow:hidden;min-height:0}
.faq{max-width:900px;border-top:1px solid var(--line2)}
.qa{border-bottom:1px solid var(--line2)}
.qa h3{margin:0;font-size:inherit;letter-spacing:0}
.qa-q{display:flex;justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:70px;padding:22px 0;border:0;background:none;text-align:left;font:500 clamp(1.15rem,1.7vw,1.42rem)/1.3 var(--serif);color:var(--cream);cursor:pointer;transition:color .3s}
.qa-q:hover{color:var(--gold2)}
.pm{position:relative;flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;transition:background .4s,border-color .4s,rotate .5s var(--ease)}
.pm::before,.pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--gold);transform:translate(-50%,-50%);transition:transform .4s var(--ease),background .3s}
.pm::after{transform:translate(-50%,-50%) rotate(90deg)}
[aria-expanded=true] .pm{background:var(--gold);border-color:var(--gold);rotate:180deg}
[aria-expanded=true] .pm::before,[aria-expanded=true] .pm::after{background:#0B1016}
[aria-expanded=true] .pm::after{transform:translate(-50%,-50%) rotate(0)}
.qa-a p{margin:0;padding:0 56px 26px 0;color:var(--muted);max-width:46em}
.story{display:grid;gap:28px;padding:clamp(44px,5vw,70px) 0;border-top:1px solid var(--line2)}
@media(min-width:900px){.story{grid-template-columns:1fr 1.1fr;gap:64px;align-items:start}}
.date{display:block;font:700 .74rem/1.3 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.story h2{font-size:clamp(1.8rem,3.1vw,2.7rem);margin-bottom:14px}
.story-full{padding-top:8px}.story-full p{color:var(--text)}
.feature{background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid var(--line2);border-radius:20px;overflow:hidden}
.feature .frame{border-radius:0;box-shadow:none}
.feature-in{padding:26px 26px 28px}
.feature-in h2{font-size:clamp(1.55rem,2.5vw,2.05rem);margin:0 0 14px}
.date-card{display:grid;align-content:end;min-height:260px;background:radial-gradient(100% 80% at 0% 100%,rgba(207,165,99,.22),transparent 65%),linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02))}
.date-card p{font:400 clamp(3.2rem,6.4vw,5rem)/.92 var(--serif);letter-spacing:-.04em;margin:0;color:var(--gold2)}
/* closing and footer */
.closing{position:relative;padding:clamp(120px,14vw,210px) 0;border-top:1px solid var(--line2);overflow:hidden}
.closing h2{font-size:clamp(2.7rem,6.6vw,6.3rem);line-height:.98;letter-spacing:-.04em;max-width:12.5em;margin-bottom:44px}
.closing-meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px 30px;margin-top:48px;padding-top:28px;border-top:1px solid var(--line2);font-size:.95rem;color:var(--muted)}
.closing-meta a{color:var(--cream);text-decoration:none}
.ftr{position:relative;background:linear-gradient(180deg,rgba(5,8,12,.55),rgba(5,8,12,.92));color:var(--muted);padding:92px 0 0;font-size:.95rem;border-top:1px solid var(--line2);overflow:hidden}
.ftr-grid{display:grid;gap:44px}
@media(min-width:720px){.ftr-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.ftr-grid{grid-template-columns:1.45fr .8fr 1fr 1.1fr}}
.ftr .brand{margin-bottom:24px}
.ftr-about{max-width:27em}
.ftr h4{font:700 .72rem/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0 0 14px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr ul a{display:inline-block;padding:8px 0}
.ftr a{color:var(--cream);text-decoration:none;transition:color .25s}.ftr a:hover{color:var(--gold2)}
.ftr address{font-style:normal;line-height:1.8}
.ftr-base{display:flex;flex-wrap:wrap;gap:10px 30px;margin-top:60px;padding-top:26px;border-top:1px solid var(--line2);font-size:.86rem}
.ftr-word{font:400 clamp(4.2rem,17vw,17rem)/.8 var(--serif);letter-spacing:-.055em;color:rgba(244,238,228,.065);white-space:nowrap;text-align:center;margin:56px 0 0;padding-bottom:.08em;user-select:none;overflow:hidden}
/* contact */
.map{position:relative;overflow:hidden;border-radius:var(--rp);aspect-ratio:4/3;background:#141C26;box-shadow:0 0 0 1px var(--line),0 50px 100px -50px rgba(0,0,0,.85)}
.map iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.hours{width:100%;border-collapse:collapse;margin:10px 0 20px}
.hours td{padding:13px 12px;border-bottom:1px solid var(--line2)}
.hours td:last-child{text-align:right}
.hours tr.today td{background:rgba(207,165,99,.12);color:var(--cream);font-weight:700}
.hours tr.today td:first-child{box-shadow:inset 3px 0 0 var(--gold)}
.fine{font-size:.84rem;line-height:1.55;color:var(--faint)}
/* the call back planner is the one bright card on the site */
.planner{--text:#1B222C;--head:#121A24;--muted:#59616D;--faint:#6F7680;--line:rgba(27,34,44,.16);--line2:rgba(27,34,44,.11);--card:#FFFFFF;--card2:#F2EBE0;color-scheme:light;color:var(--text);max-width:960px;margin:0 auto;background:#F6F1E8;border-radius:26px;box-shadow:0 0 0 1px rgba(231,203,146,.4),0 70px 150px -60px rgba(0,0,0,.95),0 0 120px -40px rgba(207,165,99,.35);overflow:hidden}
.planner .label{color:var(--bronze)}
.pl-head{padding:22px 28px 20px;border-bottom:1px solid var(--line2)}
.pl-meta{display:flex;justify-content:space-between;gap:12px;font:700 .74rem/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);margin-bottom:12px}
.pl-meta span:last-child{color:var(--muted)}
.pl-bar{height:3px;border-radius:3px;background:rgba(27,34,44,.1);overflow:hidden}
.pl-bar i{display:block;height:100%;width:25%;background:linear-gradient(90deg,var(--gold-d),var(--gold));transition:width .7s var(--ease)}
.pl-body{padding:30px 28px;overflow:hidden}
.pl-step{animation:stepIn .7s var(--ease) both}
.pl-step.bk{animation-name:stepBack}
.pl-step[hidden]{display:none}
@keyframes stepIn{from{opacity:0;transform:translate3d(70px,0,0)}to{opacity:1;transform:none}}
@keyframes stepBack{from{opacity:0;transform:translate3d(-70px,0,0)}to{opacity:1;transform:none}}
.pl-q{font:500 clamp(1.65rem,3.1vw,2.3rem)/1.12 var(--serif);letter-spacing:-.02em;color:var(--head);margin:0 0 6px;outline:0}
.pl-sub{color:var(--muted);margin:0 0 4px}
.pl-lab{display:block;font:700 .74rem/1.3 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:24px 0 10px}
.pl-step .opts+.pl-lab{margin-top:26px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
@media(min-width:720px){.tiles{grid-template-columns:repeat(4,1fr)}}
.tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:16px;min-height:128px;padding:18px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);font:500 1.05rem/1.25 var(--serif);color:var(--text);text-align:left;cursor:pointer;transition:border-color .3s,background .3s,color .3s,translate .45s var(--ease),box-shadow .45s}
.tile svg{width:32px;height:32px;color:var(--bronze)}
.tile:hover{border-color:var(--gold);translate:0 -4px;box-shadow:0 18px 34px -22px rgba(154,111,58,.6)}
.tile[aria-pressed=true]{background:#121A24;border-color:#121A24;color:#F4EEE4}.tile[aria-pressed=true] svg{color:var(--gold)}
.opts{display:flex;flex-wrap:wrap;gap:8px}
.planner .chip{background:var(--card);border-color:var(--line);color:var(--text)}
.planner .chip:hover{border-color:var(--gold-d)}
.planner .chip[aria-pressed=true]{background:#121A24;border-color:#121A24;color:#F4EEE4}
.fgrid{display:grid;gap:0 16px}
@media(min-width:720px){.fgrid{grid-template-columns:1fr 1fr}}
.fld{display:grid;gap:7px;margin-top:16px}
.fld label{font:700 .74rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.inp{width:100%;min-height:52px;padding:12px 14px;border:1px solid rgba(27,34,44,.22);border-radius:10px;background:#fff;font:400 16px/1.4 var(--sans);color:var(--text)}
.inp:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold-d)}
textarea.inp{min-height:110px;resize:vertical}
.planner .btn-line{border-color:var(--text);color:var(--text);background:transparent}
.planner .btn-line:hover{background:var(--text);color:#F6F1E8}
.pl-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:20px;border-top:1px solid var(--line2)}
.back-btn{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 4px;border:0;background:none;font:700 .95rem var(--sans);color:var(--muted);cursor:pointer}
.back-btn:hover{color:var(--text)}
.back-btn svg.ic{width:18px;height:18px}
.err{min-height:1.4em;margin:12px 0 0;color:#9B3B2E;font-size:.92rem}
.think{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;min-height:300px;text-align:center;color:var(--muted)}
.think-txt{font:500 1.2rem/1.4 var(--serif);color:var(--text);margin:0}
.dots{display:flex;gap:8px}.dots i{width:9px;height:9px;border-radius:50%;background:var(--gold-d);animation:dot 1s infinite ease-in-out}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{0%,80%,100%{opacity:.25;transform:none}40%{opacity:1;transform:translateY(-6px)}}
.sum{display:grid;gap:28px}
@media(min-width:860px){.sum{grid-template-columns:1.08fr .92fr}}
.sum h3{font-size:clamp(1.65rem,3vw,2.3rem);margin-bottom:10px}
.receipt{background:#121A24;color:#F4EEE4;border-radius:16px;padding:24px 24px 22px;font-size:.96rem;line-height:1.6;box-shadow:0 30px 60px -36px rgba(18,26,36,.8)}
.receipt .label{margin-bottom:12px;color:var(--gold)}
.receipt p{margin:0}
.fit{display:grid;gap:10px;margin:14px 0 12px}
.fit a{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;min-height:66px;padding:12px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card);text-decoration:none;transition:border-color .3s,translate .45s var(--ease),box-shadow .45s}
.fit a:hover{border-color:var(--gold);translate:0 -3px;box-shadow:0 18px 34px -22px rgba(154,111,58,.55)}
.fit b{font:500 1.55rem/1 var(--serif);min-width:56px;color:var(--bronze)}
.fit b:empty::before{content:"";display:inline-block;width:11px;height:11px;margin-left:6px;background:var(--gold);transform:rotate(45deg)}
.fit strong{display:block;font:500 1.04rem/1.25 var(--serif);color:var(--head)}
.fit small{display:block;font-size:.82rem;color:var(--muted)}
.fit i{width:8px;height:8px;border-top:1.5px solid var(--bronze);border-right:1.5px solid var(--bronze);transform:rotate(45deg)}
/* reduced motion: everything visible, nothing moves */
@media(prefers-reduced-motion:reduce){
html{scroll-behavior:auto}
.js [data-rv]{opacity:1;transform:none;transition:none}
.js .sw .wi{transform:none;transition:none}
.js [data-rv] .frame,.js [data-rv] .map,.js [data-rv].bcard .frame{clip-path:none;transition:none}
.js [data-rv] .frame>img{scale:1;transition:none}
.js .words .ww{opacity:1}
.js .label[data-rv]::before,.js [data-rv] .label::before{transform:none}
.js .hero-media .hero-card{opacity:1;transform:none;transition:none}
.bg i,.bg::after,.mq,.cue i::after,.dots i,.pl-step,.menu.open .menu-links a,.dr-in>*,.dr-body .frame>img{animation:none!important}
.curtain{display:none!important}
[data-drift]>img{transform:scale(1.02)}
.stops .stops-line,.tl-line{transform:none}
.tl-dot{display:none}
.c-stem,.c-row::before,.c-col::before,.c-subs::before{transform:none!important;transition:none}
.stack-card{transform:none}.stack-card::after{opacity:0}
}
@media(prefers-reduced-motion:no-preference){.js .hero h1[data-rv]:not(.sw){visibility:hidden}}
