:root{--bg:#111;--bg-soft:#161616;--accent:#c9a45b;--accent-soft:#c9a45b1f;--text:#f4f4f2;--text-dim:#a7a7a3;--line:#ffffff1a;--glass:#1616168c;--glass-strong:#141414cc;--radius:22px;--radius-sm:14px;--maxw:1240px;--font-display:"Big Shoulders Display", system-ui, sans-serif;--font-head:"Hanken Grotesk", system-ui, sans-serif;--font-body:"Hanken Grotesk", system-ui, sans-serif;--shadow:0 30px 80px -30px #000c}*{box-sizing:border-box}html,body,#root{margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:auto}body{font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-head);letter-spacing:-.02em;margin:0;font-weight:600;line-height:1.05}p{margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button{cursor:pointer;font-family:inherit}.bg-stage{z-index:0;background:#000;position:fixed;inset:0;overflow:hidden}.bg-stage video,.bg-stage .bg-fallback{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.bg-fallback{background-position:50%;background-size:cover}.bg-overlay{z-index:1;pointer-events:none;background:radial-gradient(120% 80% at 50% 0,#0003,#0000 55%),linear-gradient(#1111118c 0%,#11111159 35%,#111111c7 100%);position:fixed;inset:0}.bg-grain{z-index:1;pointer-events:none;opacity:.05;background-image:radial-gradient(#fff6 1px,#0000 1px);background-size:3px 3px;position:fixed;inset:0}.page{z-index:2;position:relative}.container{width:min(100% - 48px, var(--maxw));margin-inline:auto}section{padding:clamp(80px,12vh,160px) 0;position:relative}.eyebrow{font-family:var(--font-head);letter-spacing:.28em;text-transform:uppercase;color:var(--accent);align-items:center;gap:10px;margin-bottom:22px;font-size:.78rem;display:inline-flex}.eyebrow:before{content:"";background:var(--accent);width:28px;height:1px}.section-title{max-width:16ch;font-size:clamp(2rem,5vw,3.6rem)}.section-lead{color:var(--text-dim);max-width:56ch;margin-top:20px;font-size:clamp(1rem,1.4vw,1.15rem)}.glass{background:var(--glass);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(18px)}.btn{font-family:var(--font-head);border:1px solid #0000;border-radius:100px;align-items:center;gap:10px;padding:15px 28px;font-size:.95rem;font-weight:600;transition:transform .25s,background .25s,color .25s,box-shadow .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#111;box-shadow:0 12px 40px -12px #ffd4008c}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 20px 50px -14px #ffd400b3}.btn-ghost{border-color:var(--line);color:var(--text);background:#ffffff0a}.btn-ghost:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-3px)}.nav{z-index:50;pointer-events:none;justify-content:space-between;align-items:center;padding:20px clamp(16px,3vw,44px);display:flex;position:fixed;top:0;left:0;right:0}.nav>*{pointer-events:auto}.nav-brand{align-items:center;text-decoration:none;display:inline-flex}.nav-wordmark{font-family:var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:#f4f4f2e0;font-size:.9rem;font-weight:500;line-height:1}.wm-accent{color:var(--accent);letter-spacing:.22em;font-weight:600}.nav-pill{-webkit-backdrop-filter:blur(18px);background:#12121299;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:2px;padding:5px 6px;display:flex}.nav-pill a{font-family:var(--font-head);color:#f4f4f28c;white-space:nowrap;border-radius:100px;padding:7px 15px;font-size:.82rem;text-decoration:none;transition:color .2s,background .2s}.nav-pill a:hover{color:var(--text);background:#ffffff12}.nav-pill a.active{color:var(--text);background:#ffffff1c}.nav-cta-pill{color:#111;font-family:var(--font-head);letter-spacing:.01em;background:#c9a45b;border-radius:100px;align-items:center;gap:6px;padding:11px 22px;font-size:.85rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .25s,background .2s;display:inline-flex;box-shadow:0 4px 20px #c9a45b47}.nav-cta-pill:hover{background:#d4b06a;transform:translateY(-2px);box-shadow:0 8px 28px #c9a45b66}.nav-cta-pill .arrow{font-size:1rem;line-height:1}.nav-toggle{color:var(--text);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#121212b3;border:1px solid #ffffff1a;border-radius:10px;padding:8px 11px;font-size:1.3rem;line-height:1;display:none}.nav-mobile{-webkit-backdrop-filter:blur(20px);background:#0e0e0eeb;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:4px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:clamp(16px,3vw,44px);right:clamp(16px,3vw,44px)}.nav-mobile.open{display:flex}.nav-mobile a{font-family:var(--font-head);color:#f4f4f2b3;border-radius:10px;padding:11px 16px;font-size:.95rem;text-decoration:none;transition:color .2s,background .2s}.nav-mobile a:hover{color:var(--text);background:#ffffff0f}.nav-mobile .nav-cta-pill{justify-content:center;margin-top:8px}.hero{flex-direction:column;justify-content:flex-end;min-height:100vh;padding-bottom:clamp(130px,16vh,180px);display:flex;position:relative}.hero-content{z-index:2;position:relative}.hero-label{font-family:var(--font-display);letter-spacing:.44em;text-transform:uppercase;color:var(--accent);align-items:center;gap:12px;margin-bottom:16px;font-size:.65rem;font-weight:700;display:inline-flex}.hero-label:before{content:"";background:var(--accent);flex:0 0 24px;width:24px;height:1px}.hero-h1{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);max-width:620px;margin:0;font-size:clamp(26px,3vw,46px);font-weight:800;line-height:1.06}.hero-hairline{z-index:1;pointer-events:none;background:#ffffff21;height:1px;position:absolute;bottom:clamp(90px,13vh,140px);left:0;right:0}.scroll-hint{color:var(--text-dim);letter-spacing:.28em;text-transform:uppercase;z-index:2;flex-direction:column;align-items:center;gap:10px;font-size:.72rem;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-hint .dot{border:1px solid var(--line);border-radius:14px;width:22px;height:36px;position:relative}.scroll-hint .dot:after{content:"";background:var(--accent);border-radius:3px;width:3px;height:7px;animation:1.6s ease-in-out infinite scrolldot;position:absolute;top:7px;left:50%;transform:translate(-50%)}@keyframes scrolldot{0%,to{opacity:0;transform:translate(-50%)}50%{opacity:1;transform:translate(-50%,10px)}}.phone-float{z-index:100;position:fixed;bottom:32px;right:28px}.phone-float-inner{background:#c9a45b;border-radius:100px;align-items:center;height:52px;text-decoration:none;transition:box-shadow .3s,transform .2s;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000073,0 2px 10px #c9a45b47}.phone-float-inner:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000080,0 4px 16px #c9a45b80}.phone-float-num{font-family:var(--font-head);letter-spacing:.04em;color:#111;white-space:nowrap;max-width:0;padding-left:0;font-size:.88rem;font-weight:700;transition:max-width .45s cubic-bezier(.16,1,.3,1),padding-left .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.phone-float.expanded .phone-float-num,.phone-float-inner:hover .phone-float-num{max-width:160px;padding-left:20px}.phone-float-btn{color:#111;background:#0000002e;border-radius:50%;flex:0 0 52px;place-items:center;width:52px;height:52px;display:grid}.phone-float-btn svg{width:21px;height:21px}@media (width<=640px){.phone-float{bottom:20px;right:16px}}.story{padding:0}.story-pin{align-items:center;height:100vh;display:flex;overflow:hidden}.story-track{will-change:transform;gap:40px;padding-inline:clamp(20px,6vw,90px);display:flex}.story-card{flex:0 0 min(78vw,460px);min-height:56vh;display:flex;position:relative;overflow:hidden}.story-img{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.story-card:after{content:"";z-index:1;background:linear-gradient(#1111111a 0%,#1111118c 55%,#111111eb 100%);position:absolute;inset:0}.story-card-body{z-index:2;width:100%;margin-top:auto;padding:40px;position:relative}.story-card .idx{font-family:var(--font-head);color:var(--accent);letter-spacing:.2em;font-size:.85rem}.story-card h3{margin-top:14px;font-size:clamp(1.6rem,3vw,2.3rem)}.story-card p{color:var(--text-dim);margin-top:16px}.story-intro{flex-direction:column;flex:0 0 min(80vw,420px);justify-content:center;display:flex}.services-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:56px;display:flex}.services-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.service-card{flex-direction:column;gap:16px;padding:34px 30px;transition:transform .35s,border-color .35s,background .35s;display:flex;position:relative;overflow:hidden}.service-card:after{content:"";background:radial-gradient(120% 120% at 0% 0%, var(--accent-soft), transparent 45%);opacity:0;transition:opacity .35s;position:absolute;inset:0}.service-card:hover{border-color:#ffd40080;transform:translateY(-8px)}.service-card:hover:after{opacity:1}.service-icon{background:var(--accent-soft);width:54px;height:54px;color:var(--accent);z-index:1;border-radius:14px;place-items:center;display:grid;position:relative}.service-icon svg{width:26px;height:26px}.service-card h3{z-index:1;font-size:1.3rem;position:relative}.service-card p{color:var(--text-dim);z-index:1;font-size:.95rem;position:relative}.service-card .more{color:var(--accent);font-family:var(--font-head);letter-spacing:.05em;z-index:1;margin-top:auto;font-size:.85rem;position:relative}.ba-wrap{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.ba-slider{aspect-ratio:16/10;border-radius:var(--radius);border:1px solid var(--line);-webkit-user-select:none;user-select:none;box-shadow:var(--shadow);position:relative;overflow:hidden}.ba-slider img{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.ba-after{filter:saturate(.45)brightness(.7)contrast(.9)}.ba-before-wrap{position:absolute;inset:0;overflow:hidden}.ba-handle{background:var(--accent);width:2px;position:absolute;top:0;bottom:0;transform:translate(-1px)}.ba-handle .knob{background:var(--accent);color:#111;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.1rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 10px 30px -8px #000000b3}.ba-tag{font-family:var(--font-head);letter-spacing:.15em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0000008c;border-radius:100px;padding:6px 14px;font-size:.72rem;position:absolute;bottom:14px}.ba-tag.before{left:14px}.ba-tag.after{color:var(--accent);right:14px}.ba-range{width:100%;accent-color:var(--accent);margin-top:26px}.gallery-grid{columns:3;column-gap:18px}.gallery-item{break-inside:avoid;border-radius:var(--radius-sm);border:1px solid var(--line);margin-bottom:18px;position:relative;overflow:hidden}.gallery-item img{width:100%;transition:transform .6s}.gallery-item:after{content:"";opacity:0;background:linear-gradient(#0000 55%,#0000008c);transition:opacity .4s;position:absolute;inset:0}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:hover:after{opacity:1}.reviews-grid{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.review-card{flex-direction:column;gap:18px;padding:32px;display:flex}.review-stars{color:var(--accent);letter-spacing:3px}.review-card p{color:var(--text);font-size:1.02rem}.review-author{align-items:center;gap:12px;margin-top:auto;display:flex}.review-avatar{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);font-family:var(--font-head);border-radius:50%;place-items:center;font-weight:700;display:grid}.review-author .name{font-family:var(--font-head);font-weight:600}.review-author .meta{color:var(--text-dim);font-size:.82rem}.faq-wrap{grid-template-columns:.9fr 1.1fr;align-items:start;gap:56px;display:grid}.faq-list{flex-direction:column;gap:14px;display:flex}.faq-item{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--glass);transition:border-color .3s;overflow:hidden}.faq-item.open{border-color:#ffd40073}.faq-q{text-align:left;width:100%;color:var(--text);font-family:var(--font-head);background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;font-size:1.05rem;display:flex}.faq-q .plus{color:var(--accent);flex:none;font-size:1.4rem;transition:transform .3s}.faq-item.open .plus{transform:rotate(45deg)}.faq-a{height:0;transition:height .35s;overflow:hidden}.faq-a-inner{color:var(--text-dim);padding:0 24px 24px}.contact-card{box-shadow:var(--shadow);grid-template-columns:1.1fr .9fr;gap:0;display:grid;overflow:hidden}.contact-info{padding:clamp(36px,5vw,60px)}.contact-info h2{font-size:clamp(1.8rem,4vw,3rem)}.contact-rows{flex-direction:column;gap:22px;margin-top:36px;display:flex}.contact-row{align-items:flex-start;gap:16px;display:flex}.contact-row .ico{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.contact-row .label{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:.8rem}.contact-row .val{font-family:var(--font-head);font-size:1.1rem}.contact-aside{border-left:1px solid var(--line);background:linear-gradient(150deg,#ffd40029,#ffd40005);flex-direction:column;justify-content:center;gap:22px;padding:clamp(36px,5vw,60px);display:flex}.contact-aside h3{font-size:1.6rem}.contact-aside p{color:var(--text-dim)}.footer{border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0a99;padding:56px 0 40px}.footer-top{flex-wrap:wrap;justify-content:space-between;gap:40px;display:flex}.footer-brand{font-family:var(--font-head);letter-spacing:.16em;text-transform:uppercase;color:#f4f4f2e0;font-size:1.05rem;font-weight:500;line-height:1}.footer-cols{flex-wrap:wrap;gap:clamp(30px,6vw,80px);display:flex}.footer-col h4{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:16px;font-size:.8rem}.footer-col a,.footer-col span{color:var(--text-dim);margin-bottom:10px;font-size:.92rem;transition:color .2s;display:block}.footer-col a:hover{color:var(--accent)}.footer-bottom{border-top:1px solid var(--line);color:var(--text-dim);flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;font-size:.82rem;display:flex}.reveal{opacity:0;transform:translateY(40px)}@media (width<=980px){.services-grid{grid-template-columns:repeat(2,1fr)}.reviews-grid{grid-template-columns:1fr}.ba-wrap{grid-template-columns:1fr;gap:32px}.faq-wrap{grid-template-columns:1fr;gap:28px}.contact-card{grid-template-columns:1fr}.contact-aside{border-left:0;border-top:1px solid var(--line)}.gallery-grid{columns:2}}@media (width<=768px){.story-pin{height:auto;display:block;overflow:visible}.story-track{flex-direction:column;gap:18px;padding:90px 24px;transform:none!important}.story-card{flex:none;width:100%;min-height:62vh}.story-intro{flex:none;width:100%;min-height:auto;margin-bottom:8px}}@media (width<=800px){.nav-pill,.nav-cta-desktop{display:none}.nav-toggle{display:block}}@media (width<=640px){.services-grid{grid-template-columns:1fr}.gallery-grid{columns:1}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.scroll-hint .dot:after{animation:none}}
