:root{
  --bg:#fbfaf7;--paper:#ffffff;--bg2:#f4f0e8;--ink:#14151a;--mut:#5f606a;--line:rgba(0,0,0,.09);
  --acc:#a9823f;--acc2:#cda765;--soft:#f6efe1;--dark:#15161b;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;max-width:100%}
body{background:var(--bg);color:var(--ink);font-family:'Inter',sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden;cursor:none}
.disp{font-family:'Space Grotesk',sans-serif;letter-spacing:-.03em}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:1240px;margin:0 auto;padding:0 44px}
.acc{color:var(--acc)}
.eyebrow{font-family:'Space Grotesk';font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--acc);font-weight:600}

/* grain */
.grain{position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.038;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
/* custom cursor */
.cur{position:fixed;top:0;left:0;width:36px;height:36px;border:1.5px solid var(--acc);border-radius:50%;z-index:9999;pointer-events:none;transform:translate(-50%,-50%);transition:width .25s,height .25s,background .25s,opacity .25s}
.cur.big{width:64px;height:64px;background:rgba(169,130,63,.12)}
@media(hover:none){body{cursor:auto}.cur{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;padding:15px 30px;border-radius:100px;transition:transform .3s,box-shadow .3s,background .3s;cursor:none;border:none;font-family:'Inter'}
.btn-a{background:var(--ink);color:#fff}.btn-a:hover{background:var(--acc);box-shadow:0 18px 40px -14px var(--acc)}
.btn-o{border:1px solid var(--line);color:var(--ink);background:transparent}.btn-o:hover{border-color:var(--ink);background:var(--ink);color:#fff}

/* NAV (glass) */
nav{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:500;width:calc(100% - 40px);max-width:1180px;transition:.4s}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:62px;padding:0 14px 0 22px;background:rgba(255,255,255,.6);backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:100px;box-shadow:0 10px 40px -24px rgba(0,0,0,.3)}
.logo{font-family:'Space Grotesk';font-weight:700;font-size:19px;letter-spacing:.04em}.logo b{color:var(--acc)}
.nav-links{display:flex;gap:30px;font-size:14.5px;font-weight:500;color:var(--mut)}
.nav-links a{transition:color .25s;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--ink)}
.nav-links a.active::after{content:'';position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--acc);border-radius:2px}
.nav-cta{display:flex;align-items:center;gap:12px}
.burger{display:none;flex-direction:column;gap:5px;width:26px;cursor:none;background:none;border:none;padding:6px}
.burger span{height:2px;background:var(--ink);transition:.3s;display:block}
.mobile-menu{position:fixed;inset:0;background:var(--bg);z-index:480;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;pointer-events:none;transition:.4s}
.mobile-menu.open{opacity:1;pointer-events:auto}
.mobile-menu a{font-family:'Space Grotesk';font-weight:600;font-size:34px;padding:8px}.mobile-menu a.active{color:var(--acc)}
.scrollbar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--acc),var(--acc2));z-index:600;width:0}

/* HERO */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero.center{text-align:center}
.blob{position:absolute;border-radius:50%;filter:blur(40px);z-index:0}
.blob.b1{width:560px;height:560px;background:radial-gradient(circle,rgba(205,167,101,.4),transparent 70%);top:-10%;right:-6%}
.blob.b2{width:440px;height:440px;background:radial-gradient(circle,rgba(169,130,63,.22),transparent 70%);bottom:-12%;left:-8%}
.hero .wrap{position:relative;z-index:2;width:100%}
.kicker{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);border:1px solid var(--line);background:rgba(255,255,255,.6);padding:8px 16px;border-radius:100px;margin-bottom:30px}
.kicker .pulse{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 rgba(169,130,63,.5);animation:ping 2s infinite}
@keyframes ping{100%{box-shadow:0 0 0 12px rgba(169,130,63,0)}}
h1.big{font-family:'Space Grotesk';font-weight:700;font-size:clamp(54px,10vw,150px);line-height:.9;letter-spacing:-.04em}
.reveal-line{overflow:hidden;display:block}
.reveal-line>span{display:inline-block;transform:translateY(110%);transition:transform 1s cubic-bezier(.16,1,.3,1)}
.in .reveal-line>span,.hero .reveal-line>span,.phero .reveal-line>span{transform:none}
.hero .reveal-line>span,.phero .reveal-line>span{animation:up 1.1s cubic-bezier(.16,1,.3,1) both}
.hero .reveal-line:nth-child(2)>span,.phero .reveal-line:nth-child(2)>span{animation-delay:.12s}
@keyframes up{from{transform:translateY(110%)}to{transform:none}}
.lede{font-size:clamp(17px,2vw,21px);color:var(--mut);max-width:560px;line-height:1.6;margin:28px 0 36px}
.hero.center .lede{margin-left:auto;margin-right:auto}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}.hero.center .cta-row{justify-content:center}
.avatar{width:124px;height:124px;border-radius:50%;overflow:hidden;border:2px solid var(--acc);box-shadow:0 18px 44px -16px rgba(169,130,63,.55);margin-bottom:30px}
.hero.center .avatar{margin-left:auto;margin-right:auto}
.avatar img{width:100%;height:100%;object-fit:cover}
/* video halo behind profile picture */
.avatar-wrap{position:relative;width:132px;height:132px;margin:0 auto 30px}
.avatar-wrap .avatar{margin:0;position:relative;z-index:1}
.avatar-video{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:212px;height:212px;border-radius:50%;object-fit:cover;z-index:0;box-shadow:0 0 46px -4px rgba(169,130,63,.55)}
.scroll-hint{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mut);display:flex;flex-direction:column;align-items:center;gap:10px}
.scroll-hint i{width:1px;height:40px;background:linear-gradient(var(--acc),transparent);animation:cue 1.8s infinite}
@keyframes cue{0%,100%{transform:scaleY(.4);opacity:.4;transform-origin:top}50%{transform:scaleY(1);opacity:1}}

/* PAGE HERO (subpages) */
.phero{position:relative;padding:200px 0 90px;overflow:hidden}
.phero .crumb{font-size:13px;color:var(--mut);letter-spacing:.06em;margin-bottom:18px}
.phero h1{font-family:'Space Grotesk';font-weight:700;font-size:clamp(46px,8vw,108px);line-height:.92;letter-spacing:-.03em}
.phero p{color:var(--mut);font-size:19px;max-width:600px;margin-top:22px}

/* MARQUEE */
.marquee{overflow:hidden;white-space:nowrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;background:var(--ink)}
.marquee-track{display:inline-block;animation:scroll 28s linear infinite;font-family:'Space Grotesk';font-weight:700;font-size:clamp(28px,4vw,46px);color:#fff}
.marquee-track span{margin:0 24px}.marquee-track .d{color:var(--acc2)}
@keyframes scroll{to{transform:translateX(-50%)}}

/* SECTION */
section.s{position:relative;padding:120px 0}
.sec-head{margin-bottom:56px}.sec-head.c{text-align:center;max-width:680px;margin-left:auto;margin-right:auto}
.sec-head h2{font-family:'Space Grotesk';font-weight:700;font-size:clamp(34px,4.8vw,60px);line-height:1.04;margin-top:14px;letter-spacing:-.02em}
.sec-head p{color:var(--mut);font-size:18px;margin-top:16px}
.lead{font-size:19px;color:#3a3b44;line-height:1.7;max-width:760px}.lead p{margin-bottom:20px}.lead b{color:var(--ink)}

/* BENTO */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:18px}
.bento .cell{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px;overflow:hidden;position:relative;transition:.4s;display:flex;flex-direction:column;justify-content:space-between}
.bento .cell:hover{transform:translateY(-5px);box-shadow:0 40px 70px -50px rgba(70,55,20,.4);border-color:rgba(169,130,63,.35)}
.bento .c-tall{grid-row:span 2}.bento .c-wide{grid-column:span 2}.bento .c-big{grid-column:span 2;grid-row:span 2}
.bento .lab{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-weight:600}
.bento .num{font-family:'Space Grotesk';font-weight:700;font-size:clamp(40px,5vw,72px);line-height:1}
.bento .t{font-family:'Space Grotesk';font-weight:600;font-size:24px}
.bento .cell p{color:var(--mut);font-size:14.5px;margin-top:6px}
.bento .photo{background-size:cover;background-position:center;padding:0}
.bento .ink{background:var(--ink);color:#fff}.bento .ink .lab{color:var(--acc2)}
.bento .ink p{color:#aeb0ba}
.bento .gold{background:linear-gradient(150deg,var(--acc),var(--acc2));color:#fff}.bento .gold .lab{color:rgba(255,255,255,.8)}

/* cards / feature / journey / map / boat / character / contact / footer */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:42px;transition:.4s}
.card:hover{transform:translateY(-6px);border-color:rgba(169,130,63,.4);box-shadow:0 44px 74px -48px rgba(70,55,20,.4)}
.card .k{font-family:'Space Grotesk';font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--acc);font-weight:600}
.card h3{font-family:'Space Grotesk';font-weight:600;font-size:27px;margin:12px 0 12px}
.card p{color:var(--mut);font-size:16px}.card .meta{margin-top:16px;font-size:14px;color:var(--mut)}
.lnk{display:inline-flex;align-items:center;gap:7px;color:var(--acc);font-weight:600;font-size:15px;margin-top:20px;cursor:none}
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.portrait{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 44px 90px -52px rgba(70,55,20,.5)}
.portrait img{width:100%;transition:transform .6s}.portrait:hover img{transform:scale(1.04)}
.feat-box{background:linear-gradient(150deg,var(--paper),var(--soft));border:1px solid var(--line);border-radius:22px;padding:46px;position:relative;overflow:hidden}
.feat-box .big2{font-family:'Space Grotesk';font-weight:700;font-size:60px;line-height:1}
.feat-box ul{list-style:none;margin-top:24px}.feat-box li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:15px}.feat-box li:last-child{border-bottom:none}.feat-box li span:first-child{color:var(--mut)}.feat-box li b{font-weight:600}

.journey{position:relative;max-width:880px;margin:0 auto}
.spine{position:absolute;left:50%;top:8px;bottom:8px;width:2px;background:var(--line);transform:translateX(-50%)}
.spine-fill{position:absolute;left:50%;top:8px;width:3px;background:linear-gradient(var(--acc),var(--acc2));transform:translateX(-50%);height:0;box-shadow:0 0 16px rgba(169,130,63,.6);border-radius:3px}
.ms{position:relative;display:grid;grid-template-columns:1fr 64px 1fr;align-items:center;min-height:120px}
.ms .node{grid-column:2;justify-self:center;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--line);z-index:2;transition:.5s cubic-bezier(.34,1.56,.64,1)}
.ms.in .node{border-color:var(--acc);background:var(--acc);box-shadow:0 0 0 7px rgba(169,130,63,.14);transform:scale(1.3)}
.ms .c2{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 26px;box-shadow:0 24px 50px -44px rgba(70,55,20,.4);opacity:0;transition:.7s cubic-bezier(.16,1,.3,1)}
.ms:nth-child(odd) .c2{grid-column:1;transform:translateX(40px) scale(.95)}
.ms:nth-child(even) .c2{grid-column:3;transform:translateX(-40px) scale(.95)}
.ms.in .c2{opacity:1;transform:none}
.ms .c2 .y{color:var(--acc);font-weight:600;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.ms .c2 h4{font-family:'Space Grotesk';font-size:21px;margin:5px 0 6px}.ms .c2 p{color:var(--mut);font-size:14.5px}

.band{height:520px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;background:url('assets/boat.jpg') center/cover fixed}
.band::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(20,21,26,.45),rgba(20,21,26,.74))}
.band .in2{position:relative;z-index:2;color:#fff;padding:0 30px}
.band .q{font-family:'Space Grotesk';font-weight:600;font-size:clamp(30px,4.5vw,58px);line-height:1.15;max-width:18ch;margin:14px auto 0}

.map-wrap{border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 44px 90px -54px rgba(70,55,20,.45);position:relative;line-height:0}
.map-wrap iframe{width:100%;height:480px;border:0;filter:grayscale(.3) sepia(.14) contrast(1.04)}
.map-pin{position:absolute;left:50%;top:46%;transform:translate(-50%,-100%);z-index:3;pointer-events:none;text-align:center}
.map-pin .dot{width:18px;height:18px;border-radius:50%;background:var(--acc);margin:0 auto;animation:ping 2s infinite}
.map-pin .lbl{background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-weight:600;font-size:14px;margin-top:8px;box-shadow:0 10px 30px -12px rgba(0,0,0,.3)}

.char-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.char{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px;transition:.3s}
.char:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 30px 56px -42px rgba(70,55,20,.4);border-color:rgba(169,130,63,.4)}
.char .ic{font-size:26px;margin-bottom:12px}.char h4{font-family:'Space Grotesk';font-weight:600;font-size:19px;margin-bottom:6px}.char p{color:var(--mut);font-size:14.5px}

.cta-hero{text-align:center;padding:140px 0;position:relative;overflow:hidden}
.cta-hero h2{font-family:'Space Grotesk';font-weight:700;font-size:clamp(44px,7vw,100px);line-height:.95;letter-spacing:-.03em}
.cta-hero p{color:var(--mut);font-size:19px;margin:22px auto 38px;max-width:520px}

footer{border-top:1px solid var(--line);padding:60px 0 44px}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:24px;margin-bottom:40px}
.foot-top .big3{font-family:'Space Grotesk';font-weight:700;font-size:clamp(30px,4vw,52px);letter-spacing:-.02em}
.foot-links{display:flex;gap:26px;font-size:14.5px;color:var(--mut)}.foot-links a:hover{color:var(--acc)}
.foot-bot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid var(--line);padding-top:24px;font-size:13px;color:var(--mut)}.foot-bot .by{color:var(--acc)}

/* flux canvas + glass hero */
.flux-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.92}
.glass-hero{position:relative;z-index:3;background:rgba(255,253,249,.62);backdrop-filter:blur(24px) saturate(1.3);-webkit-backdrop-filter:blur(24px) saturate(1.3);border:1px solid rgba(255,255,255,.8);border-radius:34px;padding:62px 56px;box-shadow:0 50px 120px -40px rgba(30,20,5,.55),inset 0 1px 0 rgba(255,255,255,.7);max-width:800px;margin:0 auto}
@media(max-width:600px){.glass-hero{padding:42px 26px}}
/* THE SYSTEM */
.system{background:var(--ink);color:#fff;position:relative;overflow:hidden}
.system::before{content:'';position:absolute;top:-30%;left:50%;width:900px;height:900px;transform:translateX(-50%);background:radial-gradient(circle,rgba(205,167,101,.16),transparent 60%)}
.system .sec-head h2{color:#fff}.system .sec-head p{color:#aeb0ba}
.system .eyebrow{color:var(--acc2)}
.modules{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;position:relative}
.module{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:34px;transition:.4s;position:relative;overflow:hidden}
.module:hover{transform:translateY(-6px);border-color:var(--acc);background:rgba(169,130,63,.09)}
.module .mi{font-family:'Space Grotesk';font-size:12.5px;letter-spacing:.22em;color:var(--acc2);font-weight:600}
.module h3{font-family:'Space Grotesk';font-weight:600;font-size:25px;margin:10px 0 8px}
.module p{color:#aeb0ba;font-size:14.5px}
.module .st{position:absolute;top:30px;right:32px;font-family:'Space Grotesk';font-weight:700;font-size:19px;color:var(--acc2)}
@media(max-width:900px){.modules{grid-template-columns:1fr}}

/* image showcase (glass modules over photo) */
.showcase{position:relative;color:#fff;overflow:hidden;padding:130px 0}
.showcase .bgi{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.showcase::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(8,8,16,.74),rgba(8,8,16,.88));z-index:1}
.showcase .wrap{position:relative;z-index:2}
.showcase .sec-head h2{color:#fff}.showcase .sec-head p{color:#c8cad4}.showcase .eyebrow{color:var(--acc2)}
.g-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.g-mod{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.17);border-radius:20px;padding:32px;transition:.4s;position:relative}
.g-mod:hover{transform:translateY(-6px);background:rgba(255,255,255,.13);border-color:var(--acc2)}
.g-mod .st{position:absolute;top:30px;right:32px;font-family:'Space Grotesk';font-weight:700;color:var(--acc2);opacity:.75}
.g-mod .mi{font-family:'Space Grotesk';font-size:12px;letter-spacing:.2em;color:var(--acc2);font-weight:600}
.g-mod h3{font-family:'Space Grotesk';font-weight:600;font-size:24px;margin:8px 0 6px}
.g-mod p{color:#c8cad4;font-size:14px}
@media(max-width:900px){.g-modules{grid-template-columns:1fr}}

/* gorgeous statement bands */
.imgband{min-height:560px;position:relative;display:flex;align-items:center;overflow:hidden;background-size:cover;background-position:center;background-attachment:fixed}
.imgband::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,18,.88),rgba(8,10,18,.42) 68%,rgba(8,10,18,.22))}
.imgband .wrap{position:relative;z-index:2;color:#fff}
.imgband .eyebrow{color:var(--acc2)}
.imgband h2{font-family:'Space Grotesk';font-weight:700;font-size:clamp(34px,5.2vw,68px);line-height:1.02;letter-spacing:-.02em;max-width:15ch;margin:16px 0 20px}
.imgband p{font-size:18px;color:#dfe1e8;max-width:520px;line-height:1.6}
.imgband .btn-a{background:#fff;color:var(--ink)}.imgband .btn-a:hover{background:var(--acc);color:#fff}
@media(max-width:800px){.imgband{background-attachment:scroll}.imgband::before{background:linear-gradient(rgba(8,10,18,.5),rgba(8,10,18,.85))}}
/* glass cards inside a showcase */
.showcase .card{background:rgba(255,255,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.16);box-shadow:none}
.showcase .card:hover{background:rgba(255,255,255,.12);border-color:var(--acc2);transform:translateY(-6px)}
.showcase .card h3,.showcase .card .disp{color:#fff}
.showcase .card p{color:#c8cad4}.showcase .card .k{color:var(--acc2)}.showcase .card .meta{color:#aeb0ba}.showcase .card .lnk{color:var(--acc2)}
.showcase .grid2{position:relative;z-index:2}
.phero.img{color:#fff}.phero.img .crumb{color:#c8cad4}.phero.img .crumb a{color:#fff}.phero.img p{color:#dfe1e8}
.phero .bgi{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.phero.img::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(8,10,18,.6),rgba(8,10,18,.82));z-index:1}
.phero.img .wrap{position:relative;z-index:2}

.reveal{opacity:0;transform:translateY(40px) scale(.98);transition:opacity .85s cubic-bezier(.16,1,.3,1),transform .85s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}

/* preloader */
.preloader{position:fixed;inset:0;z-index:10000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
.preloader.done{opacity:0;transform:translateY(-40px);pointer-events:none}
.pre-logo{font-family:'Space Grotesk';font-weight:700;font-size:46px;letter-spacing:.1em;opacity:0;transform:scale(.9);animation:preIn .7s .1s cubic-bezier(.16,1,.3,1) forwards}
.pre-logo b{color:var(--acc)}
.pre-bar{width:180px;height:2px;background:var(--line);border-radius:2px;overflow:hidden}
.pre-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--acc),var(--acc2));animation:preBar 1.1s .2s cubic-bezier(.4,0,.1,1) forwards}
@keyframes preIn{to{opacity:1;transform:none}}
@keyframes preBar{to{width:100%}}
/* Ken Burns on photo layers */
.bgi{animation:kenburns 28s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{from{transform:scale(1.04)}to{transform:scale(1.16) translate(-1.5%,1%)}}
/* 3D tilt cards */
.cell,.card,.g-mod,.char,.module{transform-style:preserve-3d;will-change:transform}
/* page transitions */
.page-veil{position:fixed;inset:0;z-index:9998;background:var(--bg);pointer-events:none;opacity:0;transition:opacity .4s cubic-bezier(.16,1,.3,1)}
.page-veil.show{opacity:1;pointer-events:all}
/* background video */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;pointer-events:none;opacity:.95}
/* full-bleed video band */
.vband{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.vband video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vband::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,10,3,.72),rgba(15,10,3,.3) 70%,rgba(15,10,3,.12));z-index:1}
.vband .wrap{position:relative;z-index:2;color:#fff}
.vband .eyebrow{color:var(--acc2)}
.vband h2{font-family:'Space Grotesk';font-weight:700;font-size:clamp(34px,5.2vw,68px);line-height:1.02;letter-spacing:-.02em;max-width:15ch;margin:16px 0 20px}
.vband p{font-size:18px;color:#e8e2d4;max-width:520px;line-height:1.6}
/* copy buttons + PDF maker */
.copy-btn{border:1px solid var(--line);background:#fff;color:var(--acc);font-size:12px;font-weight:600;padding:5px 13px;border-radius:100px;cursor:none;transition:.25s;font-family:'Inter';white-space:nowrap;flex:none}
.copy-btn:hover{background:var(--acc);color:#fff;border-color:var(--acc)}
.copy-btn.done{background:#2f7d4d;color:#fff;border-color:#2f7d4d}
.fact-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15px}
.fact-row:last-child{border-bottom:none}
.fact-row .fl{color:var(--mut);white-space:nowrap}
.fact-row .fv{font-weight:600;text-align:right;margin-left:auto}
.pdfmaker{background:linear-gradient(150deg,var(--paper),var(--soft));border:1px solid var(--line);border-radius:22px;padding:44px}
.pdf-opts{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0 28px}
.pdf-opt{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#fff;border-radius:100px;padding:10px 18px;cursor:none;font-size:14.5px;font-weight:500;transition:.25s;user-select:none}
.pdf-opt input{display:none}
.pdf-opt .box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;transition:.2s;font-size:12px;color:#fff}
.pdf-opt input:checked+.box{background:var(--acc);border-color:var(--acc)}
.pdf-opt:has(input:checked){border-color:var(--acc);background:var(--soft)}
/* click-to-add builder */
.add-btn{border:1px solid var(--line);background:#fff;color:var(--acc);font-size:12px;font-weight:600;padding:6px 14px;border-radius:100px;cursor:none;transition:.25s;font-family:'Inter';white-space:nowrap;flex:none}
.add-btn:hover{background:var(--soft)}
.add-btn.added{background:var(--acc);color:#fff;border-color:var(--acc)}
.tray{background:linear-gradient(150deg,var(--paper),var(--soft));border:1px solid var(--line);border-radius:22px;padding:42px}
.tray-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.tray-count{font-family:'Space Grotesk';font-weight:600;font-size:18px}
.tray-count b{color:var(--acc)}
.tray-items{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 28px;min-height:42px}
.tray-chip{background:#fff;border:1px solid var(--line);border-radius:100px;padding:8px 8px 8px 15px;font-size:13.5px;font-weight:500;display:flex;align-items:center;gap:9px}
.tray-chip button{border:none;background:rgba(0,0,0,.06);width:20px;height:20px;border-radius:50%;color:var(--mut);cursor:none;font-size:13px;line-height:1;display:flex;align-items:center;justify-content:center}
.tray-chip button:hover{background:var(--acc);color:#fff}
.tray-empty{color:var(--mut);font-size:15px;font-style:italic}
.tray-mini{background:none;border:none;color:var(--mut);font-size:13.5px;cursor:none;text-decoration:underline;font-family:'Inter'}
.tray-mini:hover{color:var(--acc)}
.btn:disabled{opacity:.4;pointer-events:none}
.phero{position:relative}.phero .wrap{position:relative;z-index:2}
.phero:not(.img)::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(251,250,247,.5),rgba(251,250,247,.72));z-index:1;pointer-events:none}

@media(max-width:900px){
  .wrap{padding:0 22px}.nav-links{display:none}.burger{display:flex}
  .bento{grid-template-columns:1fr 1fr;grid-auto-rows:170px}.bento .c-big{grid-column:span 2}
  .grid2,.split,.char-grid{grid-template-columns:1fr;gap:20px}
  .band{background-attachment:scroll}
  .ms{grid-template-columns:30px 1fr}.spine,.spine-fill{left:15px}.ms .node{grid-column:1}
  .ms:nth-child(odd) .c2,.ms:nth-child(even) .c2{grid-column:2;transform:translateX(30px) scale(.95)}
  body{cursor:auto}.cur{display:none}
}

/* ============================================================
   LIQUID GLASS — full-site frosted "iPhone" treatment
   ============================================================ */
:root{
  --glass:rgba(255,255,255,.46);
  --glass-2:rgba(255,255,255,.6);
  --glass-brd:rgba(255,255,255,.66);
  --glass-blur:blur(26px) saturate(185%);
  --glass-sh:0 22px 60px -26px rgba(60,45,15,.42), inset 0 1px 0 rgba(255,255,255,.9), inset 0 0 0 1px rgba(255,255,255,.05);
}
/* ambient backdrop so glass has warm color + light to refract */
body{background:linear-gradient(135deg,#fbf8f2,#f2ebde) fixed}
body::before{
  content:'';position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(58% 52% at 10% 6%, rgba(205,167,101,.30), transparent 60%),
    radial-gradient(52% 48% at 90% 10%, rgba(169,130,63,.24), transparent 62%),
    radial-gradient(60% 58% at 82% 90%, rgba(233,215,181,.46), transparent 60%),
    radial-gradient(52% 50% at 16% 94%, rgba(205,167,101,.22), transparent 62%);
}
body::after{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(42% 32% at 50% -4%, rgba(255,255,255,.6), transparent 70%);
}
/* let content sections show the ambient through */
section.s,.cta-hero{background:transparent!important}

/* frosted glass panels (light contexts only) */
.card,
.bento .cell:not(.ink):not(.gold):not(.photo),
.feat-box,.char,.ms .c2,.tray,.pdfmaker,.portrait,.map-wrap,
.map-pin .lbl,.kicker{
  background:var(--glass)!important;
  -webkit-backdrop-filter:var(--glass-blur);
  backdrop-filter:var(--glass-blur);
  border:1px solid var(--glass-brd)!important;
  box-shadow:var(--glass-sh)!important;
}
.card,.feat-box,.tray,.pdfmaker,.portrait,.map-wrap{border-radius:26px!important}
.bento .cell,.char,.ms .c2{border-radius:22px!important}

/* specular top-sheen on the big panels */
.card,.feat-box,.tray,.pdfmaker,.bento .cell:not(.ink):not(.gold):not(.photo){position:relative}
.card::before,.feat-box::before,.tray::before,.pdfmaker::before{
  content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,0) 42%);
  mix-blend-mode:screen;
}
.card>*,.feat-box>*,.tray>*,.pdfmaker>*{position:relative;z-index:1}
.card:hover,.char:hover,.bento .cell:not(.ink):not(.gold):not(.photo):hover{
  background:var(--glass-2)!important;
  border-color:rgba(205,167,101,.55)!important;
  box-shadow:0 34px 70px -30px rgba(60,45,15,.5), inset 0 1px 0 rgba(255,255,255,.95)!important;
}

/* glass nav + mobile menu + kicker */
.nav-in{background:rgba(255,255,255,.5)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-brd)!important;box-shadow:0 18px 50px -26px rgba(60,45,15,.4),inset 0 1px 0 rgba(255,255,255,.9)!important}
.mobile-menu{background:rgba(251,248,242,.72)!important;-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%)}
.map-wrap{padding:0;overflow:hidden}

/* glass buttons (pill) */
.btn-o{background:var(--glass-2)!important;-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);border:1px solid var(--glass-brd)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.9),0 10px 26px -18px rgba(60,45,15,.5)}
.btn-o:hover{background:var(--ink)!important;color:#fff;border-color:var(--ink)!important}
.btn-a{box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 14px 34px -18px rgba(0,0,0,.55)}

/* dark-context glass stays dark & translucent (re-assert after overrides) */
.showcase .card{background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.2)!important}
.showcase .card::before{display:none}
.showcase .card:hover{background:rgba(255,255,255,.14)!important;border-color:var(--acc2)!important}
.g-mod,.module{-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%)}

/* ambient glow blobs on the home hero read stronger through glass */
.glass-hero{background:rgba(255,255,255,.4)!important;-webkit-backdrop-filter:blur(30px) saturate(190%)!important;backdrop-filter:blur(30px) saturate(190%)!important;box-shadow:0 60px 130px -44px rgba(30,20,5,.6),inset 0 1px 0 rgba(255,255,255,.95)!important}

@media(max-width:900px){
  /* lighter blur on mobile for performance, keep the look */
  .card,.feat-box,.char,.ms .c2,.tray,.pdfmaker,.nav-in,.bento .cell:not(.ink):not(.gold):not(.photo){
    -webkit-backdrop-filter:blur(18px) saturate(175%);backdrop-filter:blur(18px) saturate(175%);
  }
}

/* ============================================================
   MOBILE POLISH — kill horizontal overflow + guarantee legible text
   ============================================================ */
/* text contrast on the frosted hero (was washing into the gold) */
.glass-hero .lede,.glass-hero p{color:#2b2720}
.glass-hero .kicker{color:#37322a;background:rgba(255,255,255,.68);border-color:rgba(255,255,255,.85)}
.hero .lede{color:#2b2720}

@media(max-width:900px){
  /* fully clip any decorative bleed so there is zero horizontal scroll */
  html,body{overflow-x:hidden;max-width:100vw;position:relative}
  .wrap{max-width:100%}
  /* make every glass panel more opaque on phones so text ALWAYS reads,
     even if the video/ambient is busy behind it or blur is unsupported */
  .glass-hero{background:rgba(255,255,255,.74)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;backdrop-filter:blur(20px) saturate(160%)!important}
  .card,.feat-box,.char,.ms .c2,.tray,.pdfmaker,.map-pin .lbl,
  .bento .cell:not(.ink):not(.gold):not(.photo){background:rgba(255,255,255,.74)!important}
  .nav-in{background:rgba(255,255,255,.8)!important}
  .kicker{background:rgba(255,255,255,.72)!important}
  /* tame the hero video so text on top is never lost */
  .hero-video{opacity:.7}
  /* shrink oversized display type a touch so it never crowds edges */
  .glass-hero{padding:38px 22px}
}

/* ============================================================
   PREMIUM POLISH — glass headline cards + liquid sheen sweep
   ============================================================ */
/* frosted headline card on subpage heroes (uniform entrance wow) */
.phero-card{position:relative;display:inline-block;background:var(--glass-2);
  -webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%);
  border:1px solid var(--glass-brd);border-radius:30px;padding:40px 46px;
  box-shadow:var(--glass-sh);max-width:min(760px,100%);overflow:hidden}
.phero-card>*{position:relative;z-index:1}
.phero:not(.img) .phero-card::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 44%)}
/* dark glass over image heroes (journey) */
.phero.img .phero-card{background:rgba(18,16,12,.36);border-color:rgba(255,255,255,.22);
  box-shadow:0 44px 96px -42px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.28)}
.phero.center .phero-card{text-align:center}
.phero.center .phero-card h1{margin-left:auto;margin-right:auto}
@media(max-width:900px){.phero-card{padding:30px 24px;max-width:100%;display:block}
  .phero:not(.img) .phero-card{background:rgba(255,255,255,.76)}}

/* liquid sheen — a soft light band sweeps across glass on hover */
.card::after,.feat-box::after,.glass-hero::after,.phero-card::after,.char::after,.g-mod::after{
  content:'';position:absolute;top:0;left:-70%;width:48%;height:100%;pointer-events:none;z-index:3;
  background:linear-gradient(105deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);opacity:0}
.card:hover::after,.feat-box:hover::after,.phero-card:hover::after,.char:hover::after,.g-mod:hover::after{
  opacity:1;animation:sheen 1.05s cubic-bezier(.4,0,.2,1)}
@keyframes sheen{from{left:-70%}to{left:130%}}
/* home hero gets a slow always-on shimmer */
.glass-hero{overflow:hidden}
.glass-hero::after{animation:heroSheen 8s ease-in-out infinite;animation-delay:2.5s}
@keyframes heroSheen{0%,74%{left:-70%;opacity:0}82%{opacity:.85}100%{left:130%;opacity:0}}

/* ============================================================
   GLASS EVERYWHERE — CTA sections, photo/video bands, quote, footer
   ============================================================ */
/* closing CTA sections become a centered glass card */
.cta-hero .wrap{position:relative;overflow:hidden;max-width:880px;margin:0 auto;
  background:var(--glass-2);-webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%);
  border:1px solid var(--glass-brd);border-radius:36px;padding:72px 60px;box-shadow:var(--glass-sh)}
.cta-hero .wrap::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(160deg,rgba(255,255,255,.5),rgba(255,255,255,0) 44%)}
.cta-hero .wrap>*{position:relative;z-index:1}

/* cinematic photo + video bands: text now sits in a frosted dark-glass panel */
.imgband .wrap,.vband .wrap,.band .in2{position:relative;overflow:hidden;
  background:rgba(16,14,10,.34);-webkit-backdrop-filter:blur(20px) saturate(155%);backdrop-filter:blur(20px) saturate(155%);
  border:1px solid rgba(255,255,255,.2);border-radius:28px;
  box-shadow:0 44px 96px -44px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.24)}
.imgband .wrap,.vband .wrap{max-width:660px;margin:0 auto;padding:48px 46px}
.band .in2{padding:46px 56px;max-width:660px}
.imgband .wrap::before,.vband .wrap::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:0;
  background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,0) 46%)}
.imgband .wrap>*,.vband .wrap>*{position:relative;z-index:1}
/* let the photos breathe a little more now that text has its own panel */
.imgband::before{background:linear-gradient(90deg,rgba(8,10,18,.6),rgba(8,10,18,.28) 70%,rgba(8,10,18,.12))}

/* frosted footer strip */
footer{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border-top:1px solid var(--glass-brd)}

@media(max-width:900px){
  .cta-hero .wrap{padding:44px 26px;border-radius:28px;margin:0 16px}
  .imgband .wrap,.vband .wrap,.band .in2{max-width:calc(100% - 32px);margin:0 auto;padding:32px 24px;border-radius:22px}
  .imgband::before{background:linear-gradient(rgba(8,10,18,.32),rgba(8,10,18,.55))}
}

/* ============================================================
   ⌘K COMMAND PALETTE  +  floating trigger
   ============================================================ */
.cmdk-trig{position:fixed;right:22px;bottom:22px;z-index:470;display:flex;align-items:center;gap:10px;
  background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-brd);border-radius:100px;padding:11px 15px;cursor:none;font-family:'Inter';
  box-shadow:0 18px 44px -18px rgba(60,45,15,.5),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .3s,box-shadow .3s}
.cmdk-trig:hover{transform:translateY(-3px);box-shadow:0 26px 54px -20px rgba(60,45,15,.6),inset 0 1px 0 rgba(255,255,255,.95)}
.cmdk-trig-ic{font-size:17px;color:var(--acc);line-height:1}
.cmdk-trig-tx{font-size:14px;font-weight:600;color:var(--ink)}
.cmdk-trig kbd{font-family:'Space Grotesk';font-size:11.5px;font-weight:600;color:var(--mut);background:rgba(0,0,0,.06);border:1px solid var(--line);border-radius:7px;padding:2px 7px}
@media(max-width:600px){.cmdk-trig-tx{display:none}.cmdk-trig kbd{display:none}.cmdk-trig{padding:13px;right:16px;bottom:16px}.cmdk-trig-ic{font-size:20px}}

.cmdk-ov{position:fixed;inset:0;z-index:9996;display:flex;align-items:flex-start;justify-content:center;padding:14vh 20px 20px;
  background:rgba(28,20,6,.34);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s}
.cmdk-ov.on{opacity:1;pointer-events:auto}
.cmdk{width:100%;max-width:600px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(34px) saturate(190%);backdrop-filter:blur(34px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:22px;overflow:hidden;
  box-shadow:0 50px 120px -30px rgba(30,20,5,.6),inset 0 1px 0 rgba(255,255,255,.9);
  transform:translateY(-12px) scale(.98);opacity:.6;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s}
.cmdk-ov.on .cmdk{transform:none;opacity:1}
.cmdk-top{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}
.cmdk-ico{font-size:19px;color:var(--acc)}
.cmdk-inp{flex:1;border:none;background:none;outline:none;font-family:'Inter';font-size:16.5px;color:var(--ink);cursor:none}
.cmdk-inp::placeholder{color:var(--mut)}
.cmdk-esc{font-family:'Space Grotesk';font-size:11px;font-weight:600;color:var(--mut);background:rgba(0,0,0,.05);border:1px solid var(--line);border-radius:6px;padding:3px 8px}
.cmdk-list{max-height:min(52vh,420px);overflow-y:auto;padding:8px}
.cmdk-item{width:100%;display:flex;align-items:center;gap:14px;padding:12px 14px;border:none;background:none;border-radius:13px;cursor:none;text-align:left;transition:background .15s}
.cmdk-item.on{background:rgba(169,130,63,.13)}
.ci-ic{width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--acc);
  background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:10px}
.cmdk-item.on .ci-ic{background:var(--acc);color:#fff;border-color:var(--acc)}
.ci-tx{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.ci-tx b{font-family:'Inter';font-weight:600;font-size:15px;color:var(--ink)}
.ci-tx span{font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ci-go{font-family:'Space Grotesk';color:var(--acc);opacity:0;font-size:15px}
.cmdk-item.on .ci-go{opacity:1}
.cmdk-empty{padding:30px 18px;text-align:center;color:var(--mut);font-size:14.5px}
.cmdk-foot{display:flex;align-items:center;gap:18px;padding:11px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--mut)}
.cmdk-foot b{font-family:'Space Grotesk';color:var(--ink);font-weight:600}
.cmdk-foot .cmdk-brand{margin-left:auto;font-family:'Space Grotesk';font-weight:700;letter-spacing:.06em;color:var(--acc)}
@media(hover:none){.cmdk-inp{cursor:auto}.cmdk-item,.cmdk-trig{cursor:pointer}}
@media(max-width:600px){.cmdk-ov{padding:8vh 14px 14px}.cmdk-foot span:not(.cmdk-brand){display:none}}

/* ============================================================
   RESOURCES — bio options + brand/asset grid
   ============================================================ */
.bio-opt{padding:18px 0;border-bottom:1px solid var(--line)}
.bio-opt:last-child{border-bottom:none}
.bio-h{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:9px}
.bio-h b{font-family:'Space Grotesk';font-weight:600;font-size:16px}
.bio-opt p{color:#3a3b44;font-size:14.5px;line-height:1.65}

.asset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.asset{padding:26px!important;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.asset .asset-ic{width:64px;height:64px;border-radius:15px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  background:rgba(255,255,255,.6);border:1px solid var(--line);margin-bottom:14px;font-size:26px;color:var(--acc)}
.asset .asset-ic img{width:100%;height:100%;object-fit:cover}
.asset .asset-ic.ph img{object-fit:cover}
.asset .asset-ic.sw{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;border:1px solid var(--line)}
.asset .asset-ic.sw span{display:block;width:100%;height:100%}
.asset h4{font-family:'Space Grotesk';font-weight:600;font-size:18px}
.asset p{color:var(--mut);font-size:13.5px}
.asset .lnk{margin-top:12px}
@media(max-width:900px){.asset-grid{grid-template-columns:1fr 1fr;gap:14px}}
@media(max-width:560px){.asset-grid{grid-template-columns:1fr}}

/* ============================================================
   CONTACT FORM (Netlify) + FAQ + live local time
   ============================================================ */
.rf-form{position:relative;max-width:720px;margin:0 auto;background:var(--glass-2);
  -webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%);
  border:1px solid var(--glass-brd);border-radius:28px;padding:42px;box-shadow:var(--glass-sh)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field{margin-bottom:18px;display:flex;flex-direction:column;gap:7px}
.field label{font-size:13px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.field input,.field textarea{font-family:'Inter';font-size:15px;color:var(--ink);background:rgba(255,255,255,.55);
  border:1px solid var(--line);border-radius:13px;padding:13px 15px;outline:none;transition:.2s;cursor:none;resize:vertical;width:100%}
.field input:focus,.field textarea:focus{border-color:var(--acc);background:rgba(255,255,255,.9);box-shadow:0 0 0 4px rgba(169,130,63,.13)}
.field input::placeholder,.field textarea::placeholder{color:var(--mut)}
.hp{position:absolute;left:-9999px;top:-9999px}
.f-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:4px}
.f-status{font-size:14px}.f-status.ok{color:#2f7d4d;font-weight:600}.f-status.err{color:#c0392b;font-weight:600}
.rf-form.sent .f-row,.rf-form.sent .field,.rf-form.sent .f-actions{display:none}
.form-sent{padding:8px 2px;font-size:17px;color:var(--ink);line-height:1.6}
.form-sent b{font-family:'Space Grotesk';color:#2f7d4d}
@media(hover:none){.field input,.field textarea{cursor:auto}}
@media(max-width:600px){.f-row{grid-template-columns:1fr}.rf-form{padding:28px 22px}}

.faq{max-width:760px;margin:0 auto}
.faq-item{background:var(--glass);-webkit-backdrop-filter:blur(20px) saturate(175%);backdrop-filter:blur(20px) saturate(175%);
  border:1px solid var(--glass-brd);border-radius:16px;margin-bottom:12px;overflow:hidden;box-shadow:var(--glass-sh)}
.faq-item summary{list-style:none;cursor:none;padding:20px 24px;font-family:'Space Grotesk';font-weight:600;font-size:17px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-size:24px;font-weight:400;color:var(--acc);transition:transform .3s;line-height:1}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 24px 22px;color:var(--mut);font-size:15px;line-height:1.68}
.faq-item p a{color:var(--acc);font-weight:600}
@media(hover:none){.faq-item summary{cursor:pointer}}

.localtime{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;font-weight:500;color:var(--ink);
  background:var(--glass);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--glass-brd);
  border-radius:100px;padding:8px 16px;margin-top:20px}
.localtime .pulse{width:8px;height:8px;border-radius:50%;background:#2f9e5f;box-shadow:0 0 0 0 rgba(47,158,95,.5);animation:ping 2s infinite}
.localtime b{color:var(--acc);font-weight:600}

/* respect reduced-motion preferences (accessibility + polish) */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .bgi,.marquee-track,.glass-hero::after,.hero-video,.spine-fill{animation:none!important}
  .reveal{opacity:1!important;transform:none!important}
}

/* ============================================================
   MIDNIGHT GLASS — dark mode
   ============================================================ */
:root[data-theme="dark"]{
  --bg:#0d0a05;--paper:#15100a;--bg2:#100c06;--ink:#f4efe6;--mut:#a8a49b;
  --line:rgba(255,255,255,.12);--soft:#1a1409;
  --glass:rgba(255,255,255,.055);--glass-2:rgba(255,255,255,.09);--glass-brd:rgba(255,255,255,.14);
  --glass-sh:0 24px 64px -26px rgba(0,0,0,.75), inset 0 1px 0 rgba(255,255,255,.13);
}
:root[data-theme="dark"] body{background:linear-gradient(135deg,#0e0a05,#141009)}
:root[data-theme="dark"] body::before{background:
  radial-gradient(58% 52% at 10% 6%, rgba(205,167,101,.22), transparent 60%),
  radial-gradient(52% 48% at 90% 10%, rgba(169,130,63,.18), transparent 62%),
  radial-gradient(60% 58% at 82% 90%, rgba(120,92,44,.28), transparent 60%),
  radial-gradient(52% 50% at 16% 94%, rgba(169,130,63,.16), transparent 62%)}
:root[data-theme="dark"] body::after{background:radial-gradient(42% 32% at 50% -4%, rgba(255,255,255,.06), transparent 70%)}
:root[data-theme="dark"] .grain{mix-blend-mode:screen;opacity:.022}
/* literal-white panels → dark */
:root[data-theme="dark"] .nav-in{background:rgba(18,14,9,.62)!important}
:root[data-theme="dark"] .glass-hero{background:rgba(18,14,8,.42)!important}
/* hero text stays light on the dark-tinted cards (overrides light-mode dark text) */
:root[data-theme="dark"] .glass-hero .lede,:root[data-theme="dark"] .glass-hero p,:root[data-theme="dark"] .hero .lede{color:#d9d2c5!important}
:root[data-theme="dark"] .glass-hero .kicker{color:#e8e0d1!important;background:rgba(255,255,255,.08)!important}
:root[data-theme="dark"] .mobile-menu{background:rgba(11,8,4,.94)!important}
:root[data-theme="dark"] footer{background:rgba(16,12,7,.55)!important}
:root[data-theme="dark"] .kicker{background:rgba(255,255,255,.06)!important}
:root[data-theme="dark"] .field input,:root[data-theme="dark"] .field textarea{background:rgba(255,255,255,.06)!important;color:var(--ink)}
:root[data-theme="dark"] .field input:focus,:root[data-theme="dark"] .field textarea:focus{background:rgba(255,255,255,.11)!important}
:root[data-theme="dark"] .lead,:root[data-theme="dark"] .lead b,:root[data-theme="dark"] .bio-opt p,:root[data-theme="dark"] #bioText,:root[data-theme="dark"] #bioOne,:root[data-theme="dark"] #bioFull{color:#d0c9bd!important}
/* buttons */
:root[data-theme="dark"] .btn-a{background:var(--acc);color:#141009}
:root[data-theme="dark"] .btn-a:hover{background:var(--acc2);box-shadow:0 18px 40px -14px var(--acc)}
:root[data-theme="dark"] .btn-o:hover{background:var(--acc)!important;color:#141009;border-color:var(--acc)!important}
:root[data-theme="dark"] .imgband .btn-a{background:#fffdf9;color:#141009}
:root[data-theme="dark"] .imgband .btn-a:hover{background:var(--acc);color:#fffdf9}
/* dark accent blocks that used --ink as a fill */
:root[data-theme="dark"] .marquee{background:#0a0803;border-color:var(--line)}
:root[data-theme="dark"] .bento .ink{background:#0b0904!important;border:1px solid var(--line)}
/* command palette + trigger */
:root[data-theme="dark"] .cmdk{background:rgba(22,17,10,.86)!important}
:root[data-theme="dark"] .cmdk-ov{background:rgba(0,0,0,.55)}
:root[data-theme="dark"] .cmdk-trig{background:rgba(22,17,10,.7)!important}
:root[data-theme="dark"] .cmdk-trig kbd{background:rgba(255,255,255,.08);color:var(--mut)}
:root[data-theme="dark"] .ci-ic,:root[data-theme="dark"] .asset .asset-ic{background:rgba(255,255,255,.08)}
:root[data-theme="dark"] .cmdk-esc,:root[data-theme="dark"] .cmdk-foot b{background:transparent}
/* resource chips / buttons that were solid white */
:root[data-theme="dark"] .add-btn,:root[data-theme="dark"] .copy-btn,:root[data-theme="dark"] .tray-chip,:root[data-theme="dark"] .pdf-opt{background:rgba(255,255,255,.07)!important;color:var(--ink)}
:root[data-theme="dark"] .add-btn.added{background:var(--acc)!important;color:#141009}
:root[data-theme="dark"] .tray-chip button{background:rgba(255,255,255,.12)}
/* light veil on subpage heroes → dark veil */
:root[data-theme="dark"] .phero:not(.img)::before{background:linear-gradient(rgba(13,10,5,.42),rgba(13,10,5,.66))}
:root[data-theme="dark"] .phero:not(.img) .phero-card{background:rgba(18,14,8,.44)!important}
:root[data-theme="dark"] .map-wrap iframe{filter:grayscale(.4) invert(.92) hue-rotate(180deg) contrast(.9) sepia(.15)}
@media(max-width:900px){
  :root[data-theme="dark"] .glass-hero,:root[data-theme="dark"] .card,:root[data-theme="dark"] .feat-box,
  :root[data-theme="dark"] .char,:root[data-theme="dark"] .ms .c2,:root[data-theme="dark"] .tray,
  :root[data-theme="dark"] .pdfmaker,:root[data-theme="dark"] .bento .cell:not(.ink):not(.gold):not(.photo),
  :root[data-theme="dark"] .nav-in{background:rgba(18,14,9,.72)!important}
  :root[data-theme="dark"] .kicker{background:rgba(255,255,255,.08)!important}
  /* hero cards keep the dark tint on mobile for contrast over bright video */
  :root[data-theme="dark"] .glass-hero,:root[data-theme="dark"] .phero:not(.img) .phero-card{background:rgba(18,14,8,.55)!important}
}

/* ============================================================
   DISPLAY & ACCESSIBILITY option bar
   ============================================================ */
/* effect: larger text (page zoom) */
:root[data-text="large"]{zoom:1.12}
/* effect: high contrast */
:root[data-contrast="high"]{--mut:#303138;--line:rgba(0,0,0,.3);--glass:rgba(255,255,255,.74);--glass-2:rgba(255,255,255,.84);--glass-brd:rgba(0,0,0,.2)}
:root[data-theme="dark"][data-contrast="high"]{--mut:#ece6da;--line:rgba(255,255,255,.38);--glass:rgba(255,255,255,.15);--glass-2:rgba(255,255,255,.22);--glass-brd:rgba(255,255,255,.42)}
:root[data-contrast="high"] .lead,:root[data-contrast="high"] .bio-opt p{color:var(--ink)!important}
/* effect: reduce motion (manual toggle, mirrors the media query) */
:root[data-motion="reduce"] *,:root[data-motion="reduce"] *::before,:root[data-motion="reduce"] *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
:root[data-motion="reduce"] .bgi,:root[data-motion="reduce"] .marquee-track,:root[data-motion="reduce"] .glass-hero::after,:root[data-motion="reduce"] .hero-video,:root[data-motion="reduce"] .spine-fill{animation:none!important}
:root[data-motion="reduce"] .reveal{opacity:1!important;transform:none!important}

.a11y-trig{position:fixed;left:22px;bottom:22px;z-index:470;display:flex;align-items:center;gap:9px;
  background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);
  border:1px solid var(--glass-brd);border-radius:100px;padding:11px 15px;cursor:none;
  box-shadow:0 18px 44px -18px rgba(60,45,15,.5),inset 0 1px 0 rgba(255,255,255,.9);transition:transform .3s,box-shadow .3s}
:root[data-theme="dark"] .a11y-trig{background:rgba(22,17,10,.7)!important}
.a11y-trig:hover{transform:translateY(-3px)}
.a11y-trig .ic{font-size:16px;color:var(--acc);line-height:1}
.a11y-trig .tx{font-size:14px;font-weight:600;color:var(--ink)}
@media(max-width:600px){.a11y-trig .tx{display:none}.a11y-trig{padding:13px;left:16px;bottom:16px}.a11y-trig .ic{font-size:19px}}

.a11y-panel{position:fixed;left:22px;bottom:76px;z-index:471;width:290px;max-width:calc(100vw - 44px);
  background:var(--glass-2);-webkit-backdrop-filter:blur(32px) saturate(190%);backdrop-filter:blur(32px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:20px;padding:14px;
  box-shadow:0 44px 96px -30px rgba(30,20,5,.55),inset 0 1px 0 rgba(255,255,255,.9);
  opacity:0;transform:translateY(10px) scale(.98);pointer-events:none;transition:.28s cubic-bezier(.16,1,.3,1)}
:root[data-theme="dark"] .a11y-panel{background:rgba(22,17,10,.9)!important}
.a11y-panel.on{opacity:1;transform:none;pointer-events:auto}
@media(max-width:600px){.a11y-panel{left:16px;bottom:70px}}
.a11y-h{font-family:'Space Grotesk';font-weight:600;font-size:12px;letter-spacing:.14em;color:var(--mut);text-transform:uppercase;padding:5px 6px 11px}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 6px}
.a11y-row+.a11y-row{border-top:1px solid var(--line)}
.a11y-row .lb{font-size:14.5px;font-weight:500;color:var(--ink)}
.a11y-row .lb small{display:block;font-size:12px;color:var(--mut);font-weight:400;margin-top:1px}
.seg{display:flex;background:rgba(0,0,0,.06);border:1px solid var(--line);border-radius:100px;padding:3px;flex:none}
:root[data-theme="dark"] .seg{background:rgba(255,255,255,.08)}
.seg button{border:none;background:none;font-family:'Inter';font-size:12.5px;font-weight:600;color:var(--mut);padding:6px 13px;border-radius:100px;cursor:none;transition:.2s}
.seg button.on{background:var(--acc);color:#fff}
.sw{width:44px;height:26px;border-radius:100px;background:rgba(0,0,0,.16);border:1px solid var(--line);position:relative;cursor:none;transition:background .25s;flex:none}
:root[data-theme="dark"] .sw{background:rgba(255,255,255,.14)}
.sw::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.28);transition:transform .25s}
.sw.on{background:var(--acc)}.sw.on::after{transform:translateX(18px)}
@media(hover:none){.a11y-trig,.seg button,.sw{cursor:pointer}}

/* ============================================================
   READABILITY PASS — stronger, clearer text everywhere
   ============================================================ */
:root{--mut:#4b4c55;                    /* darker muted text = far more legible */
  --glass:rgba(255,255,255,.56);--glass-2:rgba(255,255,255,.68)} /* panels a touch more opaque so text pops */
:root[data-theme="dark"]{--mut:#bdb8ac; /* brighter muted text in dark mode */
  --glass:rgba(255,255,255,.08);--glass-2:rgba(255,255,255,.115)}
/* brighten the small text sitting on dark photo / glass sections */
.g-mod p,.showcase .card p{color:#d8dae2}
.module p{color:#c6c8d2}
.showcase .sec-head p{color:#d3d5dd}
.imgband p,.vband p{color:#efede6}
.phero.img p{color:#eae4d7}
.band .in2 .eyebrow{color:var(--acc2)}
/* body copy: slightly firmer weight + size for comfortable reading */
.card p,.faq-item p,.bio-opt p{font-size:15.5px}
.lead{color:#33343d}
.lede{color:#3a3b45}
:root[data-theme="dark"] .lead,:root[data-theme="dark"] .lede{color:#d4cdc1}
/* crisper links + labels */
.lnk{font-weight:600}
.meta{color:var(--mut)}

/* ============================================================
   FINISHING TOUCHES — gold shimmer + keyboard accessibility
   ============================================================ */
/* animated gold shimmer on eyebrows + inline accents */
.eyebrow,.acc{
  background:linear-gradient(100deg,var(--acc) 18%,var(--acc2) 38%,#f2ddb2 50%,var(--acc2) 62%,var(--acc) 82%);
  background-size:220% auto;-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;animation:shine 6.5s linear infinite}
@keyframes shine{to{background-position:-220% center}}
:root[data-motion="reduce"] .eyebrow,:root[data-motion="reduce"] .acc{animation:none}

/* visible keyboard focus (the custom cursor hides default hover cues) */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,
.card:focus-visible,[tabindex]:focus-visible,.cmdk-item:focus-visible{
  outline:2.5px solid var(--acc);outline-offset:3px;border-radius:10px}
:root[data-theme="dark"] a:focus-visible,:root[data-theme="dark"] button:focus-visible,
:root[data-theme="dark"] input:focus-visible,:root[data-theme="dark"] textarea:focus-visible,
:root[data-theme="dark"] summary:focus-visible{outline-color:var(--acc2)}

/* skip-to-content link (appears on keyboard Tab) */
.skip-link{position:fixed;top:-70px;left:16px;z-index:10001;background:var(--acc);color:#fff;
  padding:11px 20px;border-radius:0 0 14px 14px;font-family:'Inter';font-weight:600;font-size:14px;
  cursor:none;transition:top .25s cubic-bezier(.16,1,.3,1);box-shadow:0 14px 34px -14px rgba(0,0,0,.5)}
.skip-link:focus{top:0;outline:none}
@media(hover:none){.skip-link{cursor:pointer}}

/* ============================================================
   BY THE NUMBERS — animated stats band
   ============================================================ */
.stats-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--glass-2);
  -webkit-backdrop-filter:blur(26px) saturate(185%);backdrop-filter:blur(26px) saturate(185%);
  border:1px solid var(--glass-brd);border-radius:28px;padding:46px 22px;box-shadow:var(--glass-sh);overflow:hidden}
.stat{text-align:center;padding:10px 18px;position:relative}
.stat+.stat::before{content:'';position:absolute;left:0;top:18%;height:64%;width:1px;background:var(--line)}
.stat .n{font-family:'Space Grotesk';font-weight:700;font-size:clamp(42px,6vw,70px);line-height:1;letter-spacing:-.03em;
  background:linear-gradient(150deg,var(--acc),var(--acc2));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.stat .suf{font-size:.5em;vertical-align:super;margin-left:1px}
.stat .l{color:var(--mut);font-size:14px;margin-top:12px;font-weight:600;letter-spacing:.01em}
@media(max-width:700px){.stats-band{grid-template-columns:1fr 1fr;gap:30px 0;padding:38px 16px}
  .stat::before{display:none!important}}
