:root{
  --navy:#061a36;
  --navy-2:#0b274d;
  --blue:#0b65d8;
  --blue-2:#0a54b5;
  --ink:#101928;
  --muted:#596579;
  --line:#dce2e9;
  --paper:#ffffff;
  --paper-2:#f5f7fa;
  --paper-3:#eef3f8;
  --success:#e8f4eb;
  --error:#fff0ed;
  --wrap:1400px;
  --pad:clamp(20px,4vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.55;text-rendering:optimizeLegibility}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.wrap{width:min(var(--wrap),calc(100% - (var(--pad)*2)));margin-inline:auto}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;left:16px;top:16px;z-index:9999;background:var(--paper);color:var(--navy);padding:10px 14px;transform:translateY(-160%);border:2px solid var(--blue)}
.skip-link:focus{transform:none}
:focus-visible{outline:3px solid #ffbf47;outline-offset:3px}
[hidden]{display:none!important}

/* Header */
.site-header{position:relative;z-index:50;background:var(--paper);box-shadow:0 1px 0 rgba(7,25,50,.08)}
.utility-bar{background:var(--navy);color:#fff;font-size:.82rem}
.utility-inner{min-height:36px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.utility-inner p{margin:0;font-weight:700;letter-spacing:.01em}
.utility-inner div{display:flex;align-items:center;gap:28px}
.utility-inner a{opacity:.96}
.utility-inner a:hover{text-decoration:underline}
.main-header{background:#fff}
.header-inner{min-height:82px;display:flex;align-items:center;gap:28px}
.brand{flex:0 0 auto;display:inline-flex;align-items:center}
.brand img{width:245px;height:auto}
.primary-nav{margin-left:auto;display:flex;align-items:center;gap:24px}
.primary-nav .menu{display:flex;align-items:center;gap:24px;list-style:none;margin:0;padding:0}
.primary-nav .menu a{font-size:.79rem;font-weight:800;text-transform:uppercase;letter-spacing:.025em;padding:31px 0 27px;border-bottom:3px solid transparent;white-space:nowrap}
.primary-nav .menu a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--blue);border-bottom-color:var(--blue)}
.nav-quote{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 21px;background:var(--blue);color:#fff;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--blue);white-space:nowrap}
.nav-quote:hover{background:var(--blue-2);border-color:var(--blue-2)}
.menu-toggle{display:none;margin-left:auto;border:0;background:transparent;color:var(--navy);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:12px}
.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:22px;height:2px;background:currentColor;content:"";position:relative}
.menu-lines:before{position:absolute;top:-6px}.menu-lines:after{position:absolute;top:6px}

/* Type / shared */
.eyebrow{margin:0 0 12px;color:var(--blue);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.eyebrow-light{color:#9bc8ff}
h1,h2,h3,p{overflow-wrap:break-word}
.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;min-height:46px;padding:0 22px;border:1px solid var(--navy);background:var(--navy);color:#fff;font-size:.79rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em;transition:background .18s ease,border-color .18s ease,color .18s ease}
.button:hover{background:var(--blue);border-color:var(--blue)}
.button-blue{background:var(--blue);border-color:var(--blue)}
.button-blue:hover{background:var(--blue-2);border-color:var(--blue-2)}
.button-outline{background:transparent;border-color:rgba(255,255,255,.72);color:#fff}
.button-outline:hover{background:#fff;border-color:#fff;color:var(--navy)}
.button-light{background:#fff;border-color:#fff;color:var(--navy)}
.button-light:hover{background:#dcecff;border-color:#dcecff;color:var(--navy)}
.text-link{display:inline-flex;align-items:center;gap:7px;color:var(--blue);font-weight:800;font-size:.84rem;text-transform:uppercase;letter-spacing:.025em}
.text-link:hover{text-decoration:underline}
.section-pad{padding-block:88px}
.section-heading{margin-bottom:38px;max-width:840px}
.section-heading h2{font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.06;letter-spacing:-.035em;margin:.2em 0 .35em;color:var(--navy)}
.section-heading>p:last-child{font-size:1.05rem;color:var(--muted);max-width:66ch}
.center-heading{text-align:center;margin-inline:auto}
.center-heading>p:last-child{margin-inline:auto}
.prose{font-size:1.03rem;color:#354153}
.prose p{margin:0 0 1.15em}
.prose p:last-child{margin-bottom:0}

/* Home hero */
.home-hero{position:relative;isolation:isolate;background:#06101d;color:#fff;min-height:565px;overflow:hidden}
.hero-media{position:absolute;z-index:-1;inset:0;background-image:url('../images/editorial/hero-workshop.jpg');background-size:cover;background-position:center right;background-repeat:no-repeat}
.home-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(2,11,22,.96) 0%,rgba(2,11,22,.86) 36%,rgba(2,11,22,.34) 67%,rgba(2,11,22,.2) 100%)}
.hero-inner{min-height:565px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.58fr);gap:clamp(46px,8vw,120px);align-items:center;padding-block:54px}
.hero-copy{max-width:760px}
.hero-copy h1{margin:.12em 0 .33em;font-size:clamp(2.9rem,4.6vw,4.75rem);line-height:1.02;letter-spacing:-.045em;color:#fff}
.hero-copy h1 em{font-style:normal;color:#1e7be5}
.hero-lede{font-size:1.12rem;max-width:58ch;margin:0 0 30px;color:#edf4fb}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.hero-facts{background:rgba(5,17,32,.88);border:1px solid rgba(255,255,255,.16);padding:18px 28px;align-self:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.hero-facts article{display:grid;grid-template-columns:38px 1fr;gap:16px;padding:17px 0;border-bottom:1px solid rgba(255,255,255,.13)}
.hero-facts article:last-child{border-bottom:0}
.fact-icon{font-size:1.5rem;color:#55a4ff;line-height:1}
.hero-facts strong{font-size:.92rem;display:block;margin-bottom:3px}
.hero-facts p{font-size:.79rem;line-height:1.45;color:#d6e0ec;margin:0}

/* Benefit strip */
.benefit-strip{background:#fff;border-bottom:1px solid var(--line)}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.benefit-grid article{display:grid;grid-template-columns:42px 1fr;gap:14px;padding:25px 26px 24px;border-right:1px solid var(--line)}
.benefit-grid article:first-child{padding-left:0}.benefit-grid article:last-child{border-right:0;padding-right:0}
.benefit-grid span{font-size:.78rem;font-weight:800;color:var(--blue);padding-top:3px}
.benefit-grid strong{display:block;color:var(--navy);font-size:.86rem;text-transform:uppercase;letter-spacing:.025em}
.benefit-grid p{font-size:.82rem;color:var(--muted);line-height:1.45;margin:4px 0 0}

/* Home products */
.home-products{background:#fff}
.home-product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.home-product-card{border:1px solid var(--line);background:#fff;min-width:0}
.home-product-card figure{margin:0;height:200px;background:#15191d;overflow:hidden}
.home-product-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.home-product-card>div{padding:22px 22px 24px}
.home-product-card h3{font-size:1.03rem;color:var(--navy);margin:0 0 8px}
.home-product-card p{font-size:.88rem;color:var(--muted);margin:0 0 18px;min-height:82px}

/* Home about */
.home-about{background:var(--paper-2);padding-block:78px}
.home-about-grid{display:grid;grid-template-columns:1fr .58fr 1.15fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--line)}
.home-about-copy{padding:42px}
.home-about-copy h2{font-size:clamp(2rem,3vw,3rem);line-height:1.05;color:var(--navy);letter-spacing:-.035em;margin:.2em 0 .5em}
.home-about-copy p{color:#3d4857}
.home-about-points{padding:42px 30px;border-left:1px solid var(--line);display:flex;align-items:center}
.home-about-points ul{list-style:none;margin:0;padding:0;width:100%}
.home-about-points li{padding:13px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:#273446}
.home-about-points li:last-child{border-bottom:0}
.home-about-points span{color:var(--blue);font-weight:800;margin-right:8px}
.home-about-image{margin:0;min-height:420px;overflow:hidden}
.home-about-image img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Home process */
.home-process{background:#fff}
.home-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--navy);border-bottom:1px solid var(--navy)}
.home-process-grid article{padding:28px 28px 32px;border-right:1px solid var(--line)}
.home-process-grid article:last-child{border-right:0}
.home-process-grid span{color:var(--blue);font-weight:800;font-size:.8rem}
.home-process-grid h3{font-size:1rem;text-transform:uppercase;color:var(--navy);letter-spacing:.02em;margin:12px 0 8px}
.home-process-grid p{font-size:.9rem;color:var(--muted);margin:0}
.home-cta{background:var(--navy);color:#fff;padding-block:48px}
.home-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:28px}
.home-cta h2{font-size:clamp(2.1rem,3.8vw,3.8rem);letter-spacing:-.04em;line-height:1;margin:.1em 0 .2em}
.home-cta p{margin:0;color:#d7e2ef}

/* Interior hero */
.page-main{background:#fff;padding-bottom:95px}
.page-hero{background:linear-gradient(120deg,var(--navy) 0%,#0a2446 100%);color:#fff;border-bottom:5px solid var(--blue)}
.page-hero-inner{min-height:245px;display:grid;grid-template-columns:70px 1fr;gap:30px;align-items:center;padding-block:42px}
.page-index{font-size:.8rem;font-weight:800;color:#82baff;align-self:start;padding-top:14px}
.page-hero h1{font-size:clamp(2.8rem,5.1vw,5rem);line-height:.95;letter-spacing:-.045em;margin:.12em 0;color:#fff}
.page-hero-lede{font-size:1rem;color:#dce8f5;margin:.5em 0 0}
.page-content{padding-top:72px}
.content-split{display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(48px,9vw,140px);align-items:start;margin-bottom:76px}
.content-split-wide{grid-template-columns:.9fr 1.1fr}
.content-split h2,.catalogue-intro h2,.quote-inputs h2,.contact-prep h2{font-size:clamp(2.25rem,3.8vw,3.9rem);line-height:1.04;letter-spacing:-.04em;color:var(--navy);margin:.18em 0}

/* About */
.stat-band{display:grid;grid-template-columns:repeat(4,1fr);background:var(--navy);color:#fff;margin:18px 0 70px}
.stat-band div{padding:28px 30px;border-right:1px solid rgba(255,255,255,.14)}
.stat-band div:last-child{border-right:0}
.stat-band strong{display:block;font-size:1.7rem;letter-spacing:-.025em}
.stat-band span{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#b9d7fb;margin-top:4px}
.principle-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);margin-bottom:20px}
.principle-grid article{padding:30px 30px 34px;border-right:1px solid var(--line)}
.principle-grid article:last-child{border-right:0}
.principle-grid span,.capability-grid span,.industry-list span,.quality-steps>article>span,.quote-input-grid span,.contact-prep-grid span{color:var(--blue);font-size:.78rem;font-weight:800}
.principle-grid h3,.capability-grid h3,.industry-list h3,.quality-steps h3,.quote-input-grid h3,.contact-prep-grid h3{color:var(--navy);font-size:1rem;text-transform:uppercase;letter-spacing:.025em;margin:12px 0 8px}
.principle-grid p,.capability-grid p,.industry-list p,.quality-steps p,.quote-input-grid p,.contact-prep-grid p{margin:0;color:var(--muted);font-size:.93rem}

/* Product page */
.catalogue-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,9vw,130px);align-items:start;margin-bottom:54px}
.family-summary{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);margin-bottom:58px}
.family-summary article{padding:25px 26px;border-right:1px solid var(--line)}
.family-summary article:last-child{border-right:0}
.family-summary span{font-size:.78rem;font-weight:800;color:var(--blue)}
.family-summary h3{margin:10px 0 7px;color:var(--navy);font-size:1rem;text-transform:uppercase;letter-spacing:.025em}
.family-summary p{margin:0;color:var(--muted);font-size:.9rem}
.catalogue-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px;position:sticky;top:0;background:#fff;padding:12px 0;z-index:4;border-bottom:1px solid var(--line)}
.catalogue-toolbar button{border:1px solid #bec8d4;background:#fff;color:var(--navy);padding:10px 14px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.catalogue-toolbar button span{color:var(--muted);margin-left:8px}
.catalogue-toolbar button.is-active,.catalogue-toolbar button:hover{background:var(--navy);border-color:var(--navy);color:#fff}.catalogue-toolbar button.is-active span,.catalogue-toolbar button:hover span{color:#b7d7ff}
.catalogue-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-bottom:82px}
.product-card{border:1px solid var(--line);background:#fff;min-width:0}
.product-card figure{margin:0;height:330px;background:#161a1f;overflow:hidden}
.product-card figure img{width:100%;height:100%;object-fit:cover;object-position:center}
.product-card-body{padding:22px 23px 25px}
.product-meta{display:flex;justify-content:space-between;gap:20px;color:var(--blue);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.product-card h2{font-size:1.18rem;line-height:1.18;color:var(--navy);margin:10px 0 8px}
.product-card p{font-size:.9rem;color:var(--muted);margin:0 0 16px}
.product-card dl{margin:0 0 18px;border-top:1px solid var(--line)}
.product-card dl div{display:grid;grid-template-columns:72px 1fr;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:.79rem}
.product-card dt{text-transform:uppercase;font-weight:800;color:#536176}.product-card dd{margin:0;color:#263447}
.quote-inputs,.contact-prep{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(50px,8vw,120px);margin:76px 0;padding-top:36px;border-top:1px solid var(--navy)}
.quote-input-grid,.contact-prep-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}
.quote-input-grid article,.contact-prep-grid article{padding:25px 26px 28px 0;border-bottom:1px solid var(--line)}
.quote-input-grid article:nth-child(even),.contact-prep-grid article:nth-child(even){padding-left:26px;border-left:1px solid var(--line)}
.cta-panel{background:var(--paper-2);border:1px solid var(--line);padding:35px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;margin-top:60px}
.cta-panel h2{font-size:clamp(1.7rem,2.7vw,2.7rem);line-height:1.1;color:var(--navy);margin:.2em 0}

/* Capabilities / industries / quality */
.capability-grid,.industry-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--navy);margin-bottom:74px}
.capability-grid article,.industry-list article{padding:28px 30px 32px 0;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.capability-grid article:nth-child(3n+2),.industry-list article:nth-child(3n+2){padding-left:30px}
.capability-grid article:nth-child(3n),.industry-list article:nth-child(3n){padding-left:30px;border-right:0}
.quality-steps{border-top:1px solid var(--navy);margin-bottom:60px}
.quality-steps article{display:grid;grid-template-columns:70px 180px 1fr;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--line)}
.quality-steps h3{margin:0;color:var(--navy);font-size:1.25rem;text-transform:none;letter-spacing:0}
.info-panel{background:var(--navy);color:#fff;padding:38px 40px;margin-top:65px}
.info-panel h2{font-size:clamp(1.8rem,3vw,3rem);letter-spacing:-.035em;margin:0 0 10px}.info-panel p{max-width:72ch;color:#d7e2ef}.info-panel .text-link{color:#8fc5ff}

/* Trade */
.process-chapters{list-style:none;margin:0 0 70px;padding:0;border-top:1px solid var(--navy)}
.process-chapters li{display:grid;grid-template-columns:80px 1fr;gap:30px;padding:28px 0;border-bottom:1px solid var(--line)}
.process-chapters>li>span{font-size:.78rem;font-weight:800;color:var(--blue);padding-top:8px}
.process-chapters h2{font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.05;color:var(--navy);letter-spacing:-.035em;margin:0 0 8px}
.process-chapters p{color:var(--muted);max-width:72ch;margin:0}
.trade-contact-band{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper-2);border:1px solid var(--line)}
.trade-contact-band div{padding:28px 30px;border-right:1px solid var(--line)}.trade-contact-band div:last-child{border-right:0}
.trade-contact-band span{display:block;font-size:.72rem;font-weight:800;text-transform:uppercase;color:var(--muted);letter-spacing:.05em;margin-bottom:7px}.trade-contact-band a{font-size:1.06rem;font-weight:800;color:var(--navy)}

/* Contact */
.contact-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(55px,8vw,120px);align-items:start}
.contact-details h2,.enquiry-panel h2{font-size:clamp(2.2rem,3.8vw,3.8rem);line-height:1.03;letter-spacing:-.04em;color:var(--navy);margin:.15em 0 .4em}
.contact-details>p:not(.eyebrow){color:var(--muted);max-width:52ch}
.contact-details dl{margin:36px 0 0}
.contact-details dl div{padding:16px 0;border-top:1px solid var(--line)}
.contact-details dt{font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.contact-details dd{margin:5px 0 0;font-size:1.02rem;color:var(--navy)}
.contact-details dd a{color:var(--blue);font-weight:700}
.enquiry-panel{background:var(--paper-2);border:1px solid var(--line);padding:34px}
.enquiry-form label{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.05em;font-weight:800;color:#344155;margin-bottom:17px}
.enquiry-form input,.enquiry-form select,.enquiry-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #aeb9c6;background:#fff;color:var(--ink);border-radius:0;padding:12px 13px;min-height:46px;font-size:16px;text-transform:none;letter-spacing:0;font-weight:400;box-shadow:none;-webkit-appearance:none;appearance:none}
.enquiry-form textarea{min-height:150px;resize:vertical;line-height:1.5}
.enquiry-form select{background-image:linear-gradient(45deg,transparent 50%,#5d6875 50%),linear-gradient(135deg,#5d6875 50%,transparent 50%);background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:35px}
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus{border-color:var(--blue);outline:3px solid rgba(11,101,216,.16);outline-offset:0}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.consent-row{display:flex!important;gap:11px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-weight:400!important;line-height:1.4}.consent-row input{width:18px!important;height:18px;min-height:18px!important;margin:2px 0 0!important;padding:0!important;-webkit-appearance:checkbox!important;appearance:auto!important;flex:0 0 auto}.consent-row a{text-decoration:underline;color:var(--blue)}
.hp-field{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.form-notice{padding:13px 14px;margin:0 0 18px;border:1px solid #9cabbb;font-size:.9rem}.form-notice.success{background:var(--success);border-color:#8fb09a}.form-notice.error{background:var(--error);border-color:#c68d82}
.map-section{display:grid;grid-template-columns:.55fr 1.45fr;gap:45px;align-items:start;margin-top:82px;padding-top:36px;border-top:1px solid var(--navy)}
.map-section h2{font-size:clamp(2rem,3.5vw,3.7rem);line-height:1.02;color:var(--navy);letter-spacing:-.04em;margin:.18em 0}
.map-section p{color:var(--muted)}
.map-shell{height:480px;min-height:480px;background:#e8edf2;overflow:hidden}
.map-shell iframe{display:block;width:100%;height:100%;min-height:480px;border:0}

/* Legal */
.legal-copy{max-width:960px;margin:0 auto}
.legal-intro{font-size:1.2rem;line-height:1.5;color:#2f3d50;margin:0 0 45px}
.legal-copy h2{font-size:1.5rem;line-height:1.2;color:var(--navy);margin:2em 0 .55em;padding-top:.8em;border-top:1px solid var(--line)}
.legal-copy p{color:#465368;margin:.65em 0 1em}
.legal-copy a{color:var(--blue);text-decoration:underline}
.legal-table{width:100%;border-collapse:collapse;margin:30px 0;font-size:.9rem}.legal-table th,.legal-table td{text-align:left;vertical-align:top;border:1px solid var(--line);padding:13px}.legal-table th{background:var(--navy);color:#fff}

/* Footer */
.site-footer{background:#06182f;color:#fff;margin-top:0}
.footer-main{display:grid;grid-template-columns:1.4fr .8fr 1fr .9fr;gap:44px;padding-block:60px}
.footer-brand img{width:250px;height:auto;margin-bottom:20px}.footer-brand p{max-width:42ch;color:#bfccdc}
.footer-main h2{font-size:.73rem;text-transform:uppercase;letter-spacing:.07em;color:#8fc5ff;margin:0 0 14px}.footer-main p{font-size:.9rem;color:#d7e2ef;margin:0;line-height:1.65}.footer-main a:hover{text-decoration:underline}
.footer-links{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:19px;border-top:1px solid rgba(255,255,255,.14);font-size:.76rem;color:#aebdce}.footer-links nav{display:flex;flex-wrap:wrap;gap:20px}.footer-links p{margin:0}

/* 404 / blog fallback */
.error-page{background:var(--paper-2);min-height:64vh;padding-block:100px}.error-page h1{font-size:clamp(3rem,6vw,6rem);letter-spacing:-.045em;color:var(--navy);margin:.2em 0}.error-page p:not(.eyebrow){max-width:55ch;color:var(--muted);margin-bottom:26px}
.post-row{padding:28px 0;border-top:1px solid var(--line)}.post-row h2{color:var(--navy)}

@supports not (backdrop-filter:blur(8px)){.hero-facts{background:rgba(5,17,32,.96)}}

@media(max-width:1220px){
  .header-inner{min-height:76px}.brand img{width:220px}.primary-nav,.primary-nav .menu{gap:16px}.primary-nav .menu a{font-size:.72rem;padding-block:28px}.nav-quote{padding-inline:15px;font-size:.72rem}
  .hero-inner{grid-template-columns:1.05fr .7fr}.home-product-grid{grid-template-columns:repeat(2,1fr)}.home-product-card p{min-height:0}.home-about-grid{grid-template-columns:1fr .72fr}.home-about-image{grid-column:1/-1;height:360px;min-height:0}.catalogue-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:1080px){
  .utility-inner p{display:none}.utility-inner{justify-content:flex-end}.main-header{position:relative}.header-inner{min-height:72px}.js .menu-toggle{display:flex;align-items:center;gap:13px}.primary-nav{display:flex;position:absolute;left:0;right:0;top:72px;background:#fff;margin:0;padding:18px var(--pad) 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 12px 30px rgba(9,30,56,.12);align-items:stretch;flex-direction:column;z-index:40}.js .primary-nav{display:none}.js .primary-nav.is-open{display:flex}.primary-nav .menu{flex-direction:column;align-items:stretch;gap:0}.primary-nav .menu a{display:block;padding:12px 0;border-bottom:1px solid var(--line);font-size:.85rem}.nav-quote{margin-top:6px;min-height:46px}
  .hero-inner{grid-template-columns:1fr;min-height:0;padding-block:70px}.home-hero{min-height:0}.hero-facts{max-width:620px}.home-hero:after{background:linear-gradient(90deg,rgba(2,11,22,.97) 0%,rgba(2,11,22,.86) 58%,rgba(2,11,22,.48) 100%)}
  .benefit-grid{grid-template-columns:1fr 1fr}.benefit-grid article{border-bottom:1px solid var(--line)}.benefit-grid article:nth-child(2){border-right:0}.benefit-grid article:nth-last-child(-n+2){border-bottom:0}.benefit-grid article:first-child{padding-left:26px}.benefit-grid article:last-child{padding-right:26px}
  .home-process-grid{grid-template-columns:1fr 1fr}.home-process-grid article:nth-child(2){border-right:0}.home-process-grid article:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .home-about-grid{grid-template-columns:1fr}.home-about-points{border-left:0;border-top:1px solid var(--line)}.home-about-image{grid-column:auto}
  .content-split,.catalogue-intro,.quote-inputs,.contact-prep,.contact-layout,.map-section{grid-template-columns:1fr;gap:34px}.stat-band{grid-template-columns:1fr 1fr}.stat-band div:nth-child(2){border-right:0}.stat-band div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.14)}
  .principle-grid,.capability-grid,.industry-list{grid-template-columns:1fr 1fr}.principle-grid article:nth-child(2){border-right:0}.capability-grid article:nth-child(3n+2),.capability-grid article:nth-child(3n),.industry-list article:nth-child(3n+2),.industry-list article:nth-child(3n){padding-left:0}.capability-grid article,.industry-list article{padding:26px;border-right:1px solid var(--line)}.capability-grid article:nth-child(even),.industry-list article:nth-child(even){border-right:0}.family-summary{grid-template-columns:1fr}.family-summary article{border-right:0;border-bottom:1px solid var(--line)}.family-summary article:last-child{border-bottom:0}.trade-contact-band{grid-template-columns:1fr}.trade-contact-band div{border-right:0;border-bottom:1px solid var(--line)}.trade-contact-band div:last-child{border-bottom:0}.map-shell,.map-shell iframe{height:420px;min-height:420px}
  .footer-main{grid-template-columns:1fr 1fr}
}

@media(max-width:680px){
  :root{--pad:20px}.utility-inner{min-height:34px}.utility-inner div{width:100%;justify-content:space-between;gap:10px}.utility-inner a{font-size:.74rem}.brand img{width:190px}.header-inner{min-height:68px}.primary-nav{top:68px}
  .hero-copy h1{font-size:clamp(2.45rem,12vw,3.55rem)}.hero-lede{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .button{width:100%}.hero-facts{padding:13px 18px}.hero-facts article{grid-template-columns:32px 1fr;padding:14px 0}.home-hero:after{background:rgba(2,11,22,.82)}.hero-media{background-position:64% center}
  .benefit-grid{grid-template-columns:1fr}.benefit-grid article,.benefit-grid article:first-child,.benefit-grid article:last-child{padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}.benefit-grid article:last-child{border-bottom:0}
  .section-pad{padding-block:66px}.section-heading h2{font-size:2.35rem}.home-product-grid{grid-template-columns:1fr}.home-product-card figure{height:240px}.home-about{padding-block:58px}.home-about-copy{padding:28px 24px}.home-about-points{padding:25px 24px}.home-about-image{height:260px}.home-process-grid{grid-template-columns:1fr}.home-process-grid article{border-right:0!important;border-bottom:1px solid var(--line)!important;padding:23px 0}.home-process-grid article:last-child{border-bottom:0!important}.home-cta-inner{align-items:flex-start;flex-direction:column}.home-cta h2{font-size:2.7rem}
  .page-hero-inner{grid-template-columns:1fr;gap:4px;min-height:210px;padding-block:36px}.page-index{padding-top:0}.page-hero h1{font-size:3.45rem}.page-content{padding-top:54px}.content-split{margin-bottom:58px}.content-split h2,.catalogue-intro h2,.quote-inputs h2,.contact-prep h2{font-size:2.55rem}
  .stat-band{grid-template-columns:1fr}.stat-band div,.stat-band div:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.stat-band div:last-child{border-bottom:0}.principle-grid,.capability-grid,.industry-list{grid-template-columns:1fr}.principle-grid article,.capability-grid article,.industry-list article{border-right:0!important;padding:24px 0}.catalogue-grid{grid-template-columns:1fr}.product-card figure{height:300px}.catalogue-toolbar{position:static}.quote-input-grid,.contact-prep-grid{grid-template-columns:1fr}.quote-input-grid article,.quote-input-grid article:nth-child(even),.contact-prep-grid article,.contact-prep-grid article:nth-child(even){padding:22px 0;border-left:0}.cta-panel{align-items:flex-start;flex-direction:column;padding:28px 24px}.quality-steps article{grid-template-columns:40px 1fr;gap:16px}.quality-steps article div{grid-column:2}.quality-steps h3{grid-column:2}.process-chapters li{grid-template-columns:42px 1fr;gap:14px}.process-chapters h2{font-size:2rem}.contact-layout{gap:52px}.enquiry-panel{padding:26px 20px}.field-grid{grid-template-columns:1fr}.map-shell,.map-shell iframe{height:350px;min-height:350px}.legal-table{display:block;overflow-x:auto;white-space:normal}.footer-main{grid-template-columns:1fr;gap:30px;padding-block:48px}.footer-links{align-items:flex-start;flex-direction:column}.footer-links nav{gap:12px 18px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
