:root{
  --nc-ink:#17252F; --nc-chalk:#F7F7F3; --nc-white:#FFFFFF; --nc-cobalt:#315CF6;
  --nc-mist:#E6EBF1; --nc-stone:#C9BBAA; --nc-muted:#58646D;
  --nc-font-display:"Manrope",sans-serif; --nc-font-body:"Inter",sans-serif;
  --nc-content-width:1280px; --nc-page-gutter:64px; --nc-grid-gap:24px;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --nc-radius-sm:4px; --nc-radius-md:6px; --nc-border:1px solid #D6DDE2;
  --nc-transition:200ms ease;
}
@media(max-width:767px){:root{--nc-page-gutter:20px;--nc-grid-gap:16px;}}
@media(prefers-reduced-motion:reduce){:root{--nc-transition:0ms;} .reveal{opacity:1!important;transform:none!important;}}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--nc-font-body);background:var(--nc-chalk);color:var(--nc-ink);line-height:1.55;-webkit-font-smoothing:antialiased;font-size:17px;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--nc-cobalt);outline-offset:3px;border-radius:2px;}
.wrap{max-width:var(--nc-content-width);margin:0 auto;padding:0 var(--nc-page-gutter);}

/* type */
.disp{font-family:var(--nc-font-display);font-weight:700;letter-spacing:-.025em;line-height:1.03;}
h2.disp{font-weight:600;}
.label{font-family:var(--nc-font-body);font-weight:600;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-muted);}
.label .n{color:var(--nc-cobalt);margin-right:.7em;}
.label .n::before{content:"";display:inline-block;width:22px;height:1px;background:var(--nc-cobalt);vertical-align:middle;margin-right:.7em;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:.5em;height:48px;padding:0 var(--s3);border-radius:var(--nc-radius-md);font-family:var(--nc-font-body);font-weight:600;font-size:.95rem;border:1.5px solid transparent;transition:background var(--nc-transition),color var(--nc-transition),border-color var(--nc-transition),transform var(--nc-transition);cursor:pointer;}
.btn-primary{background:var(--nc-cobalt);color:#fff;}
.btn-primary:hover{background:#1f49e0;transform:translateY(-1px);}
.btn-ink{background:var(--nc-ink);color:#fff;}
.btn-ink:hover{background:#0e171d;transform:translateY(-1px);}
.btn-outline{border-color:#D6DDE2;color:var(--nc-ink);}
.btn-outline:hover{border-color:var(--nc-ink);}
.btn-light{background:#fff;color:var(--nc-ink);}
.btn-light:hover{transform:translateY(-1px);}
.arw{transition:transform var(--nc-transition);}
.btn:hover .arw,.lk:hover .arw{transform:translateX(3px);}
.lk{font-weight:600;font-size:.9rem;color:var(--nc-cobalt);display:inline-flex;gap:.4em;align-items:center;}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(247,247,243,.9);backdrop-filter:blur(10px);border-bottom:var(--nc-border);}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:72px;}
.brand{display:flex;align-items:center;flex-shrink:0;}
.brand img{height:38px;width:auto;display:block;}
.nav-links{display:flex;gap:var(--s4);align-items:center;}
.nav-links a{font-weight:500;font-size:.92rem;color:var(--nc-muted);transition:color var(--nc-transition);}
.nav-links a:hover{color:var(--nc-ink);}
.nav-cta{display:flex;gap:var(--s2);align-items:center;}
.navtoggle{display:none;background:none;border:0;cursor:pointer;color:var(--nc-ink);}
@media(max-width:1040px){
  .nav-links,.nav-cta{display:none;}
  .navtoggle{display:block;}
  header.nav.open .nav-links{display:flex;position:absolute;top:72px;left:0;right:0;flex-direction:column;background:var(--nc-chalk);border-bottom:var(--nc-border);padding:var(--s3) var(--nc-page-gutter);gap:var(--s3);}
}

/* hero */
.hero{padding:var(--s7) 0 var(--s6);}
.hero-grid{display:grid;grid-template-columns:8fr 4fr;gap:var(--s6);align-items:end;}
.hero .eyebrow{font-family:var(--nc-font-body);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--nc-cobalt);}
.hero h1{font-size:clamp(2.5rem,6.2vw,4.75rem);margin:var(--s3) 0 var(--s3);max-width:16ch;}
.hero .sub{font-family:var(--nc-font-body);font-size:clamp(1.12rem,1.5vw,1.35rem);color:var(--nc-muted);max-width:44ch;line-height:1.5;}
.hero-cta{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s5);}
.hero-index{border-top:1px solid #D6DDE2;margin-top:var(--s2);padding-top:var(--s2);display:flex;flex-direction:column;gap:var(--s2);}
.hero-index .ix{display:flex;justify-content:space-between;align-items:baseline;font-weight:500;font-size:.96rem;color:var(--nc-ink);}
.hero-index .ix span{font-family:var(--nc-font-display);font-weight:600;color:var(--nc-muted);font-size:.8rem;}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;gap:var(--s5);align-items:start;}.hero .sub{max-width:none;}}

/* portfolio image band */
.herocells{margin-top:var(--s6);display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:var(--s2);align-items:start;}
.herocells .hcell{margin:0;display:flex;flex-direction:column;}
.herocells img{width:100%;height:clamp(240px,32vw,430px);object-fit:cover;border:var(--nc-border);border-radius:var(--nc-radius-md);background:var(--nc-mist);display:block;}
.herocells figcaption{padding:var(--s2) var(--s2) 0;}
.herocells h4{font-family:var(--nc-font-display);font-weight:600;font-size:1.02rem;margin-bottom:4px;}
.herocells p{font-size:.92rem;line-height:1.55;color:var(--nc-muted);}
@media(max-width:760px){.herocells{grid-template-columns:1fr;gap:var(--s4);}.herocells img{height:clamp(220px,56vw,320px);}.herocells figcaption{padding:var(--s1) 0 0;}}

/* section scaffold */
section{padding:var(--s7) 0;}
.sec-head{max-width:48ch;margin-bottom:var(--s5);}
.sec-head h2{font-size:clamp(1.875rem,3.4vw,3.25rem);margin-top:var(--s2);}
.sec-head p{color:var(--nc-muted);margin-top:var(--s3);font-size:1.12rem;max-width:52ch;}

/* philosophy statement */
.philo{border-top:var(--nc-border);}
.philo h2{font-size:clamp(1.75rem,3.2vw,2.75rem);max-width:20ch;margin-top:var(--s3);}
.philo h2 em{font-style:normal;color:var(--nc-cobalt);}
.cdh{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s4);margin-top:var(--s6);}
.cdh .c .k{font-family:var(--nc-font-display);font-weight:700;font-size:.85rem;color:var(--nc-cobalt);}
.cdh .c h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.3rem;margin:var(--s2) 0 var(--s1);}
.cdh .c p{color:var(--nc-muted);font-size:.98rem;}
.cdh .c p.cl{color:var(--nc-ink);font-weight:600;margin-bottom:var(--s1);}
.philo .intro{max-width:70ch;margin-top:var(--s4);font-size:1.18rem;line-height:1.7;color:var(--nc-muted);}
.cdh--rule{margin-top:var(--s5);padding-top:var(--s5);border-top:var(--nc-border);}
@media(max-width:720px){.cdh{grid-template-columns:1fr;gap:var(--s4);}}

/* two arms */
.arms{display:grid;grid-template-columns:1fr 1fr;gap:var(--nc-grid-gap);}
.arm{background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);padding:var(--s5);transition:border-color var(--nc-transition);}
.arm:hover{border-color:var(--nc-ink);}
.arm .num{font-family:var(--nc-font-display);font-weight:700;font-size:.95rem;color:var(--nc-cobalt);}
.arm h3{font-family:var(--nc-font-display);font-weight:600;font-size:clamp(1.3rem,2vw,1.7rem);margin:var(--s2) 0 var(--s2);}
.arm p{color:var(--nc-muted);margin-bottom:var(--s4);}
.tags{display:flex;flex-wrap:wrap;gap:var(--s1);}
.tag{font-size:.8rem;font-weight:600;color:var(--nc-ink);border:var(--nc-border);border-radius:999px;padding:.4rem .85rem;}
@media(max-width:760px){.arms{grid-template-columns:1fr;}}

/* principles — ink band */
.band{background:var(--nc-ink);color:var(--nc-chalk);}
.band .label{color:var(--nc-stone);}
.band .label .n{color:var(--nc-stone);}
.band .label .n::before{background:var(--nc-stone);}
.band h2{color:#fff;}
.prin{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s5) var(--s4);margin-top:var(--s6);}
.prin .p .k{font-family:var(--nc-font-display);font-weight:700;font-size:.9rem;color:var(--nc-cobalt);}
.prin .p h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.14rem;margin:var(--s2) 0 var(--s1);color:#fff;}
.prin .p p{color:rgba(247,247,243,.64);font-size:.95rem;}
@media(max-width:860px){.prin{grid-template-columns:1fr 1fr;}}
@media(max-width:480px){.prin{grid-template-columns:1fr;}}

/* portfolio */
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nc-grid-gap);}
.bcard{display:flex;flex-direction:column;background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);overflow:hidden;transition:border-color var(--nc-transition);}
.bcard:hover{border-color:var(--nc-cobalt);}
.bcard .bimg{aspect-ratio:16/10;background:var(--nc-mist);border-bottom:var(--nc-border);overflow:hidden;}
.bcard .bimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform var(--nc-transition);}
.bcard:hover .bimg img{transform:scale(1.03);}
.bcard .bbody{display:flex;flex-direction:column;flex:1;padding:var(--s4);}
.bcard .bt{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-cobalt);}
.bcard .cat{font-size:.74rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-muted);margin-top:var(--s2);}
.bcard .bn{font-family:var(--nc-font-display);font-weight:600;font-size:1.3rem;margin:var(--s1) 0 auto;}
.bcard .lk,.bcard .soon{margin-top:var(--s3);}
.bcard .soon{font-weight:600;font-size:.8rem;color:var(--nc-stone);}
@media(max-width:820px){.brand-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.brand-grid{grid-template-columns:1fr;}}

/* capabilities */
.caps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#D6DDE2;border:var(--nc-border);border-radius:var(--nc-radius-md);overflow:hidden;}
.cap{background:var(--nc-chalk);padding:var(--s4);}
.cap h4{font-family:var(--nc-font-display);font-weight:600;font-size:1.02rem;margin-bottom:var(--s1);}
.cap p{font-size:.9rem;color:var(--nc-muted);}
@media(max-width:860px){.caps{grid-template-columns:1fr 1fr;}}

/* closing CTA — ink, not cobalt */
.cta{background:var(--nc-ink);color:#fff;border-radius:var(--nc-radius-md);padding:var(--s7) var(--s6);}
.cta-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s5);align-items:center;}
.cta h2{font-size:clamp(1.75rem,3vw,2.6rem);color:#fff;max-width:18ch;}
.cta p{color:rgba(247,247,243,.7);margin-top:var(--s3);max-width:40ch;}
.cta .act{display:flex;gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;}
.cta .btn-primary{background:var(--nc-cobalt);}
@media(max-width:760px){.cta{padding:var(--s6) var(--s4);}.cta-grid{grid-template-columns:1fr;gap:var(--s4);}.cta .act{justify-content:flex-start;}}

/* footer */
footer{background:var(--nc-ink);color:rgba(247,247,243,.7);padding:var(--s7) 0 var(--s5);margin-top:var(--s7);}
.foot-top{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:var(--s4);padding-bottom:var(--s5);border-bottom:1px solid rgba(247,247,243,.15);}
.foot-top .fbrand-logo{height:38px;width:auto;display:block;filter:brightness(0) invert(1);}
.foot-top .ftag{color:var(--nc-stone);font-weight:600;margin-top:var(--s2);}
.foot-links{display:flex;gap:var(--s4);flex-wrap:wrap;}
.foot-links a{color:rgba(247,247,243,.7);font-size:.92rem;}
.foot-links a:hover{color:#fff;}
.foot-bot{margin-top:var(--s4);font-size:.82rem;color:rgba(247,247,243,.5);}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--nc-transition),transform .5s ease;}
.reveal.in{opacity:1;transform:none;}

/* ===== Leadership (Considered Modernism) ===== */
.ld-hero{padding:var(--s7) 0 var(--s6);}
.ld-hero-in{display:grid;grid-template-columns:360px 1fr;gap:var(--s6);align-items:center;}
.ld-portrait{width:100%;aspect-ratio:1/1;object-fit:cover;border:var(--nc-border);border-radius:var(--nc-radius-md);display:block;}
.ld-name{font-family:var(--nc-font-display);font-weight:700;font-size:clamp(2.1rem,4.4vw,3.3rem);letter-spacing:-.025em;line-height:1.03;margin:var(--s3) 0 var(--s1);}
.ld-role{font-weight:600;font-size:1.05rem;color:var(--nc-ink);}
.ld-former{color:var(--nc-muted);font-size:.92rem;font-style:italic;margin-top:2px;}
.ld-summary{font-size:1.1rem;line-height:1.6;color:var(--nc-muted);max-width:48ch;margin:var(--s3) 0;}
.ld-facts{display:flex;flex-wrap:wrap;gap:var(--s1);margin-bottom:var(--s3);}
.ld-cta{display:flex;gap:var(--s2);flex-wrap:wrap;}
@media(max-width:820px){.ld-hero-in{grid-template-columns:1fr;gap:var(--s4);}.ld-portrait{max-width:300px;}}
.ld-body{max-width:900px;}
.ld-body p{font-size:1.06rem;line-height:1.72;color:#2a3640;margin:0 0 var(--s3);max-width:68ch;}
.ld-h2{font-family:var(--nc-font-display);font-weight:600;font-size:clamp(1.3rem,2.2vw,1.7rem);margin:var(--s7) 0 var(--s4);padding-bottom:var(--s2);border-bottom:var(--nc-border);position:relative;}
.ld-h2::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--nc-cobalt);}
.ld-tl{list-style:none;margin:0;padding:0;position:relative;}
.ld-tl::before{content:"";position:absolute;left:7px;top:6px;bottom:10px;width:2px;background:linear-gradient(var(--nc-cobalt),var(--nc-mist));}
.ld-tl li{position:relative;padding:0 0 var(--s5) var(--s5);}
.ld-tl li::before{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--nc-chalk);border:2px solid var(--nc-cobalt);}
.ld-period{font-family:var(--nc-font-display);font-weight:600;font-size:.74rem;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-cobalt);}
.ld-tl h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.14rem;margin:var(--s1) 0 2px;}
.ld-tl .org{font-weight:500;color:var(--nc-muted);font-size:.93rem;}
.ld-tl .note{color:var(--nc-muted);font-size:.95rem;margin-top:var(--s1);max-width:62ch;}
.ld-ach{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:var(--s3);}
.ld-ach .a{background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);padding:var(--s4);}
.ld-ach .a::before{content:"";display:block;width:28px;height:2px;background:var(--nc-cobalt);margin-bottom:var(--s2);}
.ld-ach .a p{color:var(--nc-muted);font-size:.96rem;}
.ld-cov{list-style:none;margin:0;padding:0;}
.ld-cov li{border-top:var(--nc-border);}
.ld-cov li:last-child{border-bottom:var(--nc-border);}
.ld-cov a{display:flex;justify-content:space-between;gap:var(--s3);align-items:center;padding:var(--s3) 0;color:var(--nc-ink);font-size:1rem;transition:color var(--nc-transition),padding var(--nc-transition);}
.ld-cov a:hover{color:var(--nc-cobalt);padding-left:var(--s1);}
.ld-cov .arw{color:var(--nc-cobalt);}
.ld-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--nc-grid-gap);}
.ld-card{display:grid;grid-template-columns:132px 1fr;gap:var(--s3);align-items:center;background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);padding:var(--s3);text-decoration:none;color:inherit;transition:border-color var(--nc-transition),transform var(--nc-transition);}
.ld-card:hover{border-color:var(--nc-cobalt);transform:translateY(-2px);}
.ld-card img{width:132px;height:132px;object-fit:cover;border-radius:var(--nc-radius-sm);}
.ld-card .eyebrow{font-size:.68rem;}
.ld-card .nm{font-family:var(--nc-font-display);font-weight:600;font-size:1.25rem;margin-top:var(--s1);}
.ld-card .rl{color:var(--nc-muted);font-size:.9rem;margin-top:2px;}
@media(max-width:420px){.ld-card{grid-template-columns:1fr;text-align:left;}.ld-card img{width:120px;height:120px;}}

/* ===== Professional multi-column footer ===== */
footer{background:var(--nc-ink);color:rgba(247,247,243,.72);padding:var(--s7) 0 var(--s5);margin-top:var(--s7);}
.foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.2fr;gap:var(--s5);padding-bottom:var(--s6);border-bottom:1px solid rgba(247,247,243,.14);}
.foot-brand .fbrand-logo{height:34px;width:auto;display:block;filter:brightness(0) invert(1);}
.foot-brand .ftag{color:var(--nc-stone);font-weight:600;margin-top:var(--s3);font-size:.95rem;}
.foot-brand p{font-size:.9rem;line-height:1.6;margin-top:var(--s2);max-width:34ch;color:rgba(247,247,243,.58);}
.foot-col h4{font-family:var(--nc-font-display);font-weight:600;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,247,243,.5);margin-bottom:var(--s3);}
.foot-col a{display:block;color:rgba(247,247,243,.78);font-size:.93rem;padding:.32rem 0;transition:color var(--nc-transition);}
.foot-col a:hover{color:#fff;}
.foot-col address{font-style:normal;font-size:.9rem;line-height:1.75;color:rgba(247,247,243,.72);}
.foot-col address a{display:inline;padding:0;color:rgba(247,247,243,.82);}
.foot-col address a:hover{color:#fff;}
.foot-bottom{display:flex;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;align-items:center;margin-top:var(--s4);font-size:.82rem;color:rgba(247,247,243,.5);}
.foot-bottom .legal a{color:rgba(247,247,243,.5);margin-left:var(--s3);}
.foot-bottom .legal a:hover{color:#fff;}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr;gap:var(--s5) var(--s4);}}
@media(max-width:480px){.foot-grid{grid-template-columns:1fr;}.foot-bottom{flex-direction:column;align-items:flex-start;gap:var(--s2);}.foot-bottom .legal a{margin:0 var(--s3) 0 0;}}

/* ===== Video hero (cinematic, e.g. Our Story) ===== */
.vhero{position:relative;overflow:hidden;background:var(--nc-ink);color:#fff;}
.vhero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.vhero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(23,37,47,.5) 0%,rgba(23,37,47,.72) 60%,rgba(23,37,47,.85) 100%);}
.vhero .wrap{position:relative;z-index:2;padding:clamp(4rem,10vw,8rem) var(--nc-page-gutter);}
.vhero .eyebrow{color:#9db4ff;}
.vhero .disp{color:#fff;}
.vhero .sub{color:rgba(247,247,243,.86);}

/* ===== Newsroom cards ===== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--nc-grid-gap);}
.post{display:flex;flex-direction:column;background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:border-color var(--nc-transition),transform var(--nc-transition);}
.post:hover{border-color:var(--nc-cobalt);transform:translateY(-3px);}
.post .cover{aspect-ratio:16/9;background:var(--nc-mist);border-bottom:var(--nc-border);display:flex;align-items:flex-start;padding:var(--s3);}
.post .cover .tag{font-family:var(--nc-font-body);font-size:.66rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-cobalt);background:var(--nc-white);border:var(--nc-border);border-radius:999px;padding:.32rem .72rem;}
.post .body{padding:var(--s4);display:flex;flex-direction:column;flex:1;}
.post .date{font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--nc-muted);}
.post .body h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.08rem;line-height:1.32;margin:var(--s1) 0 var(--s3);color:var(--nc-ink);}
.post .rm{margin-top:auto;font-weight:600;font-size:.86rem;color:var(--nc-cobalt);}
@media(max-width:820px){.news-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.news-grid{grid-template-columns:1fr;}}

/* ===== RFQ form ===== */
.rfq{max-width:760px;}
.rfq .field{margin-bottom:var(--s3);}
.rfq label{display:block;font-weight:600;font-size:.86rem;margin-bottom:6px;color:var(--nc-ink);}
.rfq label .req{color:var(--nc-cobalt);}
.rfq input,.rfq select,.rfq textarea{width:100%;font-family:var(--nc-font-body);font-size:1rem;padding:.72rem .85rem;border:var(--nc-border);border-radius:var(--nc-radius-sm);background:var(--nc-white);color:var(--nc-ink);}
.rfq input:focus,.rfq select:focus,.rfq textarea:focus{outline:2px solid var(--nc-cobalt);outline-offset:1px;border-color:var(--nc-cobalt);}
.rfq textarea{min-height:120px;resize:vertical;}
.rfq .row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);}
@media(max-width:600px){.rfq .row{grid-template-columns:1fr;}}
.rfq .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.rfq details{margin:var(--s2) 0 var(--s4);border-top:var(--nc-border);padding-top:var(--s3);}
.rfq summary{cursor:pointer;font-weight:600;color:var(--nc-cobalt);font-size:.95rem;}
.rfq-msg{padding:var(--s3) var(--s4);border-radius:var(--nc-radius-md);margin-bottom:var(--s4);display:none;font-size:.96rem;}
.rfq-msg.ok{display:block;background:#eaf7ee;border:1px solid #bfe6cb;color:#176b35;}
.rfq-msg.err{display:block;background:#fdecec;border:1px solid #f6c5c5;color:#a12020;}

/* ===== FAQ accordion + legal prose + contact ===== */
.faq-acc{max-width:820px;}
.faq-acc details{border-top:var(--nc-border);padding:var(--s3) 0;}
.faq-acc details:last-child{border-bottom:var(--nc-border);}
.faq-acc summary{cursor:pointer;font-family:var(--nc-font-display);font-weight:600;font-size:1.06rem;color:var(--nc-ink);list-style:none;display:flex;justify-content:space-between;gap:var(--s3);align-items:baseline;}
.faq-acc summary::-webkit-details-marker{display:none;}
.faq-acc summary::after{content:"+";color:var(--nc-cobalt);font-weight:700;}
.faq-acc details[open] summary::after{content:"\2212";}
.faq-acc details p{color:var(--nc-muted);margin-top:var(--s2);line-height:1.65;max-width:70ch;}
.faq-acc details a{color:var(--nc-cobalt);}
.legal{max-width:760px;}
.legal h2{font-family:var(--nc-font-display);font-weight:600;font-size:clamp(1.2rem,2vw,1.5rem);margin:var(--s6) 0 var(--s2);color:var(--nc-ink);}
.legal p{color:#2a3640;line-height:1.72;margin:0 0 var(--s3);max-width:70ch;}
.legal ul{margin:0 0 var(--s3) var(--s4);color:#2a3640;line-height:1.72;}
.legal a{color:var(--nc-cobalt);}
.contact-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--s6);align-items:start;}
.contact-info h4{font-family:var(--nc-font-display);font-weight:600;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--nc-muted);margin:var(--s4) 0 var(--s2);}
.contact-info a{color:var(--nc-cobalt);}
.contact-info address{font-style:normal;line-height:1.8;color:var(--nc-ink);}
@media(max-width:800px){.contact-grid{grid-template-columns:1fr;gap:var(--s5);}}

/* ===== Blog article body ===== */
.ld-body .lede2{font-size:clamp(1.14rem,1.6vw,1.32rem);line-height:1.6;color:var(--nc-ink);margin-bottom:var(--s4);}
.ld-body h2{font-family:var(--nc-font-display);font-weight:600;font-size:clamp(1.25rem,2.2vw,1.6rem);margin:var(--s6) 0 var(--s2);color:var(--nc-ink);}
.ld-body h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.1rem;margin:var(--s4) 0 var(--s1);color:var(--nc-ink);}
.ld-body ul{margin:0 0 var(--s3) var(--s4);color:#2a3640;line-height:1.7;}
.ld-body li{margin-bottom:6px;}
.ld-body a{color:var(--nc-cobalt);}

/* ===== Newsroom category filter ===== */
.news-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s5);}
.news-filter button{font-family:var(--nc-font-body);font-weight:600;font-size:.84rem;color:var(--nc-ink);background:var(--nc-white);border:var(--nc-border);border-radius:999px;padding:.5rem 1rem;cursor:pointer;transition:background var(--nc-transition),color var(--nc-transition),border-color var(--nc-transition);}
.news-filter button:hover{border-color:var(--nc-ink);}
.news-filter button.active{background:var(--nc-cobalt);color:#fff;border-color:var(--nc-cobalt);}
.post.hide{display:none;}

/* ===== Brand feature (category -> owned manufacturer brand) ===== */
.brandfeature{display:grid;grid-template-columns:200px 1fr;gap:var(--s5);align-items:center;background:var(--nc-white);border:var(--nc-border);border-radius:var(--nc-radius-md);padding:var(--s4);text-decoration:none;color:inherit;transition:border-color var(--nc-transition);}
.brandfeature:hover{border-color:var(--nc-cobalt);}
.brandfeature img{width:200px;height:150px;object-fit:cover;border-radius:var(--nc-radius-sm);}
.brandfeature .role{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--nc-cobalt);}
.brandfeature h3{font-family:var(--nc-font-display);font-weight:600;font-size:1.5rem;margin:4px 0 6px;}
.brandfeature p{color:var(--nc-muted);max-width:60ch;}
.brandfeature .lk{color:var(--nc-cobalt);font-weight:600;font-size:.9rem;margin-top:var(--s2);display:inline-flex;gap:.4em;align-items:center;}
@media(max-width:620px){.brandfeature{grid-template-columns:1fr;}.brandfeature img{width:100%;height:170px;}}
.eeat{font-size:.86rem;color:var(--nc-muted);border-top:var(--nc-border);margin-top:var(--s5);padding-top:var(--s3);}
.eeat a{color:var(--nc-cobalt);}

/* ===== Mobile UX optimisations ===== */
/* Force any .arms grid (even inline-columned ones) to collapse on small screens */
@media(max-width:900px){.arms{grid-template-columns:1fr 1fr !important;}}
@media(max-width:640px){.arms{grid-template-columns:1fr !important;}}
/* Tighter vertical rhythm on phones */
@media(max-width:600px){
  section{padding:var(--s6) 0;}
  .hero{padding:var(--s6) 0 var(--s5);}
  .vhero .wrap{padding-top:var(--s6);padding-bottom:var(--s6);}
  .cta{padding:var(--s5) var(--s4);}
  .foot-grid{gap:var(--s4) var(--s4);}
}
/* Full-width primary actions on the smallest screens */
@media(max-width:480px){
  .hero-cta{width:100%;}
  .hero-cta .btn{flex:1 1 100%;justify-content:center;}
  .ld-cta .btn,.cta .act .btn{flex:1 1 auto;justify-content:center;}
}
/* Reveal the Work-with-us action inside the mobile menu */
.nav-mobile-cta{display:none;}
@media(max-width:1040px){
  header.nav.open .nav-links{padding-bottom:var(--s4);}
  header.nav.open .nav-mobile-cta{display:block;background:var(--nc-cobalt);color:#fff;text-align:center;border-radius:var(--nc-radius-md);padding:.8rem 1rem;margin-top:var(--s2);font-weight:600;}
}
/* Prevent any accidental horizontal scroll */
html,body{max-width:100%;overflow-x:hidden;}

/* ===== Editorial photo grid (approved photography only) ===== */
.photogrid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:repeat(2,230px);gap:var(--s2);margin-top:var(--s5);}
.photogrid figure{margin:0;position:relative;overflow:hidden;border:var(--nc-border);border-radius:var(--nc-radius-md);background:var(--nc-mist);}
.photogrid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.photogrid figure:hover img{transform:scale(1.045);}
.photogrid figcaption{position:absolute;inset:auto 0 0 0;padding:var(--s5) var(--s2) var(--s2);color:#fff;font-size:.84rem;font-weight:500;letter-spacing:.01em;background:linear-gradient(to top,rgba(23,37,47,.8),rgba(23,37,47,0));}
.photogrid .g-tall{grid-row:1 / span 2;}
.photogrid .g-wide{grid-column:span 2;}
@media(max-width:760px){.photogrid{grid-template-columns:1fr 1fr;grid-template-rows:none;grid-auto-rows:168px;}.photogrid .g-tall{grid-row:auto;}.photogrid .g-wide{grid-column:auto;}}
