/* BEISCO website 2026 · one stylesheet, no framework.
   Palette and type follow the BEISCO Catalogue 2026: navy #245089, ink #13233B, Montserrat.
   Single light theme on purpose: the site mirrors the printed catalogue. */

@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/montserrat-latin-wght-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/montserrat-latin-ext-wght-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/montserrat-latin-wght-italic.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:italic;font-weight:100 900;font-display:swap;
  src:url(/assets/fonts/montserrat-latin-ext-wght-italic.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --navy:#245089; --ink:#13233B; --body:#3D4D63; --steel:#5F6E84; --rule:#D3DBE6;
  --panel:#EEF2F7; --deep:#0F1E33; --tint:#8FB0DB; --paper:#FFFFFF;
  --acc:var(--navy); --dl:var(--ink); --line:var(--rule); --fill:var(--panel);
  --wrap:1360px; --pad:clamp(20px,5vw,64px); --g:clamp(12px,1.6vw,24px); --col:clamp(24px,4vw,64px);
  --sec:clamp(56px,7vw,104px);
  --hdr:72px;
  color-scheme:light;
}
.berui{--acc:#1E4AFF; --dl:#0E1116}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hdr) + 16px)}
body{margin:0;background:var(--paper);color:var(--body);
  font:400 1.0625rem/1.68 "Montserrat","Helvetica Neue",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-kerning:normal;
  font-feature-settings:"kern","liga"}
img,svg{display:block;max-width:100%}
img{height:auto}
a{color:var(--acc);text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
strong,b{font-weight:700;color:var(--ink)}
p{margin:0 0 1em} p:last-child{margin-bottom:0}
h1,h2,h3,h4{margin:0;color:var(--ink);text-wrap:balance}
ul,ol{margin:0;padding:0;list-style:none}
.nb{white-space:nowrap}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 16px;font-weight:600}
.skip:focus{top:12px}

.w{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}

/* ---------- type */
.eb{font-size:.75rem;line-height:1.4;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink)}
.sub{font-size:.75rem;line-height:1.6;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.d1{font-size:clamp(2.25rem,4.4vw,3.875rem);line-height:1.06;font-weight:800;letter-spacing:-.012em;color:var(--ink)}
.d2{font-size:clamp(1.875rem,3.4vw,3rem);line-height:1.1;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.hl{font-size:clamp(1.375rem,2.3vw,2.125rem);line-height:1.22;font-weight:700;color:var(--ink)}
.lead{font-size:clamp(1.0625rem,1.45vw,1.3125rem);line-height:1.55;font-weight:500;color:var(--ink);text-wrap:pretty;max-width:46em}
.cap{font-size:.8125rem;line-height:1.5;color:var(--steel)}
.num{font-size:clamp(4.25rem,9vw,8.5rem);line-height:.82;font-weight:800;color:var(--acc);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.prose{max-width:40em}
.prose p{text-wrap:pretty}
.cols2{columns:2 22em;column-gap:var(--col)}
.cols2 p{break-inside:auto;orphans:3;widows:3}

/* ---------- buttons */
.btn{display:inline-flex;align-items:center;gap:.6em;min-height:46px;padding:.7em 1.25em;border:1.5px solid var(--acc);border-radius:2px;
  background:var(--acc);color:#fff;font-family:inherit;font-weight:600;font-size:.9375rem;line-height:1.2;text-decoration:none;letter-spacing:.01em;transition:background .15s,border-color .15s,color .15s}
.btn:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.ghost{background:transparent;color:var(--acc)}
.btn.ghost:hover{background:var(--acc);color:#fff;border-color:var(--acc)}
.btn.light{background:#fff;border-color:#fff;color:var(--navy)}
.btn.light:hover{background:var(--panel);border-color:var(--panel);color:var(--ink)}
.btn.line{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.btn.line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn .ar{font-weight:500}
.btns{display:flex;flex-wrap:wrap;gap:12px}
.more{font-weight:600;font-size:.9375rem;text-decoration:none;color:var(--acc);display:inline-flex;gap:.5em;align-items:center}
.more::after{content:"→";transition:transform .15s}
.more:hover::after{transform:translateX(3px)}

/* ---------- header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--rule)}
/* no backdrop-filter here: it would make the header the containing block of the fixed mobile menu panel */
.hdr .w{display:flex;align-items:center;gap:28px;height:var(--hdr)}
.logo{display:block;flex:none}
.logo img{height:24px;width:auto}
.nav{display:flex;align-items:center;gap:clamp(14px,1.6vw,26px);margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-size:.9375rem;font-weight:600;padding-block:6px;border-bottom:2px solid transparent}
.nav a:hover{color:var(--navy)}
.nav a[aria-current]{color:var(--navy);border-bottom-color:var(--navy)}
.nav .br{color:var(--ink)}
.tools{display:flex;align-items:center;gap:18px}
.lang{font-size:.8125rem;font-weight:700;letter-spacing:.08em;color:var(--steel);text-decoration:none;padding:6px 2px}
.lang:hover{color:var(--navy)}
.hdr .btn{min-height:40px;padding:.55em 1em;font-size:.875rem}
.mm{display:none;margin-left:auto}
.mm summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;font-weight:700;font-size:.875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);padding:10px 0}
.mm summary::-webkit-details-marker{display:none}
.mm summary i{display:block;width:22px;height:2px;background:var(--ink);box-shadow:0 -7px 0 var(--ink),0 7px 0 var(--ink)}
.mm[open] summary i{box-shadow:none;background:transparent;position:relative}
.mm[open] summary i::before,.mm[open] summary i::after{content:"";position:absolute;inset:0;background:var(--ink);transform:rotate(45deg)}
.mm[open] summary i::after{transform:rotate(-45deg)}
.mm .panel{position:fixed;left:0;right:0;top:var(--hdr);bottom:0;background:#fff;padding:24px var(--pad) 40px;overflow:auto;overscroll-behavior:contain;border-top:1px solid var(--rule)}
.mm .panel a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);font-size:1.25rem;font-weight:700;color:var(--ink);text-decoration:none}
.mm .panel a[aria-current]{color:var(--navy)}
.mm .panel .btns{margin-top:28px}
.mm .panel .btns a{border:1.5px solid var(--navy);font-size:1rem;padding:.8em 1.2em;display:inline-flex}
.mm .panel .btns a.btn{color:#fff}
@media (max-width:1023px){
  .nav,.tools{display:none}
  .mm{display:block}
}
@media (min-width:1024px) and (max-width:1180px){.hdr .w{gap:18px}.nav{gap:14px}.tools{gap:12px}.nav a{font-size:.875rem}}
@media (max-height:500px) and (orientation:landscape){:root{--hdr:56px}}

/* ---------- sections */
.sec{padding-block:var(--sec)}
.sec.tight{padding-block:clamp(48px,6vw,88px)}
.sec + .sec:not(.bg){border-top:1px solid var(--rule)}
.bg{background:var(--panel)}
.sh{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:var(--col);row-gap:20px;margin-bottom:clamp(32px,4vw,56px)}
.sh > .eb{padding-top:.9rem;border-top:2px solid var(--ink);align-self:start}
.sh > span{display:block}
.sh > div{display:grid;gap:18px;align-content:start}
@media (max-width:820px){.sh{grid-template-columns:1fr}}
.split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--col);align-items:start}
.split.r{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}
@media (max-width:900px){.split,.split.r{grid-template-columns:1fr}}

/* ---------- hero (catalogue cover) */
.hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}
.hero .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;min-height:min(640px,calc(100svh - var(--hdr) - 64px))}
.hero .tx{padding:clamp(48px,7vw,104px) var(--col) clamp(40px,5vw,72px) max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)));display:flex;flex-direction:column;gap:clamp(18px,2vw,28px)}
.hero .top{display:flow-root}
.hero .top .ten{float:right;margin:0 0 10px 24px}
.hh{margin:0;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:normal}
.hh .eb{display:block}
.hh .camp{display:block;clear:right;margin-top:clamp(14px,2vw,28px)}
.hh .d1{display:block;margin-top:clamp(16px,2vw,24px)}
.hero .eb{color:#B4CBEA}
.ten{display:flex;align-items:center;gap:10px;flex:none;color:#fff}
.ten .n{font-size:2.5rem;line-height:.8;font-weight:800;letter-spacing:-.02em}
.ten .t{display:flex;flex-direction:column;font-size:.6875rem;line-height:1.35;letter-spacing:.12em;text-transform:uppercase}
.ten b{color:#fff;font-weight:800} .ten i{font-style:normal;color:rgba(255,255,255,.72);white-space:nowrap}
.camp{font-size:clamp(2.75rem,6.2vw,6.25rem);line-height:.98;font-weight:800;letter-spacing:-.028em;color:#fff;margin:clamp(8px,2vw,28px) 0 0}
.camp .ans{display:block;font-style:italic;font-weight:500;letter-spacing:-.02em}
.hero .lead{color:rgba(255,255,255,.9);max-width:30em}
.hero .tags{margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.3);font-size:.6875rem;line-height:1.7;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.hero .ph{position:relative;display:flex;align-items:center;background:var(--navy)}
.hero .ph img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero .ph::before,.hero .ph::after{content:"";position:absolute;pointer-events:none;z-index:1}
.hero .ph::before{inset:0 auto 0 0;width:34%;background:linear-gradient(90deg,var(--navy) 0%,rgba(36,80,137,0) 100%)}
.hero .ph::after{left:0;right:0;bottom:0;height:28%;background:linear-gradient(0deg,var(--navy) 0%,rgba(36,80,137,0) 100%)}
@media (max-width:960px){
  .hero .in{grid-template-columns:1fr;min-height:0}
  .hero .tx{padding:44px var(--pad) 8px}
  .hero .ph img{height:auto}
  .hero .ph::before{inset:0 0 auto 0;width:auto;height:30%;background:linear-gradient(180deg,var(--navy) 0%,rgba(36,80,137,0) 100%)}
  .hero .tags{margin-top:8px}
}

/* ---------- line map */
.lm{background:var(--panel);padding:clamp(12px,2.6vw,36px);overflow-x:auto;-webkit-overflow-scrolling:touch}
.lm svg{width:100%;min-width:860px;height:auto}
.lm a{cursor:pointer}
.lm a circle{transition:fill .15s}
.lm a:hover circle,.lm a:focus-visible circle{fill:var(--ink)}
.lm a:focus{outline:none}
.lm a:focus-visible circle{stroke:var(--acc);stroke-width:6;paint-order:stroke}
.lm.cur a circle{fill:var(--tint)}
.lm.cur a.on circle{fill:var(--ink)}
.lm.cur a:hover circle{fill:var(--navy)}
.lmnote{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:12px}
.swipe{display:none}
@media (max-width:900px){.swipe{display:inline}}

/* ---------- drawings */
.dwg{background:var(--fill);padding:clamp(16px,3vw,48px);overflow-x:auto;-webkit-overflow-scrolling:touch}
.dwg svg{width:100%;min-width:760px;height:auto;margin-inline:auto;max-height:780px}
svg text{font-family:"Montserrat","Helvetica Neue",Arial,sans-serif}
svg .l{fill:none;stroke:var(--dl);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
svg .a{fill:none;stroke:var(--acc);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
svg .h{fill:none;stroke:var(--steel);stroke-width:1.5;stroke-dasharray:24 6 2 6}
svg .t{fill:none;stroke:var(--steel);stroke-width:1.5}
svg .ta{fill:none;stroke:var(--acc);stroke-width:1.5}
svg .fp{fill:var(--paper);stroke:var(--dl);stroke-width:2}
svg .hxf{stroke:none}
svg .lt{fill:var(--steel)} svg .lk{fill:var(--ink)} svg .la{fill:var(--acc)}
svg .bd{fill:var(--acc);stroke:none} svg .bdt{fill:#fff}
svg .bl{fill:var(--paper);stroke:var(--acc);stroke-width:3} svg .blt{fill:var(--acc)}
svg .ns *{vector-effect:non-scaling-stroke}
.callouts{display:grid;grid-template-columns:repeat(var(--c,4),minmax(0,1fr));gap:28px var(--g);margin-top:clamp(28px,3vw,44px)}
.callouts li{display:grid;align-content:start;grid-template-columns:2.4rem 1fr;column-gap:4px;padding-top:14px;border-top:1px solid var(--rule)}
.callouts .n{grid-row:span 2;font-size:1.375rem;line-height:1.15;font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums}
.callouts b{font-size:1rem;line-height:1.35;margin-bottom:4px}
.callouts span{font-size:.9375rem;line-height:1.55}

/* ---------- field note */
.fn{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);column-gap:var(--col);padding-top:22px;border-top:2px solid var(--ink)}
.fn .eb{color:var(--steel);padding-top:.5rem}
.fn p:not(.eb){font-size:clamp(1.25rem,2.1vw,1.875rem);line-height:1.3;font-weight:700;color:var(--ink);text-wrap:balance;max-width:28em}
@media (max-width:820px){.fn{grid-template-columns:1fr;row-gap:12px}}

/* ---------- photographs: justified rows, never cropped */
.jg{display:grid;gap:var(--g)}
.jr{display:flex;gap:var(--g);align-items:flex-start}
.jr > *{flex:var(--ar) 1 0;min-width:0;margin:0}
.jr img{width:100%;background:var(--panel)}
.jg figcaption{margin-top:10px}
@media (max-width:640px){.jr{flex-direction:column}.jr > *{flex:none;width:100%}}
@media (max-width:640px){.jr.keep{flex-direction:row;gap:12px}.jr.keep > *{flex:var(--ar) 1 0;width:auto}.jr.keep figcaption{font-size:.75rem}}
.jg.gm{display:none}
@media (max-width:640px){.jg.gd{display:none}.jg.gm{display:grid;gap:12px}.gm .jr{flex-direction:row;gap:12px}.gm .jr > *{flex:var(--ar) 1 0;width:auto}.gm figcaption{font-size:.75rem;margin-top:6px}}

/* chapter contact sheet (home) */
.sheet .jr > a{text-decoration:none;color:inherit;display:block}
.sheet .jr > a img{transition:opacity .15s}
.sheet .jr > a:hover img{opacity:.88}
.sheet .lbl{display:flex;gap:10px;align-items:baseline;margin-top:12px;padding-top:10px;border-top:1px solid var(--rule)}
.sheet .lbl .n{font-weight:800;color:var(--acc);font-size:.9375rem;font-variant-numeric:tabular-nums}
.sheet .lbl .t{font-weight:700;color:var(--ink);font-size:.9375rem;line-height:1.35}
.sheet .jr > a:hover .t{color:var(--navy)}

/* ---------- spec tables (key data / scope) */
.spec{width:100%;border-collapse:collapse;font-size:.9375rem;line-height:1.45}
.spec caption{text-align:left;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.spec th,.spec td{padding:10px 0;border-bottom:1px solid var(--rule);vertical-align:baseline;text-align:left}
.spec th{font-weight:400;color:var(--steel);padding-right:20px}
.spec td{font-weight:700;color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;white-space:normal}
.spec tr.g th{padding-top:20px;font-weight:800;color:var(--acc);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}
.spec.scope th{color:var(--ink);font-weight:600}
@media (max-width:700px){.spec td.lg{text-align:left}.spec th{width:38%}}
.specs{display:grid;gap:36px}

/* ---------- call to action line */
.cta{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:center;padding:clamp(22px,2.6vw,32px) 0;border-top:2px solid var(--ink);border-bottom:1px solid var(--rule)}
.cta p{font-size:clamp(1.0625rem,1.5vw,1.25rem);line-height:1.45;font-weight:700;color:var(--ink);max-width:36em}
.cta .alt{font-size:.875rem;color:var(--steel);font-weight:500;margin-top:6px}
.cta .alt a{font-weight:600}
@media (max-width:760px){.cta{grid-template-columns:1fr}}

/* ---------- chapter page */
.chh{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding-top:clamp(40px,5vw,72px)}
.crumb{font-size:.8125rem;color:var(--steel);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:clamp(24px,3vw,40px)}
.crumb a{color:var(--steel);text-decoration:none} .crumb a:hover{color:var(--navy)}
.chh .num{margin-bottom:clamp(20px,2.4vw,32px)}
.chh .sub{margin-top:14px}
.chh .hl{margin-top:clamp(28px,3vw,44px);max-width:22em}
.chh .lead{margin-top:14px}
.partner{display:grid;justify-items:end;gap:10px;text-align:right;max-width:280px}
.partner img{width:auto;height:clamp(34px,3.6vw,52px);max-width:180px;object-fit:contain}
@media (max-width:700px){.chh{grid-template-columns:1fr}.partner{justify-items:start;text-align:left}}
.opener{margin-top:clamp(32px,4vw,56px)}
.chb{margin-top:clamp(36px,4vw,60px)}
.pn{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--rule)}
.pn a{display:grid;gap:6px;padding:28px 0;text-decoration:none;color:var(--ink)}
.pn a + a{text-align:right;border-left:1px solid var(--rule);padding-left:24px}
.pn a:first-child{padding-right:24px}
.pn .eb{color:var(--steel)}
.pn b{font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.3}
.pn .n{color:var(--acc);font-weight:800;margin-right:.15em}
.pn a:hover b{color:var(--navy)}

/* ---------- products index */
.idx li{border-top:1px solid var(--rule)}
.idx li:last-child{border-bottom:1px solid var(--rule)}
.idx a{display:grid;grid-template-columns:5rem minmax(0,1fr) clamp(140px,18vw,240px);gap:var(--col);align-items:center;padding:22px 0;text-decoration:none;color:inherit}
.idx .n{font-size:clamp(2rem,3.4vw,3rem);font-weight:800;color:var(--acc);line-height:1;font-variant-numeric:tabular-nums}
.idx h3{font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.25;font-weight:800}
.idx .sub{margin-top:6px}
.idx p{margin-top:10px;max-width:40em;font-size:.9375rem}
.idx img{width:100%;height:auto}
.idx a:hover h3{color:var(--navy)}
@media (max-width:700px){.idx a{grid-template-columns:minmax(0,1fr);gap:14px;padding:26px 0}.idx .n{font-size:1.75rem}.idx img{max-width:420px}}
@media (max-width:700px){
.tbl.st table{min-width:0}
.tbl.st thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tbl.st tr{display:block;padding:12px 0;border-bottom:1px solid var(--rule)}
.tbl.st td{display:block;border:0;padding:2px 0;text-align:start!important}
.tbl.st tr:has(td:nth-child(3)){display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
.tbl.st tr:has(td:nth-child(3)) td:first-child{grid-column:1/-1}
.tbl.st tbody td:first-child{color:var(--ink);font-weight:700;padding-bottom:4px}
.tbl.st td[data-l]:not(:first-child)::before{content:attr(data-l);display:block;margin-top:6px;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--steel)}
}

/* ---------- facts */
.facts{display:grid;grid-template-columns:repeat(var(--n,3),minmax(0,1fr));gap:var(--g);border-top:2px solid var(--ink)}
.facts div{padding-top:18px}
.facts b{display:block;font-size:clamp(1.75rem,calc(12vw / var(--n,3)),4.25rem);line-height:1;font-weight:800;color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.facts span{display:block;margin-top:10px;font-size:.875rem;line-height:1.45;color:var(--steel);max-width:16em}
@media (max-width:760px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.facts{grid-template-columns:1fr}.facts div + div{border-top:1px solid var(--rule)}}

/* ---------- lists */
.ticks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--col)}
.ticks li{padding:14px 0;border-top:1px solid var(--rule);color:var(--ink);font-weight:600;line-height:1.45}
@media (max-width:700px){.ticks{grid-template-columns:1fr}}
.numl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--col)}
.numl li{display:grid;grid-template-columns:3rem 1fr;padding:16px 0;border-top:1px solid var(--rule);line-height:1.5;color:var(--ink)}
.numl .n{font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums}
@media (max-width:700px){.numl{grid-template-columns:1fr}}

/* ---------- partnership / bands */
.mwe-logo{width:clamp(140px,16vw,220px)}
.band{background:var(--navy);color:#fff}
.band .eb,.band h2,.band .d2,.band .lead,.band strong{color:#fff}
.band p{color:rgba(255,255,255,.86)}
.band a:not(.btn){color:#fff}

/* ---------- references map */
.map{position:relative}
.map img{width:100%}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;font-size:.8125rem;font-weight:700;color:var(--ink);white-space:nowrap}
.pin::after{content:"";width:2px;height:clamp(28px,5vw,64px);background:var(--ink);margin-top:6px}

/* ---------- BERUI */
.brlogo{width:clamp(150px,18vw,230px)}
.brchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 var(--g)}
.brchips li{border-top:1px solid var(--rule);padding:14px 0 18px}
.brchips .n{font-weight:800;color:#1E4AFF;font-variant-numeric:tabular-nums;margin-right:.25em}
.brchips b{font-size:.9375rem}
.brchips a{text-decoration:none;color:inherit}
.brchips a:hover b{color:#1E4AFF}
@media (max-width:900px){.brchips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.brchips{grid-template-columns:1fr}}
.berui .num,.berui .callouts .n,.berui .idx .n{color:#1E4AFF}

.endorse{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.endorse img{height:14px;width:auto}

/* ---------- contact */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:0 var(--g)}
.cards > div{padding:18px 0 22px;border-top:2px solid var(--ink)}
.cards .eb{color:var(--steel);margin-bottom:10px}
.cards a,.cards address{font-style:normal;font-size:1.125rem;line-height:1.5;font-weight:700;color:var(--ink);text-decoration:none}
.cards a:hover{color:var(--navy)}

/* ---------- footer (catalogue back cover) */
.ftr{background:var(--navy);color:rgba(255,255,255,.82);font-size:.875rem;line-height:1.6}
.ftr .w{padding-block:clamp(56px,7vw,96px) 32px}
.ftr .top{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 48px;flex-wrap:wrap;padding-bottom:clamp(28px,3vw,44px);border-bottom:1px solid rgba(255,255,255,.3)}
.ftr .top img{height:clamp(30px,3.4vw,44px);width:auto}
.ftr .campn{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.1;font-weight:800;color:#fff;letter-spacing:-.015em}
.ftr .campn i{font-weight:500}
.ftr .claim{margin-top:14px;color:rgba(255,255,255,.85);font-size:1rem;font-weight:500}
.ftr .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px var(--g);padding-block:clamp(28px,3vw,44px)}
.ftr h2{font-size:.6875rem;line-height:1.4;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:12px}
.ftr a{color:#fff;text-decoration:none}
.ftr a:hover{text-decoration:underline}
.ftr li + li{margin-top:6px}
.ftr .co{font-weight:700;color:#fff;letter-spacing:.02em}
.ftr address{font-style:normal}
.ftr .berui-f .brl{height:36px;width:auto;margin-bottom:12px}
.ftr .legal{display:flex;justify-content:space-between;gap:12px 32px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,255,255,.3);font-size:.75rem;color:rgba(255,255,255,.8)}
.ftr .legal p{max-width:62em}
@media (max-width:900px){.ftr .grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.ftr .grid{gap:28px 20px}.ftr .grid > div:first-child,.ftr .berui-f{grid-column:1/-1}.ftr .top{gap:16px}.ftr .w{padding-block:48px 28px}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{
  @page{margin:14mm 14mm 16mm}
  html{font-size:13px}
  body{color:#000;background:#fff}
  .hdr{position:static!important;box-shadow:none;border-bottom:1px solid #999}
  .hdr .nav,.hdr .tools,.mm,.skip,.ftr,.btns,.btn,.share,.pn,.lml,.swipe,.cta .btns,.gm,.bcover,.crumb{display:none!important}
  .jg.gd{display:grid!important}
  .lm,.lmnote{display:block!important}
  .lm svg,.dwg svg{min-width:0!important;width:100%!important}
  .dwg,.tw{overflow:visible!important}
  .sec{padding-block:16pt}
  .hero{background:#fff!important;color:#000}
  .hero *{color:#000!important}
  .hero .ph::before,.hero .ph::after{display:none}
  figure,.tbl,.spec,.jr,.callouts li,.facts,.fn,.pair,.cta{break-inside:avoid}
  h1,h2,h3,.sh,.eb{break-after:avoid}
  a{color:inherit;text-decoration:none}
  .cta{border-color:#000}
  .cta::after{content:"info@beisco.com.tr · +90 232 616 06 66 · www.beisco.com.tr";display:block;font-size:.85rem;margin-top:6px;color:#333}
}

/* ---------- additions 2026-10 (news, BERUI blocks, tables, projects) */
.w.narrow{max-width:calc(920px + 2 * var(--pad))}
.lm.white{background:#fff}
.ticks.one{grid-template-columns:1fr}
.more.sm{font-size:.875rem}
.fcta{display:block;font-size:1rem;color:var(--ink);font-weight:700;margin:0!important}
a.strong{font-weight:700}
.cofull{margin-top:clamp(40px,5vw,64px);font-weight:700;color:var(--ink)}
.camp.long{font-size:clamp(2.5rem,4.9vw,5rem)}
.blocks > *,.jg > *,.split > *{min-width:0}
.facts.stack{grid-template-columns:1fr;border-top:0}
.facts.stack div{display:grid;grid-template-columns:minmax(9rem,auto) 1fr;column-gap:24px;align-items:baseline;padding:16px 0;border-top:1px solid var(--rule)}
.facts.stack div:first-child{border-top:2px solid var(--ink)}
.facts.stack span{margin-top:0;font-size:.9375rem;color:var(--body);max-width:none}
.ctawrap{margin-block:clamp(36px,4vw,56px) 0}
.cert{font-size:clamp(1.5rem,2.4vw,2.25rem);font-weight:800;color:var(--ink);line-height:1.1;margin-top:6px}
.fn.vm{margin-bottom:clamp(28px,3vw,40px)}
.fn.vm p:not(.eb){font-weight:600;font-size:clamp(1.125rem,1.8vw,1.5rem);line-height:1.45}
.fig{margin:0}
.crumb{padding-top:28px;margin-bottom:0}
.ftr .ct{margin-top:12px}

/* news */
.newsg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:clamp(28px,3vw,40px) var(--g)}
.nc a{display:grid;gap:10px;text-decoration:none;color:inherit}
.nc img{width:100%;aspect-ratio:3/2;object-fit:contain;background:var(--panel)}
.nc .eb{color:var(--steel);margin-top:6px}
.nc .nt{font-size:1.25rem;line-height:1.3;font-weight:800;letter-spacing:normal;margin:0}
.nc p:last-child{font-size:.9375rem;color:var(--body)}
.nc a:hover .nt{color:var(--navy)}
.nh{padding-top:clamp(32px,4vw,56px);display:grid;gap:16px}
.nh .eb{color:var(--steel)}
.nimg{margin:clamp(32px,4vw,48px) 0 0}
.nimg figcaption{margin-top:10px}
.news-body{margin-top:clamp(32px,4vw,48px);max-width:none}
.news-body h2,.news-body h3{margin:1.6em 0 .6em;font-size:1.375rem;line-height:1.3}
.news-body ul,.news-body ol{padding-inline-start:1.2em;margin:0 0 1em}
.news-body ul{list-style:disc}
.share{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;margin:clamp(36px,4vw,56px) 0 var(--sec);padding-top:24px;border-top:1px solid var(--rule)}

/* projects */
.projg{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr));gap:clamp(28px,3vw,40px) var(--g)}
.proj{display:grid;gap:8px;align-content:start}
.proj img{width:100%;aspect-ratio:3/2;object-fit:contain;background:#fff}
.proj .eb{color:var(--steel);margin-top:6px}
.proj h3{font-size:1.125rem;line-height:1.3;font-weight:800}

/* BERUI */
.bhero{background:#fff;border-bottom:1px solid var(--rule)}
.bhero .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:var(--col);max-width:var(--wrap);margin-inline:auto;padding:clamp(40px,5vw,72px) var(--pad)}
.bhero .tx{display:grid;gap:clamp(16px,2vw,24px)}
.bhero .top{display:grid;justify-items:start;gap:10px}
.bhero .eb{color:var(--steel)}
.bhero .ph img{width:100%}
@media (max-width:960px){.bhero .in{grid-template-columns:1fr}}
.berui main .btn:not(.ghost):not(.light){background:#1E4AFF;border-color:#1E4AFF}
.berui main .btn:not(.ghost):not(.light):hover{background:#0E1116;border-color:#0E1116}
.berui main .btn.ghost{color:#1E4AFF;border-color:#1E4AFF}
.berui main .btn.ghost:hover{background:#1E4AFF;color:#fff}
.berui main .more,.berui .crumb a:hover,.berui .pn .n,.berui .lst li::before,.berui .feat .n{color:#1E4AFF}
.partners{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:var(--g)}
.partners a{display:grid;gap:12px;justify-items:start;padding:20px 0;border-top:1px solid var(--rule);text-decoration:none;color:var(--steel);font-size:.875rem}
.partners img{height:52px;width:auto;max-width:180px;object-fit:contain}
.blocks{display:grid;gap:clamp(32px,4vw,56px);margin-top:clamp(40px,5vw,72px)}
.blk.txt.start{padding-top:clamp(28px,3vw,44px);border-top:2px solid var(--ink);margin-top:clamp(16px,3vw,40px)}
.blk .bh{display:grid;gap:12px;max-width:52em}
.blk .bh .eb{color:var(--steel)}
.t2{font-size:clamp(1.625rem,2.8vw,2.5rem);line-height:1.1;font-weight:800;letter-spacing:-.01em}
.blk .bb{margin-top:20px}
.blk.narrowspec > div{max-width:760px}
.feat > .eb{margin-bottom:16px;color:var(--steel)}
.feat ol{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));gap:24px var(--g)}
.feat li{display:grid;gap:6px;align-content:start;padding-top:14px;border-top:1px solid var(--rule)}
.feat li b{font-size:1.0625rem;line-height:1.3}
.feat li span{font-size:.9375rem;line-height:1.55}
.feat.f-steps li{grid-template-columns:3rem 1fr;column-gap:4px}
.feat.f-steps li .n{grid-row:span 2;font-weight:800;color:var(--acc);font-size:1.125rem;font-variant-numeric:tabular-nums}
.feat.f-list ol{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:700px){.feat.f-list ol{grid-template-columns:1fr}}
.lst > .eb{margin-bottom:12px;color:var(--steel)}
.lst ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));column-gap:var(--g)}
.lst li{padding:12px 0;border-top:1px solid var(--rule);font-weight:600;color:var(--ink);line-height:1.45}
.tbl{margin:0}
.tbl > .eb{display:block;padding-bottom:12px;border-bottom:2px solid var(--ink)}
.tw{overflow-x:auto;-webkit-overflow-scrolling:touch}
.tw table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.45;font-variant-numeric:tabular-nums;min-width:640px}
.tw th,.tw td{padding:10px 14px 10px 0;border-bottom:1px solid var(--rule);text-align:start;vertical-align:baseline}
.tw thead th{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border-bottom:2px solid var(--ink)}
.tw tbody td:first-child{color:var(--steel)}
.tw .a-right{text-align:end}.tw .a-center{text-align:center}
.tw strong{color:var(--ink)}
.tbl .cap{margin-top:10px}

@media (max-width:1000px){.callouts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.callouts{grid-template-columns:1fr}}
.draft{display:inline-block;margin-inline-start:10px;padding:2px 8px;background:#FFF4D6;color:#7A5200;font-size:.6875rem;letter-spacing:.08em;border-radius:2px}

/* side-by-side layouts */
.sh.side{margin-bottom:0}
.sh.side > div{gap:clamp(20px,2.4vw,32px)}
.pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--col);align-items:start}
.pair.start{padding-top:clamp(28px,3vw,44px);border-top:2px solid var(--ink);margin-top:clamp(16px,3vw,40px)}
.pair .txt .cols2{columns:1}
.pair .txt .bb{margin-top:16px}
.pair .ph .jr{max-width:none!important}
@media (max-width:900px){.pair{grid-template-columns:1fr}}
.prose ul,.cols2 ul,.onecol ul,.bb ul,.news-body ul{list-style:disc;padding-inline-start:1.2em;margin:0 0 1em}
.prose ol,.cols2 ol,.onecol ol,.bb ol,.news-body ol{list-style:decimal;padding-inline-start:1.4em;margin:0 0 1em}

/* ---- review round 3 ---- */
.onecol{max-width:44em}
.onecol p{text-wrap:pretty}
.cta.compact{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 28px;padding:18px 0 0;border-bottom:0;border-top:1px solid var(--rule)}
.cta.compact p{font-size:1rem;max-width:40em}
.sheet .lbl .d{display:block;margin-top:4px;font-weight:500;font-size:.875rem;line-height:1.45;color:var(--body)}
.gm .lbl{margin-top:8px;padding-top:8px;gap:6px}
.gm .lbl .n,.gm .lbl .t{font-size:.8125rem}
.gm .lbl .d{display:none}
.facts .wd b{font-size:clamp(1.375rem,2.2vw,2rem);letter-spacing:-.01em;line-height:1.1}
.facts.sm{--n:4}
.facts.sm b{font-size:clamp(1.0625rem,1.6vw,1.375rem);letter-spacing:0;line-height:1.25}
.facts.sm span{margin-top:6px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.nh .facts{margin-top:clamp(8px,1vw,16px)}
@media (max-width:700px){.facts.sm{grid-template-columns:1fr 1fr}.facts.sm div + div{border-top:0}}
.w.narrow{max-width:var(--wrap)}
.w.narrow > .nh,.w.narrow > .nimg,.w.narrow > .news-body,.w.narrow > .share,.w.narrow > div{max-width:880px}
.news-body{max-width:44em!important}
.brmark{display:inline-block;margin-bottom:clamp(14px,1.6vw,22px)}
.brmark .brl{height:clamp(24px,2.4vw,32px);width:auto}
.pl{display:grid;gap:clamp(24px,3vw,40px);align-content:start}
.pspec{max-width:none}
.bband{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,300px);gap:var(--col);align-items:start}
.bband > div:first-child{display:grid;gap:18px;align-content:start}
.bband .hl{max-width:24em}
.bband .brchips{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}
.bcover{display:grid;gap:10px;text-decoration:none}
.bcover img{width:100%;box-shadow:0 1px 0 var(--rule),0 18px 40px -24px rgba(19,35,59,.45)}
.bcover:hover img{opacity:.92}
.bcover .cap{color:var(--ink);font-weight:600}
@media (max-width:900px){.bband{grid-template-columns:1fr}.bcover{max-width:240px}}
.idx a{grid-template-columns:5rem minmax(0,1fr) minmax(0,36%);align-items:start}

@media (max-width:700px){.idx a{grid-template-columns:minmax(0,1fr)}.idx img{max-width:none}}
.lml{display:none}
@media (max-width:640px){
  .lm,.lm + .lmnote{display:none}
  .lml{display:grid;border-top:2px solid var(--ink);counter-reset:none}
  .lml li{border-bottom:1px solid var(--rule)}
  .lml a{display:flex;gap:12px;align-items:baseline;padding:11px 0;text-decoration:none;color:var(--ink);font-weight:600;font-size:.9375rem}
  .lml .n{font-weight:800;color:var(--acc);font-variant-numeric:tabular-nums;min-width:1.6em}
  .lml li.on a{color:#fff;background:var(--ink);padding-inline:10px;margin-inline:-10px}
  .lml li.on .n{color:#fff}
  .lml.white{background:#fff;padding:0 14px;border-top:0}
  .lml.white li.on a{margin-inline:-14px;padding-inline:14px}
  .sub{letter-spacing:.06em}
  .spec th{width:46%}
}
@media (max-width:640px){.tbl.st tr:has(td:nth-child(3)){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tbl.st td{overflow-wrap:anywhere}}
.homecards{margin-top:clamp(48px,6vw,88px)}
@media (max-width:640px){.homeline{display:none}.homecards{margin-top:0}}
.ftr .legal a{text-decoration:underline;text-underline-offset:2px}
.dwg:focus-visible,.tw:focus-visible,.lm:focus-visible{outline:2px solid var(--navy);outline-offset:2px}

/* ---- BERUI logo: follows its ground (black on light, white on dark) ---- */
:root{--berui-ink:#0E1116;--berui-acc:#1E4AFF}
.brl{display:block;color:var(--berui-ink);aspect-ratio:681.68/260.8;height:auto;overflow:visible}
.ftr,.hero{--berui-ink:#fff;--berui-acc:#fff}
/* ---- the colon of the BERUI mark, used as the signature of BERUI eyebrows ---- */
.berui .sh > .eb::before,.berui .blk .bh > .eb::before,.bhero .eb::before,.bband > div > .eb::before{content:"";display:inline-block;width:.32em;height:1.05em;margin-right:.7em;vertical-align:-.15em;
  background:linear-gradient(var(--berui-acc) 0 33%,transparent 33% 67%,var(--berui-acc) 67% 100%)}

/* ---- QA round: touch targets, small text, narrow screens ---- */
.jg figcaption,.cap{overflow-wrap:break-word}
h1,h2,h3{overflow-wrap:break-word}
@media (max-width:700px){
  .crumb a{display:inline-block;padding-block:4px}
  .cards a,.ftr li a,.ftr .ct a,.facts a{display:inline-block;padding-block:3px}
  .more{padding-block:3px}
  .hero .tags,.ten .t{font-size:.75rem}
}
@media (max-width:360px){.d1{font-size:1.75rem}.d2{font-size:1.625rem}.camp{font-size:2.5rem}}
body{overflow-wrap:break-word}
.newsg > *,.cards > *,.facts > *,.split > *,.bband > *{min-width:0}
:where(.nh,.nc a,.sh > div,.blk .bh,.pl,.blocks,.jg,.tx,.specs,.bband > div:first-child,.hero .tx,.bhero .tx,.chh > div,.cta,.feat,.callouts li) > *{min-width:0}

/* scroll cue for drawings and wide tables: a soft shadow on the edge that has more to show */
@media (max-width:900px){
  .dwg{background:linear-gradient(to right,var(--fill) 30%,rgba(238,242,247,0)) left/28px 100% no-repeat local,linear-gradient(to left,var(--fill) 30%,rgba(238,242,247,0)) right/28px 100% no-repeat local,
    linear-gradient(to right,rgba(19,35,59,.16),rgba(19,35,59,0)) left/14px 100% no-repeat scroll,linear-gradient(to left,rgba(19,35,59,.16),rgba(19,35,59,0)) right/14px 100% no-repeat scroll,var(--fill)}
  .tw{background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left/28px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right/28px 100% no-repeat local,
    linear-gradient(to right,rgba(19,35,59,.14),rgba(19,35,59,0)) left/14px 100% no-repeat scroll,linear-gradient(to left,rgba(19,35,59,.14),rgba(19,35,59,0)) right/14px 100% no-repeat scroll,#fff}
}
.lmnote a{white-space:nowrap}

/* ---- QA round 2 ---- */
.call{display:none}
@media (max-width:1023px){
  .call{display:inline-flex;align-items:center;gap:6px;margin-left:auto;min-height:44px;padding:0 14px;font-weight:700;font-size:.875rem;letter-spacing:.04em;color:var(--ink);text-decoration:none;border:1.5px solid var(--rule);border-radius:2px}
  .call:hover{border-color:var(--navy);color:var(--navy)}
  .call svg{flex:none;width:18px;height:18px}
  .mm{margin-left:12px}
}
.mm .panel .btns{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.mm .panel .btns a:not(.btn){border:0;padding:.4em 0;font-size:1rem;font-weight:600}
.mmcat{margin-top:18px}.mmcat a{font-size:1rem!important;font-weight:600!important;border:0!important;padding:.4em 0!important}
.cards a:not(.more){text-decoration:underline;text-decoration-color:var(--rule);text-decoration-thickness:2px;text-underline-offset:5px}
.cards a:hover{text-decoration-color:var(--navy);color:var(--navy)}
.catl{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-decoration:none;color:var(--ink);max-width:720px}
.catl img{width:72px;height:auto;box-shadow:0 8px 20px -12px rgba(19,35,59,.5)}
.catl b{display:block;font-size:1.0625rem}
.catl .cap{display:block;margin-top:4px}
.catl .ar{font-size:1.25rem;color:var(--acc)}
.catl:hover b{color:var(--navy)}
.links{display:flex;flex-wrap:wrap;gap:6px 28px}
.fnl{margin-top:14px}
.brhead{display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px;margin-bottom:clamp(14px,1.6vw,22px)}
.brhead .brmark{margin:0}
.nf{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:24px;max-width:560px}
.nfl li{padding:6px 0;border-top:1px solid var(--rule)}
a.zoom{display:block;cursor:zoom-in}
a.zoom:focus-visible{outline:2px solid var(--navy);outline-offset:2px}
.cta .alt a{white-space:nowrap}

/* services list (H2 per service): intro + 7 services fill a 2-column grid */
.svc{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--col);margin-top:clamp(32px,4vw,56px)}
.svintro{font-size:clamp(1.0625rem,1.3vw,1.1875rem);line-height:1.55;font-weight:500;color:var(--ink);margin:0;padding:18px 0 22px;border-top:1px solid var(--rule);text-wrap:pretty}
.svi{padding:18px 0 22px;border-top:1px solid var(--rule);scroll-margin-top:calc(var(--hdr) + 24px)}
.svi h2{font-size:1.1875rem;line-height:1.3;font-weight:800;letter-spacing:-.005em;color:var(--ink);margin:0}
.svi p{margin:6px 0 0;max-width:40em;text-wrap:pretty}
.svi .links{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:10px}
.svi:target h2{color:var(--navy);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
@media (max-width:760px){.svc{grid-template-columns:1fr}.svi:last-child{border-bottom:1px solid var(--rule)}}

.nw{white-space:nowrap}
/* narrow phones: the call button shows its icon only (label stays in aria-label) so logo, call and menu fit */
@media (max-width:420px){.hdr .w{gap:12px}.call{padding:0 12px}.call span{display:none}.mm{margin-left:0}}
@media (max-width:360px){.logo img{height:21px}.mm summary{gap:8px}}
.hdr .logo{display:flex;align-items:center;min-height:44px}
@media (max-width:360px){.nw{white-space:normal}}

/* final review fixes */
.si{display:inline-block}
.hl{text-wrap:balance}
.sh .hl.hls{font-size:clamp(1.125rem,1.6vw,1.375rem);font-weight:600;line-height:1.35;margin-top:10px;color:var(--ink)}
.crumb{align-items:center}
.numl.nonum li{grid-template-columns:1fr}
.chh.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--col);align-items:end}
.chh.two .chr .hl{margin-top:0}
.chh.two .chr{padding-bottom:4px}
@media (max-width:1100px){.chh.two{grid-template-columns:1fr}.chh.two .chr .hl{margin-top:clamp(28px,3vw,44px)}}
@media (min-width:901px){.feat ol.n3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:480px){.hero .top .ten{float:none;margin:0 0 14px}.btns .btn{width:100%;justify-content:center}}
.hero .tags,.chh .sub{text-wrap:balance}
.partner .cap{text-wrap:balance}

/* OO mark (the two linked O's of the logo): a quiet detail at an edge, never centred, cropped like the catalogue's ghost mark */
.oo{display:block;position:absolute;z-index:0;pointer-events:none;aspect-ratio:2637/3621;width:auto}
.ftr{position:relative;overflow:hidden}
.chtop{position:relative;overflow:hidden}
.ftr > .w,.chtop > .w{position:relative;z-index:1}
.oo-ftr{color:#2B5C99;height:clamp(420px,42vw,600px);right:calc(-.36 * 2637 / 3621 * clamp(420px,42vw,600px));top:clamp(24px,3vw,40px)}
@media (max-width:600px){.oo-ftr{height:380px;right:calc(-.36 * 2637 / 3621 * 380px);top:230px}}
.oo-chap{color:#F1F4F8;height:clamp(440px,46vw,660px);right:calc(-.36 * 2637 / 3621 * clamp(440px,46vw,660px));top:clamp(20px,2.4vw,36px)}
@media print,(forced-colors:active){.oo{display:none}}
.chtop > .w{padding-bottom:clamp(32px,4vw,56px)}
.chtop + .w > .opener{margin-top:0}
