/* V3 refinement, exploration only.
   Typography values are copied verbatim from the finalised working build:
   04_WORKING/assets/css/one-bcg.css  :root --ty-* (lines 3157-3170), .btn (98), .tlink (112), .nav (144), body (57).
   Single change, per the approved V2.6 Stage A decision: H1 and H2 render at Open Sans Regular 400
   (the build tokens still read 200 / 250, which Open Sans cannot render and which resolve to 300). */
:root{
  --paper:#FFFFFF;--ink:#151412;--ink-2:#403C36;--ink-3:#5A554B;--dark:#141210;
  --red:#C40B0F;--red-deep:#A80A0D;--line:rgba(21,20,18,.13);--line-2:rgba(21,20,18,.24);
  --stone:#F4F1EC;--stone-2:#EAE6DF;--stone-3:#DCD6CD;
  --ease:cubic-bezier(.22,.61,.36,1);--dur:.4s;--radius-btn:14px;
  --container:1280px;--gutter:clamp(1.25rem,4vw,3rem);
  --t-nav:1rem;--t-small:.9375rem;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Open Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:var(--ty-body);line-height:var(--ty-body-lh);font-weight:400;-webkit-font-smoothing:antialiased}
.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.h1{margin:0;font-size:var(--ty-h1);font-weight:var(--ty-h1-w);line-height:var(--ty-h1-lh);letter-spacing:var(--ty-h1-ls)} h1{margin:0;}
.h2{margin:0;font-size:var(--ty-h2);font-weight:var(--ty-h2-w);line-height:var(--ty-h2-lh);letter-spacing:var(--ty-h2-ls)} h2{margin:0;}



.meta{font-variant-numeric:tabular-nums;}
p{margin:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;font-family:inherit;font-size:var(--t-nav);font-weight:600;letter-spacing:.01em;min-height:54px;padding:0 2.3rem;border-radius:var(--radius-btn);border:1.5px solid var(--red);background:var(--red);color:#fff;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease)}
.btn:hover{background:var(--red-deep);border-color:var(--red-deep)}
.btn:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.tlink{display:inline-flex;align-items:center;gap:.7rem;font-size:var(--t-nav);font-weight:600;color:var(--ink);text-decoration:none;padding-block:.4rem}
.tlink .ar{display:inline-block;width:22px;height:1px;background:currentColor;position:relative;transition:width var(--dur) var(--ease)}
.tlink .ar::after{content:"";position:absolute;right:0;top:-3.5px;width:8px;height:8px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.tlink:hover{color:var(--red)}.tlink:hover .ar{width:38px}
.tlink:focus-visible{outline:2px solid var(--red);outline-offset:4px}
.ctagroup{display:flex;align-items:center;gap:clamp(1.5rem,3vw,2.75rem);flex-wrap:wrap}
/* header: solid state of the approved header */
html{scroll-padding-top:calc(var(--hdr) + 1.5rem)}
.hdr{position:sticky;top:0;z-index:90;background:rgba(255,255,255,.95);border-bottom:1px solid var(--line)}
.hdr__in{display:flex;align-items:center;justify-content:space-between;gap:2rem;height:76px}
.hdr__logo img{height:44px;width:auto;display:block}
.nav{display:flex;align-items:center;gap:clamp(1rem,1.9vw,1.9rem)}
.nav a{font-size:var(--t-nav);font-weight:500;color:var(--ink-2);text-decoration:none;padding-block:.5rem;position:relative}
.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:.15rem;height:1px;background:var(--red)}
.nav .btn{min-height:46px;padding:0 1.6rem;margin-left:.6rem;background:transparent;border-color:var(--line-2);color:var(--ink)}
.menu{display:none;font-size:var(--t-nav);font-weight:500;background:none;border:1px solid var(--line-2);border-radius:var(--radius-btn);min-height:44px;padding:0 1.1rem;color:var(--ink)}
.concept{position:absolute;z-index:5;font-size:var(--ty-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);background:rgba(255,255,255,.88);padding:.35rem .6rem;border:1px solid var(--line-2)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(max-width:1180px){.nav{display:none}.menu{display:inline-flex;align-items:center}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important}}
