:root{--navy:#0b2546;--navy2:#071a31;--navy-soft:#163c65;--orange:#ff7716;--orange2:#fa5b0b;--cream:#fff9f2;--paper:#fff;--cloud:#f5f7fb;--text:#152b48;--muted:#64748a;--border:#e3eaf0;--shadow:0 12px 34px rgba(17,45,73,.09);--radius:23px;--max:1190px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;background:#fff;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.042em;line-height:1.13}h1{font-size:clamp(42px,5.3vw,77px);font-weight:850}h2{font-size:clamp(30px,3.35vw,45px);font-weight:820}h3{font-size:22px}p{color:var(--muted)}:focus-visible{outline:3px solid #fc982e;outline-offset:4px}.container{width:min(var(--max),calc(100% - 70px));margin-inline:auto}.section{padding:90px 0}.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{height:24px;width:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;top:-120px;left:12px;background:#fff;color:#111;padding:12px 20px;z-index:9000}.skip-link:focus{top:12px}
/* Branding + navigation */
.announcement{background:var(--navy);color:#dbe6f4;min-height:30px;padding:4px 20px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;letter-spacing:.03em;text-align:center}.announcement strong{color:#fff;font-weight:700}.announcement-dot{width:7px;height:7px;background:#ff8a27;border-radius:100%;box-shadow:0 0 0 4px rgba(255,138,39,.17)}.announcement-sep{color:#ff8a27}.site-header{position:sticky;top:0;z-index:90;box-shadow:0 1px 0 rgba(10,34,64,.06);background:rgba(255,255,255,.97);backdrop-filter:blur(14px)}.header-inner{height:87px;display:flex;align-items:center;gap:36px}.brand{display:block;flex:0 0 auto;width:215px}.brand img{width:100%;height:73px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;justify-content:center;gap:28px;flex:1}.nav-link{font-size:14px;font-weight:650;color:#253c5a;white-space:nowrap;padding:12px 0;position:relative}.nav-link:after{content:"";position:absolute;bottom:5px;left:0;width:0;height:2px;border-radius:3px;background:var(--orange);transition:width .2s}.nav-link:hover,.nav-link.active{color:var(--orange2)}.nav-link:hover:after,.nav-link.active:after{width:100%}.button{border:0;border-radius:999px;min-height:48px;padding:13px 23px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:13.5px;font-weight:800;line-height:1.25;white-space:nowrap;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.button:hover{transform:translateY(-2px)}.button-orange{background:linear-gradient(120deg,#ff8a12,#fa5a0b);color:#fff;box-shadow:0 10px 22px rgba(251,106,13,.23)}.button-orange:hover{box-shadow:0 13px 25px rgba(251,106,13,.33);background:linear-gradient(120deg,#ff961d,#ff6810)}.button-outline{background:#fff;color:var(--navy);border:1.5px solid #d9e2ea}.button-outline:hover{background:#f7faff}.button-white{background:#fff;color:var(--navy);box-shadow:0 12px 30px rgba(0,0,0,.1)}.button .icon{width:17px;height:17px;stroke-width:2.1}.header-cta{padding-inline:19px;min-height:44px;font-size:12px}.header-cta .icon{width:19px;height:19px}.menu-button{display:none;border:0;background:#f4f6f9;padding:12px;flex-direction:column;gap:4px;border-radius:11px}.menu-button span{width:21px;height:2px;background:var(--navy);display:block}
/* Hero */
.hero{background:linear-gradient(160deg,#fff 26%,#f9fbfd 72%,#fff);padding:62px 0 56px;overflow:hidden;position:relative}.hero:after{position:absolute;content:"";height:5px;width:75%;left:12%;bottom:3px;background:linear-gradient(90deg,transparent,var(--orange),transparent);border-radius:100%;opacity:.6}.hero-layout{display:grid;grid-template-columns:.92fr 1.08fr;gap:38px;align-items:center}.hero-copy{position:relative;z-index:2;padding:36px 0 48px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.145em;color:var(--orange2);text-transform:uppercase;display:flex;align-items:center;gap:10px;margin-bottom:17px}.eyebrow-line{width:27px;height:3px;background:var(--orange);border-radius:3px}.hero h1{max-width:570px;color:var(--navy);margin:0 0 24px}.hero h1 span{color:var(--orange);display:block;position:relative}.hero h1 span:after{content:"";width:188px;height:7px;background:#ffc528;position:absolute;left:3px;bottom:-14px;clip-path:polygon(0 30%,100% 0,94% 100%,0 72%)}.hero-lead{max-width:450px;font-size:17px;color:#55687c;margin:32px 0 29px}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px}.hero-location{margin-top:35px;font-size:13px;color:var(--muted);display:flex;align-items:center;gap:9px}.location-point{width:9px;height:9px;background:#ff7e24;border-radius:50%;box-shadow:0 0 0 5px #fff0e4}.hero-images{position:relative;height:500px;display:grid;grid-template-columns:1.06fr 1fr;grid-template-rows:1fr 1fr;gap:12px;transform:rotate(0deg)}.hero-image{overflow:hidden;position:relative;border-radius:22px;box-shadow:var(--shadow);border:5px solid #fff}.hero-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.hero-image:hover img{transform:scale(1.07)}.hero-image-primary{grid-row:span 2;grid-column:1;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);}.hero-image-primary img{object-position:45% center}.hero-image-court{grid-column:2;grid-row:1}.hero-image-door{grid-column:2;grid-row:2}.hero-image-home{display:none}.hero-float{position:absolute;bottom:20px;left:-40px;min-height:68px;border-radius:16px;box-shadow:0 10px 29px rgba(13,43,77,.2);background:#fff;display:flex;align-items:center;gap:12px;padding:12px 17px;max-width:320px}.hero-float strong,.hero-float small{display:block}.hero-float strong{font-size:13px;color:var(--navy);font-weight:850}.hero-float small{font-size:11px;color:var(--muted)}.hero-float-icon{width:42px;height:42px;border-radius:12px;background:#fff0e3;display:grid;place-items:center;color:var(--orange)}
/* Sections */
.section-head{margin-bottom:34px}.section-head.centered{text-align:center;max-width:640px;margin:0 auto 35px}.centered .eyebrow{justify-content:center}.section-head h2{color:var(--navy);margin-bottom:13px}.section-head p{font-size:15px;margin-bottom:0}.section-head-between{display:flex;align-items:end;justify-content:space-between;gap:35px}.section-head-between>div{max-width:660px}.section-head-between>p{max-width:315px;font-size:14px;margin-bottom:5px}.services-section{background:#f6f8fb}.service-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.service-tile{border:1px solid #e6edf4;background:#fff;border-radius:18px;box-shadow:0 5px 18px rgba(12,38,66,.046);min-height:157px;padding:19px 12px 17px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:7px;transition:transform .23s,box-shadow .23s,border-color .23s;position:relative}.service-tile::after{content:"↗";position:absolute;right:12px;top:8px;color:#fd893b;opacity:0;font-size:17px;transition:opacity .2s}.service-tile .icon{width:36px;height:36px;color:var(--orange);stroke-width:1.7;margin-bottom:2px}.service-tile span{font-size:14px;color:var(--navy);line-height:1.2;font-weight:850}.service-tile small{font-size:11px;color:#8693a5;line-height:1.28}.service-tile:hover{transform:translateY(-6px);box-shadow:0 12px 26px rgba(13,50,84,.11);border-color:#ffb371}.service-tile:hover::after{opacity:1}
.featured{background:#fff}.filter-row{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:23px}.filter-chip{background:#fff;border:1px solid var(--border);border-radius:999px;padding:9px 17px;color:#50627a;font-size:12px;font-weight:750;transition:all .16s}.filter-chip:hover{color:var(--orange);border-color:#ffcfa7}.filter-chip.is-selected{color:#fff;background:var(--navy);border-color:var(--navy)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.project-card{min-width:0;position:relative;border:0;border-radius:20px;overflow:hidden;background:#dae6f0;aspect-ratio:1.46;box-shadow:0 8px 20px rgba(8,32,55,.08);padding:0;text-align:left;isolation:isolate}.project-card[hidden]{display:none}.project-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.project-card:hover img{transform:scale(1.08)}.project-card:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(4,20,41,.88),transparent);z-index:1}.project-overlay{display:flex;position:absolute;bottom:19px;left:21px;right:19px;color:#fff;z-index:2;align-items:end;justify-content:space-between;gap:12px}.project-overlay small{display:block;color:#ffc082;font-size:10px;font-weight:900;letter-spacing:.12em;margin-bottom:4px}.project-overlay strong{font-size:17px;line-height:1.16;display:block;letter-spacing:-.02em}.round-arrow{width:31px;height:31px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;background:var(--orange);font-size:17px;color:#fff}.project-large{grid-column:span 1;aspect-ratio:1.46}.illustration-note{font-size:11px;display:flex;align-items:flex-start;gap:8px;margin-top:17px;color:#8794a5}.illustration-note .icon{width:15px;height:15px;stroke:#ef9b51}
/* Promotional offer */
.promo-section{padding-top:20px;padding-bottom:88px}.promo-shell{display:grid;grid-template-columns:.9fr 1.1fr;background:var(--navy);border-radius:26px;overflow:hidden;min-height:380px;box-shadow:0 18px 34px rgba(12,40,71,.16)}.promo-photo{overflow:hidden}.promo-photo img{width:100%;height:100%;object-fit:cover}.promo-info{padding:46px 54px 39px;color:#fff;display:flex;align-items:flex-start;flex-direction:column}.promo-tag{font-size:10.5px;font-weight:950;letter-spacing:.16em;background:#ffcc34;color:#102a4e;border-radius:6px;transform:rotate(-2deg);padding:7px 13px;margin-bottom:17px}.promo-info h2{color:#fff;font-size:clamp(30px,3.2vw,44px);margin-bottom:15px}.promo-info em{font-style:normal;color:#ff9b3b}.promo-info p{color:#c7d5e7;font-size:14px;max-width:500px;margin-bottom:17px}.promo-amount{display:flex;align-items:center;gap:16px;margin-bottom:21px;flex-wrap:wrap}.promo-amount small{color:#e3eaf5;font-size:12px;max-width:135px;line-height:1.3}.promo-amount strong{font-size:39px;line-height:1;color:#ffc632;letter-spacing:-.04em}.promo-amount sup{font-size:20px;vertical-align:super}.promo-info .button{font-size:12px}
/* Brand story */
.about-section{background:#f6f8fb}.about-layout{display:grid;grid-template-columns:.96fr 1.04fr;gap:75px;align-items:center}.about-image{min-height:480px;height:100%;position:relative}.about-image>img{width:100%;height:100%;object-fit:cover;border-radius:25px}.about-label{position:absolute;bottom:20px;left:20px;background:#fff;border-radius:13px;box-shadow:0 9px 24px rgba(0,0,0,.15);padding:14px 16px;font-weight:800;font-size:12px;display:flex;align-items:center;gap:10px}.about-label-dot{width:10px;height:10px;background:var(--orange);border-radius:100%}.about-copy h2{margin-bottom:22px}.about-copy h2 span{color:var(--orange)}.about-copy>p{font-size:15px;line-height:1.77;margin-bottom:15px}.advantages{margin-top:25px;display:grid;gap:15px}.advantages>div{display:flex;align-items:center;gap:13px}.advantage-icon{width:45px;height:45px;border-radius:12px;background:#fff;display:grid;place-items:center;box-shadow:0 3px 15px rgba(18,56,88,.07);color:var(--orange)}.advantages strong,.advantages small{display:block}.advantages strong{font-size:13px;color:var(--navy)}.advantages small{font-size:12px;color:#8897a7}.advantages>div{display:grid;grid-template-columns:45px 1fr;grid-template-rows:1fr 1fr;column-gap:13px}.advantage-icon{grid-row:span 2}.advantages strong{align-self:end}.advantages small{align-self:start}
/* Closing CTA and contact */
.cta-section{padding:52px 0;background:linear-gradient(110deg,#0c2c53,#0c1f39 75%);color:#fff;position:relative;overflow:hidden}.cta-section:after{content:"";position:absolute;width:380px;height:380px;right:-130px;top:-140px;border-radius:50%;border:75px solid rgba(255,119,22,.07)}.cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;position:relative;z-index:1}.cta-inner h2{font-size:34px;margin-bottom:9px;color:#fff}.cta-inner p{margin-bottom:0;color:#c2d2e7}.cta-inner .eyebrow{color:#ffab65}.contact-section{padding-top:80px;padding-bottom:92px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.contact-tile{border:1px solid #e3e9f0;box-shadow:0 6px 28px rgba(12,40,71,.045);background:#fff;border-radius:19px;text-align:center;min-height:235px;padding:26px 21px}.contact-icon{height:54px;width:54px;margin:0 auto 14px;background:#fff1e6;color:var(--orange);border-radius:15px;display:grid;place-items:center}.contact-icon .icon{width:29px;height:29px}.contact-tile h3{font-size:18px;margin-bottom:8px}.contact-tile p{font-size:12px;min-height:38px}.text-button{background:none;border:none;color:var(--orange2);font-size:12px;font-weight:850;text-decoration:underline;text-underline-offset:3px;display:inline-flex;align-items:center;gap:7px}.text-button.disabled-link{color:#99a5b2;text-decoration:none;cursor:default}.text-button.muted{color:#a1aab9;text-decoration:none}
.footer{background:#0a1f3b;color:#d4e2f4;padding:28px 0 18px}.footer-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer .footer-content img{width:202px;height:auto;background:#fff;padding:7px 12px;border-radius:10px}.footer-content p{color:#b1c0d3;font-size:12px;margin:12px 0 0}.footer-links{display:flex;gap:22px;font-size:12px;color:#b4c8df;font-weight:700}.footer-links a:hover{color:#fff}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid rgba(255,255,255,.12);padding-top:17px;margin-top:23px;font-size:11px;color:#8fa6bd}
/* Accessible dialogs */
dialog{border:0;padding:0;max-height:min(90vh,820px);overflow:auto;box-shadow:0 28px 96px rgba(0,0,0,.32);color:var(--text)}dialog::backdrop{background:rgba(4,17,35,.71);backdrop-filter:blur(5px)}.service-dialog{width:min(860px,calc(100vw - 32px));border-radius:24px}.modal-content{position:relative}.modal-close{position:absolute;z-index:4;right:19px;top:19px;border:0;background:#fff;color:var(--navy);border-radius:50%;height:37px;width:37px;display:grid;place-items:center;box-shadow:0 5px 20px rgba(0,0,0,.18)}.modal-close .icon{width:20px;height:20px;stroke-width:2}.service-dialog-layout{display:grid;grid-template-columns:.94fr 1.06fr;min-height:490px}.service-dialog-picture{min-height:440px;background:#ecf0f4}.service-dialog-picture img{width:100%;height:100%;object-fit:cover}.service-dialog-body{padding:64px 38px 35px}.service-dialog-body h2{font-size:31px;color:var(--navy);margin-bottom:15px}.service-dialog-body>p{font-size:14px;line-height:1.6}.detail-list{padding:0;list-style:none;display:grid;gap:12px;margin:25px 0 26px}.detail-list li{font-size:13px;color:#42576f;display:flex;align-items:flex-start;gap:10px}.detail-list .icon{stroke:var(--orange);height:17px;width:17px;flex:0 0 17px;margin-top:2px;stroke-width:2.7}.service-dialog-actions{display:flex;gap:10px;flex-wrap:wrap}.service-dialog-actions .button{font-size:12px;min-height:43px}.detail-disclaimer{margin-top:26px;color:#9aa5b2!important;font-size:11px!important}.quote-dialog{width:min(655px,calc(100vw - 30px));border-radius:23px}.quote-modal{padding:45px 43px 33px}.quote-modal h2{font-size:31px;color:var(--navy);margin:0 20px 12px 0}.quote-modal>p{font-size:13px;line-height:1.6;color:#738299;margin-bottom:25px}#quote-form{display:grid;gap:15px}#quote-form label{font-size:12px;color:#293e59;font-weight:800;display:grid;gap:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}#quote-form input,#quote-form select,#quote-form textarea{width:100%;padding:12px 13px;color:#243c58;border:1px solid #dae2eb;border-radius:11px;background:#fcfdff;font-size:13px;outline:none}#quote-form textarea{resize:vertical}#quote-form input:focus,#quote-form select:focus,#quote-form textarea:focus{border-color:#ff9d55;box-shadow:0 0 0 3px #fff1e5}#quote-form input::placeholder,#quote-form textarea::placeholder{color:#9ba9ba}.form-submit{width:100%;margin-top:4px}.form-feedback{font-size:12px;color:var(--navy);line-height:1.55}.form-feedback:empty{display:none}.message-preview{border-radius:12px;padding:13px;background:#f6f8fb}.message-preview[hidden]{display:none}.message-preview textarea{background:white}.message-preview .button{margin-top:10px;font-size:12px;padding:9px 18px;min-height:40px}.toast{position:fixed;z-index:999;left:50%;bottom:22px;transform:translate(-50%,40px);background:#142c48;color:#fff;border-radius:12px;box-shadow:0 10px 40px rgba(3,22,41,.3);padding:12px 20px;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s;max-width:calc(100vw - 28px);font-size:13px;text-align:center}.toast.shown{opacity:1;transform:translate(-50%,0)}
@media (max-width:1100px){.container{width:min(var(--max),calc(100% - 42px))}.header-inner{gap:22px}.brand{width:185px}.main-nav{gap:20px}.header-cta{font-size:11px}.hero-layout{gap:24px}.hero-images{height:430px}.about-layout{gap:45px}.service-grid{grid-template-columns:repeat(5,1fr)}.service-tile{padding:15px 8px}}
@media (max-width:900px){.header-inner{height:76px}.brand{width:175px}.main-nav{gap:15px}.nav-link{font-size:12px}.header-cta{display:none}.hero{padding-top:44px}.hero-layout{grid-template-columns:1fr 1fr;gap:25px}.hero-images{height:380px}.hero-float{left:-15px}.hero-copy{padding:20px 0}.hero h1{font-size:clamp(38px,5.5vw,57px)}.hero-lead{font-size:14px}.hero-buttons .button{font-size:12px;padding:11px 15px}.service-grid{grid-template-columns:repeat(5,1fr)}.service-tile small{font-size:10px}.about-image{min-height:390px}.promo-info{padding:35px 30px}.promo-amount strong{font-size:34px}}
@media (max-width:740px){html{scroll-padding-top:87px}.container{width:calc(100% - 34px)}.announcement{font-size:10px;gap:7px}.announcement-sep{display:none}.header-inner{height:73px;justify-content:space-between}.brand{width:173px}.brand img{height:62px}.menu-button{display:flex}.main-nav{position:absolute;top:100%;left:0;right:0;display:none;background:#fff;box-shadow:0 18px 34px rgba(0,18,40,.1);flex-direction:column;align-items:stretch;padding:15px 22px 24px;gap:0}.main-nav.open{display:flex}.nav-link{font-size:15px;padding:12px}.nav-link:after{display:none}.hero{padding:29px 0 48px}.hero-layout{grid-template-columns:1fr;gap:15px}.hero-copy{padding:12px 0 16px}.hero h1{font-size:clamp(40px,9.8vw,65px);max-width:570px}.hero-lead{font-size:15px;max-width:600px;margin:24px 0}.hero-location{margin-top:23px}.hero-images{height:350px;gap:9px;grid-template-columns:1.2fr 1fr}.hero-image{border-width:3px;border-radius:17px}.hero-float{bottom:-13px;left:10px}.section{padding:64px 0}.section-head{margin-bottom:26px}.service-grid{grid-template-columns:repeat(3,1fr);gap:10px}.service-tile{min-height:137px;border-radius:14px}.service-tile .icon{width:32px;height:32px}.service-tile span{font-size:12px}.service-tile small{font-size:9px}.section-head-between{display:block}.section-head-between>p{max-width:580px;margin-top:12px}.project-grid{grid-template-columns:repeat(2,1fr);gap:12px}.project-card{border-radius:16px;aspect-ratio:1.08}.project-overlay{left:12px;bottom:12px;right:12px}.project-overlay strong{font-size:14px}.round-arrow{width:25px;height:25px;font-size:13px}.project-overlay small{font-size:8px}.promo-section{padding-top:0}.promo-shell{grid-template-columns:1fr}.promo-photo{height:295px}.promo-info{padding:32px 27px 35px}.promo-info h2{font-size:33px}.about-layout{grid-template-columns:1fr;gap:32px}.about-image{height:375px;min-height:0}.cta-inner{display:block}.cta-inner .button{margin-top:24px}.contact-grid{grid-template-columns:1fr 1fr;gap:12px}.contact-tile{min-height:210px}.footer-content{align-items:flex-start}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:11px}.service-dialog-layout{grid-template-columns:1fr}.service-dialog-picture{min-height:220px;max-height:240px}.service-dialog-body{padding:30px 28px 27px}.service-dialog-body h2{font-size:27px}.quote-modal{padding:37px 25px 25px}.quote-modal h2{font-size:27px}}
@media (max-width:480px){.announcement{font-size:9px}.announcement-dot{display:none}.hero h1{font-size:42px}.hero-buttons{gap:9px}.hero-buttons .button{font-size:11px;padding:11px 13px}.hero-images{height:305px}.hero-float{bottom:-19px;left:12px;padding:8px 12px;min-height:55px}.hero-float-icon{width:33px;height:33px}.hero-float-icon .icon{width:19px;height:19px}.hero-float strong{font-size:11px}.hero-float small{font-size:10px}.service-grid{grid-template-columns:repeat(2,1fr);gap:9px}.service-tile{min-height:128px}.service-tile .icon{height:31px;width:31px}.service-tile span{font-size:13px}.service-tile small{font-size:10px}.project-grid{grid-template-columns:1fr 1fr;gap:10px}.project-card{aspect-ratio:1}.project-overlay strong{font-size:12px}.project-overlay small{font-size:8px}.project-overlay{left:9px;bottom:10px;right:9px}.round-arrow{width:23px;height:23px}.promo-photo{height:230px}.promo-info h2{font-size:31px}.promo-info p{font-size:13px}.promo-amount strong{font-size:37px}.about-image{height:290px}.contact-grid{grid-template-columns:1fr}.contact-tile{min-height:190px}.contact-tile p{min-height:auto}.footer-content,.footer-bottom{flex-direction:column;align-items:flex-start}.footer-links{margin-top:14px}.form-row{grid-template-columns:1fr}.quote-modal{padding:45px 18px 22px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Final four-photo hero layout, matching the approved cleaner concept */
.hero-image-primary{grid-row:1;grid-column:1}.hero-image-door{grid-column:1;grid-row:2}.hero-image-court{grid-column:2;grid-row:1}.hero-image-home{display:block;grid-column:2;grid-row:2}

/* Assinatura discreta do Grupo Komunikou no rodapé */
.footer-bottom{gap:15px}
.footer-demo{flex:1;text-align:center}
.footer-group{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;color:#a9b9cd;font-size:10px;line-height:1.2;opacity:.86;transition:opacity .2s ease;white-space:nowrap}
.footer-group:hover,.footer-group:focus-visible{opacity:1}
.footer-group img{width:130px;height:39px;object-fit:contain;object-position:center;filter:none}
@media(max-width:740px){.footer-bottom{flex-wrap:wrap}.footer-demo{text-align:left}}
@media(max-width:480px){.footer-bottom{gap:10px}.footer-group{margin-top:5px}.footer-group img{width:122px;height:37px}}

/* Assinatura discreta do Grupo Komunikou no rodapé */
.footer-group{display:inline-flex;align-items:center;gap:8px;font-size:10px;text-decoration:none;white-space:nowrap;color:#c4d1e1;opacity:.85;transition:opacity .2s ease}
.footer-group:hover,.footer-group:focus-visible{opacity:1}
.footer-group-prefix{font-size:10px}
.group-lockup{display:inline-flex;gap:7px;align-items:center}
.group-official-icon{width:30px;height:30px;object-fit:contain;flex:none}
.group-icon-fallback{display:grid;place-items:center;width:29px;height:29px;border:1px solid #e9bd56;border-radius:5px;color:#edbc48;font-weight:900;font-size:23px}
.group-icon-fallback[hidden]{display:none}
.group-label{display:flex;flex-direction:column;line-height:1.05;letter-spacing:.015em}
.group-label strong{font-size:13px;font-weight:800;color:white;letter-spacing:.02em}
.group-label small{font-size:7px;font-weight:600;letter-spacing:.27em;color:#b4c7df;margin-top:4px}
@media(max-width:480px){.footer-group{margin-top:4px;align-items:center}.group-official-icon{width:27px;height:27px}.group-label strong{font-size:12px}.group-label small{font-size:6px}}


/* V3 – Layout aprovado em 05/11/2026: azul-marinho, hero fotográfico, 8 botões funcionais */
:root{--navy:#071d38;--navy2:#05152d;--orange:#ff8114;--orange2:#fd6410;--max:1480px}
.container{width:min(var(--max),calc(100% - 72px))}
.site-header{background:linear-gradient(102deg,#061831 0%,#08294c 57%,#061831 100%);box-shadow:none;position:sticky;top:0;z-index:120;border-bottom:1px solid rgba(255,255,255,.10);backdrop-filter:none}
.header-inner{height:104px;gap:28px}
.brand{width:350px;max-width:33vw;align-self:center;flex-shrink:0;position:relative;z-index:2}
.brand img{height:auto;max-height:94px;width:100%;object-fit:contain;filter:none}
.main-nav{gap:clamp(15px,2.2vw,42px);justify-content:flex-end}
.nav-link{color:#f6f8ff;font-size:16px;font-weight:700}
.nav-link:hover,.nav-link.active{color:#fff}
.nav-link:hover:after,.nav-link.active:after{height:4px;bottom:2px;background:#ff8a1c}
.header-cta{min-height:52px;font-size:13px;padding:12px 21px}
.menu-button{background:rgba(255,255,255,.09)}
.menu-button span{background:#fff}
/* Hero photo is separate from every text and interactive button */
.hero-approved{height:445px;min-height:445px;padding:0;isolation:isolate;background:#071d37;position:relative;overflow:hidden}
.hero-approved:after{content:none}
.hero-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,24,45,.22),transparent 75%),url('assets/hero-reference.webp?v=uniformes') right center/cover no-repeat}
.hero-approved .hero-inner{height:100%;display:flex;align-items:center;position:relative}
.hero-approved .hero-copy{width:52%;max-width:690px;padding:16px 0 24px;display:flex;flex-direction:column;align-items:flex-start}
.hero-approved h1{margin:0;max-width:none;color:#fff;line-height:1.07;font-size:clamp(38px,3.8vw,63px);font-weight:950;font-style:italic;letter-spacing:-.052em;text-shadow:0 3px 4px rgba(0,0,0,.37)}
.hero-approved h1 span{display:block}
.hero-approved h1 .line-one{color:white;white-space:nowrap}
.hero-approved h1 .line-one:after{display:none}
.hero-approved h1 .line-two{white-space:nowrap;color:#082346;text-shadow:none;font-size:1.10em;letter-spacing:-.045em;padding:3px 24px 7px 15px;margin-top:6px;background:linear-gradient(115deg,#ffbf22,#ffa117 44%,#ffcd3b 75%,#ff9715);clip-path:polygon(3% 0,99% 5%,96% 94%,0 100%);filter:drop-shadow(1px 4px 0px rgba(4,16,35,.35))}
.hero-approved h1 .line-two:after{content:none}
.hero-approved .hero-lead{color:#f3f8ff;font-size:clamp(16px,1.55vw,21px);line-height:1.4;font-weight:500;text-shadow:0 2px 10px #07192d;margin:19px 0 18px;max-width:520px}
.hero-approved .hero-cta{font-size:17px;min-height:54px;padding:12px 27px;border-radius:44px;border:2px solid rgba(255,170,42,.7);box-shadow:0 5px 13px rgba(0,0,0,.25)}
.hero-approved .hero-cta .icon{width:22px;height:22px}
.hero-image-note{position:absolute;right:15px;bottom:7px;color:rgba(255,255,255,.74);font-size:10px;letter-spacing:.02em}
/* Compact cards, matching the same order/alternating colors as the reference */
.services-strip{background:linear-gradient(180deg,#fff 0%,#f5f7fa 100%);padding:17px 0 23px}
.services-strip .service-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px}
.services-strip .service-tile{border:none;min-height:171px;border-radius:21px;box-shadow:0 7px 0 rgba(8,27,50,.07),0 11px 19px rgba(7,22,44,.15);padding:19px 9px 12px;display:flex;flex-direction:column;justify-content:flex-start;gap:9px;transition:transform .18s,box-shadow .18s}
.services-strip .service-tile:after{display:none}
.services-strip .service-tile:hover,.services-strip .service-tile:focus-visible{transform:translateY(-5px);box-shadow:0 10px 25px rgba(6,25,47,.22)}
.services-strip .tone-orange{background:linear-gradient(145deg,#ff9819,#fd5a0b);color:#fff}
.services-strip .tone-navy{background:linear-gradient(145deg,#07366d,#061932);color:#fff}
.services-strip .service-tile .icon{color:#fff;width:58px;height:58px;stroke-width:1.6;flex-shrink:0;margin:0 0 2px}
.services-strip .service-tile span{color:#fff;font-size:clamp(13px,1.25vw,19px);line-height:1.14;font-weight:850;letter-spacing:-.025em}
.services-strip .service-tile small{color:#f7f8fa;font-size:11px;line-height:1.14}
.additional-services{margin:16px 0 0;font-size:12px;color:#667a8f;text-align:center}
.additional-services button{background:none;border:none;color:#ea6416;padding:0 2px;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.benefits{background:linear-gradient(100deg,#061a34,#092e56 65%,#06182e);border-bottom:8px solid #ff991a;position:relative;color:#fff}
.benefits:after{content:'';position:absolute;bottom:-11px;height:6px;background:#f8b11f;left:0;right:0;opacity:.9}
.benefits-row{min-height:115px;display:grid;grid-template-columns:repeat(4,1fr);align-items:center}
.benefit{display:flex;justify-content:center;align-items:center;gap:19px;color:#fff;min-width:0;position:relative}
.benefit:not(:last-child):after{content:'';position:absolute;right:0;height:48px;width:2px;background:#ffa21d}
.benefit .icon{width:51px;height:51px;stroke-width:1.9;color:#ffa820}
.benefit strong{color:#fff;font-weight:800;font-size:clamp(14px,1.4vw,20px);line-height:1.14;letter-spacing:-.035em}
/* Lower content: airy and readable */
.featured{padding-top:80px}
.footer .footer-content img{width:230px;max-width:100%;height:auto;background:transparent}
@media (min-width:1400px){.hero-approved{height:475px;min-height:475px}.services-strip .service-tile{min-height:176px}}
@media (max-width:1160px){.container{width:calc(100% - 42px)}.brand{width:260px;max-width:29vw}.nav-link{font-size:13px}.header-inner{gap:14px}.main-nav{gap:14px}.header-cta{font-size:11px;padding:10px 14px}.hero-approved .hero-copy{width:57%}.hero-approved h1{font-size:clamp(31px,4vw,48px)}.services-strip .service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.services-strip .service-tile{min-height:142px}.services-strip .service-tile span{font-size:17px}.services-strip .service-tile .icon{width:48px;height:48px}}
@media (max-width:740px){
html{scroll-padding-top:86px}.container{width:calc(100% - 30px)}
.site-header{position:sticky;top:0}.header-inner{height:82px;gap:10px;justify-content:space-between}.brand{width:min(225px,69vw);max-width:none}.brand img{height:auto;max-height:74px;width:100%}.menu-button{display:flex;border:1px solid rgba(255,255,255,.28);padding:12px}.main-nav{background:#071d38;box-shadow:0 17px 28px rgba(0,0,0,.3);padding:15px 20px 20px;display:none}.main-nav.open{display:flex}.nav-link{color:#fff;font-size:16px;padding:10px 13px}.header-cta{display:none}
.hero-approved{height:535px;min-height:535px;background:#061a36}
.hero-backdrop{background-image:linear-gradient(180deg,rgba(2,17,36,.05) 0%,rgba(2,17,36,.14) 35%,rgba(1,18,39,.92) 77%,#061a34 100%),url('assets/hero-mobile.webp?v=uniformes');background-position:center,center top;background-size:cover,auto 67%;background-repeat:no-repeat}
.hero-approved .hero-inner{align-items:flex-end}.hero-approved .hero-copy{width:100%;max-width:600px;padding:0 5px 34px}
.hero-approved h1{font-size:clamp(29px,7.3vw,46px);line-height:1.12}
.hero-approved h1 .line-two{font-size:1.17em;padding:4px 16px 7px 12px;margin-top:2px}
.hero-approved .hero-lead{font-size:14px;margin:17px 0;line-height:1.45}
.hero-approved .hero-cta{font-size:13px;padding:10px 20px;min-height:46px}.hero-approved .hero-cta .icon{width:17px;height:17px}
.hero-image-note{right:10px;top:12px;bottom:auto;font-size:9px}
.services-strip{padding:15px 0 22px}.services-strip .service-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.services-strip .service-tile{min-height:136px;border-radius:15px;padding:12px 5px}.services-strip .service-tile .icon{width:39px;height:39px}.services-strip .service-tile span{font-size:12px;line-height:1.1}.services-strip .service-tile small{font-size:9px}
.benefits-row{grid-template-columns:repeat(2,1fr);row-gap:0;padding:12px 0}.benefit{padding:15px 6px;gap:10px}.benefit .icon{width:34px;height:34px}.benefit strong{font-size:13px}.benefit:nth-child(2):after{display:none}.benefit:not(:last-child):after{height:34px}
.featured{padding-top:62px}
}
@media (max-width:480px){.hero-approved{height:530px;min-height:530px}.hero-approved h1{font-size:clamp(25px,7.4vw,34px)}.hero-approved .hero-lead{font-size:14px}.hero-approved .hero-cta{font-size:13px}.services-strip .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.services-strip .service-tile{min-height:128px;gap:4px}.services-strip .service-tile .icon{width:42px;height:42px}.services-strip .service-tile span{font-size:15px}.services-strip .service-tile small{font-size:10px}.additional-services{font-size:11px;line-height:1.4}.benefit strong{font-size:12px}}

/* Orçamentos, vídeos e localização */
.wa-badge {
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 31px;
  height: 31px;
  border-radius: 50%;
  color: #fff;
  background: #067c47;
}
.button .wa-badge .wa-symbol { width: 20px; height: 20px; }
[data-whatsapp-quote] { gap: 9px; }
[data-whatsapp-quote] > .icon:last-child { flex: 0 0 auto; }
.header-cta .wa-badge { width: 27px; height: 27px; }
.header-cta .wa-badge .wa-symbol { width: 17px; height: 17px; }

.videos-section { background: #f3f7fb; }
.video-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(12px, 2vw, 26px);
}
.video-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e8f1;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(7, 29, 56, .08);
}
.video-card video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; background: var(--navy); }
.video-caption { padding: 17px 18px 20px; }
.video-caption h3 { margin: 0 0 4px; color: var(--navy); font-size: clamp(15px, 1.5vw, 20px); }
.video-caption p, .video-note { margin: 0; font-size: 13px; color: #48617c; }
.video-note { margin-top: 17px; }

.contact-layout {
  display: grid;
  grid-template-columns: minmax(270px, .85fr) minmax(0, 1.45fr);
  gap: clamp(14px, 2.5vw, 32px);
  align-items: start;
}
.contact-methods { display: grid; gap: 13px; }
.contact-method {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 17px;
  border-radius: 17px;
  border: 1px solid #dfe8f0;
  background: #fff;
  color: var(--navy);
  box-shadow: 0 8px 23px rgba(7, 29, 56, .05);
  transition: box-shadow .2s, border-color .2s;
}
.contact-method[hidden] { display: none; }
.contact-method[href]:hover, .contact-method[href]:focus-visible {
  border-color: #9db2c8;
  box-shadow: 0 12px 25px rgba(7, 29, 56, .09);
}
.contact-method-whatsapp { background: #f0faf4; border-color: #cfe9d8; }
.contact-method .wa-badge, .contact-method-icon { width: 46px; height: 46px; }
.contact-method-icon { display: inline-grid; place-items: center; flex: 0 0 auto; border-radius: 50%; background: #edf3fb; color: #173b62; }
.contact-method-icon .icon, .contact-method .wa-symbol { width: 24px; height: 24px; }
.contact-method > .icon, .location-caption a .icon { width: 17px; height: 17px; }
.contact-method strong, .contact-method small, .contact-method > span:nth-child(2) > span { display: block; }
.contact-method strong { margin-bottom: 2px; font-size: 17px; }
.contact-method > span:nth-child(2) > span { font-size: 14px; color: #334f6b; overflow-wrap: anywhere; }
.contact-method small { margin-top: 5px; font-size: 12px; font-weight: 750; color: #155278; }
.contact-method-whatsapp small { color: #08663b; }
.contact-location { min-width: 0; overflow: hidden; border: 1px solid #dfe8f0; border-radius: 20px; background: #fff; box-shadow: 0 8px 24px rgba(7, 29, 56, .06); }
.contact-location iframe { display: block; width: 100%; height: clamp(220px, 29vw, 340px); border: 0; background: #edf3f8; }
.location-caption { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 13px; padding: 16px 18px; }
.location-caption > div { flex: 1 1 215px; }
.location-caption h3 { margin: 0 0 3px; font-size: 16px; }
.location-caption address { font-style: normal; font-size: 13px; line-height: 1.45; color: #334f6b; }
.location-caption .text-button { display: inline-flex; align-items: center; gap: 5px; margin-top: 0; white-space: nowrap; }

@media (max-width: 1020px) {
  .header-inner .main-nav { gap: 11px; }
  .header-cta { padding-inline: 12px; }
}
@media (max-width: 740px) {
  .header-inner .main-nav { gap: 0; }
  .video-grid, .contact-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-layout { grid-template-columns: minmax(0, 1fr); }
  .video-caption { padding: 13px 12px 16px; }
}
@media (max-width: 360px) {
  .hero-cta[data-whatsapp-quote] { padding-inline: 12px; gap: 7px; }
}

/* Tratamento de telhados */
.additional-services a { color: #9a3b07; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.roof-section { background: #f3f7fb; }
.roof-layout { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(25px, 6vw, 95px); align-items: center; }
.roof-copy { max-width: 660px; }
.roof-copy h2 { margin: 9px 0 13px; color: var(--navy); font-size: clamp(29px, 4vw, 49px); line-height: 1.09; letter-spacing: -.035em; }
.roof-copy > p { color: #344e68; }
.roof-steps { counter-reset: roof-step; padding: 0; margin: 21px 0 26px; list-style: none; display: grid; gap: 14px; }
.roof-steps li { counter-increment: roof-step; display: grid; grid-template-columns: 36px 1fr; column-gap: 12px; align-items: start; }
.roof-steps li::before { content: counter(roof-step); grid-row: span 2; width: 33px; height: 33px; border-radius: 50%; display: grid; place-items: center; background: #ffebd4; color: #843900; font-weight: 800; }
.roof-steps strong { color: var(--navy); font-size: 16px; }
.roof-steps span { color: #48617a; font-size: 14px; line-height: 1.5; }
.roof-media { width: min(100%, 310px); justify-self: center; }
.roof-media video { display: block; width: 100%; height: auto; aspect-ratio: 9 / 16; border-radius: 20px; background: var(--navy); box-shadow: 0 14px 30px rgba(7, 29, 56, .18); }
.roof-media p { margin: 10px 0 0; text-align: center; font-size: 12px; color: #48617a; }
.roof-copy .button { white-space: normal; max-width: 100%; }
@media (max-width: 740px) {
  .roof-layout { grid-template-columns: minmax(0, 1fr); }
}
