:root{--ink:#12263f;--navy:#082b49;--blue:#075a9e;--blue-dark:#053b6c;--sky:#eaf6ff;--line:#dbe7f1;--paper:#fff;--radius:6px;--container:1350px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font:400 14px/1.62 Poppins,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:hover{color:var(--blue)}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #f5ac2c;outline-offset:3px}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,p{margin:0 0 .8em}
h1,h2,h3{line-height:1.2}
h2{font-size:clamp(23px,2.45vw,32px)}
.wrap{width:min(100% - 10.8%,var(--container));margin-inline:auto}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}
.eyebrow{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.34em;margin-bottom:10px;text-transform:uppercase}
.button{display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:12px 24px;border:1px solid var(--blue);border-radius:5px;color:#fff;background:linear-gradient(120deg,#0968b3,#063d70);box-shadow:0 5px 12px #07538b26;font-weight:600;white-space:nowrap;transition:background-color .15s,transform .15s,box-shadow .15s}
.button:hover{color:#fff;background:#043b6a;box-shadow:0 8px 17px #073c6a35;transform:translateY(-1px)}
.button:active{transform:translateY(1px)}
.button-light,.button-white{background:#fff;color:var(--blue-dark);box-shadow:none}
.button-light:hover,.button-white:hover{background:#eaf5ff;color:var(--blue-dark)}
.button-white{border-color:#fff}
/* Header */
.site-header{position:relative;z-index:30;background:#fff}
.topbar{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{display:flex;align-items:center;color:#102b4b;font-size:30px;line-height:1;font-weight:800;letter-spacing:.01em;white-space:nowrap}
.brand:hover{color:#102b4b}
.brand-mark{width:44px;height:31px;display:inline-block;margin-right:10px;background:linear-gradient(120deg,transparent 20%,#0874bc 21% 31%,transparent 32% 42%,#0874bc 43% 54%,transparent 55% 66%,#0874bc 67% 77%,transparent 78%);clip-path:polygon(35% 0,64% 0,100% 95%,0 95%);font-size:0}
.brand small{display:block;text-align:center;color:var(--blue);font-size:8px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
.top-info{display:flex;gap:28px}
.top-info>span{color:var(--blue);font-size:20px;line-height:1.1;min-width:130px}
.top-info b,.top-info small{display:block;margin-left:27px;color:var(--ink);font-size:12px;letter-spacing:-.02em}
.top-info small{font-size:10px;font-weight:400;margin-top:3px}
.menu-toggle{display:none;background:none;border:0;color:var(--navy);font-size:28px}
.nav{background:linear-gradient(100deg,#075089,#071f39);color:#fff}
.nav-inner{display:flex;align-items:center;min-height:45px}
.menu-level{padding:0;margin:0;list-style:none}
.menu-root{display:flex;align-items:center;gap:28px}
.menu-item{position:relative;display:flex;align-items:center}
.menu-item>a{display:block;padding:11px 0;color:#fff;font-size:13px;font-weight:500}
.menu-item>a:hover,.menu-item>a[aria-current=page]{color:#fff;text-decoration:underline;text-underline-offset:5px}
.submenu-toggle{border:0;background:transparent;color:inherit;font-size:19px;line-height:1;padding:7px 8px}
.submenu{display:none;position:absolute;top:100%;left:0;min-width:225px;padding:7px 15px;background:var(--navy);box-shadow:0 12px 28px #08264255;z-index:50}
.submenu .submenu{top:0;left:100%}
.submenu .menu-item{justify-content:space-between}
.submenu .menu-item>a{padding:9px 0}
.menu-item:hover>.submenu,.menu-item:focus-within>.submenu,.menu-item.is-expanded>.submenu{display:block}
.nav-search{margin-left:auto;color:#fff;font-size:25px;line-height:1}
.nav-search:hover{color:#d3ebff}
/* Hero */
.hero{height:clamp(420px,34vw,510px);position:relative;overflow:hidden;background:#dff1fc url('/assets/img/hero.webp') center 49%/cover no-repeat}
.hero-photo{display:none}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#effaffde 0%,#e6f6ffd0 28%,#eaf7ff18 49%,transparent 64%)}
.hero-inner{position:relative;z-index:2;padding-top:clamp(42px,4vw,62px)}
.hero h1{max-width:580px;margin-bottom:9px;font-size:clamp(38px,4vw,58px);font-weight:800;letter-spacing:-.035em;line-height:1.08}
.hero p{max-width:500px;font-size:14px;line-height:1.55}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 30px}
.hero-perks{display:flex;align-items:center;gap:18px}
.hero-perks span{display:flex;align-items:center;gap:8px;min-width:82px}
.hero-perks svg{width:31px;height:31px;flex:none;fill:none;stroke:#0a3052;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
.hero-perks b{font-size:11px;line-height:1.25}
.hero-script{position:absolute;right:4%;bottom:65px;z-index:2;color:#fff;font:italic clamp(19px,2vw,27px)/1.3 Georgia,serif;text-align:center;text-shadow:0 2px 7px #132337a6;transform:rotate(-7deg)}
/* Product cards */
.products{padding-block:20px}
.product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px}
.product-card,.blog-card,.listing-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 5px 16px #09294c08;transition:box-shadow .15s,transform .15s}
.product-card:hover,.blog-card:hover,.listing-card:hover{box-shadow:0 8px 22px #0a346024;transform:translateY(-2px)}
.product-card img{width:100%;aspect-ratio:1.45;object-fit:cover}
.card-copy{display:block;position:relative;padding:10px 12px 12px}
.card-copy strong,.card-copy small{display:block}
.card-copy strong{font-size:13px}
.card-copy small{font-size:10px}
.card-copy i{position:absolute;right:9px;top:12px;width:22px;height:22px;border-radius:50%;background:var(--blue);color:#fff;text-align:center;font:normal 14px/22px Arial}
/* About */
.about{display:grid;grid-template-columns:37% 42% 21%;min-height:300px;max-width:1500px;margin:auto}
.about-image{position:relative;min-height:290px}
.about-image img{width:100%;height:100%;object-fit:cover}
.about-image>span{position:absolute;right:15px;top:15px;padding:10px 17px;border-radius:5px;background:#0868b4;color:#fff;text-align:center;font-weight:600;line-height:1.4}
.about-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:25px 8%}
.about-copy h2{max-width:530px;margin-bottom:10px}
.about-copy p{font-size:12px;max-width:550px}
.about-copy .button{margin-top:7px}
.stats{display:grid;gap:8px;margin:20px 12% 20px 0;padding:15px 18px;border-radius:4px;background:linear-gradient(115deg,#f8fcff,#e9f4ff)}
.stats div{display:grid;grid-template-columns:34px 1fr;gap:0 5px;align-items:center}
.stats div>span{grid-row:1/3;font-size:27px;line-height:1.4;color:var(--blue-dark)}
.stats b{font-size:18px;line-height:1.1}
.stats small{font-size:10px;line-height:1.3}
/* CTA, projects and process */
.cta{padding:18px 0;background:linear-gradient(100deg,#0a416e,#1167ad);color:#fff}
.cta-inner{display:flex;align-items:center;gap:22px}
.cta-icon{font-size:43px;line-height:1}
.cta h2{font-size:21px;margin-bottom:0}
.cta p{font-size:12px;margin:0}
.cta .button{margin-left:auto}
.section{padding-block:30px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:13px}
.section-heading h2{margin:0}
.section-heading>a{white-space:nowrap;font-size:12px;font-weight:500}
.project-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.project-grid a{overflow:hidden;border-radius:4px}
.project-grid img{width:100%;aspect-ratio:1.9;object-fit:cover;transition:transform .18s}
.project-grid a:hover img{transform:scale(1.025)}
.project-grid span{display:block;padding-top:5px;color:#26445f;font-size:12px;font-weight:600}
.process{padding:26px 0;background:#eff7ff}
.process-inner{display:flex;justify-content:space-between;align-items:center;gap:18px}
.process h2{margin:0}
.step{min-width:125px;min-height:43px}
.step span{float:left;min-width:43px;margin-right:8px;padding:13px 6px;border-radius:50%;background:var(--blue);color:#fff;text-align:center;font-size:11px;font-weight:700}
.step b,.step small{display:block}
.step b{font-size:12px}.step small{font-size:10px;line-height:1.25}
/* Testimonial and quote */
.split{display:grid;grid-template-columns:58% 42%;min-height:345px}
.testimonial{padding:44px max(8%,calc((100vw - 1350px)/2));background:linear-gradient(90deg,#08263fed,#082b4e76),url('/assets/img/testimonial.webp') center/cover;color:#fff}
.testimonial .eyebrow{color:#d8ebfb}
.testimonial h2{max-width:400px}
.testimonial p{max-width:410px;font-size:12px}
.testimonial a{font-weight:600;text-decoration:underline}
.quick-quote{position:relative;min-width:0;overflow:hidden;padding:27px 30% 24px 5%;background:#f7fbff}
.quote-content{position:relative;z-index:2}
.quick-quote .consultant{position:absolute;right:-3%;bottom:-18%;width:40%;max-height:120%;object-fit:contain;object-position:bottom;z-index:1;pointer-events:none}
.quick-quote .eyebrow{font-size:10px}
.quick-quote h2{font-size:25px;margin-bottom:2px}
.quick-quote p{font-size:11px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.quick-quote label,.form-page label{display:block;font-size:11px}
.quick-quote input:not([type=checkbox]),.quick-quote select,.form-page input:not([type=checkbox]),.form-page select,.form-page textarea,.search-form input{width:100%;padding:8px 9px;border:1px solid #d5e3f2;border-radius:4px;background:#fff;color:var(--ink)}
.quick-quote input:not([type=checkbox]),.quick-quote select{padding:7px 9px;font-size:11px}
.quick-quote .button{width:100%;margin-top:9px;padding:10px;font-size:11px}
.consent{margin-top:9px;line-height:1.35}.consent a{text-decoration:underline}
.help-note{position:absolute;right:1%;bottom:10%;z-index:3;display:flex;align-items:center;gap:6px;color:#0b4b86;font-size:10px;font-weight:700;line-height:1.25}
.help-note span{font-size:28px}
/* Blog and footer */
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.blog-card{display:flex;min-height:112px}
.blog-card img{width:34%;object-fit:cover}
.blog-card>div{display:flex;flex-direction:column;gap:5px;padding:9px}
.blog-card strong{font-size:11px;line-height:1.35}
.blog-card small{font-size:9px}
.blog-card span{margin-top:auto;color:var(--blue);font-size:10px;font-weight:600}
.benefits{display:flex;justify-content:space-between;gap:15px;padding-block:19px;border-top:1px solid #e9f0f7;color:#0a4176;font-size:11px;font-weight:600}
.benefits i{font-size:20px;font-style:normal;margin-right:5px}
.footer{background:linear-gradient(115deg,#0c3555,#0a263e);color:#fff}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:35px;padding-block:32px}
.footer-grid h3{font-size:13px}.footer-grid a{display:block;color:#fff;font-size:11px}.footer-grid a:hover{text-decoration:underline}.footer-grid p{max-width:300px;font-size:11px}
.footer-brand{font-size:27px!important;font-weight:800}
.footer-bottom{display:flex;justify-content:space-between;gap:10px;padding-block:12px;border-top:1px solid #ffffff30;font-size:10px}
.footer-bottom a{margin-left:11px}
/* Inner pages */
.page-head{padding:45px 0;background:linear-gradient(100deg,#e9f5ff,#f6fbff)}
.page-head h1{font-size:clamp(30px,4vw,48px);margin-bottom:8px}
.breadcrumbs{font-size:12px;color:#45627c}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.breadcrumbs span{margin:0 7px}
.listing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.listing-card img{width:100%;aspect-ratio:1.5;object-fit:cover}
.listing-card>div{padding:16px}.listing-card h2{font-size:20px}.listing-card span{color:var(--blue);font-weight:600}
.detail{padding-block:35px;max-width:1100px}.detail-main{max-width:900px;margin:auto}
.detail-image{width:100%;max-height:520px;object-fit:cover}.detail-gallery{display:flex;gap:10px;overflow-x:auto;margin:14px 0 24px}.detail-gallery a{flex:0 0 150px}.detail-gallery img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:4px}
.lead{font-size:19px}.rich-content{line-height:1.8;overflow-wrap:anywhere}.rich-content img{max-width:100%;height:auto}.rich-content table{display:block;max-width:100%;overflow-x:auto}
.detail-spec{padding:20px 0;border-top:1px solid var(--line)}.detail-spec h2{font-size:21px}
.detail-cta{margin-top:30px;padding:25px;border-left:4px solid var(--blue);border-radius:4px;background:#edf7ff}.detail-cta h2{font-size:22px}
.form-page{max-width:700px;padding-block:35px}.form-page form{display:grid;gap:14px}.notice{padding:12px;background:#e4f9e9}.notice.error{background:#fff0ee}
.search-form{display:flex;gap:10px;margin-bottom:20px}
.faq-list{max-width:950px;padding-block:45px}.faq-list details{margin-bottom:10px;padding:14px 18px;border:1px solid var(--line);border-radius:6px}.faq-list details[open]{border-color:#6eb2e1;box-shadow:0 8px 22px #0c487212}.faq-list summary{font-size:17px;font-weight:600;cursor:pointer}.faq-list .rich-content{padding:13px 0 0}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding-block:40px}.gallery-grid a{overflow:hidden;border-radius:6px;background:#f5faff}.gallery-grid img{width:100%;aspect-ratio:1.5;object-fit:cover}.gallery-grid span{display:block;padding:10px 14px;font-weight:600}
@media(max-width:1100px){.top-info{gap:12px}.top-info>span:nth-child(2){display:none}.about{grid-template-columns:40% 60%}.stats{grid-column:1/-1;grid-template-columns:repeat(4,1fr);margin:0;padding:20px 6%}.stats div{display:block}.process-inner{flex-wrap:wrap}.process-inner>div:first-child{width:100%}.quick-quote{padding-right:24%}.quick-quote .consultant{opacity:.3}}
@media(max-width:800px){.topbar>.button{display:none}.top-info{gap:7px}.menu-root{gap:15px}.menu-item>a{font-size:11px}.project-grid{grid-template-columns:repeat(2,1fr)}.blog-grid{grid-template-columns:1fr}.quick-quote .form-grid{grid-template-columns:1fr}.quick-quote .consultant{display:none}.quick-quote{padding-right:7%}.help-note{display:none}}
@media(max-width:700px){.wrap{width:88%}.topbar{min-height:65px}.brand{font-size:23px}.brand-mark{width:34px;height:27px}.brand small{font-size:6px}.top-info{display:none}.menu-toggle{display:block}.nav{display:none}.nav.is-open{display:block}.nav-inner{display:block;padding-block:7px}.menu-root{display:block}.menu-item{flex-wrap:wrap;justify-content:space-between;border-bottom:1px solid #ffffff2b}.menu-item>a{flex:1;padding:10px 0;font-size:14px}.submenu-toggle{min-width:44px;min-height:44px}.submenu,.submenu .submenu{position:static;display:none;min-width:100%;width:100%;padding:0 0 0 15px;background:#082b4b;box-shadow:none}.menu-item:hover>.submenu{display:none}.menu-item.is-expanded>.submenu,.menu-item:focus-within>.submenu{display:block}.nav-search{display:block;margin:0;padding:10px 0}.hero{height:auto;min-height:620px;background-position:60% top;background-size:auto 350px;background-color:var(--sky)}.hero::after{background:linear-gradient(0deg,var(--sky) 0%,var(--sky) 47%,#eaf6ff26 76%)}.hero-inner{padding-top:240px;padding-bottom:30px}.hero h1{font-size:34px}.hero p{font-size:12px}.hero-script{display:none}.actions{margin:18px 0}.actions .button{font-size:11px;padding:10px 12px}.hero-perks{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.products{overflow:hidden}.product-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-6.8%;padding-inline:6.8%;padding-bottom:12px}.product-card{flex:0 0 70%;scroll-snap-align:start}.about{display:block}.about-image{height:245px;min-height:0}.about-copy{padding:27px 6%}.stats{grid-template-columns:repeat(2,1fr);gap:18px}.cta-inner{flex-wrap:wrap}.cta .button{margin:0}.section-heading{align-items:start}.section-heading>a{font-size:10px}.project-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin-inline:-6.8%;padding-inline:6.8%}.project-grid>a{flex:0 0 76%;scroll-snap-align:start}.step{width:45%}.split{display:block}.testimonial{padding:35px 6%}.quick-quote{padding:30px 6%}.quick-quote .consultant{display:block;width:30%;right:-5%;bottom:0;opacity:.12}.quote-content{max-width:none}.quick-quote .form-grid{grid-template-columns:repeat(2,1fr)}.benefits{display:grid;grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr);gap:18px}.footer-bottom{display:block}.footer-bottom a{margin:0 10px 0 0}.listing-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:9px}.gallery-grid span{padding:7px;font-size:12px}}
@media(max-width:420px){.quick-quote .form-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:1fr}.button{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.pagination{display:flex;gap:7px;margin-top:28px}.pagination a{padding:6px 12px;border:1px solid var(--line);border-radius:4px}.pagination a[aria-current=page]{background:var(--blue);border-color:var(--blue);color:#fff}
.maintenance{min-height:60vh;padding-block:12vh}.maintenance h1{font-size:clamp(32px,5vw,60px)}
.testimonial-standalone .testimonial{min-height:280px}.quote-standalone .quick-quote{min-height:340px;padding-left:max(6%,calc((100vw - 1350px)/2));padding-right:28%}.quote-standalone .quote-content{max-width:650px}.quote-standalone .consultant{width:23%;right:7%;bottom:-20%}@media(max-width:700px){.quote-standalone .quick-quote{padding:30px 6%}.quote-standalone .consultant{width:30%;right:-4%}}
