/*
Theme Name: 123AC Modern
Author: 123AC
Description: The approved 123AC homepage, quote page and WooCommerce shop.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: 123ac-modern
*/

:root{--blue:#156fae;--navy:#15375d;--green:#a5ce3a;--ink:#17232f;--muted:#64717e;--paper:#fff;--soft:#f2f6f8;--line:#e0e7ec;--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0;color:var(--ink);background:#fff;font:16px/1.6 "Segoe UI",Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.13;letter-spacing:-.04em}h2{font-size:clamp(32px,4vw,50px)}h3{font-size:23px}p{color:var(--muted)}.wrap{max-width:1280px;margin:auto;padding:0 38px}.section{padding:100px 0}.eyebrow{display:flex;align-items:center;gap:10px;color:var(--blue);font-size:12px;font-weight:750;letter-spacing:.15em;text-transform:uppercase;margin-bottom:20px}.eyebrow:before{content:"";width:25px;height:3px;background:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:48px;padding:12px 23px;border:0;border-radius:7px;background:var(--blue);color:#fff;font-size:14px;font-weight:700;transition:transform .15s,background .15s}.button:hover{background:#115b8e;transform:translateY(-2px)}.button.green{background:var(--green);color:#183021}.button.green:hover{background:#95bd2c}.button.outline{background:#fff;border:1px solid #ccd6df;color:var(--navy)}.button.light{background:#fff;color:var(--navy)}.arrow{font-size:21px;font-weight:400;line-height:1}.link{display:inline-flex;align-items:center;gap:13px;color:var(--blue);font-size:14px;font-weight:700}.link:hover{text-decoration:underline}.preview-bar{background:#eef6e1;padding:7px 16px;color:#354521;text-align:center;font-size:12px}.utility{background:var(--navy);color:#e3edf6;font-size:12px}.utility .wrap{display:flex;justify-content:space-between;gap:15px;align-items:center;padding-top:8px;padding-bottom:8px}.utility a{font-weight:700;white-space:nowrap}.site-header{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.logo-frame{position:relative;display:block;overflow:hidden;width:63px;height:82px;flex-shrink:0}.logo-frame img{position:absolute;max-width:none;width:150px;height:150px;left:-43.8px;top:-32.6px}.brand-words{font-size:11px;line-height:1.55;font-weight:750;letter-spacing:.12em;color:var(--navy)}.header-links{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:650}.header-links a:hover{color:var(--blue)}.header-actions{display:flex;align-items:center;gap:15px}.cart-link{position:relative;display:flex;align-items:center;gap:7px;font-size:12px}.cart-link svg{width:21px;height:21px;stroke:var(--navy)}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);border-radius:7px;padding:7px 11px;color:var(--navy)}.mobile-menu{display:none}.hero{position:relative;padding:57px 0 59px;overflow:hidden}.hero:before{content:"";position:absolute;right:0;top:0;width:33%;height:100%;background:#f3f7f0;z-index:-1}.hero-grid{display:grid;grid-template-columns:1.03fr 1fr;gap:50px;align-items:center}.hero h1{font-size:clamp(46px,5.3vw,76px);line-height:1.04;color:var(--navy);max-width:630px;letter-spacing:-.055em}.hero h1 span{position:relative;white-space:nowrap;color:var(--blue)}.hero h1 span:after{content:"";height:6px;position:absolute;bottom:-9px;left:0;width:100%;background:var(--green);border-radius:10px}.slogan{margin:24px 0 15px;font-size:21px;font-weight:600;color:#354a5f}.hero-copy>p:not(.slogan){max-width:440px;font-size:16px;line-height:1.8}.hero-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 28px}.hero-meta{display:flex;align-items:center;gap:12px;color:#637383;font-size:12px}.hero-meta svg{width:19px;height:19px;stroke:var(--blue);flex-shrink:0}.hero-visual{position:relative;padding:0 0 30px 12px}.hero-photo{position:relative;height:485px;overflow:hidden;border-radius:14px 14px 90px 14px;background:linear-gradient(125deg,#3d6789,#172e47)}.hero-photo>img{height:100%;width:100%;object-fit:cover}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(15,35,52,.5),transparent 55%)}.image-fallback{display:none;position:absolute;inset:0;align-items:center;justify-content:center;color:#fff;text-align:center;padding:25px}.image-fallback svg{width:75%;height:auto;max-height:330px}.photo-missing .image-fallback{display:flex}.photo-missing>img{display:none}.hero-photo-tag{position:absolute;top:20px;left:20px;background:#fff;color:var(--navy);border-radius:5px;padding:7px 12px;font-size:11px;font-weight:750;letter-spacing:.035em;z-index:2}.hero-card{position:absolute;left:-14px;bottom:0;background:#fff;box-shadow:0 10px 30px #16374b1f;border:1px solid #e7eef2;border-radius:10px;padding:20px 23px;width:85%;display:flex;align-items:center;gap:15px}.hero-card-icon{width:48px;height:48px;border-radius:50%;background:#eef6df;display:flex;align-items:center;justify-content:center;color:#638320;font-size:24px;flex-shrink:0}.hero-card strong{display:block;font-size:16px;color:var(--navy);line-height:1.35}.hero-card small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.trust-row{background:#f0f5f8;border-top:1px solid #e9f0f4;border-bottom:1px solid #e9f0f4}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;padding-top:28px;padding-bottom:28px}.trust-item{display:flex;align-items:center;gap:15px}.trust-icon{height:44px;width:44px;border-radius:50%;display:flex;justify-content:center;align-items:center;background:#e3edf4;flex-shrink:0}.trust-icon svg{width:23px;height:23px;stroke:var(--blue);fill:none;stroke-width:1.6}.trust-item strong{display:block;color:var(--navy);font-size:14px}.trust-item small{font-size:12px;color:var(--muted)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading h2{max-width:660px;color:var(--navy)}.section-heading>p{max-width:350px;font-size:15px}.service-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:70px;align-items:start}.service-intro h2{margin-bottom:24px;color:var(--navy)}.service-intro>p{max-width:370px;font-size:15px}.service-mini-photo{margin-top:34px;height:240px;border-radius:12px;overflow:hidden;background:#edf3f7;position:relative}.service-mini-photo img{width:100%;height:100%;object-fit:cover}.service-mini-photo .image-fallback{color:var(--navy)}.service-mini-photo .image-fallback svg{width:110px;height:110px}.service-mini-caption{font-size:12px;color:#667381;margin-top:8px}.service-list details{border-bottom:1px solid var(--line);padding:22px 0}.service-list details:first-child{border-top:1px solid var(--line)}.service-list summary{list-style:none;display:flex;align-items:center;gap:17px;cursor:pointer}.service-list summary::-webkit-details-marker{display:none}.service-list summary .number{font-size:12px;color:#7597ac;min-width:22px}.service-list summary strong{font-size:20px;font-weight:650;color:var(--navy);flex:1;letter-spacing:-.025em}.service-list summary:after{content:"+";font-size:25px;line-height:1;color:var(--blue);font-weight:350}.service-list details[open] summary:after{content:"−"}.service-body{padding:15px 33px 3px 39px}.service-body p{font-size:14px;max-width:470px;margin-bottom:14px}.about-section{background:#f4f7f4}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.about-image{height:435px;border-radius:12px;overflow:hidden;position:relative;background:linear-gradient(125deg,#273f55,#628195)}.about-image img{width:100%;height:100%;object-fit:cover}.about-stamp{position:absolute;bottom:23px;left:23px;background:#fff;padding:16px 22px;border-left:4px solid var(--green);border-radius:4px;color:var(--navy);font-size:13px;font-weight:700;z-index:2}.about-text h2{margin-bottom:22px;color:var(--navy)}.about-text>p{font-size:15px;margin-bottom:17px;max-width:500px}.values{display:grid;grid-template-columns:1fr 1fr;gap:10px 15px;margin:24px 0;font-size:13px;font-weight:650;color:#385166}.values span:before{content:"✓";color:#5f8825;margin-right:9px}.products-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:30px}.products-heading h2{color:var(--navy)}.slider-buttons{display:flex;gap:9px}.slider-buttons button{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #cbd8e0;background:#fff;color:var(--blue);font-size:22px}.slider-buttons button:hover{background:#edf4f8}.slider-buttons button:disabled{opacity:.35;cursor:default}.product-slider{display:flex;overflow:auto;gap:21px;scroll-snap-type:x mandatory;scrollbar-width:none;padding:5px 2px 16px}.product-slider::-webkit-scrollbar{display:none}.product-card{flex:0 0 calc((100% - 63px)/4);min-width:0;scroll-snap-align:start;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff;transition:border-color .15s,box-shadow .15s}.product-card:hover{border-color:#a8c6d8;box-shadow:0 7px 25px #16374b0c}.product-image{height:230px;display:flex;align-items:center;justify-content:center;background:#f5f7f8;position:relative;padding:24px}.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.product-image svg{width:135px;height:150px;stroke:#667f91}.product-image .image-fallback{padding:30px;z-index:0;color:var(--navy)}.product-image.photo-missing .image-fallback{display:flex}.product-pill{position:absolute;top:12px;left:12px;background:#fff;border:1px solid #e4eaf0;border-radius:20px;padding:3px 9px;font-size:10px;letter-spacing:.025em;color:#416176;z-index:2}.product-info{padding:18px}.product-info small{font-size:11px;letter-spacing:.055em;text-transform:uppercase;color:#668297}.product-info h3{font-size:16px;line-height:1.35;letter-spacing:-.01em;margin:8px 0 13px;min-height:44px;color:var(--navy)}.product-price{font-size:15px;font-weight:750;color:#162d42;margin-bottom:15px}.product-info .link{font-size:12px;gap:9px}.product-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:15px}.product-foot small{font-size:11px;color:#718390}.video-section{background:#15354f;color:#fff;position:relative;overflow:hidden}.video-section .eyebrow{color:#b8d5e8}.video-section .section-heading h2{color:#fff}.video-section .section-heading>p{color:#b8cbd9}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.video-card{display:block;border:0;text-align:left;background:transparent;color:#fff;padding:0}.video-poster{position:relative;overflow:hidden;border-radius:10px;height:225px;background:linear-gradient(135deg,#34678a,#263943)}.video-poster img{width:100%;height:100%;object-fit:cover;opacity:.7;transition:transform .25s,opacity .25s}.video-card:hover .video-poster img{transform:scale(1.035);opacity:.9}.video-poster:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0b1a294d,transparent)}.play-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);height:56px;width:56px;border:1px solid #ffffffaa;border-radius:50%;background:#ffffff24;display:grid;place-items:center;z-index:2;backdrop-filter:blur(5px)}.play-icon svg{width:16px;height:16px;fill:white}.video-placeholder{position:absolute;top:12px;left:12px;z-index:3;background:#112a40b0;font-size:10px;color:#e1edf6;padding:3px 8px;border-radius:4px}.video-card h3{font-size:19px;margin:18px 0 5px;color:#fff}.video-card p{font-size:13px;color:#aac4d7}.video-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;border-top:1px solid #ffffff24;padding-top:24px}.video-tools p{font-size:12px;color:#b8cbd9}.video-tools button{border:1px solid #ffffff50;border-radius:6px;background:transparent;color:#fff;padding:9px 15px;font-size:12px}.video-tools button:hover{background:#ffffff12}.closing{padding:78px 0;background:#eff6e5}.closing .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.closing h2{color:var(--navy);max-width:650px;font-size:clamp(29px,3.6vw,44px)}.closing p{margin-top:15px;font-size:15px;max-width:560px}.closing-actions{display:flex;flex-direction:column;gap:13px;flex-shrink:0}.closing-actions .phone{font-size:16px;color:var(--navy);font-weight:700;text-align:center}.footer{background:#131d27;color:#f5f7fa;padding:56px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr 1.3fr;gap:45px}.footer .brand-words{color:#d0dfeb}.footer .brand{margin-bottom:18px}.footer p{font-size:13px;color:#a6b7c5;max-width:235px}.footer h3{font-size:13px;letter-spacing:.025em;margin:11px 0 23px;color:#fff}.footer ul{list-style:none;padding:0;margin:0;font-size:13px;color:#a6b7c5;display:grid;gap:11px}.footer a:hover{color:var(--green)}.footer .contact-lines{font-size:13px;color:#a6b7c5;display:grid;gap:12px}.footer-bottom{border-top:1px solid #ffffff15;display:flex;justify-content:space-between;gap:20px;margin-top:43px;padding-top:20px;font-size:11px;color:#849bab}.skip-link{position:fixed;left:16px;top:-100px;padding:10px 15px;background:#fff;color:var(--navy);z-index:999}.skip-link:focus{top:10px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #6da9d6;outline-offset:4px}dialog{border:0;border-radius:13px;padding:0;max-width:800px;width:calc(100% - 32px);box-shadow:0 15px 80px #0004}dialog::backdrop{background:#0d1b2ccf}.dialog-header{padding:18px 24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:center}.dialog-header h3{font-size:19px;color:var(--navy)}.dialog-close{border:0;background:#eff3f6;border-radius:50%;width:32px;height:32px;font-size:22px;color:var(--navy)}.dialog-body{padding:24px}.empty-player{min-height:250px;background:#f0f5f8;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;gap:12px}.empty-player strong{color:var(--navy);font-size:20px}.empty-player p{font-size:14px;max-width:460px}.file-control{margin-top:22px;display:flex;align-items:center;gap:15px;flex-wrap:wrap}.file-control label{cursor:pointer;font-size:13px}.file-control small{color:var(--muted);font-size:12px}.video-player{width:100%;max-height:460px;background:#111;border-radius:9px}.video-image-preview{width:100%;height:auto;max-height:480px;object-fit:contain;border-radius:9px}.media-status{font-size:13px;margin-top:14px;color:var(--blue)}[hidden]{display:none!important}
@media(min-width:1450px){.hero h1{font-size:79px}}
@media(max-width:1100px){.header-links{gap:17px}.header-actions .cart-link{display:none}.brand-words{display:none}.hero-grid{gap:35px}.hero-photo{height:430px}.hero h1{font-size:58px}.service-grid,.about-grid{gap:45px}.product-card{flex-basis:calc((100% - 42px)/3)}.product-image{height:220px}.video-poster{height:200px}.footer-grid{gap:25px}}
@media(max-width:850px){.wrap{padding:0 25px}.section{padding:70px 0}.header-links{display:none}.menu-toggle{display:block}.header-inner{min-height:90px}.header-actions .button{min-height:42px;padding:9px 17px}.logo-frame{transform:scale(.9);transform-origin:left center;width:60px}.brand-words{display:block}.mobile-menu{padding:0 25px 20px;background:#fff;border-top:1px solid #e9eef2}.mobile-menu.open{display:grid;gap:1px}.mobile-menu a{padding:11px 0;color:var(--navy);font-weight:650;font-size:14px}.hero{padding-top:38px}.hero-grid{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:46px}.hero .eyebrow{font-size:10px}.slogan{font-size:18px}.hero-copy>p:not(.slogan){font-size:14px}.hero-buttons{flex-direction:column;align-items:flex-start;gap:9px}.hero-photo{height:380px}.hero-card{padding:15px;width:95%;left:0}.hero-card strong{font-size:13px}.hero-card small{font-size:11px}.hero-card-icon{width:36px;height:36px;font-size:20px}.hero-photo-tag{font-size:9px;left:13px;top:13px}.trust-grid{gap:18px}.trust-item{gap:10px}.trust-item small{display:none}.trust-item strong{font-size:12px}.trust-icon{width:35px;height:35px}.service-grid{grid-template-columns:1fr 1.1fr;gap:30px}.service-list summary strong{font-size:17px}.service-body{padding-left:30px}.service-intro>p{font-size:14px}.about-grid{gap:35px}.about-image{height:370px}.about-text>p{font-size:14px}.values{grid-template-columns:1fr;font-size:12px}.product-card{flex-basis:calc((100% - 21px)/2)}.video-grid{gap:14px}.video-poster{height:160px}.video-card h3{font-size:17px}.video-card p{font-size:12px}.section-heading>p{max-width:240px;font-size:13px}.closing .wrap{gap:28px}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>div:last-child{grid-column:1/-1}.footer .contact-lines{display:flex;gap:20px;flex-wrap:wrap}}
@media(max-width:600px){html{scroll-padding-top:88px}.wrap{padding:0 21px}.preview-bar{font-size:10px}.utility .wrap{justify-content:center;padding:6px 15px}.utility span{display:none}.header-inner{min-height:84px;gap:10px}.brand{gap:5px}.brand-words{font-size:8px;letter-spacing:.07em}.logo-frame{transform:scale(.76);width:49px;height:76px}.header-actions{gap:7px}.header-actions .button{font-size:11px;padding:8px 10px;gap:8px;min-height:38px}.header-actions .button .arrow{display:none}.menu-toggle{font-size:15px;padding:7px 9px}.hero{padding:30px 0 38px}.hero:before{width:24%}.hero-grid{grid-template-columns:1fr;gap:30px}.hero h1{font-size:52px;max-width:390px}.hero .eyebrow{font-size:10px}.slogan{font-size:19px;margin-top:24px}.hero-copy>p:not(.slogan){font-size:15px;max-width:380px}.hero-buttons{flex-direction:row;gap:10px;margin:25px 0 22px}.hero-buttons .button{font-size:12px;padding:11px 15px;gap:13px}.hero-meta{font-size:11px}.hero-visual{padding:0 0 24px 0}.hero-photo{height:320px;border-radius:12px 12px 60px 12px}.hero-card{padding:15px 17px;left:14px;width:calc(100% - 36px)}.hero-card strong{font-size:15px}.hero-card small{font-size:11px}.hero-card-icon{height:42px;width:42px}.trust-grid{grid-template-columns:1fr;gap:15px;padding-top:22px;padding-bottom:22px}.trust-item small{display:block;font-size:11px}.trust-item strong{font-size:13px}.trust-icon{width:35px;height:35px}.section{padding:57px 0}.eyebrow{font-size:10px;margin-bottom:16px}h2{font-size:35px}.service-grid,.about-grid{grid-template-columns:1fr;gap:30px}.service-intro>p{max-width:100%}.service-mini-photo{height:220px;margin-top:25px}.service-list summary strong{font-size:19px}.service-list details{padding:20px 0}.service-body{padding-left:39px}.about-image{height:320px}.about-text>p{font-size:15px}.values{grid-template-columns:1fr 1fr;font-size:12px;gap:13px}.products-heading{gap:15px;margin-bottom:25px;align-items:flex-end}.products-heading h2{font-size:32px}.slider-buttons{gap:6px}.slider-buttons button{width:35px;height:35px;font-size:20px}.product-slider{gap:14px}.product-card{flex-basis:82%;scroll-snap-align:start}.product-image{height:250px}.product-info h3{min-height:0}.product-foot{align-items:flex-start;flex-direction:column;gap:13px}.video-section .section-heading{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:25px}.video-section .section-heading>p{max-width:100%;font-size:14px}.video-grid{grid-template-columns:1fr;gap:29px}.video-poster{height:230px}.video-card h3{font-size:20px;margin-top:14px}.video-card p{font-size:13px}.video-tools{align-items:flex-start;flex-direction:column;gap:15px}.closing{padding:53px 0}.closing .wrap{flex-direction:column;align-items:flex-start;gap:28px}.closing h2{font-size:35px}.closing-actions{width:100%}.closing-actions .button{justify-content:space-between}.closing-actions .phone{text-align:left;font-size:14px}.footer{padding-top:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:27px}.footer-grid>div:first-child{grid-column:1/-1}.footer .brand-words{display:block;font-size:10px}.footer p{max-width:320px}.footer .contact-lines{display:grid;gap:10px}.footer-bottom{flex-direction:column;gap:8px;margin-top:32px}.dialog-body{padding:18px}.empty-player{padding:22px;min-height:220px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* Align the two service columns while all six options are collapsed. */
@media(min-width:601px){
 .service-grid:not(:has(.service-list details[open])){align-items:stretch}
 .service-grid:not(:has(.service-list details[open])) .service-intro{display:flex;flex-direction:column}
 .service-grid:not(:has(.service-list details[open])) .service-mini-photo{flex:1;min-height:240px;height:auto}
 .service-grid:not(:has(.service-list details[open])) .service-mini-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .service-grid:not(:has(.service-list details[open])) .service-list{display:grid;grid-template-rows:repeat(6,minmax(min-content,1fr));align-self:stretch}
 .service-grid:not(:has(.service-list details[open])) .service-list details{padding:0;min-height:74px}
 .service-grid:not(:has(.service-list details[open])) .service-list summary{height:100%;padding:17px 0;align-items:center}
}

/* About Us image matches the text column height on desktop and tablet. */
@media(min-width:601px){
 .about-grid{align-items:stretch}
 .about-image{height:auto;min-height:435px;align-self:stretch}
 .about-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
}

/* News previews with full article reading, and the maintenance portal menu link. */
.header-links{gap:20px;white-space:nowrap}
.header-links .portal-nav{color:var(--blue);border-left:1px solid var(--line);padding-left:17px}
.news-section{background:#f4f7fa}
.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.news-card{border:1px solid #dce5ec;border-radius:12px;overflow:hidden;background:#fff;transition:box-shadow .18s,border-color .18s}
.news-card:hover{border-color:#a6c6dc;box-shadow:0 9px 28px #173e5d12}
.news-card-link{display:flex;flex-direction:column;height:100%}
.news-art{position:relative;height:175px;padding:14px;display:grid;place-items:center;background:#e6f0f6}
.news-art svg{width:260px;max-width:100%;height:150px;fill:none;stroke:#236995;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.news-art-heat{background:#edf5e2}.news-art-heat svg{stroke:#557c35}
.news-art-report{background:#173b5a}.news-art-report svg{stroke:#d1e6f4}
.news-example{position:absolute;left:13px;top:13px;font-size:9px;font-weight:750;letter-spacing:.07em;padding:4px 8px;border-radius:4px;background:#ffffffec;color:#35536a}
.news-card-body{padding:23px;display:flex;flex-direction:column;flex:1}
.news-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:10px;color:#718397;margin-bottom:15px}
.news-meta span:first-child{color:var(--blue);font-weight:750;text-transform:uppercase;letter-spacing:.045em}
.news-card h3{font-size:21px;line-height:1.25;letter-spacing:-.025em;color:var(--navy);margin:0 0 13px}
.news-card p{font-size:13px;line-height:1.7;margin-bottom:24px}
.news-read-label{margin-top:auto;font-size:12px}
.news-article-dialog{max-width:900px;max-height:90vh}
.news-article-dialog .dialog-header{position:sticky;top:0;background:#fff;z-index:1}
.news-post-content{padding:32px 40px 38px}
.news-post-content h1{font-size:clamp(27px,3vw,40px);line-height:1.2;color:var(--navy);margin:18px 0 25px;max-width:720px}
.news-post-content .news-meta{font-size:12px;justify-content:flex-start;gap:20px}
.news-post-content>p{font-size:16px;line-height:1.8;margin:0 0 18px;max-width:720px}
.news-post-content .news-post-cta{margin-top:10px}
.news-post-content .news-preview-label{background:#edf5e2;color:#526c31;display:inline-block;padding:5px 9px;border-radius:5px;font-size:11px}
@media(min-width:851px) and (max-width:1100px){.header-inner{gap:20px}.header-links{gap:12px}.header-links .portal-nav{padding-left:12px}}
@media(max-width:850px){.mobile-menu .portal-nav{border-top:1px solid var(--line);margin-top:6px;color:var(--blue)}.news-grid{gap:15px}.news-card-body{padding:18px}.news-card h3{font-size:18px}.news-art{height:155px}}
@media(max-width:600px){.news-section .section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:26px}.news-section .section-heading>p{max-width:100%;font-size:14px}.news-grid{grid-template-columns:1fr;gap:22px}.news-art{height:170px}.news-card h3{font-size:22px}.news-card-body{padding:22px}.news-card p{font-size:14px}.news-post-content{padding:22px}.news-post-content>p{font-size:15px}.news-post-content h1{font-size:29px}}

/* Horizontal news slider accommodates additional posts without adding rows. */
.news-section .news-heading{flex-direction:row;align-items:center;margin-bottom:15px;gap:22px}
.news-slider-controls{flex-shrink:0}
.news-intro{margin:0 0 30px;font-size:15px;max-width:680px}
.news-grid.news-slider{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 2px 15px;align-items:stretch}
.news-grid.news-slider::-webkit-scrollbar{display:none}
.news-grid.news-slider>.news-card{flex:0 0 calc((100% - 48px)/3);min-width:0;scroll-snap-align:start}
@media(max-width:1000px){.news-grid.news-slider{gap:18px}.news-grid.news-slider>.news-card{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:600px){.news-section .news-heading{flex-direction:row;align-items:center;gap:14px;margin-bottom:15px}.news-section .news-heading h2{font-size:32px}.news-intro{font-size:14px;margin-bottom:24px}.news-grid.news-slider{gap:16px}.news-grid.news-slider>.news-card{flex-basis:86%}}
/* Account and cart shortcuts, ready for the future WooCommerce section. */
.header-actions{gap:10px;flex-shrink:0}
.header-icon-link{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dce6ed;border-radius:50%;background:#fff;color:var(--navy);padding:0}
.header-icon-link:hover{background:#edf5fa;border-color:#accbdf;color:var(--blue)}
.header-icon-link svg{width:21px;height:21px;stroke:currentColor}
.header-actions .cart-link{display:inline-flex}
.quote-label-short{display:none}
.preview-bar{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}
.preview-settings-toggle{border:1px solid #c4d6a7;background:#fff;border-radius:5px;color:#354521;font-size:11px;font-weight:650;padding:4px 10px;white-space:nowrap}
.announcement-bar{background:var(--blue);color:#fff}
.announcement-bar .wrap{display:flex;align-items:center;justify-content:center;gap:13px;padding-top:11px;padding-bottom:11px}
.announcement-icon{width:19px;height:19px;flex-shrink:0;stroke:var(--green);fill:none;stroke-width:1.8}
.announcement-message{font-size:13px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.announcement-read{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:750;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
.preview-settings-dialog{max-width:560px}
.preview-settings-form{padding:25px;display:grid;gap:18px}
.preview-settings-form label{display:grid;gap:7px;font-size:13px;font-weight:650;color:var(--navy)}
.preview-settings-form input,.preview-settings-form select{width:100%;min-height:44px;border:1px solid #c9d8e2;border-radius:6px;padding:10px 12px;background:#fff;color:var(--ink);font:inherit;font-weight:400}
.preview-settings-form input:focus-visible,.preview-settings-form select:focus-visible{outline:3px solid #6da9d6;outline-offset:3px}
.preview-settings-form p{font-size:13px;line-height:1.7}
.preview-settings-actions{display:flex;gap:10px;flex-wrap:wrap}
.preview-settings-actions .button{min-height:42px;font-size:12px;padding:10px 16px}
.future-page-dialog{max-width:460px}
.future-page-dialog .dialog-body p{font-size:14px;line-height:1.8}
@media(min-width:1051px) and (max-width:1200px){.header-inner{gap:16px}.header-links{gap:12px;font-size:12px}.header-links .portal-nav{padding-left:12px}.header-actions .button{padding:10px 15px;gap:12px}.header-actions{gap:8px}.site-header .brand-words{display:none}}
@media(max-width:1050px){.site-header .header-links{display:none}.menu-toggle{display:block}.site-header .brand-words{display:block}.mobile-menu{padding:0 25px 20px;background:#fff;border-top:1px solid #e9eef2}.mobile-menu.open{display:grid;gap:1px}.mobile-menu a{padding:11px 0;color:var(--navy);font-weight:650;font-size:14px}.mobile-menu .portal-nav{border-top:1px solid var(--line);margin-top:6px;color:var(--blue)}}
@media(max-width:600px){.header-actions{gap:7px}.header-icon-link{width:38px;height:38px}.header-icon-link svg{width:19px;height:19px}.quote-label-full{display:none}.quote-label-short{display:inline}.preview-bar{gap:6px;padding:7px 16px}.preview-settings-toggle{font-size:10px}.announcement-bar .wrap{gap:8px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}.announcement-message{font-size:12px;flex:1}.announcement-read{font-size:11px;margin-left:27px}.preview-settings-form{padding:20px}}
@media(max-width:380px){.site-header .brand-words{display:none}}

.closing-actions .email{font-size:16px;color:var(--navy);font-weight:700;text-align:center}.closing-actions .email:hover{text-decoration:underline}@media(max-width:600px){.closing-actions .email{text-align:left;font-size:14px}}

/* Quote page: shared 123AC header, colours and footer. */
select,textarea{font:inherit}select:focus-visible,textarea:focus-visible{outline:3px solid #6da9d6;outline-offset:3px}
.quote-preview-strip{padding:9px 20px;font-size:11px;font-weight:600;letter-spacing:.025em}
.quote-intro{padding:30px 0 48px;background:#fff;border-bottom:1px solid var(--line)}
.quote-breadcrumb{display:flex;gap:10px;align-items:center;font-size:12px;color:#7a8995;margin-bottom:33px}
.quote-breadcrumb a{color:var(--blue)}.quote-breadcrumb a:hover{text-decoration:underline}
.quote-heading-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:65px;align-items:end}
.quote-intro .eyebrow{margin-bottom:16px}.quote-intro h1{font-size:clamp(38px,4.7vw,60px);line-height:1.08;color:var(--navy);max-width:700px}
.quote-intro h1 span{color:var(--blue)}.quote-intro p{font-size:15px;line-height:1.8;max-width:370px;padding-bottom:5px}
.quote-content{background:#f3f6f8;padding:50px 0 80px}
.quote-layout{display:grid;grid-template-columns:330px minmax(0,1fr);gap:40px;align-items:start}
.quote-sidebar{position:sticky;top:125px;display:grid;gap:23px}
.quote-help-card{background:var(--navy);border-radius:12px;padding:29px;color:#fff;position:relative;overflow:hidden}
.quote-help-card:before{content:"";display:block;width:34px;height:4px;background:var(--green);margin-bottom:24px}
.quote-help-card h2{font-size:29px;line-height:1.15;letter-spacing:-.025em;margin-bottom:17px;color:#fff}
.quote-help-card p{font-size:13px;line-height:1.8;color:#c4d7e5;margin-bottom:25px}
.quote-contact-method{display:flex;gap:12px;align-items:center;padding:15px 0;border-top:1px solid #ffffff25}
.quote-contact-method>svg{width:21px;height:21px;stroke:var(--green);fill:none;stroke-width:1.7;flex-shrink:0}
.quote-contact-method small{display:block;font-size:10px;color:#b4cbdc;margin-bottom:3px}
.quote-contact-method strong{display:block;font-size:15px;color:#fff;font-weight:650;letter-spacing:.01em;overflow-wrap:anywhere}
.quote-contact-method:hover strong{text-decoration:underline}
.quote-next{padding:6px 8px}.quote-next h3{font-size:18px;color:var(--navy);margin-bottom:22px;letter-spacing:-.02em}
.quote-next ol{list-style:none;margin:0;padding:0;display:grid;gap:21px}
.quote-next li{display:grid;grid-template-columns:28px 1fr;gap:12px;align-items:start}
.quote-next .step-dot{width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#e3edf3;color:var(--blue);font-size:11px;font-weight:750}
.quote-next strong{display:block;font-size:13px;color:var(--navy);margin-bottom:3px}.quote-next p{font-size:12px;line-height:1.65}
.quote-area-note{font-size:12px;color:#687a88;padding:17px 8px 0;border-top:1px solid #dce5eb}.quote-area-note strong{display:block;color:var(--navy);margin-bottom:3px}
.quote-card{min-width:0;border:1px solid #dce5eb;border-radius:13px;background:#fff;box-shadow:0 5px 25px #1c415209;overflow:hidden}
.quote-card-head{padding:30px 34px 25px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px}
.quote-card-head h2{font-size:27px;color:var(--navy);margin-bottom:7px;letter-spacing:-.025em}.quote-card-head p{font-size:12px}
.quote-card-head .required-key{font-size:11px;color:#748391;white-space:nowrap}
.required-mark{color:var(--blue);margin-left:2px;font-weight:700}
.quote-form{padding:0 34px}.quote-fieldset{border:0;padding:29px 0;margin:0;min-width:0}.quote-fieldset+.quote-fieldset{border-top:1px solid var(--line)}
.quote-fieldset legend{float:left;display:flex;align-items:center;gap:12px;width:100%;margin-bottom:20px;padding:0;color:var(--navy);font-size:18px;font-weight:700;letter-spacing:-.015em}
.quote-fieldset legend+.fieldset-body{clear:both}.form-step-number{display:grid;place-items:center;width:29px;height:29px;border-radius:7px;background:#edf4f8;color:var(--blue);font-size:11px;font-weight:750;letter-spacing:0}
.quote-form-hint{font-size:12px;margin:-6px 0 17px;line-height:1.6}
.service-options{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.service-option{display:grid;grid-template-columns:25px minmax(0,1fr) 17px;align-items:start;gap:10px;border:1px solid #dce5eb;border-radius:8px;padding:16px 13px;cursor:pointer;transition:background .15s,border-color .15s;min-height:108px}
.service-option:hover{border-color:#8eb8d3;background:#f8fbfd}.service-option:has(input:checked){background:#f0f7fc;border-color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}
.service-option:has(input:focus-visible){outline:3px solid #6da9d6;outline-offset:3px}.service-option input{grid-column:3;grid-row:1;margin:2px 0 0;accent-color:var(--blue);width:17px;height:17px;cursor:pointer}
.service-mark{grid-column:1;grid-row:1;color:var(--blue);padding-top:1px}.service-mark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.service-option-copy{grid-column:2;grid-row:1}.service-option strong{display:block;font-size:13px;line-height:1.4;color:var(--navy);margin-bottom:5px;font-weight:650}
.service-option small{display:block;font-size:11px;line-height:1.6;color:#748390}.service-option-wide{grid-column:1/-1;min-height:74px}
.quote-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 17px}.quote-field{display:grid;gap:8px;min-width:0;font-size:12px;font-weight:650;color:var(--navy)}
.quote-field .optional{font-size:10px;color:#83909b;font-weight:400;margin-left:3px}.quote-field.full{grid-column:1/-1}
.quote-field input,.quote-field select,.quote-field textarea{width:100%;min-height:46px;padding:11px 13px;border:1px solid #ccd9e3;background:#fff;border-radius:6px;font-size:14px;font-weight:400;color:var(--ink);line-height:1.5}
.quote-field input::placeholder,.quote-field textarea::placeholder{color:#8996a1;opacity:1}.quote-field textarea{resize:vertical;min-height:126px}
.quote-field select{cursor:pointer}.quote-field input:hover,.quote-field select:hover,.quote-field textarea:hover{border-color:#9cb9cc}
.quote-details-field{margin-top:22px}.quote-contact-preference{margin-top:22px;border:0;padding:0}.quote-contact-preference legend{float:none;width:auto;font-size:12px;font-weight:650;color:var(--navy);margin-bottom:9px}
.quote-contact-options{display:flex;gap:22px;align-items:center;font-size:13px;color:#546b7e}.quote-contact-options label{display:flex;align-items:center;gap:8px;cursor:pointer}.quote-contact-options input{accent-color:var(--blue);width:15px;height:15px;margin:0}
.quote-form-foot{border-top:1px solid var(--line);padding:25px 0 30px;display:grid;gap:15px}.quote-form-foot>p{font-size:11px;line-height:1.7;max-width:550px}
.quote-submit{width:100%;justify-content:space-between;min-height:52px;padding:14px 20px}.quote-submit-note{text-align:center;color:#8b98a2;font-size:10px}
.quote-preview-result{padding:34px}.quote-preview-result .result-icon{width:46px;height:46px;background:#eef6e2;color:#577820;display:grid;place-items:center;border-radius:50%;margin-bottom:20px;font-size:24px}
.quote-preview-result h2{font-size:31px;color:var(--navy);margin-bottom:14px;letter-spacing:-.025em}.quote-preview-result>p{font-size:14px;line-height:1.8;margin-bottom:22px}
.quote-preview-notice{padding:13px 16px;border-left:3px solid var(--green);background:#f4f8ec;border-radius:5px;font-size:12px!important;color:#597138!important}
.quote-summary{margin:23px 0;display:grid}.quote-summary div{padding:14px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:120px minmax(0,1fr);gap:20px}
.quote-summary dt{font-size:11px;font-weight:650;color:#798c9c}.quote-summary dd{margin:0;font-size:13px;color:var(--navy);overflow-wrap:anywhere;white-space:pre-line}
@media(max-width:1100px){.quote-layout{grid-template-columns:280px minmax(0,1fr);gap:25px}.quote-help-card{padding:25px}.quote-card-head{padding:26px}.quote-form{padding:0 26px}.quote-heading-grid{gap:35px}.service-option{padding:14px 11px;gap:8px;grid-template-columns:22px minmax(0,1fr) 16px}.service-mark svg{width:21px;height:21px}}
@media(max-width:850px){.quote-layout{grid-template-columns:1fr}.quote-card{grid-row:1}.quote-sidebar{grid-row:2;position:static;grid-template-columns:1fr 1fr;gap:25px}.quote-area-note{grid-column:1/-1;padding:12px 4px;margin-top:-5px}.quote-help-card h2{font-size:26px}.quote-help-card p{margin-bottom:18px}.quote-next{padding-top:10px}.quote-heading-grid{grid-template-columns:1fr;gap:20px}.quote-intro p{max-width:570px}.quote-intro{padding-bottom:35px}.quote-content{padding:32px 0 55px}}
@media(max-width:600px){.quote-intro{padding-top:22px}.quote-breadcrumb{margin-bottom:27px;font-size:11px}.quote-intro h1{font-size:42px;max-width:400px}.quote-intro p{font-size:14px}.quote-heading-grid{gap:17px}.quote-sidebar{grid-template-columns:1fr;gap:20px}.quote-next{display:none}.quote-area-note{grid-column:auto;margin:0;font-size:11px}.quote-help-card{padding:24px}.quote-help-card h2{font-size:27px}.quote-help-card:before{margin-bottom:18px}.quote-help-card p{font-size:12px;margin-bottom:16px}.quote-contact-method{padding:12px 0}.quote-contact-method strong{font-size:14px}.quote-card-head{padding:23px 20px;align-items:start;gap:12px}.quote-card-head h2{font-size:24px}.quote-card-head .required-key{font-size:9px;padding-top:5px}.quote-form{padding:0 20px}.quote-fieldset{padding:25px 0}.quote-fieldset legend{font-size:17px;gap:10px}.service-options{grid-template-columns:1fr}.service-option{min-height:78px;padding:15px;grid-template-columns:25px minmax(0,1fr) 17px;gap:11px}.service-option-wide{grid-column:auto}.service-option strong{font-size:13px}.service-option small{font-size:11px}.quote-field-grid{grid-template-columns:1fr;gap:19px}.quote-field.full{grid-column:auto}.quote-field input,.quote-field select,.quote-field textarea{font-size:16px}.quote-preview-result{padding:26px 20px}.quote-preview-result h2{font-size:29px}.quote-summary div{grid-template-columns:1fr;gap:6px;padding:14px 0}.quote-content{padding-top:27px}.quote-card{border-radius:10px}.quote-submit{font-size:13px}}

.quote-review-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:space-between;align-items:center}.quote-submit-dialog{max-width:520px}.quote-submit-dialog .dialog-body>p{font-size:14px;line-height:1.8;margin-bottom:20px}.quote-submit-dialog .dialog-body .quote-preview-notice{margin-bottom:23px}@media(max-width:600px){.quote-review-actions{flex-direction:column;align-items:stretch}.quote-review-actions .button{width:100%}}
