/* Serdi UK concept. Palette taken from the machine shop: Prussian blue (marking-out spray),
   drafting vellum, ground steel and a CBN-tip yellow. Every colour and type value is a custom property
   so it maps straight to Elementor global styles. */
:root{
  --c-prussian:#0c2d4d;
  --c-prussian-deep:#071c31;
  --c-vellum:#f1f3ee;
  --c-steel:#dfe5e8;
  --c-steel-dark:#9aa9b2;
  --c-ink:#0a1622;
  --c-muted:#4a5a68;
  --c-yellow:#e0b020;
  --c-yellow-deep:#8a6a00;
  --c-white:#ffffff;
  --f-head:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Source Serif 4",Georgia,"Times New Roman",serif;
  --s-h1:clamp(2.1rem,5.4vw,3.5rem);
  --s-h2:clamp(1.55rem,3.4vw,2.2rem);
  --s-h3:1.2rem;
  --s-body:1.0625rem;
  --max:1340px;
  --pad:clamp(16px,4vw,72px);
  --gap:28px;
}
*{box-sizing:border-box}
.wrap,.wrap *{min-width:0}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:var(--f-body);font-size:var(--s-body);line-height:1.65;color:var(--c-ink);background:var(--c-vellum)}
img,svg{max-width:100%;height:auto}
a{color:var(--c-prussian);text-underline-offset:3px}
a:hover{color:var(--c-yellow-deep)}
:focus-visible{outline:3px solid var(--c-yellow);outline-offset:3px}
h1,h2,h3{font-family:var(--f-head);line-height:1.12;margin:0 0 .5em;color:var(--c-prussian);letter-spacing:-.01em}
h1{font-size:var(--s-h1);font-weight:800}
h2{font-size:var(--s-h2);font-weight:800}
h3{font-size:var(--s-h3);font-weight:700;line-height:1.25}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.small{font-size:.9rem;color:var(--c-muted)}
.intro{font-size:1.15rem;max-width:62ch}
.date{font-family:var(--f-head);font-weight:700;font-size:.9rem;color:var(--c-yellow-deep);margin-bottom:.3em}

/* concept banner */
.concept-banner{background:var(--c-yellow);color:var(--c-ink);font-family:var(--f-head);font-weight:700;font-size:.85rem;text-align:center;padding:7px 12px}

/* header and nav */
.site-header{background:var(--c-prussian-deep);color:var(--c-white)}
.header-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:12px;padding-bottom:12px}
.logo{display:block;background:var(--c-white);padding:6px 10px;border-radius:2px}
.logo img{display:block;height:auto;width:150px}
.nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px 4px;align-items:center}
.nav a{display:block;padding:9px 11px;color:var(--c-white);text-decoration:none;font-family:var(--f-head);font-weight:500;font-size:.95rem;border-bottom:3px solid transparent}
.nav a:hover,.nav a[aria-current=page]{border-bottom-color:var(--c-yellow);color:var(--c-white)}
.nav a.btn{border-bottom:2px solid var(--c-yellow);margin-left:6px}

/* buttons */
.btn{display:inline-block;background:var(--c-yellow);color:var(--c-ink);font-family:var(--f-head);font-weight:700;text-decoration:none;padding:13px 22px;border:2px solid var(--c-yellow);border-radius:2px;margin:0 10px 10px 0}
.btn:hover{background:var(--c-ink);color:var(--c-yellow);border-color:var(--c-ink)}
.btn-small{padding:8px 14px}
.btn-outline{background:transparent;color:var(--c-prussian);border-color:var(--c-prussian)}
.btn-outline:hover{background:var(--c-prussian);color:var(--c-white);border-color:var(--c-prussian)}
.btn-light{background:var(--c-white);border-color:var(--c-white)}
.btn-ghost{background:transparent;color:var(--c-white);border-color:var(--c-steel-dark)}
.btn-ghost:hover{background:var(--c-white);color:var(--c-prussian);border-color:var(--c-white)}
.nav a.btn:hover{background:var(--c-white);color:var(--c-prussian)}

/* section bands */
section{padding:56px 0}
.band-paper{background:var(--c-vellum)}
.band-ground{background:var(--c-steel)}
.band-ink{background:var(--c-prussian);color:var(--c-white)}
.band-ink h2,.band-ink h3{color:var(--c-white)}
.band-ink a{color:var(--c-yellow)}
.band-blue{background:var(--c-prussian-deep);color:var(--c-white)}
.band-blue h2{color:var(--c-white)}
.band-blue p{color:#d3dce3}

/* hero: drawing sheet look */
.hero{background:var(--c-vellum);border-bottom:6px solid var(--c-prussian);padding:48px 0 56px}
.hero-row{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center}
.hero-text{flex:1 1 380px}
.hero-fig{flex:1 1 300px}
.lead{font-size:1.2rem;max-width:56ch}
.actions{margin-top:1.4em}

/* generic columns */
.row{display:flex;flex-wrap:wrap;gap:var(--gap)}
.row>.col{flex:1 1 280px}
.row.two>.col{flex:1 1 420px}
.row.three>.col{flex:1 1 280px}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--gap);align-items:center;justify-content:space-between}
.cta-row .col{flex:1 1 360px}
.col-actions{display:flex;flex-wrap:wrap;gap:4px}
.cta-row p{margin-bottom:0}

/* lists */
ul.plain{list-style:none;margin:0;padding:0}
ul.plain li{margin:6px 0}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap)}
.facts li{flex:1 1 280px;border-top:4px solid var(--c-prussian);padding-top:14px}
.facts h2{font-size:1.25rem;margin-bottom:.35em}
.facts p{margin:0}
.facts-band{padding:40px 0}
ul.rows{list-style:none;margin:0;padding:0}
ul.rows>li{display:flex;gap:var(--gap);border-top:1px solid var(--c-steel-dark);padding:18px 0}
ul.rows>li .col{flex:1 1 auto}
ul.rows h3{margin-bottom:.25em}
ul.rows p{margin:0}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap)}
.steps li{flex:1 1 280px;background:var(--c-white);border-left:6px solid var(--c-prussian);padding:18px 20px}
.steps p{margin:0}
.chips{list-style:none;margin:0 0 1.4em;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{background:var(--c-white);border:1.5px solid var(--c-prussian);padding:6px 12px;font-family:var(--f-head);font-weight:500;font-size:.95rem}
.logos{list-style:none;margin:0 0 1.4em;padding:0;display:flex;flex-wrap:wrap;gap:14px}
.logos a{display:flex;align-items:center;justify-content:center;background:var(--c-white);padding:12px 16px;min-width:160px;min-height:80px}
.logos img{display:block;height:auto;max-height:56px;width:auto;max-width:140px}
.brands{list-style:none;margin:0 0 1.4em;padding:0}
.brands>li{display:flex;flex-wrap:wrap;gap:var(--gap);padding:20px 0;border-top:1px solid var(--c-steel-dark);align-items:center}
.brand-logo{flex:0 0 180px;background:var(--c-white);display:flex;align-items:center;justify-content:center;padding:12px;min-height:90px}
.brand-logo img{display:block;max-height:64px;width:auto;max-width:150px;height:auto}
.brands .col{flex:1 1 320px}
.articles{list-style:none;margin:0;padding:0}
.articles>li{display:flex;flex-wrap:wrap;gap:var(--gap);padding:26px 0;border-top:1px solid var(--c-steel-dark)}
.articles>li>.col{flex:1 1 320px}
.articles img,.spindle img{display:block;width:100%;height:auto;border:1px solid var(--c-steel-dark);background:var(--c-white)}
.prose p{max-width:62ch}

/* tables */
table{border-collapse:collapse;width:100%;background:var(--c-white);font-size:.98rem}
th,td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid var(--c-steel)}
thead th{background:var(--c-prussian);color:var(--c-white);font-family:var(--f-head);font-weight:700}
tbody th{font-family:var(--f-head);font-weight:700;color:var(--c-prussian);width:32%}
.spec-wide tbody th{width:28%}
tbody tr:nth-child(even){background:#f6f8f9}

/* details/summary accordions */
details{background:var(--c-white);border:1px solid var(--c-steel-dark);margin:0 0 10px}
summary{cursor:pointer;padding:14px 16px;font-family:var(--f-head);font-weight:700;color:var(--c-prussian)}
details p{padding:0 16px;margin:0 0 14px}
details[open] summary{border-bottom:3px solid var(--c-yellow);margin-bottom:12px}

/* technical drawings */
.drawing{margin:0;background:var(--c-white);border:1.5px solid var(--c-prussian);padding:12px 12px 8px}
.drawing figcaption{font-family:var(--f-head);font-size:.82rem;color:var(--c-muted);padding-top:6px;border-top:1px solid var(--c-steel);margin-top:6px}
svg.dr{display:block;width:100%;height:auto}
svg.dr .cut{stroke:var(--c-prussian);stroke-width:2.5;fill:none}
svg.dr .body{stroke:var(--c-prussian);stroke-width:2}
svg.dr .hair{stroke:var(--c-steel-dark);stroke-width:1}
svg.dr .centre{stroke:var(--c-yellow-deep);stroke-width:1.2;stroke-dasharray:14 4 3 4}
svg.dr .dimline,svg.dr .ref{stroke:var(--c-muted);stroke-width:1.2;fill:none}
svg.dr .arc{stroke:var(--c-yellow-deep);stroke-width:1.6;fill:none}
svg.dr .solid{fill:var(--c-prussian);stroke:var(--c-prussian)}
svg.dr .lbl{font-family:var(--f-head);font-size:13px;fill:var(--c-prussian);font-weight:700}
svg.dr .lbl.mid{text-anchor:middle}
svg.dr .ring{stroke:var(--c-prussian);stroke-width:1.6;fill:none}
svg.dr .r1,svg.dr .r3{stroke:var(--c-steel-dark)}
svg.dr .dot{fill:var(--c-yellow);stroke:var(--c-prussian)}

/* forms */
label{display:block;font-family:var(--f-head);font-weight:700;margin-bottom:4px;color:var(--c-prussian)}
input,textarea{width:100%;font:inherit;padding:11px 12px;border:1.5px solid var(--c-prussian);border-radius:2px;background:var(--c-white);color:var(--c-ink)}
button.btn{cursor:pointer;font-size:1rem}

/* footer */
.site-footer{background:var(--c-prussian-deep);color:#d3dce3;padding:44px 0 20px;font-size:.98rem}
.site-footer h2{font-size:1rem;color:var(--c-white);margin-bottom:.6em}
.site-footer a{color:var(--c-yellow)}
.site-footer a:hover{color:var(--c-white)}
.footer-row{display:flex;flex-wrap:wrap;gap:var(--gap)}
.footer-row .col{flex:1 1 200px}
.footer-note{border-top:1px solid #234563;margin-top:26px;padding-top:16px}
.footer-note p{margin:0;font-size:.85rem;color:#9fb2c1}

@media (max-width:640px){
  section{padding:40px 0}
  ul.rows>li{display:block}
  thead th,tbody th,td{padding:9px 8px}
  tbody th{width:auto}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* product photos, machine blocks, spec strips */
.photo{background:var(--c-white);border:1.5px solid var(--c-prussian);display:flex;align-items:center;justify-content:center;padding:14px;aspect-ratio:4/3}
.photo img{display:block;width:100%;height:100%;object-fit:contain}
.photo-dark{border-color:var(--c-yellow)}
.machine{display:flex;flex-wrap:wrap;gap:48px;align-items:center;padding:36px 0;border-top:1px solid var(--c-steel-dark)}
.machine>.col{flex:1 1 420px}
.machine.flip{flex-direction:row-reverse}
.machine h2,.machine h3{margin-bottom:.4em}
.ticks{list-style:none;margin:1em 0 0;padding:0}
.ticks li{padding:6px 0 6px 28px;border-bottom:1px solid var(--c-steel);background:none;position:relative}
.ticks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:6px;border-left:3px solid var(--c-yellow-deep);border-bottom:3px solid var(--c-yellow-deep);transform:rotate(-45deg)}
.photo-cards{list-style:none;margin:0 0 1.6em;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap)}
.photo-cards li{flex:1 1 260px}
.photo-cards h3{margin-top:14px;margin-bottom:.2em}
.photo-cards p{margin:0;color:#d3dce3}
.strip{padding:84px 0}
.spec-strip{padding:44px 0;border-top:1px solid #234563}
.specs-big{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--gap)}
.specs-big li{flex:1 1 220px;border-left:4px solid var(--c-yellow);padding-left:18px}
.specs-big .big{display:block;font-family:var(--f-head);font-weight:800;font-size:clamp(1.8rem,3.2vw,2.8rem);line-height:1.05;color:var(--c-white)}
.specs-big .cap{display:block;margin-top:6px;color:#b9c8d3;font-size:.98rem}
.families>.col{background:var(--c-white);border-top:4px solid var(--c-prussian);padding:22px;flex:1 1 300px}
.chips-dark li{background:transparent;border-color:var(--c-steel-dark);color:var(--c-white)}

/* 1920 canvas: scale type, spacing and imagery up */
@media (min-width:1500px){
  :root{--s-h1:4.4rem;--s-h2:2.9rem;--s-h3:1.4rem;--s-body:1.2rem;--gap:44px}
  section{padding:104px 0}
  .strip{padding:120px 0}
  .spec-strip{padding:60px 0}
  .hero{padding:92px 0 104px}
  .lead{font-size:1.4rem}
  .intro{font-size:1.3rem}
  .logo img{width:190px}
  .nav a{font-size:1.05rem;padding:12px 14px}
  .btn{padding:16px 30px;font-size:1.1rem}
  .brand-logo{flex-basis:220px;min-height:110px}
  .machine{padding:56px 0;gap:72px}
  .facts-band{padding:64px 0}
  th,td{padding:14px 16px}
  table{font-size:1.1rem}
}
@media (min-width:1100px){
  .hero-text{flex:1.1 1 520px}
  .hero-fig{flex:1 1 480px}
}
@media (max-width:640px){
  .machine{gap:20px}
  .strip{padding:48px 0}
}

/* homepage showpiece */
.hero-xl{background:var(--c-vellum);padding:72px 0 88px;border-bottom:8px solid var(--c-prussian)}
.hero-xl-row{display:flex;flex-wrap:wrap;gap:56px;align-items:center}
.hero-xl-text{flex:1.15 1 460px}
.hero-xl-fig{flex:1 1 420px}
.hero-xl h1{font-size:clamp(2.6rem,7vw,5.6rem);line-height:1.02;letter-spacing:-.02em;max-width:12ch}
.hero-xl .lead{font-size:clamp(1.15rem,1.6vw,1.5rem);max-width:46ch}
.yellow-block{background:var(--c-yellow);padding:28px;margin-right:28px;margin-bottom:28px;box-shadow:28px 28px 0 var(--c-prussian)}
.yellow-block .drawing{border-color:var(--c-ink)}
.band-yellow{background:var(--c-yellow);color:var(--c-ink)}
.fact-strip{padding:44px 0}
.specs-dark li{border-left-color:var(--c-prussian)}
.specs-dark .big{color:var(--c-prussian)}
.specs-dark .cap{color:var(--c-ink)}
.claim-row{display:flex;flex-wrap:wrap;gap:64px;align-items:center}
.claim-quote{flex:1.4 1 460px}
.claim-body{flex:1 1 360px}
.claim-text{font-family:var(--f-head);font-weight:800;font-size:clamp(2rem,4.6vw,4rem);line-height:1.08;color:var(--c-prussian);max-width:18ch;margin:0 0 .4em;border-left:10px solid var(--c-yellow);padding-left:24px}
.tiles{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:20px}
.tile{flex:1 1 280px;padding:30px;display:flex;flex-direction:column;min-height:340px}
.tile-wide{flex:2 1 520px}
.tile h3{font-size:1.5rem}
.tile p{max-width:46ch}
.tile .icon{width:96px;height:96px;margin-bottom:18px}
.tile-link{font-family:var(--f-head);font-weight:700}
.tile p:last-child{margin-top:auto;margin-bottom:0}
.t-blue{background:var(--c-prussian);color:var(--c-white)}
.t-blue h3,.t-deep h3{color:var(--c-white)}
.t-blue a,.t-deep a{color:var(--c-yellow)}
.t-yellow{background:var(--c-yellow);color:var(--c-ink)}
.t-yellow h3{color:var(--c-ink)}
.t-yellow a{color:var(--c-ink)}
.t-white{background:var(--c-white);border:2px solid var(--c-prussian)}
.t-deep{background:var(--c-prussian-deep);color:#d3dce3}
.t-steel{background:var(--c-steel-dark);color:var(--c-ink)}
.t-steel h3,.t-steel a{color:var(--c-ink)}
.t-vellum{background:var(--c-vellum);border:2px dashed var(--c-prussian)}
.icon .i-line{fill:none;stroke:currentColor;stroke-width:3}
.icon .i-fill{fill:none;stroke:currentColor;stroke-width:3}
.icon .i-hair{stroke:currentColor;stroke-width:1.5;fill:none}
.icon .i-solid{fill:currentColor}
.icon .i-centre{stroke:currentColor;stroke-width:1.2;stroke-dasharray:10 4 3 4;fill:none;opacity:.7}
.t-blue .icon,.t-deep .icon{color:var(--c-yellow)}
.t-yellow .icon,.t-steel .icon,.t-white .icon,.t-vellum .icon{color:var(--c-prussian)}
.band-prussian{background:var(--c-prussian);color:var(--c-white)}
.band-prussian h2{color:var(--c-white);font-size:clamp(2.2rem,5vw,4rem)}
.band-prussian h3{color:var(--c-yellow);font-size:1.5rem}
.band-prussian p{color:#d3dce3}
.who{padding:96px 0}
.who-row>.col{border-top:4px solid var(--c-yellow);padding-top:20px}
.wall{list-style:none;margin:28px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:20px}
.wall li{flex:1 1 300px;background:var(--c-white);border:1.5px solid var(--c-prussian);padding:24px;text-align:center}
.wall img{display:block;margin:0 auto 12px;height:auto;max-height:80px;width:auto;max-width:200px}
.wall p{margin:0 auto;font-size:.95rem;color:var(--c-muted)}
.split-sec{display:flex;flex-wrap:wrap;gap:56px;align-items:stretch}
.split-sec>.col{flex:1 1 420px}
.steps-col{display:block}
.steps-col li{margin-bottom:16px}
.panel-yellow{background:var(--c-yellow);padding:40px}
.panel-yellow h2{color:var(--c-ink)}
.news-card{background:var(--c-white);border-top:6px solid var(--c-yellow);padding:26px}
@media (min-width:1500px){
  .hero-xl{padding:110px 0 128px}
  .tile{min-height:420px;padding:40px}
  .tile .icon{width:128px;height:128px}
  .tile h3{font-size:1.9rem}
  .who{padding:128px 0}
  .claim-row{gap:96px}
}
@media (max-width:640px){
  .yellow-block{margin-right:12px;margin-bottom:12px;padding:14px;box-shadow:12px 12px 0 var(--c-prussian)}
  .tile{min-height:0}
  .who{padding:56px 0}
}
