/* BRONCO — custom, framework-free responsive homepage.
   Exact supplied logo colours: #00336a and #ca244b. */
:root{--navy:#00336a;--deep:#071e36;--ink:#102c47;--red:#ca244b;--red-dark:#b3193e;--muted:#5f6e7b;--paper:#f3f6f8;--line:#dce3e9;--white:#fff;--heading:'Barlow Condensed','Arial Narrow',Impact,sans-serif;--body:'Inter',Arial,sans-serif;--gutter:clamp(22px,4.7vw,88px);--header:104px;--shadow:0 22px 64px #0c294016}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 20px)}body{margin:0;font:400 16px/1.7 var(--body);color:var(--ink);background:#fff;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}a,button{touch-action:manipulation}button{border:0;background:none}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--heading);font-weight:700;line-height:.99;letter-spacing:-.015em}h2{font-size:clamp(43px,4.8vw,72px);margin-bottom:26px}h3{font-size:21px;line-height:1.3;font-weight:600}p{margin-bottom:20px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--red);outline-offset:5px}::selection{background:var(--red);color:#fff}.container{width:min(100% - var(--gutter)*2,1360px);margin-inline:auto}.section{padding-block:112px}.icon{width:24px;height:24px;flex-shrink:0;vertical-align:middle}.svg-library{position:absolute;width:0;height:0;overflow:hidden}.red{color:var(--red)}.eyebrow{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:2.3px;margin-bottom:23px}.eyebrow>span:not(.eyebrow){width:25px;height:2px;background:var(--red);flex-shrink:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:28px;min-height:56px;padding:17px 24px;font-size:12px;line-height:1.4;text-transform:uppercase;letter-spacing:1px;font-weight:700;transition:background .25s,transform .25s,box-shadow .25s;border:1px solid transparent}.button .icon{width:19px;height:19px;transition:transform .25s}.button:hover .icon{transform:translateX(4px)}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--red);color:white}.button.primary:hover{background:var(--red-dark);box-shadow:0 10px 28px #ca244b24}.button.navy{background:var(--navy);color:white}.button.navy:hover{background:var(--deep)}.button.white{background:white;color:var(--navy)}.button.outline-light{border-color:#ffffff70;color:#fff;background:#ffffff05}.button.outline-light:hover{background:#fff;color:var(--navy)}.button.outline{border-color:#b5c1ca;color:var(--navy)}.button.outline:hover{background:var(--navy);color:white;border-color:var(--navy)}.text-link{display:inline-flex;gap:28px;align-items:center;font-size:13px;font-weight:600;line-height:1.4;padding:10px 0;border-bottom:1px solid #b5c1ca;transition:color .2s,gap .2s}.text-link .icon{width:18px;height:18px}.text-link:hover{color:var(--red);gap:35px}.skip-link{position:fixed;left:16px;top:-100px;z-index:200;padding:12px 20px;background:#fff;color:var(--deep)}.skip-link:focus{top:15px}.topbar{background:var(--navy);color:#fff;font-size:12px}.topbar-inner{display:flex;gap:28px;align-items:center;min-height:39px}.topbar-inner>span,.topbar-inner>a{display:flex;align-items:center;gap:8px}.topbar .icon{height:14px;width:14px}.topbar a:hover{text-decoration:underline;text-underline-offset:4px}.top-quote{margin-left:auto;text-transform:uppercase;font-weight:600;letter-spacing:.8px}.site-header{position:sticky;top:0;background:#fff;z-index:50;transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 5px 22px #071e3612}.nav-wrap{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{width:164px;min-width:164px;height:104px;display:flex;align-items:center;justify-content:center;margin-left:-28px}.brand img{width:164px;height:164px;object-fit:contain;max-width:none;pointer-events:none}.nav-wrap nav{display:flex;gap:27px;align-items:center}.nav-link{font-size:13px;font-weight:500;padding:16px 0;white-space:nowrap;position:relative;line-height:1.5}.nav-link:after{content:'';position:absolute;left:0;right:0;height:2px;background:var(--red);bottom:4px;transform:scaleX(0);transform-origin:left;transition:transform .2s}.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1)}.nav-wrap .button{min-height:47px;padding:14px 20px;gap:25px;margin-left:6px}.services-toggle{display:flex;align-items:center;gap:6px}.services-toggle .icon{width:13px;height:13px;transition:transform .25s}.services-toggle[aria-expanded=true] .icon{transform:rotate(180deg)}.services-menu{position:absolute;right:var(--gutter);width:min(770px,90vw);top:calc(100% - 5px);background:white;border-top:3px solid var(--red);box-shadow:0 20px 60px #071e3628;padding:28px;max-height:calc(100dvh - 130px);overflow:auto}.dropdown-label{font-size:11px;font-weight:600;letter-spacing:1.2px;color:var(--muted);margin-bottom:15px}.services-menu>div{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.services-menu a{padding:13px 10px;display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.5;transition:background .2s}.services-menu a>.icon:first-child{color:var(--red)}.services-menu a>.icon:last-child{width:15px;margin-left:auto}.services-menu a:hover{background:var(--paper)}.menu-toggle{display:none}.hero{isolation:isolate;position:relative;min-height:760px;background:var(--deep);color:#fff;overflow:hidden;padding-top:72px}.hero-picture,.hero-shade,.hero-grid{position:absolute;inset:0;z-index:-1}.hero-picture img{height:100%;width:100%;object-fit:cover;object-position:center 55%;animation:heroZoom 22s ease-out forwards}.hero-shade{background:linear-gradient(90deg,rgba(4,23,43,.9) 0%,rgba(4,23,43,.8) 25%,rgba(4,23,43,.44) 55%,rgba(4,23,43,.06) 100%),linear-gradient(0deg,#061d35a8,transparent 30%)}.hero-grid{left:auto;width:27%;opacity:.15;background:linear-gradient(90deg,transparent 99%,#fff 99%) 0 0/150px 100%;border-left:1px solid #fff}.hero-inner{position:relative;display:flex;justify-content:space-between;align-items:flex-end}.hero-copy{max-width:730px}.hero .eyebrow{color:#e0e8f0;font-size:11px;letter-spacing:2px;animation:rise .8s both}.hero h1{font-size:clamp(65px,6.45vw,101px);line-height:.98;letter-spacing:-.016em;margin-bottom:27px;animation:rise .8s .1s both}.hero h1>span{color:#f4486d}.hero-description{font-size:15px;line-height:1.9;max-width:540px;color:#e0e5eb;animation:rise .8s .2s both}.hero-buttons{display:flex;gap:12px;margin-top:28px;animation:rise .8s .3s both}.hero-phone{display:inline-flex;align-items:center;gap:12px;margin-top:28px}.hero-phone>.icon{width:36px;height:36px;padding:8px;border:1px solid #ffffff55;border-radius:50%}.hero-phone>span{display:flex;flex-direction:column;color:#d0d9e2;font-size:11px;line-height:1.6}.hero-phone strong{font-size:16px;color:#fff;letter-spacing:.3px}.hero-caption{display:flex;gap:18px;font-size:12px;line-height:1.6;letter-spacing:2px;font-weight:500;margin-bottom:12px;text-shadow:0 1px 6px #000}.caption-rule{height:65px;width:2px;background:#fff}.hero-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:42px;padding-top:24px;padding-bottom:68px;border-top:1px solid #ffffff30}.hero-bottom>span{display:flex;gap:10px;align-items:center;font-size:12px;color:#ecf0f4}.hero-bottom .icon{height:18px;width:18px;color:#ccdbea}.trust-wrap{position:relative;z-index:3;margin-top:-44px}.trust-panel{background:#fff;display:grid;grid-template-columns:repeat(4,1fr);box-shadow:var(--shadow);padding:28px 20px;border-bottom:3px solid var(--red)}.trust-panel>div{display:flex;gap:19px;align-items:center;justify-content:center;border-right:1px solid var(--line)}.trust-panel>div:last-child{border:0}.trust-panel .icon{width:37px;height:37px;color:var(--red);stroke-width:1.2}.trust-panel span{font-size:13px;line-height:1.6;color:var(--muted)}.trust-panel strong{color:var(--navy);font-weight:600;font-size:16px}.about{padding-top:125px;padding-bottom:130px}.about-grid{display:grid;grid-template-columns:1.08fr 1fr;gap:clamp(45px,6.5vw,100px);align-items:center}.about-art{position:relative;min-height:620px;isolation:isolate}.about-main{position:absolute;left:0;top:0;width:74%;height:420px;overflow:hidden;border-radius:100px 3px 3px 3px}.about-main img{height:110%;object-fit:cover}.about-small{position:absolute;right:0;bottom:32px;width:66%;height:256px;border:9px solid #fff;box-shadow:0 15px 30px #071e3612}.about-small img{height:100%;object-fit:cover}.about-detail{position:absolute;width:31%;height:154px;left:0;bottom:31px;overflow:hidden}.about-detail img{height:100%;object-fit:cover}.protect-stamp{position:absolute;right:0;top:76px;background:var(--red);padding:25px 26px;color:#fff;display:flex;flex-direction:column;font-family:var(--heading);font-size:30px;font-weight:600;line-height:1.07;letter-spacing:.3px;box-shadow:9px 9px 0 #fff}.protect-stamp .icon{height:20px;width:20px;margin-left:7px}.about-line{position:absolute;bottom:0;left:38%;width:47%;height:24px;border-bottom:1px solid var(--red);border-right:1px solid var(--red);z-index:-1}.about-copy h2{font-size:clamp(45px,4.5vw,68px)}.about-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.9}.about-copy p.lead{font-size:17px;font-weight:500;color:var(--ink)}.about-copy .button{margin-top:12px}.services{background:linear-gradient(130deg,#f0f4f7,#f7f8fa);position:relative}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.section-heading>p,.section-heading>div+div{max-width:375px;flex-shrink:0;font-size:14px;color:var(--muted)}.section-heading>p{margin-bottom:4px;line-height:1.9}.section-heading>div+div p:last-child{margin-bottom:5px}.services-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:30px}.service-card{grid-column:span 2;background:#fff;box-shadow:0 9px 30px #0c294005;transition:transform .3s,box-shadow .3s;scroll-margin-top:130px}.service-card:hover{transform:translateY(-6px);box-shadow:0 16px 40px #0c294012}.service-1,.service-2{grid-column:span 3}.service-6{grid-column:span 6;display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff}.service-image{display:block;position:relative;width:100%;height:230px;padding:0;overflow:hidden;text-align:left}.service-1 .service-image,.service-2 .service-image{height:300px}.service-image img{width:100%;height:100%;object-fit:cover;transition:transform .65s}.service-image:hover img{transform:scale(1.045)}.service-number{position:absolute;left:18px;top:16px;display:grid;place-items:center;color:#fff;background:#061d3570;backdrop-filter:blur(7px);height:42px;width:42px;border:1px solid #ffffff50;font:500 25px var(--heading)}.image-arrow{position:absolute;right:0;bottom:0;display:grid;place-items:center;background:var(--red);color:#fff;height:48px;width:48px;transition:background .3s}.service-body{padding:29px 28px 27px}.service-title{display:flex;gap:12px;align-items:flex-start}.service-title>.icon{color:var(--red);height:28px;width:28px}.service-title h3{font-family:var(--heading);font-size:30px;font-weight:600;margin-bottom:16px;line-height:1.08}.service-body p{color:var(--muted);font-size:13px;line-height:1.85;margin-bottom:15px}.service-6 .service-image{height:100%;min-height:280px}.service-6 .service-body{padding:38px 45px}.service-6 .service-title h3{font-size:37px}.service-6 .service-body p{color:#c6d5e3;font-size:14px}.service-6 .service-title>.icon{color:#f15f7e}.service-note{display:flex;gap:10px;justify-content:center;align-items:center;font-size:13px;color:var(--muted);margin-top:36px}.service-note a{font-weight:600;color:var(--navy)}.service-note .icon{height:16px;width:16px;margin-left:4px}.why{background:var(--deep);color:#fff;position:relative;isolation:isolate;overflow:hidden}.blueprint{position:absolute;inset:0;opacity:.2;z-index:-1;background:linear-gradient(#6f98bd30 1px,transparent 1px),linear-gradient(90deg,#6f98bd30 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent,#000);animation:gridShift 30s ease-in-out infinite alternate}.blueprint:after{content:'';position:absolute;width:400px;height:400px;border:1px solid #7ea2c5;outline:1px solid #7ea2c5;outline-offset:22px;transform:rotate(45deg);right:-200px;top:40px}.why .section-heading{align-items:center}.why .section-heading>div+div{max-width:360px;color:#bccbd8}.why h2>span{color:#8baccc}.large-shield{display:grid;place-items:center;width:64px;height:64px;border:1px solid #49647e;border-radius:50%;margin-bottom:25px}.large-shield .icon{width:34px;height:34px}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px 46px;margin-top:60px}.why-card{display:flex;align-items:flex-start;gap:20px;border-top:1px solid #ffffff26;padding-top:28px}.point-number{font:500 28px var(--heading);color:#f45c7d}.why-card h3{font-size:17px;margin-bottom:13px}.why-card p{font-size:13px;line-height:1.9;color:#bdcad7;margin:0}.why-bottom{border-top:1px solid #ffffff26;margin-top:52px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#cbd6e0}.why-bottom .text-link{color:#fff}.estimate{background:var(--red);color:#fff;position:relative;overflow:hidden}.estimate-grid{display:grid;grid-template-columns:1.28fr 1fr;gap:60px;align-items:center;padding-top:64px;padding-bottom:64px}.estimate-copy{position:relative;z-index:2}.estimate .eyebrow>span{background:#fff}.estimate h2{font-size:clamp(44px,4.4vw,66px)}.estimate p:not(.eyebrow){max-width:560px;font-size:14px;line-height:1.85;color:#fff}.button-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.estimate .button{font-size:11px;padding-inline:20px;gap:16px}.estimate-image{position:relative;width:100%;aspect-ratio:1;isolation:isolate}.estimate-image:before{content:'';position:absolute;inset:-7%;background:var(--navy);border-radius:50%;z-index:-1}.estimate-image img{width:100%;height:100%;object-fit:cover;object-position:center 35%;border-radius:50%;border:1px solid #ffffff35}.estimate-tag{position:absolute;bottom:20px;left:-12px;right:25px;background:#fff;color:var(--navy);padding:19px 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-weight:600;font-size:13px;letter-spacing:.8px;box-shadow:0 10px 30px #071e361a}.specialist{padding-bottom:100px}.special-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.special-card{padding:35px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .25s}.special-card:hover{background:var(--paper)}.special-card>.icon{height:39px;width:39px;color:var(--red);margin-bottom:24px;transition:transform .3s}.special-card:hover>.icon{transform:translateY(-5px)}.special-card h3{font-size:18px;margin-bottom:12px}.special-card p{font-size:13px;line-height:1.85;color:var(--muted);margin:0}.process{background:var(--paper);padding-block:100px}.center-heading{text-align:center;margin-bottom:58px}.center-heading .eyebrow{justify-content:center}.process-timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;list-style:none;margin:0;padding:0;position:relative}.process-timeline:before{content:'';position:absolute;top:24px;left:0;right:40px;height:1px;background:#b5c4d1}.process-timeline:after{content:'';position:absolute;top:24px;left:0;right:40px;height:1px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.7s;z-index:0}.process-timeline.in-view:after{transform:scaleX(1)}.process-timeline li{position:relative;z-index:1;padding-right:7px}.step-number{width:50px;height:50px;border:1px solid #b7c7d4;background:var(--paper);display:grid;place-items:center;color:var(--navy);font:500 25px var(--heading);margin-bottom:25px;transition:background .4s,color .4s}.process-timeline.in-view li:first-child .step-number,.process-timeline li:hover .step-number{background:var(--red);color:#fff;border-color:var(--red)}.process-timeline h3{font-size:16px;margin-bottom:12px}.process-timeline p{font-size:12px;line-height:1.85;color:var(--muted);margin:0}.projects{padding-bottom:105px}.image-disclosure{font-size:11px!important;line-height:1.65;color:var(--muted);padding-left:13px;border-left:2px solid var(--red);margin-top:18px}.projects-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:46px 32px;align-items:start}.project-card:nth-child(2){margin-top:65px}.project-card:nth-child(4){margin-top:65px}.comparison{aspect-ratio:1.5;position:relative;overflow:hidden;background:var(--paper);isolation:isolate}.comparison-after,.comparison-before{position:absolute;inset:0}.comparison img{width:100%;height:100%;object-fit:cover}.comparison-before{clip-path:inset(0 calc(100% - var(--position)) 0 0)}.compare-label{position:absolute;top:16px;background:#071e36a6;backdrop-filter:blur(4px);color:white;padding:5px 11px;font-size:10px;letter-spacing:1.5px;pointer-events:none}.before-label{left:16px}.after-label{right:16px}.compare-line{position:absolute;left:var(--position);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}.compare-line>span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:43px;width:43px;border-radius:50%;background:white;box-shadow:0 2px 20px #0003;display:flex;align-items:center;justify-content:center;gap:5px;font:24px Arial;color:var(--navy)}.compare-line b{height:12px;width:1px;background:#b8c6d1}.comparison input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:ew-resize;margin:0;z-index:5}.comparison:focus-within{outline:3px solid var(--red);outline-offset:5px}.drag-hint{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);color:#fff;background:#071e36b5;padding:4px 11px;font-size:10px;white-space:nowrap;pointer-events:none}.project-copy{padding:23px 0 0}.card-label{font-size:10px;text-transform:uppercase;color:var(--red);letter-spacing:1.5px;font-weight:600;margin-bottom:12px}.project-copy h3{font-family:var(--heading);font-size:33px;font-weight:600;margin-bottom:13px}.project-copy>p:not(.card-label){font-size:13px;color:var(--muted);max-width:480px;margin-bottom:8px}.testimonials{position:relative;padding-block:70px;background:var(--deep);isolation:isolate}.testimonial-photo{position:absolute;inset:0;z-index:-1;overflow:hidden}.testimonial-photo img{height:100%;object-fit:cover;object-position:center 60%;filter:brightness(.6)}.testimonial-panel{width:min(660px,70%);background:var(--navy);padding:56px 54px;box-shadow:0 18px 45px #071e3630;color:#fff;margin-left:auto;border-left:3px solid var(--red)}.testimonial-panel h2{font-size:48px;line-height:1.02}.sample-label{font-size:9px;line-height:1.6;letter-spacing:1px;color:#d8e3ec;border-top:1px solid #ffffff26;padding-top:18px;margin-bottom:25px}.review-stage{min-height:208px}.review-slide>.icon{color:#f87894;width:30px;height:30px;margin-bottom:12px}.review-slide>p{font-size:22px;line-height:1.65;letter-spacing:-.4px;margin-bottom:20px}.review-slide>span{font-size:11px;color:#c0d1e2}.review-controls{display:flex;gap:10px;align-items:center;margin-top:26px}.review-dots{display:flex;gap:5px;margin-right:auto}.review-dots button{padding:0;width:26px;height:32px;position:relative}.review-dots button:after{content:'';width:18px;height:3px;left:4px;top:14px;background:#6b8aaa;position:absolute;transition:background .2s,width .2s}.review-dots button[aria-current=true]:after{background:#fff}.review-count{font-size:11px;margin-right:12px;color:#bbcede}.circle-button{border:1px solid #7894b0;display:grid;place-items:center;border-radius:50%;width:42px;height:42px;flex-shrink:0;transition:background .2s}.circle-button:hover{background:#ffffff15}.circle-button .icon{width:18px;height:18px}.prev-review .icon{transform:rotate(180deg)}.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.blog-image{width:100%;padding:0;display:block;height:240px;overflow:hidden}.blog-image img{height:100%;object-fit:cover;transition:transform .5s}.blog-image:hover img{transform:scale(1.04)}.blog-copy{padding-top:26px}.blog-copy h3{font-family:var(--heading);font-size:31px;line-height:1.1;margin-bottom:15px}.blog-copy h3 button{padding:0;text-align:left;font:inherit}.blog-copy h3 button:hover{color:var(--red)}.blog-copy>p:not(.card-label){font-size:13px;color:var(--muted);line-height:1.8}.contact{background:var(--navy);color:white;position:relative;isolation:isolate}.contact:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(130deg,transparent 52%,#ffffff04 52%,#ffffff04 70%,transparent 70%)}.contact-grid{display:grid;grid-template-columns:1fr 1.18fr;gap:75px;align-items:start}.contact-copy h2{font-size:clamp(46px,5.2vw,78px)}.contact-copy h2>span{color:#95b4d1}.contact-copy>p:not(.eyebrow){font-size:15px;line-height:1.9;color:#d0ddeb;max-width:380px}.contact-links{display:flex;flex-direction:column;gap:25px;margin-top:40px}.contact-links>a{display:flex;align-items:center;gap:16px;font-size:14px;overflow-wrap:anywhere}.contact-links>a>.icon{width:40px;height:40px;padding:10px;border:1px solid #557fa6}.contact-links span{display:flex;flex-direction:column;line-height:1.8}.contact-links small{font-size:9px;color:#a8c2db;letter-spacing:1.5px}.contact-links strong{font:600 32px var(--heading);letter-spacing:.5px}.contact-links a:hover{color:#b4d4f1}.service-area{display:flex;gap:15px;align-items:flex-start;padding-top:30px;border-top:1px solid #ffffff29;margin-top:37px;max-width:385px}.service-area>.icon{color:#fa839d}.service-area strong{font-size:13px}.service-area p{font-size:12px;color:#b4c9dd;line-height:1.8;margin-top:8px;margin-bottom:0}.form-card{background:white;color:var(--ink);padding:40px;box-shadow:0 20px 60px #071e3626}.form-heading{display:flex;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:25px;margin-bottom:26px}.form-icon{height:46px;width:46px;background:#fceef1;display:grid;place-items:center;color:var(--red);flex-shrink:0}.form-heading h3{font:600 30px/1.1 var(--heading);margin-bottom:6px}.form-heading p{font-size:12px;color:var(--muted);margin:0}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{min-width:0}.field.full{grid-column:1/-1}.field>label{display:block;font-size:11px;font-weight:600;margin-bottom:7px}.field>label>span:not(.upload-box span){color:var(--red)}.field input:not([type=file]),.field select,.field textarea{border:1px solid #d5dde5;border-radius:0;background:#fafbfd;width:100%;padding:12px 13px;color:var(--ink);font-size:13px;line-height:1.5;min-height:47px;transition:border-color .2s}.field input::placeholder,.field textarea::placeholder{color:#7a8793;opacity:1}.field textarea{resize:vertical;min-height:110px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--navy)}.field input:focus-visible,.field textarea:focus-visible,.field select:focus-visible{outline-offset:2px;outline-width:2px}.field input:user-invalid,.field textarea:user-invalid,.field select:user-invalid{border-color:var(--red)}.field label.upload-box{display:flex;gap:14px;align-items:center;position:relative;border:1px dashed #a8b8c5;cursor:pointer;padding:18px 15px;margin:0}.upload-box>.icon{color:var(--navy);height:24px;width:24px}.upload-box>span{display:flex;flex-direction:column;color:var(--ink)!important;line-height:1.8;font-weight:400}.upload-box strong{font-size:12px;font-weight:500}.upload-box small{font-size:10px;color:var(--muted)}.upload-box input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.upload-box:focus-within{outline:2px solid var(--red);outline-offset:3px}.file-status{font-size:11px;line-height:1.6;color:var(--muted);margin:8px 0 0;overflow-wrap:anywhere}.file-status:empty{display:none}.form-note{font-size:10px;line-height:1.7;color:var(--muted);margin:19px 0 14px}.submit-button{width:100%;justify-content:space-between;min-height:56px}.submit-button:disabled{opacity:.65;cursor:wait}.privacy-note{font-size:9px;color:var(--muted);line-height:1.7;text-align:center;margin-top:15px;margin-bottom:0}.privacy-note button{padding:0;text-decoration:underline;font:inherit}.form-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}#form-status{font-size:13px;margin-top:15px;line-height:1.7}#form-status:empty{margin:0}.email-actions{margin-top:15px;display:flex;flex-wrap:wrap;align-items:center;gap:15px}.email-actions .button{font-size:11px}.footer{background:var(--deep);color:#fff;padding-top:64px}.footer-top{display:grid;grid-template-columns:1.15fr .7fr 1.15fr 1.25fr;gap:45px;padding-bottom:52px}.footer-brand>a{display:flex;width:190px;height:117px;align-items:center;justify-content:center;margin-top:-15px;margin-left:-34px}.footer-brand img{width:190px;height:190px;object-fit:contain;max-width:none}.footer-brand>p{font-size:12px;color:#a7bdce;line-height:1.8;max-width:225px;margin-top:12px}.social-links{display:flex;gap:10px}.social-links button{height:35px;width:35px;display:grid;place-items:center;border:1px solid #34526d;border-radius:50%;transition:background .2s}.social-links button:hover{background:var(--red);border-color:var(--red)}.social-links .icon{height:15px;width:15px}.footer-column{display:flex;align-items:flex-start;flex-direction:column;gap:10px;padding-top:13px;font-size:11px;color:#b7c8d6}.footer-column h3{font:600 21px var(--heading);color:white;margin-bottom:15px}.footer-column a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}.footer-contact>a:not(.button),.footer-contact>span{display:flex;gap:10px;align-items:center;overflow-wrap:anywhere;max-width:100%}.footer-contact .icon{width:14px;height:14px}.footer-contact .button{min-height:44px;padding:12px 16px;font-size:10px;gap:20px;margin-top:15px;color:white}.footer-contact .button:hover{text-decoration:none}.footer-bottom{border-top:1px solid #ffffff1c;padding-block:21px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#a7bdce;gap:24px}.footer-bottom p{margin:0}.footer-bottom>div{display:flex;align-items:center;gap:25px}.footer-bottom button{padding:5px 0;font:inherit}.back-top{height:32px;width:32px;display:grid;place-items:center;border:1px solid #35516a}.back-top .icon{width:16px;height:16px}.mobile-actions{display:none}[hidden]{display:none!important}dialog{width:min(740px,calc(100% - 36px));max-height:calc(100dvh - 60px);border:0;padding:32px 40px;color:var(--ink);box-shadow:0 30px 90px #0005;overscroll-behavior:contain}dialog::backdrop{background:#031426bd;backdrop-filter:blur(5px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.dialog-top .eyebrow{margin:0;font-size:10px}.dialog-close{border-color:var(--line)}.dialog-close:hover{background:var(--paper)}#dialog-content h2{font-size:46px;line-height:1.03}#dialog-content h3{font-size:18px;margin-top:27px}#dialog-content p,#dialog-content li{font-size:14px;line-height:1.85;color:var(--muted)}#dialog-content img{max-height:330px;object-fit:cover;margin-bottom:25px}#dialog-content ul{padding-left:20px}#dialog-content .dialog-label{color:var(--red);font-size:10px;letter-spacing:1px;text-transform:uppercase}.article-list{display:grid;gap:10px}.article-list button{padding:18px;background:var(--paper);text-align:left;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:16px}.article-list button:hover{color:var(--red)}.noscript-note{padding:20px;text-align:center;background:#fff;color:var(--ink)}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(23px);transition:opacity .7s ease,transform .7s ease}.motion-ready .reveal.in-view{opacity:1;transform:translateY(0)}
@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.055)}}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gridShift{from{background-position:0 0}to{background-position:14px 14px}}
@media(min-width:1600px){.hero{padding-top:88px}.hero h1{font-size:110px}.hero-copy{max-width:810px}.hero-description{font-size:16px}.hero-bottom{margin-top:50px}.hero{min-height:860px}.section{padding-block:125px}.about{padding-block:140px}.hero-picture img{object-position:center 58%}.service-image{height:260px}.service-1 .service-image,.service-2 .service-image{height:340px}}
@media(max-width:1279px){:root{--gutter:40px;--header:96px}.nav-wrap nav{gap:18px}.nav-link{font-size:12px}.nav-wrap .button{font-size:10px;gap:12px;padding-inline:16px}.brand{width:145px;min-width:145px;height:96px;margin-left:-24px}.brand img{width:145px;height:145px}.hero{padding-top:64px}.hero h1{font-size:83px}.hero-caption{font-size:10px;letter-spacing:1px}.section-heading{gap:40px}.section-heading>p,.section-heading>div+div{max-width:320px}.about-grid{gap:50px}.about-art{min-height:590px}.about-main{height:385px}.about-small{height:236px}.about-copy h2{font-size:54px}.service-body{padding:25px 22px}.service-title h3{font-size:27px}.service-title>.icon{width:24px;height:24px}.why-grid{gap:35px 30px}.why-card{gap:14px}.contact-grid{gap:45px}.form-card{padding:30px}.footer-top{gap:25px;grid-template-columns:.9fr .6fr 1fr 1.2fr}.footer-contact{font-size:10px}.estimate-grid{gap:45px}.estimate h2{font-size:58px}.estimate-image{max-width:390px}.estimate .button{font-size:10px;gap:10px;padding-inline:15px}.process-timeline{gap:18px}}
@media(max-width:1099px){:root{--gutter:32px;--header:88px}.topbar-inner{gap:22px}.top-email{display:none!important}.nav-wrap{height:88px}.brand{height:88px;width:140px;min-width:140px}.brand img{width:140px;height:140px}.menu-toggle{display:flex;width:44px;height:44px;padding:12px 10px;background:var(--navy);flex-direction:column;justify-content:center;gap:5px;z-index:2}.menu-toggle span{height:2px;width:24px;background:white;transition:transform .25s,opacity .25s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-wrap nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;max-height:calc(100dvh - var(--header) - 78px);overflow:auto;padding:15px 32px 25px;box-shadow:0 14px 20px #071e361a;gap:0;align-items:stretch}.nav-wrap nav.is-open{display:flex;flex-direction:column}.nav-link{display:block;width:100%;text-align:left;font-size:14px;line-height:1.5;padding:14px 0;border-bottom:1px solid var(--line)}.nav-link:after{display:none}.nav-link.active{color:var(--red)}.nav-wrap .button{margin:18px 0 0;min-height:48px;font-size:12px;width:100%;justify-content:space-between}.services-toggle{display:flex;justify-content:space-between}.services-menu{position:static;width:100%;box-shadow:none;padding:12px 0;border:0;max-height:none}.services-menu>div{gap:0}.dropdown-label{display:none}.services-menu a{padding:13px 12px;background:var(--paper);font-size:12px;min-height:48px}.services-menu a>.icon:first-child{width:19px;height:19px}.hero{min-height:725px}.hero h1{font-size:80px}.hero-caption{display:none}.hero-copy{max-width:650px}.hero-bottom{gap:20px}.hero-bottom>span{font-size:10px;gap:6px}.hero-bottom .icon{height:15px;width:15px}.section{padding-block:88px}h2{font-size:55px}.about-grid{gap:40px;grid-template-columns:1fr 1fr}.about-art{min-height:550px}.about-main{width:80%;height:340px;border-radius:70px 0 0 0}.about-small{width:76%;height:218px;bottom:20px;right:-10px}.about-detail{width:28%;height:135px;bottom:20px}.protect-stamp{font-size:24px;padding:22px 17px;top:70px;right:-10px}.about-copy h2{font-size:48px}.about-copy>p:not(.eyebrow){font-size:13px;line-height:1.8}.about-copy p.lead{font-size:16px}.trust-panel{padding:23px 10px}.trust-panel>div{gap:12px}.trust-panel .icon{height:31px;width:31px}.trust-panel strong{font-size:14px}.trust-panel span{font-size:12px}.section-heading>p,.section-heading>div+div{max-width:285px}.services-grid{gap:22px}.service-image{height:205px}.service-1 .service-image,.service-2 .service-image{height:270px}.service-body{padding:23px 20px}.service-title{gap:9px}.service-title>.icon{width:21px;height:21px}.service-title h3{font-size:26px}.service-body p{font-size:12px}.service-6 .service-body{padding:30px}.why-grid{grid-template-columns:repeat(2,1fr);gap:35px 42px}.why h2{font-size:58px}.estimate-grid{grid-template-columns:1.2fr 1fr;gap:35px}.estimate h2{font-size:52px}.estimate-image:before{inset:-5%}.estimate-tag{font-size:10px;left:-15px;right:0;padding:16px 12px}.special-card{padding:27px}.process-timeline{gap:15px}.process-timeline h3{font-size:14px}.projects-grid{gap:36px 25px}.testimonial-panel{width:72%;padding:44px}.blog-grid{gap:23px}.blog-image{height:205px}.blog-copy h3{font-size:27px}.contact-grid{gap:35px;grid-template-columns:.85fr 1.15fr}.contact-copy h2{font-size:58px}.contact-links>a{font-size:12px;gap:11px}.contact-links>a>.icon{width:34px;height:34px;padding:8px}.form-card{padding:27px}.form-grid{gap:15px}.form-heading h3{font-size:27px}.footer-top{grid-template-columns:1fr 1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1;display:flex;align-items:center;gap:40px}.footer-brand>a{margin-top:0;width:170px;min-width:170px;height:90px}.footer-brand img{width:170px;height:170px}.footer-brand>p{margin:0;max-width:330px}.social-links{margin-left:auto}.footer-contact{font-size:11px}}
@media(max-width:767px){:root{--gutter:24px;--header:78px}body{padding-bottom:calc(66px + env(safe-area-inset-bottom))}.topbar-inner{min-height:32px;justify-content:space-between;gap:10px}.topbar{font-size:10px}.topbar .icon{width:12px;height:12px}.top-quote{display:none!important}.nav-wrap{height:78px}.brand{height:78px;width:130px;min-width:130px;margin-left:-23px}.brand img{width:130px;height:130px}.nav-wrap nav{padding-inline:24px;max-height:calc(100dvh - 145px)}.services-menu>div{grid-template-columns:1fr}.services-menu a{font-size:12px}.hero{padding-top:50px;min-height:790px}.hero-picture img{object-position:66% center;animation-duration:15s}.hero-shade{background:linear-gradient(90deg,#051b32df,#051b3282),linear-gradient(0deg,#041b32e6,transparent 65%)}.hero-copy{width:100%}.hero .eyebrow{font-size:9px;letter-spacing:1.3px;gap:9px;margin-bottom:22px}.hero .eyebrow>span{width:18px}.hero h1{font-size:clamp(60px,11.3vw,82px);line-height:.98;letter-spacing:-.008em;margin-bottom:25px}.hero-description{font-size:14px;line-height:1.85;max-width:440px}.hero-buttons{margin-top:25px;gap:10px;flex-wrap:wrap}.hero-buttons .button{min-height:52px;font-size:10px;letter-spacing:.5px;padding-inline:18px;gap:15px}.hero-phone{margin-top:24px}.hero-phone strong{font-size:15px}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px;margin-top:35px;padding-top:21px;padding-bottom:70px}.hero-bottom>span{font-size:10px}.hero-bottom .icon{height:16px;width:16px}.trust-wrap{margin-top:-42px}.trust-panel{grid-template-columns:repeat(2,1fr);padding:11px 20px}.trust-panel>div{justify-content:flex-start;gap:15px;padding:18px 6px;border-right:0}.trust-panel>div:nth-child(odd){border-right:1px solid var(--line)}.trust-panel>div:nth-child(even){padding-left:24px}.trust-panel>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.trust-panel .icon{width:29px;height:29px}.trust-panel strong{font-size:13px}.trust-panel span{font-size:11px}.section{padding-block:73px}.about{padding-top:78px}.about-grid{grid-template-columns:1fr;gap:46px}.about-art{min-height:520px;width:100%;max-width:530px;margin-inline:auto}.about-main{height:340px;width:73%;border-radius:70px 0 0 0}.about-small{height:220px;right:0;bottom:0;width:69%;border-width:7px}.about-detail{bottom:0;height:148px}.protect-stamp{right:0;top:52px;padding:24px;font-size:29px}.about-line{display:none}.about-copy h2{font-size:56px}.about-copy>p:not(.eyebrow){font-size:14px}.about-copy p.lead{font-size:17px}h2{font-size:53px}.eyebrow{font-size:10px;letter-spacing:1.8px;margin-bottom:20px}.section-heading{display:block;margin-bottom:33px}.section-heading>p,.section-heading>div+div{max-width:none;margin-top:23px;font-size:14px}.section-heading h2{font-size:53px}.section-heading>.button{margin-top:25px}.services-grid{grid-template-columns:1fr 1fr;gap:22px}.service-card{grid-column:span 1}.service-1,.service-2{grid-column:span 1}.service-image,.service-1 .service-image,.service-2 .service-image{height:195px}.service-6{display:block;background:white;color:var(--ink)}.service-6 .service-image{min-height:0;height:195px}.service-6 .service-body{padding:23px 20px}.service-6 .service-title h3{font-size:26px}.service-6 .service-body p{font-size:12px;color:var(--muted)}.service-6 .service-title>.icon{color:var(--red)}.service-body{padding:23px 20px}.service-title{display:block}.service-title>.icon{margin-bottom:13px;width:25px;height:25px}.service-title h3{font-size:29px}.service-body p{font-size:12px}.service-body .text-link{font-size:12px;gap:15px}.service-number{height:34px;width:34px;font-size:22px;top:12px;left:12px}.image-arrow{height:39px;width:39px}.image-arrow .icon{width:19px;height:19px}.service-note{display:block;text-align:center;font-size:12px;line-height:1.8;margin-top:27px}.service-note a{display:block}.why .section-heading>div+div{max-width:470px}.large-shield{display:none}.why-grid{margin-top:35px;gap:29px}.why-card{display:block;padding-top:20px}.point-number{display:block;margin-bottom:14px;font-size:27px}.why-card h3{font-size:16px}.why-card p{font-size:12px}.why-bottom{display:block;margin-top:34px;padding-top:23px}.why-bottom>span{display:block;font-size:11px;margin-bottom:10px}.estimate-grid{grid-template-columns:1fr;padding-block:55px;gap:65px}.estimate h2{font-size:57px}.estimate .button{font-size:10px;min-height:52px}.estimate-image{max-width:360px;width:80%;margin:0 auto 10px}.estimate-tag{font-size:10px;padding:15px;bottom:12px}.special-grid{grid-template-columns:1fr 1fr}.special-card{padding:28px 22px}.special-card h3{font-size:17px}.special-card p{font-size:12px}.special-card>.icon{margin-bottom:19px}.center-heading{text-align:left;margin-bottom:40px}.center-heading .eyebrow{justify-content:flex-start}.process-timeline{display:block;padding-left:0}.process-timeline:before,.process-timeline:after{top:0;bottom:0;left:23px;width:1px;height:auto;right:auto;transform-origin:top}.process-timeline:after{transform:scaleY(0)}.process-timeline.in-view:after{transform:scaleY(1)}.process-timeline li{padding-left:78px;padding-bottom:32px;min-height:108px}.process-timeline li:last-child{padding-bottom:0}.step-number{position:absolute;left:0;top:0;width:47px;height:47px;margin:0}.process-timeline h3{font-size:17px;padding-top:1px;margin-bottom:9px}.process-timeline p{font-size:13px;max-width:460px}.projects-grid{grid-template-columns:1fr;gap:35px}.project-card:nth-child(2),.project-card:nth-child(4){margin-top:0}.comparison{aspect-ratio:1.4}.project-copy h3{font-size:33px}.image-disclosure{max-width:450px}.testimonials{padding-block:55px}.testimonial-panel{width:100%;padding:35px 30px}.testimonial-panel h2{font-size:45px}.review-slide>p{font-size:21px}.review-stage{min-height:210px}.sample-label{font-size:8px}.review-controls{margin-top:15px}.blog-grid{grid-template-columns:1fr;gap:35px}.blog-card{display:grid;grid-template-columns:1fr 1fr;gap:23px}.blog-image{height:230px}.blog-copy{padding:0}.blog-copy h3{font-size:29px}.blog-copy>p:not(.card-label){font-size:12px;margin-bottom:12px}.blog-copy .card-label{font-size:9px;letter-spacing:1px}.blog-copy .text-link{font-size:12px;gap:20px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-copy h2{font-size:64px}.contact-copy>p:not(.eyebrow){max-width:500px}.contact-links{gap:23px;margin-top:29px}.contact-links>a{font-size:14px}.contact-links small{font-size:10px}.contact-links>a>.icon{height:42px;width:42px;padding:10px}.service-area{max-width:none;margin-top:29px;padding-top:25px}.form-card{padding:32px}.form-heading h3{font-size:31px}.form-grid{gap:19px}.field>label{font-size:12px}.field input:not([type=file]),.field select,.field textarea{font-size:16px;min-height:49px;padding:11px}.form-note{font-size:11px}.privacy-note{font-size:10px}.upload-box small{font-size:10px}.footer{padding-top:48px}.footer-top{grid-template-columns:1fr 1fr;gap:28px;padding-bottom:35px}.footer-brand{grid-column:1/-1;gap:20px;flex-wrap:wrap;position:relative}.footer-brand>a{width:150px;min-width:150px;height:86px;margin-left:-28px}.footer-brand img{width:150px;height:150px}.footer-brand>p{max-width:270px;font-size:12px;flex:1}.social-links{margin-left:0;width:100%}.footer-column{font-size:12px}.footer-contact{grid-column:1/-1;font-size:12px;padding-top:5px}.footer-contact h3{margin-bottom:8px}.footer-contact .button{margin-top:10px;min-height:46px}.footer-bottom{display:block;font-size:10px;padding-block:21px}.footer-bottom>div{margin-top:16px;justify-content:flex-start;gap:24px}.back-top{margin-left:auto}.mobile-actions{position:fixed;bottom:0;left:0;right:0;background:#fff;display:grid;grid-template-columns:1fr 1fr 1.2fr;z-index:55;border-top:1px solid var(--line);box-shadow:0 -5px 20px #071e360c;padding-bottom:env(safe-area-inset-bottom);height:calc(66px + env(safe-area-inset-bottom))}.mobile-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;border-right:1px solid var(--line)}.mobile-actions .icon{height:19px;width:19px}.mobile-actions>a:last-child{background:var(--red);color:white;border:0}.mobile-actions>a:hover{background:var(--paper);color:var(--navy)}.mobile-actions>a:last-child:hover{background:var(--red-dark);color:white}dialog{padding:25px;max-height:calc(100dvh - 40px)}#dialog-content h2{font-size:39px}.dialog-top .eyebrow{font-size:8px;letter-spacing:1px}.motion-ready .reveal{transform:translateY(14px)}}
@media(max-width:479px){:root{--gutter:22px}.hero{padding-top:43px;min-height:790px}.hero h1{font-size:clamp(55px,13.8vw,64px)}.hero .eyebrow{font-size:8px;letter-spacing:.9px}.hero-description{font-size:13px;line-height:1.9}.hero-buttons{display:grid;grid-template-columns:1fr;gap:10px;max-width:320px}.hero-buttons .button{justify-content:space-between;min-height:50px;padding-inline:19px;font-size:11px}.hero-phone{margin-top:24px}.hero-bottom{margin-top:28px;font-size:9px;gap:15px 8px}.hero-bottom>span{font-size:9px;gap:6px}.hero-bottom .icon{height:14px;width:14px}.trust-panel{padding:10px 13px}.trust-panel>div{gap:11px;padding-block:16px}.trust-panel>div:nth-child(even){padding-left:17px}.trust-panel .icon{height:25px;width:25px}.trust-panel strong{font-size:12px}.trust-panel span{font-size:10px}.about-art{min-height:430px}.about-main{height:290px;width:78%}.about-small{height:177px;width:70%}.about-detail{height:117px;width:28%}.protect-stamp{font-size:25px;padding:21px 17px;top:56px}.about-grid{gap:38px}.about-copy h2,h2,.section-heading h2{font-size:48px}.about-copy p.lead{font-size:16px}.section{padding-block:64px}.services-grid{grid-template-columns:1fr;gap:26px}.service-card{grid-column:auto}.service-image,.service-1 .service-image,.service-2 .service-image,.service-6 .service-image{height:235px}.service-body,.service-6 .service-body{padding:25px}.service-title{display:flex;gap:13px}.service-title h3,.service-6 .service-title h3{font-size:32px}.service-title>.icon{margin:2px 0 0;width:27px;height:27px}.service-body p,.service-6 .service-body p{font-size:13px}.service-body .text-link{font-size:13px;gap:30px}.service-number{height:40px;width:40px;font-size:25px;left:15px;top:15px}.image-arrow{height:45px;width:45px}.why-grid{grid-template-columns:1fr;gap:25px}.why-card{display:flex;gap:20px;padding-top:24px}.why-card h3{font-size:17px}.why-card p{font-size:13px}.point-number{margin:0}.why .section-heading h2{font-size:48px}.estimate h2{font-size:49px}.estimate .button-row{display:grid;grid-template-columns:1fr;max-width:320px}.estimate .button{font-size:11px;justify-content:space-between;padding-inline:20px}.estimate-copy p:not(.eyebrow){font-size:13px}.estimate-image{width:78%}.estimate-tag{left:-15px;right:-15px;font-size:9px;letter-spacing:.5px}.special-grid{grid-template-columns:1fr}.special-card{position:relative;padding:26px 22px 26px 79px}.special-card>.icon{position:absolute;left:23px;top:28px;height:32px;width:32px}.special-card h3{font-size:17px}.special-card p{font-size:13px}.process-timeline li{padding-left:70px}.comparison{aspect-ratio:1.2}.project-copy h3{font-size:32px}.testimonial-panel{padding:30px 24px}.testimonial-panel h2{font-size:40px}.sample-label{font-size:8px;letter-spacing:.6px}.review-slide>p{font-size:19px}.review-stage{min-height:230px}.review-slide>span{font-size:10px}.review-count{margin-right:3px}.review-controls{gap:8px}.circle-button{height:40px;width:40px}.blog-card{display:block}.blog-image{height:240px}.blog-copy{padding-top:23px}.blog-copy h3{font-size:33px}.blog-copy>p:not(.card-label){font-size:13px}.blog-copy .card-label{font-size:10px}.contact-copy h2{font-size:56px}.contact-copy>p:not(.eyebrow){font-size:14px}.contact-links>a{font-size:12px}.form-card{padding:25px 21px}.form-heading{gap:11px}.form-heading h3{font-size:28px}.form-heading p{font-size:10px}.form-icon{height:38px;width:38px}.form-grid{grid-template-columns:1fr;gap:16px}.field.full{grid-column:auto}.upload-box small{font-size:9px}.field label.upload-box{padding:15px 11px;gap:10px}.submit-button{font-size:10px;letter-spacing:.5px;padding-inline:17px;gap:10px}.footer-brand{gap:10px}.footer-brand>p{font-size:11px}.footer-top{gap:25px 19px}.footer-column{font-size:11px}.footer-column h3{font-size:21px}.footer-contact{font-size:12px}.mobile-actions>a{font-size:9px;gap:6px}.mobile-actions .icon{height:17px;width:17px}.dialog-top{gap:8px}#dialog-content h2{font-size:36px}.article-list button{font-size:14px}.text-link{min-height:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal{opacity:1;transform:none}.hero-picture img{transform:none}.process-timeline:after{transform:none}.parallax img{transform:none!important}}
/* Readability pass: regular reading text stays comfortably sized across devices. */
.hero-description,.about-copy>p:not(.eyebrow),.section-heading>p,.section-heading>div+div,.service-body p,.service-6 .service-body p,.why-card p,.estimate p:not(.eyebrow),.special-card p,.process-timeline p,.project-copy>p:not(.card-label),.blog-copy>p:not(.card-label),.contact-copy>p:not(.eyebrow),#dialog-content p,#dialog-content li{font-size:16px;line-height:1.8}
.nav-link{font-size:14px}.service-body .text-link,.text-link,.service-note,.field>label,.form-heading p{font-size:14px}.why-card h3,.process-timeline h3{font-size:18px}.footer-column,.footer-contact{font-size:13px}.footer-brand>p{font-size:14px}.form-note,.file-status{font-size:12px}.privacy-note{font-size:11px}.image-disclosure{font-size:12px!important}.sample-label{font-size:10px}.card-label{font-size:12px}.blog-copy .card-label{font-size:12px}.blog-copy .text-link{font-size:14px}.footer-contact{overflow-wrap:anywhere}.footer-contact>a span{min-width:0}.contact-grid>*,.section-heading>*,.footer-top>*,.services-grid>*,.blog-grid>*,.projects-grid>*{min-width:0}
@media(min-width:1100px) and (max-width:1279px){.nav-wrap nav{gap:17px}.nav-wrap .button{gap:10px;padding-inline:13px}.nav-link{font-size:13px}}
@media(max-width:767px){.hero{min-height:820px}.hero-description{font-size:15px}.about-copy>p:not(.eyebrow){font-size:16px}.contact-links>a{font-size:14px}.blog-card{display:block}.blog-copy{padding-top:23px}.blog-image{height:auto;aspect-ratio:1.5}.testimonial-panel h2{overflow-wrap:normal}.footer-brand>p{font-size:13px}.upload-box small{font-size:11px}.field label.upload-box{align-items:flex-start}.upload-box>span{min-width:0}.contact-links small{font-size:11px}.topbar .icon{width:13px;height:13px}.topbar{font-size:11px}.mobile-actions>a{font-size:11px}}
@media(max-width:479px){.hero{padding-top:42px}.hero h1{font-size:clamp(53px,13.8vw,62px)}.hero-description{font-size:15px}.contact-copy h2{font-size:clamp(46px,13vw,56px)}.about-copy h2,h2,.section-heading h2,.why .section-heading h2{font-size:clamp(43px,11.8vw,49px)}.estimate h2{font-size:clamp(43px,11.8vw,49px)}.footer-brand>p{font-size:12px}.footer-column{font-size:12px}.footer-contact{font-size:13px}.privacy-note{font-size:11px}.submit-button{font-size:11px}.sample-label{font-size:10px;line-height:1.7}.review-stage{min-height:250px}.review-slide>span{font-size:12px}.topbar{font-size:10px}.mobile-actions>a{font-size:10px}.form-heading p{font-size:12px}.form-heading h3{font-size:27px}}
@media(max-width:479px){.hero h1{font-size:clamp(47px,12.6vw,55px)}}

.estimate-image img{object-position:85% center}
@media(max-width:767px){.hero-description{font-size:16px}}


/* ===== BRONCO 2.0 — ADVANCED DYNAMIC HERO ===== */
.hero-slider{--mx:0px;--my:0px;min-height:790px;padding-top:0;display:flex;flex-direction:column;justify-content:flex-end;background:#071e36;outline:none}
.hero-slides{position:absolute;inset:0;z-index:-1}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;clip-path:inset(0 0 0 100%);transition:clip-path .64s cubic-bezier(.77,0,.18,1),opacity .24s ease,visibility .64s;display:flex;flex-direction:column;justify-content:center;padding:70px 0 185px;will-change:clip-path}
.hero-slide.is-active{opacity:1;visibility:visible;clip-path:inset(0);z-index:2}
.hero-slide.is-prev{clip-path:inset(0 100% 0 0);opacity:1;visibility:visible;z-index:1}
.hero-slide.is-next{clip-path:inset(0 0 0 100%);opacity:1;visibility:visible;z-index:3}
.hero-slide .hero-picture,.hero-slide .hero-shade,.hero-slide .hero-grid,.hero-slide .hero-light{position:absolute;inset:0;z-index:-1}
.hero-slide .hero-picture{overflow:hidden;contain:paint}.hero-slide .hero-picture img,.hero-slide .hero-grid,.hero-orbit{backface-visibility:hidden;will-change:transform}
.hero-slide .hero-picture img{height:100%;width:100%;object-fit:cover;object-position:center 55%;transform:scale(1.09) translate3d(calc(var(--mx) * -.18),calc(var(--my) * -.18),0);transition:transform 5.8s cubic-bezier(.18,.7,.22,1);animation:none}
.hero-slide.is-active .hero-picture img{transform:scale(1.02) translate3d(calc(var(--mx) * -.18),calc(var(--my) * -.18),0)}
.hero-slide .hero-shade{background:linear-gradient(90deg,rgba(3,19,36,.96) 0%,rgba(3,19,36,.85) 31%,rgba(3,19,36,.47) 60%,rgba(3,19,36,.12) 100%),linear-gradient(0deg,rgba(3,19,36,.82),transparent 45%)}
.hero-slide .hero-grid{left:auto;width:34%;opacity:.18;background:linear-gradient(90deg,transparent 99%,#fff 99%) 0 0/130px 100%;border-left:1px solid #fff;transform:translateX(calc(var(--mx) * .35))}
.hero-light{pointer-events:none;background:radial-gradient(circle at calc(76% + var(--mx)) calc(42% + var(--my)),rgba(255,255,255,.18),transparent 20%);mix-blend-mode:screen;opacity:.6}
.hero-slider:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(105deg,transparent 44%,rgba(255,255,255,.045) 50%,transparent 56%);transform:translateX(-120%);animation:heroSweep 6.4s .8s ease-in-out infinite}
.hero-slider .hero-inner{width:min(100% - var(--gutter)*2,1360px);margin:auto;position:relative;display:flex;justify-content:space-between;align-items:flex-end}
.hero-slider .hero-copy{max-width:810px;position:relative;z-index:3}
.hero-slider .hero-kicker,.hero-slider .hero-description,.hero-slider .hero-buttons,.hero-slider .hero-phone,.hero-slider .hero-caption{opacity:0;transform:translateY(24px);transition:opacity .38s ease,transform .48s cubic-bezier(.2,.75,.25,1)}
.hero-slider .hero-line{display:block;overflow:hidden;line-height:.94;padding-bottom:.05em}
.hero-slider .hero-line>span{display:block;transform:translateY(112%) rotate(1.2deg);transform-origin:left bottom;transition:transform .56s cubic-bezier(.2,.8,.2,1)}
.hero-slider .hero-line:nth-child(2)>span{transition-delay:.045s}.hero-slider .hero-line:nth-child(3)>span{transition-delay:.09s}
.hero-slider .hero-slide.is-active .hero-line>span{transform:translateY(0) rotate(0)}
.hero-slider .hero-slide.is-active .hero-kicker{opacity:1;transform:none;transition-delay:.11s}
.hero-slider .hero-slide.is-active .hero-description{opacity:1;transform:none;transition-delay:.18s}
.hero-slider .hero-slide.is-active .hero-buttons{opacity:1;transform:none;transition-delay:.24s}
.hero-slider .hero-slide.is-active .hero-phone{opacity:1;transform:none;transition-delay:.29s}
.hero-slider .hero-slide.is-active .hero-caption{opacity:1;transform:none;transition-delay:.33s}
.hero-slider h1{font-size:clamp(66px,6.6vw,104px);margin:0 0 27px;animation:none}.hero-slider h1 .accent>span{color:#f4486d}
.hero-slider .hero-description{max-width:585px;font-size:16px;line-height:1.85}
.hero-orbit{position:absolute;right:-110px;top:50%;width:480px;height:480px;border:1px solid rgba(255,255,255,.1);border-radius:50%;z-index:3;pointer-events:none;transform:translate3d(calc(var(--mx)*.55),calc(-50% + var(--my)*.55),0)}
.hero-orbit:before,.hero-orbit:after,.hero-orbit span{content:'';position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
.hero-orbit:before{inset:58px}.hero-orbit:after{inset:120px}.hero-orbit span:first-child{width:10px;height:10px;background:var(--red);border:0;left:76px;top:67px;box-shadow:0 0 0 9px rgba(202,36,75,.13)}
.hero-orbit span:last-child{width:6px;height:6px;background:#fff;border:0;right:95px;bottom:80px;opacity:.8}
.hero-controls{position:relative;z-index:8;display:grid;grid-template-columns:auto minmax(130px,270px) 1fr auto;align-items:center;gap:24px;color:#fff;margin-top:auto;margin-bottom:18px}
.hero-counter{display:flex;align-items:baseline;gap:7px;font-size:11px;color:#aebdca;letter-spacing:1px}.hero-counter strong{font:600 28px var(--heading);color:#fff}.hero-progress{height:2px;background:rgba(255,255,255,.18);overflow:hidden}.hero-progress span{display:block;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left}
.hero-dots{display:flex;align-items:center;gap:10px}.hero-dots button{width:22px;height:22px;position:relative}.hero-dots button:before{content:'';position:absolute;left:3px;right:3px;top:10px;height:2px;background:#fff;opacity:.3;transition:opacity .25s,transform .25s}.hero-dots button.is-active:before{opacity:1;background:var(--red);transform:scaleX(1.4)}
.hero-arrows{display:flex}.hero-arrows button{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;color:#fff;transition:background .2s,border .2s}.hero-arrows button:hover{background:var(--red);border-color:var(--red)}.hero-arrows .hero-prev .icon{transform:rotate(180deg)}.hero-arrows .icon{width:18px;height:18px}
.hero-slider .hero-bottom{position:relative;z-index:7;width:min(100% - var(--gutter)*2,1360px);margin:0 auto;padding:18px 0 30px;border-top:1px solid rgba(255,255,255,.22)}
@keyframes heroSweep{0%,66%{transform:translateX(-120%)}82%,100%{transform:translateX(120%)}}
@media(max-width:1099px){.hero-slider{min-height:760px}.hero-slide{padding:58px 0 185px}.hero-slider h1{font-size:clamp(64px,8.5vw,82px)}.hero-orbit{opacity:.5;right:-230px}.hero-controls{grid-template-columns:auto 1fr auto;gap:16px}.hero-dots{display:none}.hero-progress{min-width:100px}.hero-slider .hero-bottom{gap:12px}}
@media(max-width:767px){.hero-slider{min-height:780px}.hero-slide{padding:46px 0 170px}.hero-slider .hero-inner{align-items:flex-start}.hero-slider h1{font-size:clamp(51px,12.9vw,67px)}.hero-slider .hero-description{font-size:15px;line-height:1.72}.hero-slider .hero-buttons{display:grid;grid-template-columns:1fr;max-width:335px}.hero-slider .hero-buttons .button{justify-content:space-between}.hero-orbit{display:none}.hero-controls{margin-bottom:12px;grid-template-columns:auto 1fr auto}.hero-counter strong{font-size:24px}.hero-arrows button{width:43px;height:43px}.hero-slider .hero-bottom{display:grid;grid-template-columns:1fr 1fr;padding-bottom:26px}.hero-slider .hero-phone{margin-top:18px}.hero-slider .hero-caption{display:none}}
@media(max-width:479px){.hero-slider{min-height:800px}.hero-slide{padding-top:38px}.hero-slider h1{font-size:clamp(46px,12.4vw,57px)}.hero-slider .hero-description{font-size:14px}.hero-controls{gap:10px}.hero-progress{min-width:55px}.hero-arrows button{width:40px;height:40px}.hero-slider .hero-bottom>span{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-slider:after{display:none}.hero-slide{transition:none}.hero-slide:not(.is-active){display:none}.hero-slider .hero-line>span,.hero-slider .hero-kicker,.hero-slider .hero-description,.hero-slider .hero-buttons,.hero-slider .hero-phone,.hero-slider .hero-caption{transition:none!important;transform:none!important;opacity:1!important}.hero-slide .hero-picture img{transform:none!important}.hero-progress span{display:none}}
.hero-slider .hero-kicker,.hero-slider .hero-description,.hero-slider .hero-buttons,.hero-slider .hero-phone,.hero-slider .hero-caption{animation:none!important}


/* ===== BRONCO 3.0 — PREMIUM ROLLOVER & MICRO-INTERACTION SYSTEM ===== */
:root{--premium-ease:cubic-bezier(.16,1,.3,1);--premium-fast:.32s;--premium-mid:.55s;--premium-glow:0 20px 55px rgba(7,30,54,.14)}

/* Pointer-following surface light, activated by JS on fine-pointer devices. */
.premium-surface{--spot-x:50%;--spot-y:50%;position:relative}
.premium-surface:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at var(--spot-x) var(--spot-y),rgba(202,36,75,.115),transparent 34%);opacity:0;transition:opacity .4s ease;z-index:0}
.premium-surface:hover:before,.premium-surface:focus-within:before{opacity:1}

/* Buttons: soft sheen + magnetic micro movement. */
.button{position:relative;overflow:hidden;isolation:isolate;--mag-x:0px;--mag-y:0px;transition:background var(--premium-fast),color var(--premium-fast),border-color var(--premium-fast),box-shadow var(--premium-fast),transform var(--premium-fast) var(--premium-ease)}
.button:before{content:'';position:absolute;top:-30%;bottom:-30%;left:-44%;width:30%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:skewX(-18deg);transition:left .72s var(--premium-ease);pointer-events:none;z-index:-1}
.button:hover:before,.button:focus-visible:before{left:118%}
.button.premium-magnetic{transform:translate3d(var(--mag-x),var(--mag-y),0)}
.button.premium-magnetic:hover{transform:translate3d(var(--mag-x),calc(var(--mag-y) - 3px),0)}
.button.primary:hover{box-shadow:0 15px 38px rgba(202,36,75,.3)}
.button.navy:hover{box-shadow:0 15px 38px rgba(0,51,106,.24)}
.button.white:hover{color:var(--red);box-shadow:0 15px 38px rgba(7,30,54,.18)}

/* Navigation gets clearer premium feedback without changing layout. */
.nav-link{transition:color .28s ease,transform .28s var(--premium-ease)}
.nav-link:hover{color:var(--red);transform:translateY(-1px)}
.nav-link:after{transition:transform .38s var(--premium-ease),background .28s ease}
.services-menu a{position:relative;overflow:hidden;transition:background .3s,color .3s,padding .3s var(--premium-ease)}
.services-menu a:before{content:'';position:absolute;left:0;top:18%;bottom:18%;width:2px;background:var(--red);transform:scaleY(0);transition:transform .35s var(--premium-ease)}
.services-menu a .icon{transition:transform .3s var(--premium-ease),color .3s}
.services-menu a:hover{background:linear-gradient(90deg,#fff0f3,#f5f8fa);color:var(--navy);padding-left:17px}
.services-menu a:hover:before{transform:scaleY(1)}
.services-menu a:hover .icon:last-child{transform:translateX(5px);color:var(--red)}
.all-services-link{transition:color .3s,background .3s,padding .3s var(--premium-ease)}
.all-services-link:hover{color:var(--red)}

/* Trust strip */
.trust-panel>div{position:relative;transition:background .35s ease,transform .35s var(--premium-ease)}
.trust-panel>div .icon{transition:transform .42s var(--premium-ease),color .3s}
.trust-panel>div strong{transition:color .3s}
.trust-panel>div:hover{background:#f7f9fb;transform:translateY(-3px)}
.trust-panel>div:hover .icon{transform:translateY(-4px) scale(1.08);color:var(--navy)}
.trust-panel>div:hover strong{color:var(--red)}

/* About image choreography */
.about-main img,.about-small img,.about-detail img{transition:transform .85s var(--premium-ease),filter .55s ease}
.about-art:hover .about-main img{transform:scale(1.045)}
.about-art:hover .about-small img{transform:scale(1.055)}
.about-art:hover .about-detail img{transform:scale(1.07)}
.protect-stamp{transition:transform .45s var(--premium-ease),background .35s,box-shadow .35s}
.about-art:hover .protect-stamp{transform:translate(-5px,-7px);background:var(--navy);box-shadow:13px 13px 0 #fff}

/* Service cards */
.service-card{position:relative;overflow:hidden;transition:transform .45s var(--premium-ease),box-shadow .45s ease,background .35s}
.service-card:not(.service-6) .service-body{transition:background .42s ease,color .35s}
.service-card .service-title h3,.service-card .service-title>.icon,.service-card .image-arrow,.service-card .service-number,.service-card .text-link{transition:color .35s,background .35s,transform .42s var(--premium-ease),border-color .35s}
.service-card:hover{transform:translateY(-9px);box-shadow:0 26px 65px rgba(7,30,54,.13)}
.service-card:not(.service-6):hover .service-body{background:linear-gradient(145deg,#fff 30%,#f8edf1 120%)}
.service-card:not(.service-6):hover .service-title h3{color:var(--red)}
.service-card:hover .service-title>.icon{transform:translateY(-3px) rotate(-5deg) scale(1.08)}
.service-card:hover .image-arrow{background:var(--navy);transform:translate(-5px,-5px)}
.service-card:hover .service-number{background:var(--red);border-color:var(--red);transform:scale(1.06)}
.service-card:hover .service-image img{transform:scale(1.065)}
.service-6:hover{background:#002a58}
.service-6:hover .service-title h3{color:#fff}

/* Dark Why section */
.why-card{position:relative;transition:transform .4s var(--premium-ease),border-color .35s,background .35s;padding-left:0}
.why-card .point-number,.why-card h3{transition:color .32s,transform .4s var(--premium-ease)}
.why-card:hover{transform:translateX(7px);border-color:rgba(244,72,109,.7);background:linear-gradient(90deg,rgba(202,36,75,.12),transparent 78%)}
.why-card:hover .point-number{transform:scale(1.12);color:#fff}
.why-card:hover h3{color:#f77b96}

/* Estimate / visual callout */
.estimate-image:before{transition:transform .7s var(--premium-ease),background .45s}
.estimate-image img{transition:transform .8s var(--premium-ease),filter .5s}
.estimate-image:hover:before{transform:scale(1.045);background:var(--deep)}
.estimate-image:hover img{transform:scale(1.025)}
.estimate-tag{transition:transform .4s var(--premium-ease),box-shadow .4s,color .3s}
.estimate-image:hover .estimate-tag{transform:translateY(-7px);box-shadow:0 18px 42px rgba(7,30,54,.2);color:var(--red)}

/* Specialist cards use a stronger colour rollover. */
.special-card{position:relative;transition:background .42s ease,color .35s,transform .42s var(--premium-ease),box-shadow .42s}
.special-card h3,.special-card p,.special-card>.icon{transition:color .35s,transform .42s var(--premium-ease)}
.special-card:hover{background:var(--navy);color:#fff;transform:translateY(-6px);box-shadow:0 20px 42px rgba(7,30,54,.13);z-index:2}
.special-card:hover>.icon{color:#f46b89;transform:translateY(-7px) rotate(-5deg) scale(1.08)}
.special-card:hover h3{color:#fff}
.special-card:hover p{color:#ccdae5}

/* Process steps */
.process-timeline li{transition:transform .4s var(--premium-ease)}
.process-timeline h3{transition:color .3s,transform .35s var(--premium-ease)}
.process-timeline p{transition:color .3s}
.process-timeline li:hover{transform:translateY(-7px)}
.process-timeline li:hover h3{color:var(--red);transform:translateX(2px)}
.process-timeline li:hover p{color:var(--ink)}
.process-timeline li:hover .step-number{transform:rotate(-4deg) scale(1.08);box-shadow:0 9px 22px rgba(202,36,75,.18)}

/* Project comparisons / knowledge cards */
.project-card{transition:transform .42s var(--premium-ease)}
.project-card:hover{transform:translateY(-6px)}
.comparison{transition:box-shadow .45s ease,transform .6s var(--premium-ease)}
.project-card:hover .comparison{box-shadow:0 25px 58px rgba(7,30,54,.16);transform:scale(1.008)}
.project-copy h3,.project-copy h2,.blog-copy h3{transition:color .3s,transform .35s var(--premium-ease)}
.project-card:hover .project-copy h3,.project-card:hover .project-copy h2{color:var(--red)}
.blog-card{transition:transform .42s var(--premium-ease)}
.blog-card:hover{transform:translateY(-7px)}
.blog-image{transition:box-shadow .42s ease}
.blog-card:hover .blog-image{box-shadow:0 22px 48px rgba(7,30,54,.14)}
.blog-card:hover .blog-image img{transform:scale(1.07)}
.blog-card:hover .blog-copy h3{color:var(--red);transform:translateX(3px)}

/* Contact and forms */
.contact-links>a{transition:color .32s,transform .38s var(--premium-ease)}
.contact-links>a>.icon{transition:background .35s,border-color .35s,color .35s,transform .4s var(--premium-ease)}
.contact-links>a strong{transition:color .3s}
.contact-links>a:hover{transform:translateX(7px);color:#fff}
.contact-links>a:hover>.icon{background:var(--red);border-color:var(--red);transform:rotate(-5deg) scale(1.08)}
.contact-links>a:hover strong{color:#f98aa2}
.form-card,.quote-page-form{transition:transform .42s var(--premium-ease),box-shadow .42s ease}
.form-card:hover,.quote-page-form:hover{transform:translateY(-5px);box-shadow:0 30px 78px rgba(7,30,54,.16)}
.field input:not([type=file]),.field select,.field textarea{transition:border-color .25s,background .3s,box-shadow .3s,transform .25s}
.field input:not([type=file]):hover,.field select:hover,.field textarea:hover{border-color:#a9bac8;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{background:#fff;box-shadow:0 0 0 4px rgba(0,51,106,.07);transform:translateY(-1px)}
.upload-box{transition:border-color .3s,background .3s,transform .35s var(--premium-ease)}
.upload-box:hover{border-color:var(--red)!important;background:#fff6f8;transform:translateY(-2px)}

/* Footer */
.footer-column>a:not(.button),.footer-contact>a:not(.button){transition:color .3s,transform .32s var(--premium-ease)}
.footer-column>a:not(.button):hover,.footer-contact>a:not(.button):hover{color:#fff;transform:translateX(5px)}
.social-links button{transition:background .3s,border-color .3s,color .3s,transform .38s var(--premium-ease),box-shadow .3s}
.social-links button:hover{background:var(--red);border-color:var(--red);transform:translateY(-4px) rotate(-5deg);box-shadow:0 10px 24px rgba(202,36,75,.24)}
.back-top{transition:background .3s,color .3s,transform .38s var(--premium-ease)}
.back-top:hover{background:var(--red);color:#fff;transform:translateY(-5px)}

/* Small links get a more polished arrow movement. */
.text-link .icon{transition:transform .35s var(--premium-ease),color .3s}
.text-link:hover .icon{transform:translate(4px,-3px);color:var(--red)}
.eyebrow>span:not(.eyebrow){transform-origin:left;transition:transform .55s var(--premium-ease),width .55s var(--premium-ease)}
.reveal.in-view .eyebrow>span:not(.eyebrow),.section:hover .eyebrow>span:not(.eyebrow){transform:scaleX(1.25)}

@media(hover:none),(pointer:coarse){
  .premium-surface:before{display:none}
  .button.premium-magnetic,.button.premium-magnetic:hover{transform:none}
  .service-card:hover,.special-card:hover,.blog-card:hover,.project-card:hover,.why-card:hover,.process-timeline li:hover,.trust-panel>div:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  .button,.nav-link,.services-menu a,.trust-panel>div,.about-main img,.about-small img,.about-detail img,.protect-stamp,.service-card,.special-card,.why-card,.process-timeline li,.project-card,.blog-card,.contact-links>a,.form-card,.quote-page-form,.social-links button,.back-top{transition-duration:.01ms!important}
  .button:hover,.button.premium-magnetic,.button.premium-magnetic:hover,.trust-panel>div:hover,.service-card:hover,.special-card:hover,.why-card:hover,.process-timeline li:hover,.project-card:hover,.blog-card:hover,.contact-links>a:hover,.form-card:hover,.quote-page-form:hover,.social-links button:hover,.back-top:hover{transform:none!important}
  .button:before,.premium-surface:before{display:none!important}
}

/* BRONCO horse cursor — using the uploaded white horse icon, scaled down for a smaller cursor. */
@media (hover:hover) and (pointer:fine){
  html,
  body{
    cursor:url('../images/ui/bronco-horse-cursor-small.png') 16 3, default;
  }
  a,
  button,
  [role='button'],
  summary,
  label[for],
  select,
  input[type='button'],
  input[type='submit'],
  input[type='reset'],
  input[type='checkbox'],
  input[type='radio'],
  input[type='file']{
    cursor:url('../images/ui/bronco-horse-cursor-small.png') 16 3, pointer!important;
  }
  input:not([type='button']):not([type='submit']):not([type='reset']):not([type='checkbox']):not([type='radio']):not([type='file']),
  textarea,
  [contenteditable='true']{
    cursor:text;
  }
  button:disabled,
  input:disabled,
  select:disabled,
  [aria-disabled='true']{
    cursor:not-allowed!important;
  }
}

/* ============================================================
   BRONCO PREMIUM HEADER — floating medallion logo treatment
   Keeps the supplied logo artwork untouched; only its placement,
   scale and surrounding header presentation are changed.
   ============================================================ */
:root{--header:88px}
.site-header{
  position:sticky;
  top:0;
  z-index:80;
  background:rgba(255,255,255,.985);
  border-bottom:1px solid rgba(7,30,54,.075);
  box-shadow:0 1px 0 rgba(255,255,255,.75);
  transition:box-shadow .35s ease,background-color .35s ease,border-color .35s ease;
  overflow:visible;
}
.site-header::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(202,36,75,.15) 18%,rgba(0,51,106,.14) 48%,transparent 86%);
}
.site-header.scrolled{
  background:rgba(255,255,255,.97);
  border-bottom-color:rgba(7,30,54,.1);
  box-shadow:0 12px 34px rgba(7,30,54,.11);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.nav-wrap{
  height:var(--header);
  gap:24px;
  position:relative;
  overflow:visible;
}
.nav-wrap nav{margin-left:auto}

/* The link itself becomes the medallion plate. The large image size is
   intentional because the original PNG contains generous transparent space. */
.brand{
  position:relative;
  z-index:85;
  width:120px;
  min-width:120px;
  height:120px;
  margin-left:0;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translateY(12px);
  box-shadow:
    0 14px 34px rgba(7,30,54,.16),
    0 3px 8px rgba(7,30,54,.08),
    inset 0 0 0 1px rgba(0,51,106,.08);
  transition:width .38s cubic-bezier(.22,.61,.36,1),
             min-width .38s cubic-bezier(.22,.61,.36,1),
             height .38s cubic-bezier(.22,.61,.36,1),
             transform .32s ease,
             box-shadow .32s ease;
}
.brand::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  border:1px solid rgba(0,51,106,.18);
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.92);
  pointer-events:none;
  transition:border-color .3s ease,transform .35s ease;
}
.brand::after{
  content:"";
  position:absolute;
  width:34px;
  height:3px;
  left:50%;
  bottom:7px;
  transform:translateX(-50%);
  border-radius:999px;
  background:linear-gradient(90deg,var(--navy) 0 48%,var(--red) 48% 100%);
  opacity:.82;
  pointer-events:none;
  transition:width .3s ease,opacity .3s ease;
}
.brand img{
  width:196px;
  height:196px;
  max-width:none;
  object-fit:contain;
  pointer-events:none;
  filter:drop-shadow(0 2px 1px rgba(7,30,54,.03));
  transition:width .38s cubic-bezier(.22,.61,.36,1),height .38s cubic-bezier(.22,.61,.36,1),transform .35s ease;
}
.site-header.scrolled .brand{
  width:100px;
  min-width:100px;
  height:100px;
  transform:translateY(5px);
  box-shadow:0 10px 28px rgba(7,30,54,.14),0 2px 7px rgba(7,30,54,.07),inset 0 0 0 1px rgba(0,51,106,.08);
}
.site-header.scrolled .brand img{width:170px;height:170px}
.site-header.scrolled .brand::after{width:27px;bottom:6px}

/* Give the navigation a little more visual breathing room around the badge. */
@media(min-width:1280px){
  .nav-wrap nav{gap:25px}
  .nav-wrap .button{margin-left:10px}
}

/* Compact desktop / small laptop. */
@media(min-width:1100px) and (max-width:1279px){
  :root{--header:84px}
  .nav-wrap{height:var(--header);gap:18px}
  .brand{width:104px;min-width:104px;height:104px;transform:translateY(10px)}
  .brand img{width:180px;height:180px}
  .brand::after{bottom:6px;width:29px}
  .nav-wrap nav{gap:15px}
  .nav-link{font-size:13px}
  .nav-wrap .button{margin-left:4px}
  .site-header.scrolled .brand{width:92px;min-width:92px;height:92px;transform:translateY(4px)}
  .site-header.scrolled .brand img{width:158px;height:158px}
}

/* Tablet: keep the badge, but stop it competing with the menu control. */
@media(max-width:1099px){
  :root{--header:82px}
  .nav-wrap{height:var(--header);gap:18px}
  .brand,
  .site-header.scrolled .brand{
    width:88px;
    min-width:88px;
    height:88px;
    margin-left:0;
    transform:translateY(4px);
    box-shadow:0 8px 22px rgba(7,30,54,.13),inset 0 0 0 1px rgba(0,51,106,.08);
  }
  .brand img,
  .site-header.scrolled .brand img{width:150px;height:150px}
  .brand::before{inset:5px}
  .brand::after{width:24px;height:2px;bottom:5px}
  .menu-toggle{margin-left:auto}
  .nav-wrap nav{margin-left:0;top:100%}
}

/* Mobile: clean, contained medallion with no dramatic overlap. */
@media(max-width:767px){
  :root{--header:76px}
  .nav-wrap{height:var(--header)}
  .brand,
  .site-header.scrolled .brand{
    width:72px;
    min-width:72px;
    height:72px;
    transform:translateY(1px);
    box-shadow:0 5px 16px rgba(7,30,54,.11),inset 0 0 0 1px rgba(0,51,106,.075);
  }
  .brand img,
  .site-header.scrolled .brand img{width:124px;height:124px}
  .brand::before{inset:4px}
  .brand::after{width:20px;bottom:4px;height:2px}
  .menu-toggle{width:42px;height:42px}
  .nav-wrap nav{max-height:calc(100dvh - var(--header) - 44px)}
}

@media(max-width:479px){
  .brand,
  .site-header.scrolled .brand{width:68px;min-width:68px;height:68px}
  .brand img,
  .site-header.scrolled .brand img{width:118px;height:118px}
}

@media(prefers-reduced-motion:reduce){
  .brand,.brand img,.brand::before,.brand::after{transition:none!important}
}

/* Keep the primary homepage slider description as a deliberate two-line statement on desktop. */
@media (min-width:1100px){
  .hero-slider .hero-description-two-line{max-width:810px}
  .hero-slider .hero-description-two-line>span{display:block;white-space:nowrap}
}
@media (max-width:1099px){
  .hero-slider .hero-description-two-line>span{display:inline;white-space:normal}
  .hero-slider .hero-description-two-line>span+span:before{content:' '}
}

/* Slider spacing refinement after removing the inline call block. */
.hero-slider .hero-description{margin-bottom:0}
.hero-slider .hero-buttons{margin-top:26px;margin-bottom:0}
@media(max-width:767px){.hero-slider .hero-buttons{margin-top:22px}}

/* Header refinement: contact details right-aligned, quote CTA removed from header,
   and the medallion logo increased slightly. */
.topbar-inner{justify-content:flex-end}

/* Slightly larger brand medallion without changing the header architecture. */
.brand{width:128px;min-width:128px;height:128px}
.brand img{width:208px;height:208px}
.site-header.scrolled .brand{width:106px;min-width:106px;height:106px}
.site-header.scrolled .brand img{width:180px;height:180px}

@media(min-width:1100px) and (max-width:1279px){
  .brand{width:110px;min-width:110px;height:110px}
  .brand img{width:188px;height:188px}
  .site-header.scrolled .brand{width:96px;min-width:96px;height:96px}
  .site-header.scrolled .brand img{width:164px;height:164px}
}
@media(max-width:1099px){
  .brand,.site-header.scrolled .brand{width:92px;min-width:92px;height:92px}
  .brand img,.site-header.scrolled .brand img{width:158px;height:158px}
  .topbar-inner{justify-content:flex-end}
}
@media(max-width:767px){
  .brand,.site-header.scrolled .brand{width:76px;min-width:76px;height:76px}
  .brand img,.site-header.scrolled .brand img{width:130px;height:130px}
  .topbar-inner{justify-content:flex-end}
}
@media(max-width:479px){
  .brand,.site-header.scrolled .brand{width:72px;min-width:72px;height:72px}
  .brand img,.site-header.scrolled .brand img{width:124px;height:124px}
}

/* ===== PREMIUM TRUST STRIP ROLLOVER — branded reveal ===== */
.trust-panel>div{isolation:isolate;overflow:hidden}
.trust-panel>div>.icon,.trust-panel>div>span{position:relative;z-index:2}

@media (hover:hover) and (pointer:fine){
  .trust-panel>div{
    min-height:92px;
    padding:14px 24px;
    margin:-8px 0;
    transition:transform .48s var(--premium-ease),box-shadow .42s ease,border-color .32s ease,background .32s ease;
  }
  .trust-panel>div:after{
    content:'';
    position:absolute;
    inset:0;
    z-index:1;
    background:linear-gradient(135deg,var(--navy) 0%,var(--deep) 100%);
    box-shadow:inset 0 3px 0 var(--red);
    transform:translateY(104%);
    transition:transform .52s var(--premium-ease);
    pointer-events:none;
  }
  .trust-panel>div .icon{
    width:46px;
    height:46px;
    padding:10px;
    border-radius:50%;
    color:var(--red);
    background:rgba(202,36,75,.075);
    border:1px solid rgba(202,36,75,.16);
    transition:transform .48s var(--premium-ease),color .3s ease,background .3s ease,border-color .3s ease,box-shadow .35s ease;
  }
  .trust-panel>div span{
    transition:color .34s ease,transform .48s var(--premium-ease);
  }
  .trust-panel>div strong{
    display:inline-block;
    transition:color .34s ease,transform .48s var(--premium-ease);
  }
  .trust-panel>div:hover{
    background:transparent;
    transform:translateY(-7px);
    box-shadow:0 18px 38px rgba(7,30,54,.18);
    border-right-color:transparent;
  }
  .trust-panel>div:hover:after{transform:translateY(0)}
  .trust-panel>div:hover .icon{
    color:#fff;
    background:var(--red);
    border-color:rgba(255,255,255,.22);
    transform:translateY(-2px) rotate(-6deg) scale(1.06);
    box-shadow:0 10px 24px rgba(202,36,75,.34);
  }
  .trust-panel>div:hover span{
    color:#c9d8e7;
    transform:translateX(4px);
  }
  .trust-panel>div:hover strong{
    color:#fff;
    transform:translateX(2px);
  }
}

@media (prefers-reduced-motion:reduce){
  .trust-panel>div:after,.trust-panel>div .icon,.trust-panel>div span,.trust-panel>div strong{transition:none!important}
  .trust-panel>div:hover .icon,.trust-panel>div:hover span,.trust-panel>div:hover strong{transform:none!important}
}

/* Requested logo cleanup: remove the small blue/red accent line only. */
.brand::after{display:none!important;}

/* Desktop sticky-header logo visibility fix: keep the floating medallion fully inside
   the viewport when the header reaches the top during upward scrolling. */
@media (min-width:1280px){
  .site-header.scrolled .brand{transform:translateY(10px)}
}
@media (min-width:1100px) and (max-width:1279px){
  .site-header.scrolled .brand{transform:translateY(7px)}
}
.social-links a{height:35px;width:35px;display:grid;place-items:center;border:1px solid #34526d;border-radius:50%;transition:background .2s,border-color .2s}.social-links a:hover{background:var(--red);border-color:var(--red)}.social-links a .icon{height:15px;width:15px}.bronco-lightbox{width:min(1100px,94vw);max-width:none;border:0;background:#061d35;color:#fff;padding:18px;overflow:visible}.bronco-lightbox::backdrop{background:#020b14df;backdrop-filter:blur(5px)}.bronco-lightbox figure{margin:0}.bronco-lightbox img{max-height:78vh;width:100%;object-fit:contain;background:#031426}.bronco-lightbox figcaption{text-align:center;padding:10px;font-size:12px}.bronco-lightbox-close,.bronco-lightbox-prev,.bronco-lightbox-next{position:absolute;z-index:2;width:44px;height:44px;border-radius:50%;background:#fff;color:#071e36;font-size:30px;display:grid;place-items:center}.bronco-lightbox-close{right:10px;top:10px}.bronco-lightbox-prev{left:10px;top:50%}.bronco-lightbox-next{right:10px;top:50%}.bronco-project-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.bronco-project-gallery a{display:block;aspect-ratio:4/3;overflow:hidden}.bronco-project-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .35s}.bronco-project-gallery a:hover img{transform:scale(1.04)}@media(max-width:700px){.bronco-project-gallery{grid-template-columns:repeat(2,1fr)}}
