:root{--blue:#1b75bc;--blue-700:#165f99;--blue-900:#0e4470;--blue-soft:#e8f1f9;--green:#41ad49;--green-700:#35913c;--green-soft:#ebf6ec;--yellow:#ffe15e;--grey:#808285;--ink:#333436;--muted:#6b6d70;--line:#d9dada;--bg:#ffffff;--bg-soft:#f4f6f7;--charcoal:#2d2e30;--radius:8px;--shadow:0 1px 2px rgba(30,40,50,.06),0 8px 24px rgba(30,40,50,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Open Sans",system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}a{color:var(--blue)}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.5vw,3.1rem);font-weight:800}h2{font-size:clamp(1.55rem,3vw,2.15rem);color:var(--blue)}h3{font-size:1.12rem}
p{margin:0 0 1em}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}


/* Header */
.site-header{position:sticky;top:0;z-index:10;background:#fffffff5;backdrop-filter:blur(6px);border-bottom:1px solid var(--line)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:78px}
.brand{display:flex;align-items:center;text-decoration:none}
.brand .logo{width:168px;height:auto}
.main-nav{display:flex;align-items:center;gap:20px}
.main-nav a{white-space:nowrap;color:var(--ink);text-decoration:none;font-size:.94rem;font-weight:600}
.main-nav a[aria-current=page],.main-nav a:hover{color:var(--blue)}
.main-nav a.btn{color:#fff}
.menu-toggle,.menu-button{display:none}

/* Buttons */
.btn{display:inline-block;background:var(--green);color:#fff!important;padding:12px 24px;border-radius:4px;text-decoration:none;font-weight:600;border:2px solid var(--green);cursor:pointer;font-family:inherit;font-size:1rem;line-height:1.3}
.btn:hover{background:var(--green-700);border-color:var(--green-700)}
.btn-small{padding:8px 18px}
.btn-ghost{background:transparent;color:var(--green-700)!important}
.btn-ghost:hover{background:var(--green-soft)}
.btn-light{background:#fff;color:var(--blue-700)!important;border-color:#fff}
.btn-light:hover{background:var(--blue-soft);border-color:var(--blue-soft)}
.btn-outline-light{background:transparent;border-color:#ffffffb3}
.btn-outline-light:hover{background:#ffffff1a;border-color:#fff}

/* Headings helpers */
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:700;color:var(--grey)}
.bar{display:block;width:64px;height:4px;background:var(--grey);border:0;margin:14px 0 24px}
.center{text-align:center}.center .bar{margin-left:auto;margin-right:auto}

/* Home hero */
.hero{position:relative;background:linear-gradient(150deg,var(--blue) 0%,var(--blue-700) 55%,var(--blue-900) 100%);color:#fff;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto -10% -1px -10%;height:60px;background:radial-gradient(ellipse at 50% 100%,#ffffff14,transparent 70%)}
.hero .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;padding-top:84px;padding-bottom:88px}
.hero .eyebrow{color:var(--yellow)}
.hero h1{color:#fff}
.hero p.lead{font-size:1.15rem;color:#e3eef8;max-width:34em}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.hero-phone{margin-top:22px;font-size:.98rem;color:#cfe1f1}.hero-phone a{color:#fff;font-weight:700;text-decoration:none}
.emblem{justify-self:center;width:100%;max-width:380px;aspect-ratio:1;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:0 30px 60px rgba(5,30,60,.35),0 0 0 14px #ffffff1f,0 0 0 30px #ffffff0f}
.emblem img{width:78%;height:auto;animation:float 7s ease-in-out infinite}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.emblem img{animation:none}}

/* Trust strip */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust ul{list-style:none;margin:0;padding:22px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.trust li{display:flex;align-items:center;gap:12px;font-size:.95rem;color:var(--muted);line-height:1.35}
.trust b{display:block;color:var(--ink);font-size:1.02rem}
.trust .dot{flex:none;width:12px;height:12px;border-radius:50%}
.dot.g{background:var(--green)}.dot.b{background:var(--blue)}.dot.y{background:#f2c418}.dot.k{background:var(--grey)}

/* Inner page hero */
.page-hero{background:linear-gradient(150deg,var(--blue),var(--blue-700));color:#fff}
.page-hero .wrap{padding-top:58px;padding-bottom:52px}
.page-hero h1{color:#fff}
.page-hero .eyebrow{color:var(--yellow)}
.page-hero p.lead{font-size:1.12rem;color:#e3eef8;max-width:44em}

/* Sections */
section.block{padding:80px 0}
section.alt{background:var(--bg-soft)}
section.band{background:var(--blue);color:#fff}
section.band h2{color:#fff}section.band .eyebrow{color:#cfe1f1}section.band .bar{background:#fff}
section.band p{color:#e8f1f9}

.grid{display:grid;gap:22px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);text-decoration:none;color:inherit;display:block}
a.card{transition:border-color .15s,transform .15s}a.card:hover{border-color:var(--blue);transform:translateY(-2px)}
.card .icon{width:46px;height:46px;border-radius:10px;background:var(--blue-soft);display:grid;place-items:center;margin-bottom:14px}
.card h3{color:var(--blue)}
.card p{color:var(--muted);margin:0}
.card .more{display:inline-block;margin-top:12px;font-weight:600;color:var(--green-700)}

/* Product tiles (home) */
.products{grid-template-columns:repeat(3,1fr);gap:26px;margin-top:8px}
.product{display:flex;flex-direction:column;align-items:center;text-align:center;padding:34px 26px 28px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s,border-color .15s}
.product:hover{box-shadow:var(--shadow);transform:translateY(-3px);border-color:#c5d9ea}
.product svg{width:72px;height:72px;margin-bottom:16px}
.product h3{color:var(--grey);font-size:1.12rem;margin-bottom:8px}
.product p{color:var(--muted);font-size:.95rem;margin:0 0 20px;flex:1}
.product .btn{padding:9px 22px;font-size:.95rem}

.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:12px}
.stat{border-left:4px solid var(--green);padding:4px 0 4px 16px}
.stat b{display:block;font-size:2.3rem;font-weight:800;color:var(--blue);line-height:1.1}
.stat span{color:var(--muted);font-size:.95rem}
section.band .stat{border-color:var(--yellow)}section.band .stat b{color:#fff}section.band .stat span{color:#cfe1f1}

.ticks{list-style:none;padding:0;margin:0}
.ticks li{padding-left:32px;position:relative;margin-bottom:12px}
.ticks li:before{content:"";position:absolute;left:0;top:.3em;width:20px;height:20px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}

.why{grid-template-columns:repeat(4,1fr);gap:22px;margin-top:8px}
.why .card{box-shadow:none;border-top:4px solid var(--green)}
.why .card:nth-child(2){border-top-color:var(--blue)}.why .card:nth-child(3){border-top-color:#f2c418}.why .card:nth-child(4){border-top-color:var(--grey)}
.why h3{color:var(--ink)}

.photo-slot{aspect-ratio:4/3;border-radius:var(--radius);background:repeating-linear-gradient(135deg,#eef3f8,#eef3f8 12px,#e5ecf3 12px 24px);display:grid;place-items:center;color:var(--muted);font-size:.9rem;text-align:center;padding:20px;border:1px dashed #c3d3e2}
.note{background:#fff8e6;border:1px solid #f1dfab;border-radius:8px;padding:12px 16px;font-size:.92rem;color:#5e4a10}
.facts{list-style:none;margin:0;padding:0}
.facts li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.facts li:last-child{border-bottom:0}.facts b{color:var(--blue)}

/* CTA + footer */
.cta-band{background:var(--green);color:#fff}
.cta-band h2{color:#fff}
.cta-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:44px;padding-bottom:44px;flex-wrap:wrap}
.cta-row p{color:#eaf7eb;margin:0}
.cta-actions{display:flex;gap:12px;flex-wrap:wrap}
.cta-band .btn-light{color:var(--green-700)!important}
.site-footer{background:var(--charcoal);color:#c4c6c8;font-size:.95rem}
.site-footer a{color:#fff}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;padding-top:52px;padding-bottom:32px}
.footer-logo{width:196px;height:auto;margin-bottom:18px;background:#fff;padding:10px 14px;border-radius:8px}
.footer-head{color:#fff;font-weight:700}
.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin-bottom:6px}
.legal{border-top:1px solid rgba(255,255,255,.12);padding-top:16px;padding-bottom:28px;font-size:.82rem;color:#9a9c9f}

form.enquiry{display:grid;gap:14px}
form.enquiry label{font-weight:600;font-size:.92rem}
form.enquiry input,form.enquiry textarea,form.enquiry select{width:100%;margin-top:6px;padding:12px 14px;border:1px solid #c9cccf;border-radius:6px;font:inherit}
form.enquiry input:focus,form.enquiry textarea:focus,form.enquiry select:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}
form.enquiry textarea{min-height:140px}

@media(max-width:1180px){.menu-button{display:flex;flex-direction:column;gap:5px;cursor:pointer;padding:8px}.menu-button span{width:24px;height:2px;background:var(--ink);display:block}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:16px 20px 24px;border-bottom:1px solid var(--line);gap:14px}.menu-toggle:checked~.main-nav{display:flex}.header-row{position:relative}}
@media(max-width:900px){.hero .wrap,.split{grid-template-columns:1fr}.hero .wrap{padding-top:56px;padding-bottom:64px}.emblem{max-width:240px;order:-1}.g3,.products,.why,.g4{grid-template-columns:1fr 1fr}.trust ul{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:600px){body{font-size:16px}.g3,.g2,.g4,.products,.why,.stat-row{grid-template-columns:1fr}section.block{padding:56px 0}.brand .logo{width:140px}.emblem{max-width:190px}}
/* Photos */
.photo{margin:0;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;background:var(--bg-soft);box-shadow:var(--shadow)}
.photo img{width:100%;height:100%;object-fit:cover}
.photo-wide{aspect-ratio:21/9}
.photo.screen{aspect-ratio:16/10;background:#131a24;border:5px solid #0d1219;box-shadow:0 20px 40px rgba(10,30,50,.25)}
.hero-photo{background:linear-gradient(150deg,rgba(27,117,188,.95) 0%,rgba(22,95,153,.93) 55%,rgba(14,68,112,.9) 100%),url(/images/ca-store-corridor-1600.webp) center/cover}
.product .ico{width:auto;height:72px;margin-bottom:16px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}
.gallery .photo{aspect-ratio:auto;height:100%}
.gallery .g-wide{grid-column:span 2}
.gallery .photo:last-child{grid-column:span 2}
.gallery-band{padding-top:72px}
.brands{border-top:1px solid var(--line);background:#fff}
.brands .wrap{padding-top:40px;padding-bottom:44px}
.brands ul{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:22px 44px}
.brands img{height:42px;width:auto;max-width:150px;opacity:.75;transition:opacity .15s}
.brands img:hover{opacity:1}
@media(max-width:900px){.gallery{grid-template-columns:1fr 1fr;grid-auto-rows:200px}.gallery .g-wide,.gallery .photo:last-child{grid-column:span 2}.photo-wide{aspect-ratio:16/9}}
@media(max-width:600px){.gallery{grid-template-columns:1fr;grid-auto-rows:220px}.gallery .g-wide,.gallery .photo:last-child{grid-column:auto}.brands img{height:34px}}
