
:root{--bg:#070809;--panel:#0d0f11;--panel2:#14171a;--line:rgba(255,255,255,.11);--text:#f3f3f1;--muted:#9da1a5;--red:#e5392d;--red2:#ff5548;--metal:#c9c9c5;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}.wrap{width:min(var(--max),calc(100% - 44px));margin:auto}.narrow{max-width:850px}.hidden{position:absolute!important;left:-9999px!important}.skip-link{position:fixed;top:-80px;left:15px;z-index:200;background:#fff;color:#000;padding:12px 16px;font-weight:800}.skip-link:focus{top:15px}
h1,h2,h3{font-family:"Barlow Condensed",sans-serif;margin:0;text-transform:uppercase;line-height:.88;letter-spacing:-.025em}.kicker{display:block;color:var(--red2);font-size:11px;font-weight:800;letter-spacing:.18em;margin-bottom:15px}
.page-loader{position:fixed;inset:0;background:#050607;z-index:500;display:grid;place-items:center;transition:opacity .6s,visibility .6s}.page-loader.loaded{opacity:0;visibility:hidden}.loader-logo{font:900 88px/1 "Barlow Condensed";color:#fff;letter-spacing:-.08em}.page-loader span{position:absolute;bottom:22%;width:190px;height:2px;background:#222;overflow:hidden}.page-loader span:after{content:"";display:block;width:50%;height:100%;background:var(--red);animation:loader 1.2s ease-in-out infinite}.cursor-light{position:fixed;width:440px;height:440px;border-radius:50%;pointer-events:none;z-index:0;background:radial-gradient(circle,rgba(229,57,45,.1),transparent 68%);transform:translate(-50%,-50%)}
.site-header{position:fixed;top:0;left:0;width:100%;z-index:100;background:linear-gradient(to bottom,rgba(7,8,9,.92),rgba(7,8,9,.6));border-bottom:1px solid transparent;backdrop-filter:blur(16px);transition:.3s}.site-header.scrolled{background:rgba(7,8,9,.96);border-color:var(--line)}.nav{height:86px;display:flex;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:11px}.brand img{width:52px;height:52px;object-fit:contain}.brand span{display:flex;flex-direction:column}.brand strong{font:800 19px/1 "Barlow Condensed";letter-spacing:.06em}.brand small{font-size:8px;letter-spacing:.18em;color:#777;margin-top:5px}.nav-links{margin-left:auto;display:flex;gap:23px}.nav-links a{font-size:11px;font-weight:800;letter-spacing:.09em;color:#bbb}.nav-links a:hover,.nav-links a.active{color:#fff}.nav-links a.active:after{content:"";display:block;height:2px;background:var(--red);margin-top:6px}.nav-quote{min-height:43px;padding:0 17px;display:flex;align-items:center;gap:18px;border:1px solid rgba(229,57,45,.55);font:800 11px/1 Inter;letter-spacing:.08em}.nav-quote:hover{background:var(--red)}.menu-toggle{display:none;background:none;border:0;width:45px;height:45px}.menu-toggle i{display:block;width:25px;height:2px;background:#fff;margin:6px}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:57px;padding:0 25px;border:1px solid var(--line);font-size:11px;font-weight:800;letter-spacing:.1em;cursor:pointer;transition:.25s;text-transform:uppercase}.btn:hover{transform:translateY(-3px)}.btn-red{background:var(--red);border-color:var(--red);color:#fff;box-shadow:0 16px 45px rgba(229,57,45,.2)}.btn-red:hover{background:var(--red2);box-shadow:0 20px 60px rgba(229,57,45,.35)}.btn-line{background:rgba(7,8,9,.34);backdrop-filter:blur(12px)}
.hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:saturate(.7) contrast(1.08)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,8,9,.98) 0%,rgba(7,8,9,.85) 40%,rgba(7,8,9,.25) 75%,rgba(7,8,9,.45)),linear-gradient(to top,rgba(7,8,9,.85),transparent 55%)}.hero-gridlines{position:absolute;inset:0;opacity:.2;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:74px 74px;mask-image:linear-gradient(to bottom,black,transparent)}.hero-content{position:relative;z-index:2;padding-top:110px;display:flex;justify-content:space-between;align-items:flex-end}.hero-copy{max-width:900px}.status-pill{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);padding:9px 13px;background:rgba(7,8,9,.45);font-size:10px;font-weight:800;letter-spacing:.14em}.status-pill i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 15px var(--red)}.hero h1{font-size:clamp(84px,10vw,160px);margin:27px 0 24px}.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}.hero-copy>p{max-width:670px;color:#c2c3c3;font-size:17px;line-height:1.75}.hero-actions{display:flex;gap:12px;margin-top:35px}.hero-trust{display:flex;gap:30px;margin-top:45px;font-size:9px;font-weight:800;letter-spacing:.13em;color:#949494}.hero-trust span:before{content:"";display:inline-block;width:5px;height:5px;background:var(--red);margin-right:9px}.hero-rail{display:grid;gap:2px;margin-bottom:50px}.hero-rail div{width:125px;padding:14px;border-left:1px solid var(--line);background:rgba(7,8,9,.48);backdrop-filter:blur(12px)}.hero-rail b,.hero-rail span{display:block}.hero-rail b{color:var(--red);font-size:10px}.hero-rail span{font:800 13px "Barlow Condensed";letter-spacing:.1em;margin-top:4px}.scroll-cue{position:absolute;bottom:25px;left:50%;z-index:3;display:flex;align-items:center;gap:12px;font-size:8px;letter-spacing:.2em}.scroll-cue i{display:block;width:46px;height:1px;background:var(--red);animation:scrollline 2s ease-in-out infinite}
.section{position:relative;padding:125px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:50px}.section-head>div{max-width:900px}.section-head h2{font-size:clamp(62px,7vw,105px)}.section-head>p{max-width:430px;color:var(--muted);line-height:1.75}.services-intro{background:#090a0b}.service-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.service-card{min-height:410px;padding:25px;border:1px solid var(--line);background:linear-gradient(145deg,#111315,#0a0b0c);display:flex;flex-direction:column;transition:.3s;transform-style:preserve-3d}.service-card:hover{border-color:rgba(229,57,45,.6);box-shadow:0 25px 70px rgba(0,0,0,.38)}.service-card>b{color:var(--red);font-size:11px}.service-card h3{font-size:44px;margin-top:auto}.service-card p{color:var(--muted);line-height:1.65;font-size:13px}.service-card>span{font-size:9px;font-weight:800;letter-spacing:.12em;margin-top:15px}
.manifesto{background:#111315;padding:145px 0}.manifesto-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px;align-items:center}.manifesto-copy h2{font-size:clamp(76px,8vw,126px)}.manifesto-copy h2 em{font-style:normal;color:var(--red)}.manifesto-copy p{color:var(--muted);line-height:1.8;max-width:620px;font-size:16px}.text-link{display:inline-block;margin-top:17px;font-size:10px;font-weight:800;letter-spacing:.13em;border-bottom:1px solid var(--red);padding-bottom:6px}.manifesto-media{position:relative}.manifesto-media img{width:100%;height:680px;object-fit:cover;filter:grayscale(.2)}.media-label{position:absolute;left:-38px;bottom:40px;background:var(--red);padding:17px 23px;min-width:230px}.media-label span,.media-label b{display:block}.media-label span{font-size:8px;letter-spacing:.14em}.media-label b{font:800 23px "Barlow Condensed";margin-top:3px}
.featured-work{background:#08090a}.projects{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,330px);gap:14px}.project{position:relative;overflow:hidden;background:#111}.project-large{grid-row:1/3}.project img{width:100%;height:100%;object-fit:cover;transition:.7s}.project:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.88),transparent 60%)}.project:hover img{transform:scale(1.05)}.project>div{position:absolute;z-index:2;left:28px;right:28px;bottom:24px}.project span{font-size:9px;color:#ff847b;letter-spacing:.13em}.project h3{font-size:43px;margin-top:7px}.project p{color:#ccc;max-width:450px}
.process-preview{background:#111315}.process-line{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.process-line article{padding:30px 25px 20px 0;border-right:1px solid var(--line)}.process-line b{color:var(--red);font-size:11px}.process-line h3{font-size:32px;margin:55px 0 15px}.process-line p{color:var(--muted);font-size:13px;line-height:1.7;max-width:250px}
.quote-band{background:var(--red)}.quote-band-inner{display:flex;align-items:center;justify-content:space-between;gap:45px}.quote-band .kicker{color:#260300}.quote-band h2{font-size:clamp(60px,7vw,100px);max-width:920px}.quote-band p{color:#3c0803}.quote-band .btn-red{background:#070809;border-color:#070809}
.page-hero{padding:190px 0 100px;background:linear-gradient(145deg,#111315,#08090a)}.page-hero h1{font-size:clamp(78px,9vw,140px);max-width:1050px}.page-hero p{color:var(--muted);font-size:17px;line-height:1.75;max-width:720px}
.service-list{background:#090a0b}.service-list article{display:grid;grid-template-columns:90px 1fr .8fr;gap:42px;align-items:center;padding:42px 0;border-top:1px solid var(--line)}.service-list article:last-child{border-bottom:1px solid var(--line)}.service-number{color:var(--red);font:800 14px "Barlow Condensed"}.service-list article>div:nth-child(2)>span{font-size:9px;color:#888;letter-spacing:.14em}.service-list h2{font-size:60px;margin:8px 0}.service-list p{color:var(--muted);line-height:1.75}.service-list ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;padding:0;list-style:none;color:#c6c6c6;font-size:12px}.service-list li:before{content:"—";color:var(--red);margin-right:8px}.service-list img{width:100%;height:300px;object-fit:cover;filter:saturate(.75)}
.work-page{background:#08090a}.work-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:35px}.work-filter button{background:transparent;color:#aaa;border:1px solid var(--line);padding:11px 15px;font-size:9px;font-weight:800;letter-spacing:.1em;cursor:pointer}.work-filter button.active,.work-filter button:hover{background:var(--red);border-color:var(--red);color:#fff}.masonry{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:300px;gap:12px}.work-card{position:relative;overflow:hidden;border:0;padding:0;background:#111;text-align:left;cursor:pointer}.work-card.tall{grid-row:span 2}.work-card.wide{grid-column:span 2}.work-card img{width:100%;height:100%;object-fit:cover;transition:.6s}.work-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent 60%)}.work-card:hover img{transform:scale(1.06)}.work-card>div{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff}.work-card span{color:#ff8a80;font-size:8px;letter-spacing:.13em}.work-card h2{font-size:32px;margin-top:5px}
.process-page{background:#090a0b}.process-step{display:grid;grid-template-columns:90px 1fr .7fr;gap:35px;align-items:center;padding:55px 0;border-top:1px solid var(--line)}.process-step:last-child{border-bottom:1px solid var(--line)}.process-step>b{font:800 18px "Barlow Condensed";color:var(--red)}.process-step span{font-size:8px;color:#777;letter-spacing:.15em}.process-step h2{font-size:60px;margin:8px 0}.process-step p{color:var(--muted);line-height:1.7;max-width:600px}.process-visual{display:flex;gap:10px;justify-content:flex-end}.process-visual i{width:58px;height:58px;border:1px solid var(--line);transform:rotate(45deg)}.process-visual i:nth-child(2){background:var(--red);border-color:var(--red);opacity:.7}
.about-story{background:#090a0b}.about-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:80px;align-items:center}.about-media{position:relative}.about-media img{height:720px;width:100%;object-fit:cover}.about-stamp{position:absolute;right:-28px;bottom:35px;width:145px;height:145px;background:var(--red);display:grid;place-items:center;text-align:center;font:900 45px/.72 "Barlow Condensed";transform:rotate(-7deg)}.about-copy h2{font-size:75px;margin-bottom:25px}.about-copy p{color:var(--muted);line-height:1.8}.about-values{margin-top:30px;border-top:1px solid var(--line)}.about-values div{display:grid;grid-template-columns:45px 1fr;padding:15px 0;border-bottom:1px solid var(--line)}.about-values b{color:var(--red)}.manifesto.small{padding:100px 0}.manifesto.small .manifesto-copy h2{max-width:1000px}
.faq-page{background:#090a0b}.faq-grid{max-width:1000px}.faq-grid details{border-top:1px solid var(--line)}.faq-grid details:last-child{border-bottom:1px solid var(--line)}.faq-grid summary{list-style:none;cursor:pointer;font:800 35px "Barlow Condensed";padding:25px 45px 25px 0;position:relative}.faq-grid summary::-webkit-details-marker{display:none}.faq-grid summary:after{content:"+";position:absolute;right:8px;color:var(--red)}.faq-grid details[open] summary:after{content:"−"}.faq-grid p{color:var(--muted);line-height:1.75;max-width:780px;padding:0 30px 25px 0}
.contact-hero{min-height:100vh;padding:150px 0 80px;background:radial-gradient(circle at 10% 20%,rgba(229,57,45,.1),transparent 30%),#090a0b}.contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.contact-copy{position:sticky;top:145px}.contact-copy h1{font-size:clamp(75px,8vw,122px)}.contact-copy p{color:var(--muted);line-height:1.75}.contact-notes{display:grid;margin-top:35px;border-top:1px solid var(--line)}.contact-notes span{padding:13px 0;border-bottom:1px solid var(--line);font-size:9px;letter-spacing:.13em}.quote-form{padding:35px;border:1px solid var(--line);background:#0e1012}.form-progress{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:35px}.form-progress span{padding:10px 5px;border-bottom:2px solid #282b2e;font-size:8px;letter-spacing:.12em;color:#676b70}.form-progress span.active{border-color:var(--red);color:#fff}.form-step{display:none}.form-step.active{display:block;animation:fade .35s}.form-step h2{font-size:48px;margin-bottom:28px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fields label{display:grid;gap:8px}.fields label.full{grid-column:1/-1}.fields label>span{font-size:9px;font-weight:800;letter-spacing:.12em;color:#aaa}.fields input,.fields textarea,.fields select{width:100%;background:#08090a;color:#fff;border:1px solid var(--line);padding:15px;outline:none}.fields input:focus,.fields textarea:focus,.fields select:focus{border-color:var(--red)}.fields textarea{min-height:160px;resize:vertical}.step-actions{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.upload{min-height:260px;border:1px dashed rgba(255,255,255,.25);display:grid;place-items:center;text-align:center;padding:30px;cursor:pointer;background:#08090a}.upload input{position:absolute;opacity:0}.upload b,.upload span{display:block}.upload b{font:800 31px "Barlow Condensed"}.upload span{color:var(--muted);margin-top:8px}.consent{display:flex!important;grid-column:1/-1!important;grid-template-columns:auto 1fr!important;align-items:start}.consent input{width:18px;height:18px}.consent span{font-size:11px!important;letter-spacing:0!important;line-height:1.5}.legal{background:#090a0b}.legal h2{font-size:42px;margin:35px 0 8px}.legal p{color:var(--muted);line-height:1.8}
.build-hero{position:relative;height:88vh;display:flex;align-items:flex-end}.build-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.build-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(7,8,9,.96),transparent 75%)}.build-hero .wrap{position:relative;z-index:2;padding-bottom:70px}.build-hero h1{font-size:clamp(82px,10vw,150px);max-width:1000px}.build-hero a{font-size:9px;letter-spacing:.15em}.build-story{background:#090a0b}.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px}.build-grid h2{font-size:65px}.build-grid p{color:var(--muted);line-height:1.8}.build-gallery{background:#111315}.build-images{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.build-images button{border:0;padding:0;background:none;cursor:pointer}.build-images img{width:100%;height:480px;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.94);display:none;place-items:center;padding:35px}.lightbox.open{display:grid}.lightbox img{max-width:95vw;max-height:88vh}.lightbox button{position:absolute;right:20px;top:15px;background:none;border:0;color:#fff;font-size:45px;cursor:pointer}
.site-footer{padding:90px 0 30px;background:#050607;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:60px}.footer-brand p{color:var(--muted);line-height:1.7;max-width:430px}.footer-grid h3{font-size:23px;margin-bottom:18px}.footer-grid>div:not(:first-child){display:flex;flex-direction:column;gap:11px}.footer-grid a,.footer-grid span{font-size:12px;color:#999}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;margin-top:60px;font-size:9px;letter-spacing:.1em;color:#696969}.mobile-actions{display:none}.thanks{min-height:100vh;display:grid;place-items:center;text-align:center;padding:30px;background:radial-gradient(circle,rgba(229,57,45,.13),transparent 35%),#070809}.thanks>div{max-width:750px}.thanks img{width:115px;margin:0 auto 25px}.thanks h1{font-size:clamp(75px,10vw,140px)}.thanks p{color:var(--muted);line-height:1.75}.thanks .btn{margin-top:20px}
@keyframes loader{50%{transform:translateX(100%)}}@keyframes scrollline{50%{transform:scaleX(.4)}}@keyframes fade{from{opacity:0;transform:translateY(10px)}} 
@media(max-width:1050px){.nav-links{position:fixed;inset:86px 0 0;background:#08090a;display:none;flex-direction:column;align-items:center;justify-content:center;gap:25px}.nav-links.open{display:flex}.nav-links a{font:800 34px "Barlow Condensed"}.nav-quote{display:none}.menu-toggle{display:block;margin-left:auto}.hero-rail{display:none}.service-cards{grid-template-columns:1fr 1fr}.manifesto-grid,.about-grid,.contact-grid{grid-template-columns:1fr}.contact-copy{position:static}.projects{grid-template-columns:1fr;grid-template-rows:auto}.project-large{grid-row:auto}.project{height:470px}.process-line{grid-template-columns:1fr 1fr}.service-list article,.process-step{grid-template-columns:60px 1fr}.service-list img,.process-visual{grid-column:2}.masonry{grid-template-columns:1fr 1fr}.build-images{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.wrap{width:min(100% - 24px,var(--max))}.cursor-light{display:none}.page-loader{display:none}.nav{height:70px}.brand img{width:42px;height:42px}.brand strong{font-size:17px}.site-header{background:rgba(7,8,9,.94)}.nav-links{inset:70px 0 0}.hero{min-height:820px}.hero-content{padding-top:95px}.hero h1{font-size:64px}.hero-copy>p{font-size:15px}.hero-actions{display:grid}.hero-actions .btn{width:100%}.hero-trust{display:grid;gap:9px}.scroll-cue{display:none}.section{padding:78px 0}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:53px}.section-head>p{margin-top:18px}.service-cards{grid-template-columns:1fr}.service-card{min-height:280px}.service-card h3{font-size:40px;margin-top:55px}.manifesto{padding:80px 0}.manifesto-grid{gap:40px}.manifesto-copy h2{font-size:63px}.manifesto-media img{height:470px}.media-label{left:10px;bottom:10px}.project{height:390px}.project h3{font-size:34px}.process-line{grid-template-columns:1fr}.process-line article{border-right:0;border-bottom:1px solid var(--line)}.process-line h3{margin-top:25px}.quote-band-inner{display:block}.quote-band h2{font-size:58px}.quote-band .btn{margin-top:25px}.page-hero{padding:125px 0 65px}.page-hero h1{font-size:63px}.service-list article,.process-step{grid-template-columns:38px 1fr;gap:18px}.service-list h2,.process-step h2{font-size:43px}.service-list img{height:260px}.service-list ul{grid-template-columns:1fr}.masonry{grid-template-columns:1fr;grid-auto-rows:330px}.work-card.tall,.work-card.wide{grid-row:auto;grid-column:auto}.about-media img{height:520px}.about-stamp{right:8px;width:110px;height:110px;font-size:36px}.about-copy h2{font-size:52px}.faq-grid summary{font-size:27px}.contact-hero{padding:110px 0 80px}.contact-grid{gap:38px}.contact-copy h1{font-size:64px}.quote-form{padding:20px 14px}.form-progress span{font-size:6px}.form-step h2{font-size:38px}.fields{grid-template-columns:1fr}.fields label.full{grid-column:auto}.step-actions{display:grid}.step-actions .btn{width:100%}.build-hero{height:72vh}.build-hero h1{font-size:64px}.build-grid{grid-template-columns:1fr;gap:40px}.build-grid h2{font-size:48px}.build-images{grid-template-columns:1fr}.build-images img{height:420px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block;line-height:2}.mobile-actions{position:fixed;z-index:120;left:7px;right:7px;bottom:7px;height:58px;display:grid;grid-template-columns:1fr 1.35fr;background:#0a0b0c;border:1px solid var(--line);padding:5px}.mobile-actions a{display:grid;place-items:center;font-size:10px;font-weight:800;letter-spacing:.1em}.mobile-actions .primary{background:var(--red)}body{padding-bottom:72px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.page-loader{display:none}}


/* FINAL BUSINESS INFORMATION */
.nav-phone{
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  color:#e5e5e1;
  white-space:nowrap;
}
.nav-phone:hover{color:var(--red2)}

.mobile-service-section{
  background:
    radial-gradient(circle at 85% 15%,rgba(229,57,45,.14),transparent 30%),
    #0d0f11;
}
.mobile-service-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:75px;
  align-items:center;
}
.mobile-service-grid h2{
  font-size:clamp(70px,8vw,120px);
}
.mobile-service-grid p{
  max-width:700px;
  color:var(--muted);
  line-height:1.8;
}
.mobile-service-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.mobile-service-panel{
  position:relative;
  min-height:410px;
  padding:42px;
  overflow:hidden;
  border:1px solid rgba(229,57,45,.34);
  background:linear-gradient(145deg,#17191c,#090a0b);
}
.mobile-service-panel:before,
.mobile-service-panel:after{
  content:"";
  position:absolute;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.1);
  animation:spin 18s linear infinite;
}
.mobile-service-panel:before{width:320px;height:320px;right:-90px;top:-95px;border-top-color:var(--red)}
.mobile-service-panel:after{width:190px;height:190px;right:-25px;top:-30px;border-left-color:#fff;animation-direction:reverse}
.mobile-service-panel span,
.mobile-service-panel strong,
.mobile-service-panel small{
  position:relative;
  z-index:2;
  display:block;
}
.mobile-service-panel span{
  color:var(--red2);
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
}
.mobile-service-panel strong{
  margin-top:55px;
  font:900 clamp(64px,7vw,105px)/.82 "Barlow Condensed";
}
.mobile-service-panel small{
  margin-top:13px;
  color:#bcbfbe;
  letter-spacing:.17em;
}
.mobile-service-panel>i{
  display:block;
  width:90px;
  height:4px;
  margin:35px 0;
  background:var(--red);
}
.mobile-service-panel p{
  position:relative;
  z-index:2;
  max-width:360px;
}

.certifications-preview{
  background:#08090a;
}
.certifications-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:75px;
  align-items:center;
}
.certifications-grid h2{
  font-size:clamp(66px,7vw,105px);
}
.certifications-grid p{
  color:var(--muted);
  line-height:1.8;
  max-width:700px;
}
.cert-card{
  min-height:330px;
  padding:35px;
  border:1px solid var(--line);
  background:linear-gradient(145deg,#111315,#08090a);
  position:relative;
  overflow:hidden;
}
.cert-card b,
.cert-card span{
  display:block;
  position:relative;
  z-index:2;
}
.cert-card b{
  color:var(--red);
  font-size:10px;
  letter-spacing:.15em;
}
.cert-card span{
  margin-top:80px;
  font:900 62px/.88 "Barlow Condensed";
}
.cert-card i{
  position:absolute;
  width:100px;
  height:100px;
  right:30px;
  bottom:30px;
  border:1px solid rgba(255,255,255,.12);
  transform:rotate(45deg);
}
.cert-card i:nth-of-type(2){right:78px;bottom:78px;border-color:rgba(229,57,45,.4)}
.cert-card i:nth-of-type(3){right:126px;bottom:126px}

.direct-business-contact{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9px;
  margin-top:25px;
}
.direct-business-contact a,
.direct-business-contact>div{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:86px;
  padding:16px;
  border:1px solid var(--line);
  background:#0d0f11;
}
.direct-business-contact span{
  color:#85898c;
  font-size:8px;
  letter-spacing:.14em;
}
.direct-business-contact b{
  overflow-wrap:anywhere;
  font:800 18px/1.15 "Barlow Condensed";
}
.direct-business-contact a:hover{
  border-color:var(--red);
  background:#141112;
}

.legal a{
  color:#ff766d;
  text-decoration:underline;
}

@media(max-width:1120px){
  .nav-phone{display:none}
  .mobile-service-grid,
  .certifications-grid{grid-template-columns:1fr}
}

@media(max-width:700px){
  .mobile-service-grid,
  .certifications-grid{
    gap:35px;
  }
  .mobile-service-grid h2,
  .certifications-grid h2{
    font-size:57px;
  }
  .mobile-service-actions{
    display:grid;
  }
  .mobile-service-actions .btn{
    width:100%;
  }
  .mobile-service-panel{
    min-height:330px;
    padding:28px 22px;
  }
  .mobile-service-panel strong{
    font-size:68px;
  }
  .cert-card{
    min-height:270px;
    padding:25px;
  }
  .cert-card span{
    margin-top:60px;
    font-size:52px;
  }
  .direct-business-contact{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   FINAL PUBLISH POLISH
   ========================================================= */

.smart-crop{
  object-fit:cover!important;
  object-repeat:no-repeat;
}

/* Keep repair subject visible without awkward zooming */
.hero-bg img{
  object-position:48% 42%!important;
}
.manifesto-media img{
  object-position:52% 48%!important;
}
.project img,
.work-card img,
.service-list img,
.about-media img,
.build-hero>img,
.build-images img{
  object-fit:cover;
}

/* Repair-specific project gallery captions */
.build-images button{
  position:relative;
  overflow:hidden;
}
.build-images button:after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(to top,rgba(0,0,0,.86),transparent);
  pointer-events:none;
}
.photo-caption{
  position:absolute;
  z-index:2;
  left:17px;
  right:17px;
  bottom:15px;
  color:#fff;
  text-align:left;
  font:800 17px/1.05 "Barlow Condensed";
  text-transform:uppercase;
  letter-spacing:.035em;
}

/* Cleaner photo hover without cutting off the subject */
.project img,
.work-card img,
.build-images img{
  transition:transform .55s ease,filter .55s ease;
}
.project:hover img,
.work-card:hover img,
.build-images button:hover img{
  transform:scale(1.025);
  filter:contrast(1.03) saturate(1.04);
}

/* Make cards consistent and prevent stretched imagery */
.service-list img{
  aspect-ratio:4/3;
  height:auto!important;
  min-height:280px;
}
.work-card img{
  min-height:100%;
}
.build-images img{
  aspect-ratio:4/5;
  height:auto!important;
  min-height:440px;
}

/* Hero tagline styling */
.hero h1 span{
  color:var(--red)!important;
  -webkit-text-stroke:0!important;
  text-shadow:0 18px 70px rgba(229,57,45,.18);
}

/* Better visual flow and legibility */
.project>div,
.work-card>div{
  text-shadow:0 3px 18px rgba(0,0,0,.65);
}
.service-card p,
.project p,
.build-grid p{
  max-width:62ch;
}

/* Prevent logos from getting cropped */
.brand img,
.thanks img{
  object-fit:contain!important;
  object-position:center!important;
}

/* Mobile focal-point and aspect-ratio adjustments */
@media(max-width:700px){
  .hero-bg img{
    object-position:58% 45%!important;
  }
  .manifesto-media img{
    object-position:50% 48%!important;
  }
  .project img{
    object-position:center!important;
  }
  .service-list img{
    aspect-ratio:16/11;
    min-height:240px;
  }
  .build-images img{
    aspect-ratio:4/5;
    min-height:390px;
  }
  .photo-caption{
    font-size:15px;
    bottom:12px;
    left:13px;
  }
}

/* Small phone handling */
@media(max-width:390px){
  .hero h1{
    font-size:58px;
  }
  .project{
    height:360px;
  }
  .build-images img{
    min-height:350px;
  }
}


/* =========================================================
   MOBILE MENU BUTTON FIX
   ========================================================= */

.menu-toggle{
  position:relative;
  display:none;
  flex:0 0 46px;
  width:46px;
  height:46px;
  margin-left:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(14,16,18,.92);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  overflow:hidden;
  z-index:130;
}
.menu-toggle .menu-line{
  position:absolute;
  left:50%;
  width:22px;
  height:2px;
  margin:0;
  background:#fff;
  border-radius:999px;
  transform:translateX(-50%);
  transition:top .25s ease,transform .25s ease,opacity .2s ease;
}
.menu-toggle .menu-line:first-child{top:17px}
.menu-toggle .menu-line:last-child{top:27px}

.menu-toggle.open .menu-line:first-child{
  top:22px;
  transform:translateX(-50%) rotate(45deg);
}
.menu-toggle.open .menu-line:last-child{
  top:22px;
  transform:translateX(-50%) rotate(-45deg);
}
.menu-toggle:hover{
  border-color:rgba(229,57,45,.65);
}
.menu-toggle:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}

/* Prevent old line styles from affecting the new button */
.menu-toggle i{
  display:none!important;
}

/* Mobile menu panel */
@media(max-width:1050px){
  .menu-toggle{
    display:block;
  }
  .nav-links{
    position:fixed;
    top:86px;
    right:0;
    bottom:0;
    left:0;
    z-index:120;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:22px;
    margin:0;
    padding:32px 24px calc(32px + env(safe-area-inset-bottom));
    background:rgba(7,8,9,.985);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-12px);
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
    overflow-y:auto;
  }
  .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translateY(0);
  }
  .nav-links a{
    font:800 36px/1 "Barlow Condensed";
    letter-spacing:.025em;
  }
}

@media(max-width:700px){
  .menu-toggle{
    width:44px;
    height:44px;
    flex-basis:44px;
    border-radius:9px;
  }
  .menu-toggle .menu-line:first-child{top:16px}
  .menu-toggle .menu-line:last-child{top:26px}
  .menu-toggle.open .menu-line:first-child,
  .menu-toggle.open .menu-line:last-child{top:21px}

  .nav-links{
    top:70px;
    min-height:calc(100dvh - 70px);
  }

  .about-selected-photo{
    object-position:52% 46%!important;
  }
}


/* =========================================================
   MOBILE PAGE TRANSITION + SHOP LOCATION UPDATE
   ========================================================= */

@media(max-width:700px){
  .page-loader{
    display:grid!important;
  }
  .page-loader.mobile-transition{
    opacity:1!important;
    visibility:visible!important;
  }
  .page-loader .loader-logo{
    font-size:72px;
  }
  .page-loader span{
    bottom:25%;
    width:145px;
  }
}

.address-link,
.direct-business-contact b{
  overflow-wrap:anywhere;
}


/* =========================================================
   V4 — SERVICE AREA, STATS, STICKY ACTIONS, MOTION, CREDIT
   ========================================================= */

.urgent-banner{
  position:fixed;
  top:86px;
  left:0;
  right:0;
  z-index:90;
  background:var(--red);
  color:#fff;
  box-shadow:0 10px 35px rgba(0,0,0,.28);
}
.urgent-banner-inner{
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:10px;
  letter-spacing:.045em;
}
.urgent-banner-inner>div{
  display:flex;
  gap:18px;
}
.urgent-banner a{
  font-weight:900;
  border-bottom:1px solid rgba(255,255,255,.7);
}
.page-hero,
.contact-hero{
  padding-top:232px;
}
.hero{
  padding-top:42px;
}

.stats-section{
  position:relative;
  z-index:2;
  background:#070809;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.stats-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.stats-grid article{
  min-height:210px;
  padding:35px 26px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-right:1px solid var(--line);
  background:linear-gradient(145deg,rgba(255,255,255,.02),transparent);
}
.stats-grid article:first-child{
  border-left:1px solid var(--line);
}
.stats-grid strong{
  font:900 clamp(68px,7vw,104px)/.8 "Barlow Condensed";
  color:var(--red);
}
.stats-grid span{
  margin-top:22px;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
.stats-grid small{
  margin-top:7px;
  color:var(--muted);
}

.service-area-section{
  overflow:hidden;
  background:
    radial-gradient(circle at 15% 25%,rgba(229,57,45,.09),transparent 30%),
    #0b0c0e;
}
.service-area-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:70px;
}
.service-area-copy h2{
  font-size:clamp(66px,7vw,108px);
}
.service-area-copy p{
  max-width:680px;
  color:var(--muted);
  line-height:1.8;
}
.city-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:28px 0;
}
.city-list span{
  padding:10px 13px;
  border:1px solid var(--line);
  background:#101214;
  font-size:9px;
  font-weight:800;
  letter-spacing:.09em;
}
.service-area-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}
.map-frame{
  position:relative;
  min-height:580px;
  overflow:hidden;
  border:1px solid rgba(229,57,45,.35);
  background:#111;
}
.map-frame iframe{
  width:100%;
  height:580px;
  border:0;
  filter:grayscale(.82) contrast(1.08) brightness(.72);
}
.map-label{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  padding:17px 19px;
  background:rgba(7,8,9,.92);
  border:1px solid var(--line);
  backdrop-filter:blur(12px);
}
.map-label b,
.map-label span{
  display:block;
}
.map-label b{
  font:900 24px/1 "Barlow Condensed";
}
.map-label span{
  margin-top:5px;
  color:#a8abad;
  font-size:11px;
}

.digital-forge-credit{
  width:max-content;
  max-width:100%;
  margin:55px auto 0;
  padding:9px 13px;
  display:flex;
  align-items:center;
  gap:9px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:999px;
  color:#888;
  font-size:9px;
  letter-spacing:.06em;
  transition:.25s;
}
.digital-forge-credit:hover{
  color:#fff;
  border-color:rgba(119,56,255,.55);
  transform:translateY(-2px);
}
.digital-forge-credit img{
  width:26px;
  height:26px;
  object-fit:contain!important;
  border-radius:50%;
}
.digital-forge-credit strong{
  color:#b692ff;
}

.mobile-actions{
  grid-template-columns:.72fr .72fr 1.35fr!important;
}

/* Extra premium motion */
.service-card,
.project,
.work-card,
.process-step,
.stats-grid article,
.city-list span,
.cert-card,
.mobile-service-panel{
  will-change:transform;
}
.stats-grid article:hover{
  background:linear-gradient(145deg,rgba(229,57,45,.075),transparent);
}
.city-list span:hover{
  border-color:rgba(229,57,45,.55);
  transform:translateY(-2px);
}
.map-frame{
  animation:mapFloat 7s ease-in-out infinite;
}
.urgent-banner{
  animation:bannerIn .5s ease both;
}
.project:before,
.work-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.12),transparent 65%);
  transform:translateX(-120%);
  transition:transform .8s ease;
}
.project:hover:before,
.work-card:hover:before{
  transform:translateX(120%);
}

@keyframes mapFloat{
  50%{transform:translateY(-6px)}
}
@keyframes bannerIn{
  from{transform:translateY(-100%);opacity:0}
}
@keyframes countPop{
  0%{transform:translateY(12px);opacity:0}
  100%{transform:none;opacity:1}
}
.stats-grid strong.counted{
  animation:countPop .45s ease both;
}

@media(max-width:1050px){
  .service-area-grid{
    grid-template-columns:1fr;
  }
  .stats-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:700px){
  .urgent-banner{
    top:70px;
  }
  .urgent-banner-inner{
    min-height:48px;
    font-size:8px;
  }
  .urgent-banner-inner span{
    max-width:62%;
    line-height:1.3;
  }
  .urgent-banner-inner>div{
    gap:10px;
  }
  .urgent-banner-inner>div a:first-child{
    display:none;
  }
  .hero{
    padding-top:48px;
  }
  .page-hero,
  .contact-hero{
    padding-top:180px;
  }
  .stats-grid{
    grid-template-columns:1fr 1fr;
  }
  .stats-grid article{
    min-height:170px;
    padding:25px 17px;
    border-bottom:1px solid var(--line);
  }
  .stats-grid strong{
    font-size:62px;
  }
  .stats-grid span{
    font-size:8px;
  }
  .service-area-grid{
    gap:38px;
  }
  .service-area-copy h2{
    font-size:55px;
  }
  .service-area-actions{
    display:grid;
  }
  .service-area-actions .btn{
    width:100%;
  }
  .map-frame,
  .map-frame iframe{
    min-height:430px;
    height:430px;
  }
  .map-frame{
    animation:none;
  }
  .digital-forge-credit{
    margin-top:38px;
  }
}

@media(max-width:390px){
  .stats-grid{
    grid-template-columns:1fr;
  }
  .stats-grid article{
    border-left:1px solid var(--line);
  }
}

.motion-ready{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .65s ease,transform .65s ease;
}
.motion-ready.motion-in{
  opacity:1;
  transform:none;
}
@media(prefers-reduced-motion:reduce){
  .motion-ready{opacity:1!important;transform:none!important}
}


/* =========================================================
   V4 FINAL POLISH
   Keeps the original V4 visual style intact.
   ========================================================= */

/* Mobile menu button */
.menu-toggle{
  position:relative;
  display:none;
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-left:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:rgba(13,15,17,.94);
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  z-index:140;
}
.menu-toggle .menu-line{
  position:absolute;
  left:50%;
  width:22px;
  height:2px;
  margin:0;
  border-radius:999px;
  background:#fff;
  transform:translateX(-50%);
  transition:top .24s ease,transform .24s ease;
}
.menu-toggle .menu-line:first-child{top:16px}
.menu-toggle .menu-line:last-child{top:26px}
.menu-toggle.open .menu-line:first-child{
  top:21px;
  transform:translateX(-50%) rotate(45deg);
}
.menu-toggle.open .menu-line:last-child{
  top:21px;
  transform:translateX(-50%) rotate(-45deg);
}
.menu-toggle i{display:none!important}
.menu-toggle:focus-visible{
  outline:2px solid var(--red);
  outline-offset:3px;
}

@media(max-width:1050px){
  .menu-toggle{display:block}

  .nav-links{
    position:fixed;
    top:86px;
    left:0;
    right:0;
    bottom:0;
    z-index:125;
    margin:0;
    padding:34px 24px calc(34px + env(safe-area-inset-bottom));
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:23px;
    background:rgba(7,8,9,.985);
    backdrop-filter:blur(18px);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-10px);
    transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
    overflow-y:auto;
  }
  .nav-links.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .nav-links a{
    font:800 36px/1 "Barlow Condensed";
    letter-spacing:.02em;
  }
}

/* Slightly lower the mobile hero content */
@media(max-width:700px){
  .nav-links{top:70px}
  .hero-content{
    padding-top:118px!important;
  }
  .hero-copy{
    transform:translateY(18px);
  }
  .hero-actions{
    margin-top:30px;
  }
}

/* Tighter mobile spacing without redesigning V4 */
@media(max-width:700px){
  .section{padding-top:74px!important;padding-bottom:74px!important}
  .section-head{margin-bottom:28px!important}
  .service-card{padding:22px!important}
  .project>div,.work-card>div{left:18px!important;right:18px!important;bottom:16px!important}
  .quote-form{padding:20px 15px!important}
}

/* Subtle page change */
body{
  transition:opacity .18s ease;
}
body.page-leaving{
  opacity:.84;
}

/* Improve readability */
.hero-copy>p,
.page-hero p,
.service-list p,
.about-copy p,
.faq-grid p,
.build-grid p{
  line-height:1.75;
}


/* =========================================================
   TARGETED FINAL FIX: MOBILE MENU + EMERGENCY BANNER ONLY
   ========================================================= */

body.menu-open{
  overflow:hidden!important;
}

/* Header is always the top layer. */
.site-header{
  z-index:5002!important;
}

/* Emergency banner sits directly below header, never behind logo. */
.urgent-banner{
  top:86px!important;
  z-index:5000!important;
}

.menu-toggle{
  position:relative!important;
  z-index:5004!important;
  display:none;
  width:44px!important;
  height:44px!important;
  flex:0 0 44px!important;
  margin-left:auto!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:9px!important;
  background:#0d0f11!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.menu-toggle .menu-line{
  position:absolute!important;
  left:50%!important;
  width:22px!important;
  height:2px!important;
  margin:0!important;
  border-radius:999px!important;
  background:#fff!important;
  transform:translateX(-50%)!important;
  transition:top .22s ease,transform .22s ease!important;
}

.menu-toggle .menu-line:first-child{top:15px!important}
.menu-toggle .menu-line:last-child{top:26px!important}

.menu-toggle.open .menu-line:first-child{
  top:21px!important;
  transform:translateX(-50%) rotate(45deg)!important;
}

.menu-toggle.open .menu-line:last-child{
  top:21px!important;
  transform:translateX(-50%) rotate(-45deg)!important;
}

.menu-toggle i{display:none!important}

/* Separate overlay outside the header avoids Safari stacking bugs. */
.mobile-overlay-nav{
  display:none;
}

@media(max-width:1050px){
  .menu-toggle{
    display:block!important;
  }

  /* Hide original desktop nav only on mobile/tablet. */
  .site-header .nav-links{
    display:none!important;
  }

  .mobile-overlay-nav{
    position:fixed!important;
    inset:0!important;
    z-index:5001!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    padding:
      calc(104px + env(safe-area-inset-top))
      24px
      calc(34px + env(safe-area-inset-bottom))!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:22px!important;
    overflow-y:auto!important;
    background:#070809!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(-8px)!important;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease!important;
  }

  .mobile-overlay-nav.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }

  .mobile-overlay-nav a{
    display:block!important;
    color:#f4f4f2!important;
    font:800 clamp(34px,6.4vh,49px)/.95 "Barlow Condensed",sans-serif!important;
    text-align:center!important;
    letter-spacing:.015em!important;
    padding:2px 16px!important;
  }

  .mobile-overlay-nav a.active{
    color:var(--red2)!important;
  }

  .mobile-overlay-nav a.active:after{
    content:"";
    display:block;
    width:38px;
    height:3px;
    margin:8px auto 0;
    background:var(--red);
  }
}

@media(max-width:700px){
  .urgent-banner{
    top:70px!important;
  }

  .mobile-overlay-nav{
    padding:
      calc(90px + env(safe-area-inset-top))
      20px
      calc(24px + env(safe-area-inset-bottom))!important;
    gap:18px!important;
  }

  .mobile-overlay-nav a{
    font-size:37px!important;
  }

  /* Account for both fixed header and fixed emergency banner. */
  .hero{
    padding-top:48px!important;
  }

  .page-hero,
  .contact-hero{
    padding-top:180px!important;
  }
}


/* =========================================================
   SIMPLE RELIABLE MOBILE MENU
   ========================================================= */

/* Emergency banner removed. Reset spacing. */
.urgent-banner{
  display:none!important;
}

.hero{
  padding-top:0!important;
}

.page-hero,
.contact-hero{
  padding-top:145px!important;
}

.menu-toggle{
  display:none;
}

@media(max-width:1050px){
  .menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:72px!important;
    height:40px!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    padding:0 14px!important;
    border:1px solid rgba(255,255,255,.22)!important;
    border-radius:7px!important;
    background:#111315!important;
    color:#fff!important;
    position:relative!important;
    z-index:5004!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    cursor:pointer!important;
  }

  .menu-label{
    display:block!important;
    color:#fff!important;
    font:800 11px/1 Inter,sans-serif!important;
    letter-spacing:.13em!important;
  }

  .menu-toggle.open{
    background:var(--red)!important;
    border-color:var(--red)!important;
  }

  .site-header .nav-links{
    display:none!important;
  }
}

@media(max-width:700px){
  .menu-toggle{
    min-width:68px!important;
    height:38px!important;
    padding:0 12px!important;
  }

  .page-hero,
  .contact-hero{
    padding-top:122px!important;
  }

  .hero-content{
    padding-top:96px!important;
  }
}


/* =========================================================
   FINAL MOBILE MENU VISUAL ADJUSTMENTS
   ========================================================= */

@media(max-width:1050px){
  /* Move the button slightly left and make it solid white/thicker */
  .menu-toggle{
    margin-left:auto!important;
    margin-right:10px!important;
    min-width:76px!important;
    height:42px!important;
    padding:0 15px!important;
    background:#ffffff!important;
    border:2px solid #ffffff!important;
    border-radius:7px!important;
    box-shadow:0 5px 18px rgba(0,0,0,.3)!important;
  }

  .menu-label{
    color:#070809!important;
    font:900 12px/1 Inter,sans-serif!important;
    letter-spacing:.12em!important;
  }

  .menu-toggle.open{
    background:#ffffff!important;
    border-color:#ffffff!important;
  }

  /* Fully opaque menu background so the page cannot show through */
  .mobile-overlay-nav{
    background:#050607!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    opacity:0!important;
    justify-content:center!important;
    padding-top:165px!important;
    padding-bottom:50px!important;
  }

  .mobile-overlay-nav.open{
    opacity:1!important;
  }

  /* Lower, centered, bigger navigation lettering */
  .mobile-overlay-nav a{
    width:100%!important;
    max-width:420px!important;
    padding:5px 12px!important;
    color:#ffffff!important;
    opacity:1!important;
    font:900 clamp(44px,7.2vh,58px)/.92 "Barlow Condensed",sans-serif!important;
    letter-spacing:.015em!important;
    text-align:center!important;
    text-shadow:none!important;
  }

  .mobile-overlay-nav a.active{
    color:var(--red2)!important;
  }
}

@media(max-width:700px){
  .menu-toggle{
    margin-right:8px!important;
    min-width:74px!important;
    height:40px!important;
  }

  .mobile-overlay-nav{
    justify-content:center!important;
    padding-top:150px!important;
    padding-bottom:35px!important;
    gap:20px!important;
  }

  .mobile-overlay-nav a{
    font-size:46px!important;
    line-height:.94!important;
  }
}

@media(max-width:390px){
  .mobile-overlay-nav{
    padding-top:138px!important;
    gap:17px!important;
  }

  .mobile-overlay-nav a{
    font-size:42px!important;
  }
}


/* =========================================================
   HARD MOBILE MENU FIX — NO LINKS VISIBLE UNTIL OPEN
   ========================================================= */

@media(max-width:1050px){

  .menu-toggle{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:76px!important;
    height:42px!important;
    flex:0 0 auto!important;
    margin-left:auto!important;
    margin-right:10px!important;
    padding:0 15px!important;
    border:2px solid #fff!important;
    border-radius:7px!important;
    background:#fff!important;
    color:#070809!important;
    -webkit-text-fill-color:#070809!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    box-shadow:0 5px 18px rgba(0,0,0,.3)!important;
    position:relative!important;
    z-index:10003!important;
  }

  .menu-label{
    display:block!important;
    color:#070809!important;
    -webkit-text-fill-color:#070809!important;
    font:900 12px/1 Inter,sans-serif!important;
    letter-spacing:.12em!important;
    opacity:1!important;
  }

  .menu-toggle.open{
    background:#fff!important;
    border-color:#fff!important;
    color:#070809!important;
  }

  .site-header .nav-links{
    display:none!important;
  }

  .mobile-overlay-nav{
    display:none!important;
    position:fixed!important;
    inset:0!important;
    z-index:10000!important;
    width:100vw!important;
    height:100dvh!important;
    min-height:100vh!important;
    padding:
      calc(150px + env(safe-area-inset-top))
      20px
      calc(40px + env(safe-area-inset-bottom))!important;
    margin:0!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:20px!important;
    overflow-y:auto!important;
    background:#050607!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  .mobile-overlay-nav.open{
    display:flex!important;
  }

  .mobile-overlay-nav a{
    display:block!important;
    width:100%!important;
    max-width:430px!important;
    margin:0!important;
    padding:4px 12px!important;
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    opacity:1!important;
    visibility:visible!important;
    font:900 clamp(44px,7vh,58px)/.92 "Barlow Condensed",sans-serif!important;
    letter-spacing:.01em!important;
    text-align:center!important;
    text-transform:none!important;
    text-shadow:none!important;
  }

  .mobile-overlay-nav a.active{
    color:var(--red2)!important;
    -webkit-text-fill-color:var(--red2)!important;
  }
}

@media(max-width:700px){
  .menu-toggle{
    min-width:74px!important;
    height:40px!important;
    margin-right:8px!important;
  }

  .mobile-overlay-nav{
    padding-top:142px!important;
    padding-bottom:34px!important;
    gap:18px!important;
  }

  .mobile-overlay-nav a{
    font-size:45px!important;
    line-height:.94!important;
  }
}

@media(max-width:390px){
  .mobile-overlay-nav{
    padding-top:132px!important;
    gap:16px!important;
  }

  .mobile-overlay-nav a{
    font-size:41px!important;
  }
}


/* =========================================================
   FINAL REVIEWS PAGE
   ========================================================= */

.reviews-hero-actions,
.review-actions,
.reviews-preview-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.reviews-page{
  background:#090a0b;
}

.reviews-layout{
  display:grid;
  grid-template-columns:1fr .9fr;
  gap:70px;
  align-items:center;
}

.reviews-copy h2,
.google-review-panel h2{
  font-size:clamp(62px,7vw,102px);
}

.reviews-copy p,
.google-review-panel p,
.reviews-preview p{
  color:var(--muted);
  line-height:1.8;
  max-width:680px;
}

.google-review-panel{
  position:relative;
  min-height:460px;
  padding:42px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 85% 15%,rgba(66,133,244,.14),transparent 28%),
    linear-gradient(145deg,#151719,#090a0b);
}

.google-mark{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  margin-bottom:45px;
  border-radius:50%;
  background:#fff;
  color:#4285f4;
  font:900 36px/1 Inter,sans-serif;
}

.google-review-panel>span{
  color:#9fa3a7;
  font-size:10px;
  font-weight:800;
  letter-spacing:.15em;
}

.reviews-preview{
  background:#111315;
}

.reviews-preview-grid{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:55px;
}

.reviews-preview h2{
  font-size:clamp(58px,7vw,98px);
  max-width:900px;
}

@media(max-width:900px){
  .reviews-layout{
    grid-template-columns:1fr;
  }

  .reviews-preview-grid{
    display:block;
  }

  .reviews-preview-actions{
    margin-top:25px;
  }
}

@media(max-width:700px){
  .reviews-hero-actions,
  .review-actions,
  .reviews-preview-actions{
    display:grid;
  }

  .reviews-hero-actions .btn,
  .review-actions .btn,
  .reviews-preview-actions .btn{
    width:100%;
  }

  .google-review-panel{
    min-height:390px;
    padding:28px 22px;
  }

  .reviews-copy h2,
  .google-review-panel h2{
    font-size:54px;
  }
}
