*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--black:#0a0a0a;--white:#f5f0eb;--cream:#e8e0d6;--accent:#c8372d;--gray:#666;--light-gray:#999;--serif:'Instrument Serif',Georgia,serif;--sans:'Satoshi',sans-serif}
html{scrollbar-width:thin;scrollbar-color:var(--accent) var(--black)}
body{font-family:var(--sans);background:var(--black);color:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeSpeed}

@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes loadBar{to{width:100%}}
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:28px 48px;display:flex;justify-content:space-between;align-items:center}
.logo{display:flex;align-items:center;text-decoration:none}.logo img{height:40px;width:auto;transition:opacity .2s}.logo:hover img{opacity:.8}
.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{color:var(--white);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;position:relative;padding-bottom:2px}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .3s ease}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.menu-btn{display:none;background:none;border:none;cursor:pointer;width:32px;height:20px;position:relative}
.menu-btn span{display:block;width:100%;height:1.5px;background:var(--white);position:absolute;left:0;transition:all .3s ease}
.menu-btn span:nth-child(1){top:0}.menu-btn span:nth-child(2){top:50%;transform:translateY(-50%)}.menu-btn span:nth-child(3){bottom:0}
.mobile-nav{position:fixed;inset:0;background:var(--black);z-index:999;display:flex;flex-direction:column;justify-content:center;padding:48px;opacity:0;pointer-events:none;transition:opacity .4s ease}
.mobile-nav.open{opacity:1;pointer-events:all}
.mobile-nav a{font-family:var(--serif);font-size:clamp(36px,8vw,56px);color:var(--white);text-decoration:none;display:block;padding:12px 0;transition:color .2s}
.mobile-nav a:hover,.mobile-nav a.active{color:var(--accent)}
.progress-bar{position:fixed;top:0;left:0;right:0;height:2px;background:var(--accent);transform-origin:left;transform:scaleX(0);z-index:10001;will-change:transform;pointer-events:none}
.section-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:80px}
.section-title{font-family:var(--serif);font-size:clamp(48px,6vw,96px);line-height:.95;letter-spacing:-.02em}.section-title em{font-style:italic}
.intro-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:700;margin-bottom:32px}
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}
.page-hero{padding:200px 48px 120px;position:relative}
.page-hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:var(--accent);font-weight:700;margin-bottom:24px;opacity:0;animation:fadeUp .8s ease forwards .2s}
.page-hero-title{font-family:var(--serif);font-size:clamp(52px,8vw,120px);line-height:.92;letter-spacing:-.02em;max-width:900px}
.page-hero-title .line{display:block;overflow:hidden}
.page-hero-title .line-inner{display:inline-block;transform:translateY(110%);animation:revealLine .9s cubic-bezier(.22,1,.36,1) forwards}
.page-hero-title .line:nth-child(2) .line-inner{animation-delay:.12s}
.page-hero-title em{font-style:italic;color:var(--accent)}
@keyframes revealLine{to{transform:translateY(0)}}
.page-hero-desc{font-size:18px;line-height:1.7;color:var(--light-gray);font-weight:300;max-width:560px;margin-top:40px;opacity:0;animation:fadeUp .8s ease forwards .5s}
img{background:rgba(255,255,255,.03)}
.video-modal{position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:48px}
.video-modal.open{opacity:1;pointer-events:all}
.video-modal-inner{width:100%;max-width:1200px;aspect-ratio:16/9;position:relative}
.video-modal-inner iframe{width:100%;height:100%;border:0}
.video-modal-close{position:absolute;top:-48px;right:0;background:none;border:none;color:var(--white);font-size:32px;cursor:pointer;font-family:var(--sans);transition:color .2s}.video-modal-close:hover{color:var(--accent)}
.play-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border:1.5px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:1;transition:all .3s ease;backdrop-filter:blur(4px);background:rgba(0,0,0,.2)}
.play-indicator svg{width:20px;height:20px;margin-left:3px}
footer{padding:80px 48px 40px;border-top:1px solid rgba(255,255,255,.08);content-visibility:auto;contain-intrinsic-size:0 300px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 0.8fr 0.8fr;gap:48px;margin-bottom:80px}
.footer-brand-sub{font-size:13px;color:var(--light-gray);font-weight:300;line-height:1.6}
.footer-col h4{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;margin-bottom:24px}
.footer-col a{display:block;color:var(--light-gray);text-decoration:none;font-size:14px;font-weight:300;margin-bottom:12px;transition:color .2s}.footer-col a:hover{color:var(--white)}
.footer-bottom{display:flex;justify-content:space-between;padding-top:32px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--gray)}
.cta-block{padding:200px 48px;text-align:center;position:relative;overflow:hidden;content-visibility:auto;contain-intrinsic-size:0 600px}
.cta-block .cta-glow{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(200,55,45,.1) 0%,transparent 70%);pointer-events:none}
.cta-heading{font-family:var(--serif);font-size:clamp(48px,7vw,100px);line-height:1;letter-spacing:-.02em;margin-bottom:32px;position:relative}.cta-heading em{font-style:italic;color:var(--accent)}
.cta-sub{font-size:16px;color:var(--light-gray);font-weight:300;max-width:480px;margin:0 auto 48px;line-height:1.6}
.cta-btn{display:inline-flex;align-items:center;gap:16px;padding:20px 48px;border:1px solid var(--white);color:var(--white);text-decoration:none;font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:500;position:relative;overflow:hidden;transition:border-color .4s ease}
.cta-btn::before{content:'';position:absolute;inset:0;background:var(--accent);transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1)}
.cta-btn:hover::before{transform:translateY(0)}.cta-btn:hover{border-color:var(--accent)}
.cta-btn span,.cta-btn svg{position:relative;z-index:1}
@media(max-width:1024px){.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:768px){nav{padding:20px 24px}.nav-links{display:none}.menu-btn{display:block}.page-hero{padding:140px 24px 80px}.cta-block{padding:120px 24px}.footer-top{grid-template-columns:1fr}footer{padding:48px 24px 32px}.section-header{flex-direction:column;align-items:flex-start;gap:24px}.video-modal{padding:16px}}


/* ---- Final cleanup / fixes ---- */
nav{background:linear-gradient(to bottom,rgba(10,10,10,.86),rgba(10,10,10,.35) 65%,rgba(10,10,10,0));backdrop-filter:blur(2px)}
.clean-footer{padding:56px 48px 34px;border-top:1px solid rgba(255,255,255,.08)}
.clean-footer-top{display:flex;flex-direction:column;justify-content:center;gap:28px;align-items:center;text-align:center;margin-bottom:42px}
.clean-footer-logo{height:48px;width:auto;margin:0 auto 18px;display:block}.clean-footer-tag{font-size:13px;color:var(--light-gray);line-height:1.6;max-width:430px;font-weight:300;margin:0 auto}
.clean-footer-links{display:flex;gap:28px;flex-wrap:wrap;justify-content:center}.clean-footer-links a{color:var(--light-gray);text-decoration:none;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.clean-footer-links a:hover{color:var(--white)}
.clean-footer-bottom{display:flex;justify-content:center;gap:20px;padding-top:22px;border-top:1px solid rgba(255,255,255,.06);font-size:12px;color:var(--gray);text-align:center}
.contact-image-card{margin-bottom:48px;overflow:hidden;border-radius:4px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
.contact-image-card img{width:100%;display:block;background:#f7f7f7}.contact-image-caption{display:none}
@media(max-width:768px){.clean-footer{padding:42px 24px 28px}.clean-footer-top,.clean-footer-bottom{flex-direction:column;align-items:center;text-align:center}.clean-footer-links{justify-content:center;gap:18px}.contact-image-card{margin-bottom:36px}}


/* ---- Subtle homepage FAQ for SEO/GEO ---- */
.site-faq{padding:120px 48px;background:var(--black);color:var(--white);border-top:1px solid rgba(255,255,255,.07)}
.site-faq-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.site-faq-heading h2{font-family:var(--serif);font-size:clamp(38px,4.8vw,76px);line-height:.95;letter-spacing:-.025em;max-width:520px}
.site-faq-list{border-top:1px solid rgba(255,255,255,.14)}
.site-faq-item{border-bottom:1px solid rgba(255,255,255,.12);padding:0}
.site-faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 0;font-size:15px;line-height:1.45;font-weight:600;color:var(--white)}
.site-faq-item summary::-webkit-details-marker{display:none}
.site-faq-item summary::after{content:'+';font-size:20px;font-weight:300;color:var(--accent);line-height:1;transition:transform .2s ease}
.site-faq-item[open] summary::after{content:'–'}
.site-faq-item p{padding:0 48px 24px 0;color:var(--light-gray);font-size:14px;line-height:1.75;font-weight:300;max-width:720px}
@media(max-width:768px){.site-faq{padding:82px 24px}.site-faq-inner{grid-template-columns:1fr;gap:34px}.site-faq-item p{padding-right:0}}
