:root{--black:#080d12;--navy:#0b2135;--blue:#086cac;--blue-bright:#28a5e5;--red:#e5232d;--ink:#10171d;--muted:#616d77;--line:#d8dde1;--light:#f2f4f5;--white:#fff;--display:"Barlow Condensed",sans-serif;--body:"Inter",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;overflow-x:hidden}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,textarea{font:inherit}.concept-bar{height:36px;display:flex;justify-content:space-between;align-items:center;padding:0 3vw;background:#0c0c0d;color:#aeb5ba;font-size:.7rem;letter-spacing:.03em}.concept-bar span:first-child{color:#fff}.site-header{height:78px;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:2rem;padding:0 3vw;background:#fff;border-bottom:3px solid var(--blue);position:sticky;top:0;z-index:50}.brand img{width:132px;height:auto}.nav-links{display:flex;justify-content:center;gap:2rem;font-family:var(--display);font-size:1.05rem;font-weight:700}.nav-links a:hover,.nav-links a:focus-visible{color:var(--blue)}.header-phone{display:flex;flex-direction:column;line-height:1}.header-phone strong{font-family:var(--display);font-size:1.4rem}.header-phone small{color:#747e86;font-size:.65rem;margin-top:.3rem}.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 1.45rem;border:2px solid transparent;font-family:var(--display);font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.015em;transition:background .2s,color .2s,transform .2s}.header-cta{height:100%;background:var(--blue);color:#fff}.header-cta:hover{background:#075a90}.nav-toggle{display:none;background:none;border:0;padding:.5rem}.nav-toggle span{display:block;width:26px;height:2px;background:var(--ink);margin:5px}
.hero{height:min(690px,calc(100vh - 114px));min-height:580px;position:relative;overflow:hidden;color:#fff}.hero-image{width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,8,11,.95) 0%,rgba(5,8,11,.75) 38%,rgba(5,8,11,.16) 78%),linear-gradient(0deg,rgba(5,8,11,.78) 0%,transparent 42%)}.hero-copy{position:absolute;top:50%;left:3vw;transform:translateY(-55%);width:min(720px,70vw)}.kicker{display:block;color:#fff;font-size:.73rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.kicker:before{content:"";display:inline-block;width:26px;height:3px;margin:0 .6rem .15rem 0;background:var(--red)}.kicker.dark{color:var(--blue)}h1,h2,h3{margin:0;font-family:var(--display);line-height:.95}h1{font-size:clamp(4.8rem,8vw,8rem);letter-spacing:-.025em;text-transform:uppercase;margin:.85rem 0 1.4rem}h1 em{font-style:normal;color:var(--blue-bright)}.hero-copy p{max-width:620px;margin:0 0 2rem;font-size:1.18rem;color:#e3e8eb}.hero-actions{display:flex;gap:.65rem}.button.primary{background:var(--red);color:#fff}.button.primary:hover{background:#bd1821;transform:translateY(-2px)}.button.outline{border-color:rgba(255,255,255,.65);color:#fff;background:rgba(0,0,0,.22)}.button.outline:hover{background:#fff;color:var(--ink)}.hero-stats{position:absolute;left:3vw;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(610px,70vw);border-top:1px solid rgba(255,255,255,.35)}.hero-stats div{min-height:95px;padding:1.15rem 1.7rem 1rem 0;border-right:1px solid rgba(255,255,255,.25)}.hero-stats div+div{padding-left:1.7rem}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-family:var(--display);font-size:2rem;line-height:1}.hero-stats span{margin-top:.35rem;color:#adb8c0;font-size:.72rem}.image-label{position:absolute;right:1rem;bottom:.8rem;padding:.3rem .5rem;background:rgba(0,0,0,.58);font-size:.62rem;color:#ccd3d8}.need-strip{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:1rem 3vw;background:#eef0f2;border-bottom:1px solid var(--line)}.need-strip>span{font-weight:800;margin-right:.5rem;font-size:.8rem}.need-strip a{padding:.62rem .85rem;background:#fff;border:1px solid #cfd4d8;font-family:var(--display);font-size:1rem;font-weight:700}.need-strip a:hover{border-color:var(--blue);color:var(--blue)}
.booking{display:grid;grid-template-columns:.9fr 1.1fr;gap:7vw;align-items:start;padding:7rem 6vw;background:#fff}.booking-intro h2,.section-head h2,.work-heading h2,.review-copy h2,.final-cta h2{font-size:clamp(3.2rem,5vw,5.3rem);letter-spacing:-.02em;text-transform:uppercase}.booking-intro h2{margin:1rem 0 1.4rem;max-width:560px}.booking-intro>p{max-width:610px;color:var(--muted);font-size:1.06rem}.shop-facts{display:grid;grid-template-columns:1fr 1.4fr;gap:0;margin-top:2.4rem;border-top:1px solid var(--line)}.shop-facts>div{padding:1rem 1rem 1rem 0;border-bottom:1px solid var(--line)}.shop-facts small,.shop-facts a,.shop-facts span{display:block}.shop-facts small{color:#7a858d;font-size:.64rem;text-transform:uppercase;font-weight:800;letter-spacing:.1em}.shop-facts a,.shop-facts span{margin-top:.25rem;font-family:var(--display);font-size:1.05rem;font-weight:700;line-height:1.25}.service-form{border:1px solid #cbd2d7;background:#fff;box-shadow:0 24px 55px rgba(15,29,39,.13)}.form-head{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--blue);color:#fff}.form-head strong{font-family:var(--display);font-size:1.45rem;text-transform:uppercase}.form-head span{font-size:.7rem;color:#cbe7f8}.form-body{padding:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.service-form label{display:block;margin-bottom:1rem;color:#505d67;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.service-form input,.service-form textarea{display:block;width:100%;margin-top:.35rem;border:1px solid #c9d0d6;background:#f7f8f9;padding:.85rem;color:var(--ink);border-radius:0;text-transform:none;letter-spacing:0}.service-form textarea{resize:vertical}.service-form input:focus,.service-form textarea:focus{outline:2px solid var(--blue);outline-offset:1px}.button.full{width:100%;border:0}.form-status{min-height:1.2rem;margin:.7rem 0 0;color:var(--blue);font-size:.75rem}
.services{padding:7rem 3vw;background:#f7f8f9;border-block:1px solid var(--line)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3.5rem}.section-head h2{margin-top:1rem;max-width:700px}.section-head>p{max-width:480px;margin:0;color:var(--muted)}.service-list{border-top:3px solid var(--ink)}.service-row{display:grid;grid-template-columns:80px 1.1fr 1.5fr auto;gap:2rem;align-items:center;min-height:118px;border-bottom:1px solid #cfd5da}.service-row>span{font-family:var(--display);font-size:1.25rem;color:var(--blue)}.service-row h3{font-size:1.7rem;text-transform:uppercase}.service-row p{margin:0;color:var(--muted);font-size:.9rem}.service-row a{border:2px solid var(--ink);padding:.55rem .8rem;font-family:var(--display);font-weight:800;text-transform:uppercase}.service-row a:hover{background:var(--ink);color:#fff}
.work{padding:7rem 3vw;background:var(--black);color:#fff}.work-heading{display:grid;grid-template-columns:1.25fr .75fr;column-gap:6vw;align-items:end;margin-bottom:3rem}.work-heading .kicker{grid-column:1/-1;margin-bottom:1rem}.work-heading h2{color:#fff}.work-heading p{margin:0;color:#b8c2c9;font-size:1.02rem}.work-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.work-card{position:relative;margin:0;overflow:hidden;background:#111b23;min-height:440px}.work-card img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s ease}.work-card:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(3,7,10,.96))}.work-card:hover img{transform:scale(1.035);filter:saturate(1.1)}.work-card figcaption{position:absolute;z-index:2;left:1.5rem;right:1.5rem;bottom:1.4rem;display:grid;grid-template-columns:46px 1fr;gap:.15rem 1rem}.work-card figcaption>span{grid-row:1/3;font-family:var(--display);font-size:2.5rem;color:var(--blue-bright);line-height:1}.work-card strong{font-family:var(--display);font-size:1.65rem;text-transform:uppercase}.work-card small{color:#bdc7ce;font-size:.75rem}
.reviews{display:grid;grid-template-columns:.38fr .62fr;gap:2rem 5vw;padding:7rem 3vw;background:#fff}.review-score{display:flex;gap:1.2rem;align-items:center}.review-score>strong{font-family:var(--display);font-size:7rem;line-height:.8}.review-score span{color:#f0aa1a;letter-spacing:.1em}.review-score p{max-width:180px;margin:.35rem 0 0;color:var(--muted);font-size:.75rem}.review-copy h2{margin-top:1rem}.review-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border-top:3px solid var(--ink)}.review-card{min-height:230px;padding:2rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.review-card:first-child{border-left:1px solid var(--line)}.review-card blockquote{margin:0 0 3rem;font-family:var(--display);font-size:2rem;line-height:1.15}.review-card span{color:var(--muted);font-size:.72rem}.review-note{grid-column:1/-1;margin:0;color:#7f8990;font-size:.68rem}.final-cta{display:flex;justify-content:space-between;align-items:end;gap:3rem;padding:6rem 3vw;background:linear-gradient(110deg,#08121b,#0b2941);color:#fff;border-top:6px solid var(--red)}.final-cta h2{max-width:820px;margin-top:1rem;color:#fff}.final-actions{display:flex;gap:.65rem;flex-shrink:0}footer{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:2rem;padding:2.5rem 3vw;background:#05090d;color:#8b979f}.footer-brand{display:flex;align-items:center;gap:1rem}.footer-brand img{width:88px;filter:brightness(0) invert(1)}.footer-brand p,.footer-links,.footer-brand+div+ p{font-size:.72rem}.footer-links{display:flex;gap:1.5rem;color:#fff;font-weight:600}.footer-brand+div+ p{text-align:right}.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.hero-copy.reveal{transform:translateY(calc(-55% + 18px))}.hero-copy.reveal.visible{transform:translateY(-55%)}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}
@media(max-width:980px){.site-header{grid-template-columns:auto auto 1fr}.nav-toggle{display:block;justify-self:end}.nav-links{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:flex-start;padding:1.4rem;background:#fff;border-top:1px solid var(--line);box-shadow:0 15px 30px rgba(0,0,0,.12)}.nav-links.open{display:flex}.header-phone{justify-self:end}.header-cta{display:none}.hero-copy{width:80vw}.booking{grid-template-columns:1fr;gap:3rem}.service-row{grid-template-columns:50px 1fr auto}.service-row p{grid-column:2}.service-row a{grid-column:3;grid-row:1/3}.work-heading{grid-template-columns:1fr;gap:1.5rem}.work-gallery{grid-template-columns:1fr}.reviews{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.review-card,.review-card:first-child{border-left:1px solid var(--line);border-right:1px solid var(--line)}.final-cta{display:block}.final-actions{margin-top:2rem}footer{grid-template-columns:1fr 1fr}.footer-brand+div+ p{grid-column:1/-1;text-align:left}}
@media(max-width:640px){.concept-bar span:first-child{display:none}.concept-bar{justify-content:center;font-size:.62rem}.site-header{height:72px;padding:0 1rem;gap:1rem}.brand img{width:100px}.header-phone{font-size:0}.header-phone:before{content:"Call";font-family:var(--display);font-size:1rem;font-weight:800}.header-phone small{display:none}.hero{height:630px;min-height:0}.hero-image{object-position:59% center}.hero-shade{background:linear-gradient(90deg,rgba(5,8,11,.92),rgba(5,8,11,.48)),linear-gradient(0deg,rgba(5,8,11,.88),transparent 52%)}.hero-copy{left:1rem;top:44%;width:calc(100% - 2rem)}h1{font-size:4rem}.hero-copy p{font-size:1rem}.hero-actions{display:grid}.button{width:100%}.hero-stats{left:1rem;width:calc(100% - 2rem)}.hero-stats div{padding:.85rem .65rem .85rem 0;min-height:82px}.hero-stats div+div{padding-left:.65rem}.hero-stats strong{font-size:1.5rem}.image-label{display:none}.need-strip{padding:1rem}.booking,.services,.work,.reviews,.final-cta{padding:5rem 1rem}.shop-facts{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.section-head{display:block}.section-head>p{margin-top:1.5rem}.service-row{grid-template-columns:40px 1fr;gap:1rem;padding:1.3rem 0}.service-row p,.service-row a{grid-column:2}.service-row a{grid-row:auto;width:max-content}.work-card{min-height:330px}.review-score>strong{font-size:5.5rem}.review-grid{grid-template-columns:1fr}.final-actions{display:grid}footer{grid-template-columns:1fr;padding:2.5rem 1rem}.footer-links{flex-wrap:wrap}.footer-brand+div+ p{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.hero-copy.reveal{opacity:1;transform:none;transition:none}.work-card img,.button{transition:none}}

.sound-toggle{position:absolute;right:1rem;top:1rem;z-index:3;padding:.5rem .85rem;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.55);font:700 .8rem/1 var(--display,inherit);letter-spacing:.04em;cursor:pointer}.sound-toggle:hover,.sound-toggle:focus-visible{background:#fff;color:var(--ink)}.sound-toggle:focus-visible{outline:3px solid var(--blue-bright);outline-offset:2px}@media(max-width:640px){.hero-shade{background:linear-gradient(90deg,rgba(5,8,11,.78),rgba(5,8,11,.3)),linear-gradient(0deg,rgba(5,8,11,.85),transparent 55%)}.hero-copy h1,.hero-copy p{text-shadow:0 2px 12px rgba(0,0,0,.6)}.sound-toggle{top:auto;bottom:100px;right:1rem;padding:.4rem .7rem;font-size:.72rem}}@media(prefers-reduced-motion:reduce){#hero-video{display:none}.hero{background:url(assets/hero-promo-poster.jpg) center/cover}}
