/* Miyagami — design system lifted from miyagami.com (Webflow) and extended for the repositioned site. */
@font-face{font-family:"Helvetica Neue";src:url(../fonts/HelveticaNeue-Roman.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Helvetica Neue";src:url(../fonts/HelveticaNeue-Medium.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(../fonts/IBMPlexMono-400.woff2) format("woff2");font-weight:400;font-display:swap;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:"IBM Plex Mono";src:url(../fonts/IBMPlexMono-400-ext.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,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:"IBM Plex Mono";src:url(../fonts/IBMPlexMono-500.woff2) format("woff2");font-weight:500;font-display:swap;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:"IBM Plex Mono";src:url(../fonts/IBMPlexMono-500-ext.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --oxford:#000c25; --white:#fff; --secondary-white:#f5f7f8; --light-grey:#dee3e7; --neutral-light:#b2bcc7;
  --grey:#5f6675; --accent:var(--neon-blue); --accent-soft:#e8edff; --accent-on-dark:#9fb2ff; --neon-blue:#1f48fe; --sapphire:#0752ab; --border-alt-light:#ffffff33;
  --heading:var(--oxford); --paragraph:var(--oxford); --border:var(--light-grey);
  --sans:"Helvetica Neue",Helvetica,Arial,sans-serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --pad-x:5rem; --section:6rem; --radius:8px; --radius-sm:6px; --radius-xs:4px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--paragraph);font-family:var(--sans);font-size:1rem;line-height:1.38;letter-spacing:-.01rem;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4,h5{margin:0;font-weight:500;color:inherit;letter-spacing:-.02em;line-height:1.1}
h1,.h1{font-size:5rem}
h2,.h2{font-size:4rem;letter-spacing:-.1rem;line-height:1.05}
h3,.h3{font-size:3rem;letter-spacing:-.088rem}
h4,.h4{font-size:2rem;font-weight:400;letter-spacing:-.06rem}
.h5{font-size:1.5rem;letter-spacing:-.015rem;line-height:1.2}
.h6{font-size:1.125rem;letter-spacing:-.01rem;line-height:1.25}
p{margin:0}
.lead{font-size:1.25rem;line-height:1.4}
.text-md{font-size:1.125rem}
.small{font-size:.875rem}
.tiny{font-size:.75rem}
.muted{color:var(--fg-2)}
.on-dark .muted{color:var(--fg-2)}
.mono{font-family:var(--mono);font-weight:500}
.max-s{max-width:28rem}.max-m{max-width:40rem}.max-l{max-width:52rem}
:focus-visible{outline:2px solid var(--neon-blue);outline-offset:3px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* layout */
.wrap{padding-left:var(--pad-x);padding-right:var(--pad-x)}
.container{max-width:80rem;margin:0 auto;width:100%}
.section{padding-top:var(--section);padding-bottom:var(--section)}
.section.tight{padding-top:4rem;padding-bottom:4rem}
.section.flush-top{padding-top:0}
.panel{margin:1rem;border-radius:var(--radius);position:relative;overflow:hidden}
.panel.dark{background:var(--oxford);color:var(--white)}
.panel.soft{background:var(--secondary-white)}
.on-dark{color:var(--white)}
.grid{display:grid;gap:1.5rem}
.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}.g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:minmax(16rem,35%) 1fr;gap:3rem}
.split-even{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
.stack>*+*{margin-top:1rem}
.stack-l>*+*{margin-top:2rem}
.row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.between{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}
.mt-s{margin-top:1rem}.mt-m{margin-top:2rem}.mt-l{margin-top:3rem}.mt-xl{margin-top:5rem}
.mb-m{margin-bottom:2rem}.mb-l{margin-bottom:3rem}

/* eyebrow (existing component: blue square + rule) */
.eyebrow{display:flex;align-items:center;gap:1rem;border-bottom:1px solid var(--border);padding:.5rem 0 1.5rem;margin-bottom:4rem;font-size:1rem;font-weight:500;letter-spacing:-.015em;color:var(--heading)}
.eyebrow::before{content:"";width:1rem;height:1rem;border-radius:1px;background:var(--neon-blue);flex:none}
.on-dark .eyebrow,.panel.dark .eyebrow{color:var(--white);border-color:var(--border-alt-light)}
.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2rem;margin-bottom:4rem}
.section-head p{max-width:34rem}

/* tags (IBM Plex Mono) */
.tag{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem .5rem;background:transparent;color:var(--fg-2);border:1px solid var(--border);font-family:var(--mono);font-weight:500;font-size:.75rem;line-height:1.1;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-decoration:none}
.tag.blue{background:var(--neon-blue);border-color:var(--neon-blue);color:var(--white)}
.tag.grey{background:var(--grey);border-color:var(--fg-2);color:var(--white)}
.tag.white{background:var(--white);border-color:var(--white)}
.tag.line{background:transparent;border-color:var(--border);color:var(--fg-2)}
.tag.glass{background:#80899d80;border-color:transparent;color:#fff;backdrop-filter:blur(10px)}
.tags{display:flex;flex-wrap:wrap;gap:.5rem}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.5rem 1.5rem;border-radius:var(--radius-xs);border:1px solid var(--oxford);background:var(--oxford);color:#fff;font:500 1rem/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease),border-color .25s var(--ease)}
.btn:hover{background:var(--neon-blue);border-color:var(--neon-blue)}
.btn.white{background:#fff;border-color:#fff;color:var(--oxford)}
.btn.white:hover{background:var(--accent-soft);border-color:var(--accent-soft)}
.btn.ghost{background:transparent;color:var(--oxford);border-color:var(--neutral-light)}
.btn.ghost:hover{border-color:var(--oxford)}
.on-dark .btn.ghost,.panel.dark .btn.ghost,.hero .btn.ghost{color:#fff;border-color:#ffffff66}
.on-dark .btn.ghost:hover,.panel.dark .btn.ghost:hover,.hero .btn.ghost:hover{border-color:#fff}
.btn .arr{width:auto;height:auto;background:none;color:inherit;display:inline-block;margin:0;font-size:1rem;line-height:1;transition:transform .25s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.link{display:inline-flex;align-items:center;gap:.35rem;font-weight:500;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.link:hover{color:var(--neon-blue)}
.on-dark .link:hover,.panel.dark .link:hover{color:var(--accent-on-dark)}

/* nav (floating pill, transparent over hero, white on scroll) */
.nav{position:fixed;inset:0 0 auto;z-index:50;padding:1.5rem 2rem 0}
.nav-inner{max-width:80rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .25rem .25rem 1rem;border-radius:var(--radius-sm);background:#ffffffcc;backdrop-filter:blur(6px);color:var(--oxford);transition:background .3s,color .3s}
.nav.over-hero:not(.scrolled):not(.open) .nav-inner{background:transparent;backdrop-filter:none;color:#fff}
.brand{display:flex;color:inherit;width:118px}
.brand svg{width:100%;height:auto}
.menu{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0}
.menu>li{position:relative}
.menu a.mi,.menu button.mi{display:block;padding:1.1rem .85rem;font:500 .95rem/1.2 var(--sans);text-decoration:none;color:inherit;background:none;border:0;cursor:pointer;letter-spacing:.01em}
.menu a.mi:hover,.menu button.mi:hover,.menu a.mi.current{color:var(--neon-blue)}
.nav.over-hero:not(.scrolled) .menu a.mi.current{color:inherit;text-decoration:underline;text-underline-offset:6px}
.nav-cta{display:flex;align-items:center;gap:.5rem}
.locale{font:500 .875rem/1 var(--sans);text-transform:uppercase;letter-spacing:.01em;padding:.5rem .4rem;border:0;border-radius:var(--radius-xs);background:none;color:inherit;cursor:pointer}
.nav .btn{min-height:2.75rem;padding:.4rem .75rem .4rem 1rem}
.nav.over-hero:not(.scrolled):not(.open) .btn{background:#fff;border-color:#fff;color:var(--oxford)}
.dd{position:absolute;top:100%;left:-1rem;min-width:34rem;background:#fff;color:var(--oxford);border-radius:var(--radius-sm);padding:1rem;display:none;grid-template-columns:1fr 1fr;gap:.25rem;box-shadow:0 18px 40px -20px #000c2559}
.menu li:hover .dd,.menu li:focus-within .dd{display:grid}
.dd a{display:block;padding:.75rem;border-radius:4px;text-decoration:none}
.dd a:hover{background:var(--secondary-white)}
.dd a strong{display:block;font-weight:500}
.dd a span{font-size:.8rem;color:var(--fg-2)}
.dd .dd-foot{grid-column:1/-1;border-top:1px solid var(--border);margin-top:.5rem;padding:.75rem .75rem 0;font-size:.875rem;display:flex;justify-content:space-between}
.burger{display:none;background:none;border:0;color:inherit;padding:.75rem;cursor:pointer}
.burger span{display:block;width:22px;height:2px;background:currentColor;margin:5px 0;transition:transform .2s}

/* hero (inset rounded photo panel, existing) */
.hero{margin:1rem;border-radius:var(--radius);position:relative;overflow:hidden;color:#fff;min-height:calc(100dvh - 2rem);display:flex;flex-direction:column;justify-content:flex-end;background:var(--oxford)}
.hero.short{min-height:auto;padding-top:9rem}
.hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(#000c2599 0%,#000c2526 35%,#000c25b3 85%)}
.hero>.wrap{position:relative;z-index:2;padding-top:8rem;padding-bottom:4rem}
.hero h1{max-width:60%}
.hero .lead{max-width:44rem}
.hero-foot{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:end;margin-top:3rem}
.hero-meta{display:flex;gap:2.5rem;flex-wrap:wrap;border-top:1px solid var(--border-alt-light);padding-top:1.25rem;margin-top:3rem}
.hero-meta div{font-size:.875rem;color:var(--fg-2)}
.hero-meta b{display:block;font-weight:500;font-size:1.5rem;opacity:1;letter-spacing:-.02em}
.page-hero{padding-top:10rem;padding-bottom:4rem}
.page-hero h1{font-size:4rem;max-width:60%}
.crumbs{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin-bottom:2rem;display:flex;gap:.5rem;flex-wrap:wrap}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--neon-blue)}
.hero .crumbs,.on-dark .crumbs{color:var(--fg-2)}

/* compact calculator card (hero) */
.calc-card{background:#ffffffeb;color:var(--oxford);border-radius:var(--radius-sm);padding:1.5rem;backdrop-filter:blur(8px)}
.calc-card .row-f{display:grid;grid-template-columns:1fr 1fr 5.5rem;gap:.5rem}
.field label{display:block;font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin-bottom:.35rem}
.field select,.field input,.field textarea{width:100%;min-height:2.75rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;font:400 1rem var(--sans);color:var(--oxford);appearance:none}
.field select{background-image:linear-gradient(45deg,transparent 50%,var(--oxford) 50%),linear-gradient(135deg,var(--oxford) 50%,transparent 50%);background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2rem}
.field textarea{min-height:8rem;resize:vertical}
.field select:focus,.field input:focus,.field textarea:focus{outline:2px solid var(--neon-blue);outline-offset:0;border-color:transparent}
.cmp{display:grid;grid-template-columns:1fr 1fr;margin-top:1rem;border:1px solid var(--border);border-radius:var(--radius-xs);overflow:hidden}
.cmp>div{padding:1rem}
.cmp>div+div{border-left:1px solid var(--border);background:var(--oxford);color:#fff}
.cmp .k{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.cmp .v{font-size:1.75rem;font-weight:500;letter-spacing:-.03em;margin:.35rem 0 .15rem}
.cmp .s{font-size:.8rem;color:var(--fg-2)}
.calc-save{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;font-size:.9rem}
.calc-save b{font-weight:500}

/* logos */
.logos{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.logos>div{aspect-ratio:16/9;display:grid;place-items:center;padding:1.75rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .3s}
.logos img{max-height:2.75rem;max-width:70%;object-fit:contain;filter:grayscale(1);opacity:.85;transition:filter .3s,opacity .3s}
.logos>div:hover{background:var(--secondary-white)}
.logos>div:hover img{filter:none;opacity:1}
.logos .iso{display:flex;gap:.75rem;align-items:center;justify-content:center;font-size:.85rem;text-align:left}
.logos .iso img{filter:none;opacity:1;max-height:3rem;max-width:3rem}

/* definition block */
.define{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.define>div{padding:2.5rem}
.define>div+div{border-left:1px solid var(--border)}
.define .is{background:var(--oxford);color:#fff}
.define h3{font-size:2rem;letter-spacing:-.05rem;margin:1.25rem 0 1rem}
.define ul{list-style:none;padding:0;margin:1.5rem 0 0}
.define li{padding:.75rem 0;border-top:1px solid var(--border);display:flex;gap:.75rem;font-size:.95rem}
.define .is li{border-color:var(--border-alt-light)}
.define li::before{content:"—";opacity:.5}

/* dimensions (formula grid, dark) */
.formula{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);overflow:hidden}
.formula>a,.formula>div{padding:2rem;display:flex;flex-direction:column;gap:1.25rem;text-decoration:none;color:inherit;border-right:1px solid var(--border-alt-light);transition:color .3s,background .3s}
.formula>*:last-child{border-right:0}
.formula>a:hover{color:var(--accent-on-dark);background:#ffffff08}
.formula .num{font:500 .8rem var(--mono);letter-spacing:.02em;color:var(--fg-2)}
.formula h4{font-size:1.35rem;font-weight:500;letter-spacing:-.02em;line-height:1.15}
.formula p{font-size:.9rem;margin-top:auto;color:var(--fg-2)}
.formula.light{border-color:var(--border)}
.formula.light>*{border-color:var(--border)}
.formula.light>a:hover{color:var(--neon-blue);background:var(--secondary-white)}

/* role grid */
.roles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.roles a{display:flex;flex-direction:column;gap:2.5rem;padding:1.75rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-decoration:none;min-height:13rem;transition:background .25s}
.roles a:hover{background:var(--secondary-white)}
.roles a:hover .r-name{color:var(--neon-blue)}
.roles .r-name{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;transition:color .25s}
.roles .r-test{font-size:.9rem;color:var(--fg-2);margin-top:.5rem}
.roles .r-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;font-size:.875rem}

/* image cards (existing card-rounded + overlay) */
.icard{position:relative;border-radius:var(--radius-sm);overflow:hidden;min-height:32rem;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:space-between;padding:1.75rem;isolation:isolate}
.icard img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s var(--ease)}
.icard::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(#0006 5%,#fff0 35% 55%,#000000a6 90%)}
.icard:hover img.bg{transform:scale(1.04)}
.icard h3{font-size:2rem;letter-spacing:-.05rem;margin-bottom:.75rem}
.icard p{;max-width:26rem;color:var(--fg-2)}
.icard .foot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-alt-light);padding-top:1rem;margin-top:1.5rem;font-size:.9rem}
.icard.short{min-height:22rem}

/* proof */
.proof{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:var(--radius);overflow:hidden;background:var(--secondary-white)}
.proof .media{position:relative;min-height:30rem}
.proof .media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.proof .body{padding:3rem;display:flex;flex-direction:column;gap:1.5rem}
.big-num{font-size:6rem;font-weight:500;letter-spacing:-.06em;line-height:.9;color:var(--neon-blue)}
blockquote{margin:0;font-size:1.35rem;line-height:1.35;letter-spacing:-.02em}
.person{display:flex;gap:.9rem;align-items:center}
.person img{width:3rem;height:3rem;border-radius:50%;object-fit:cover;background:var(--light-grey)}
.person b{display:block;font-weight:500}
.person span{font-size:.85rem;color:var(--fg-2)}

/* faces */
.faces{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.face{border:1px solid var(--border);border-radius:var(--radius-sm);padding:2rem;display:flex;flex-direction:column;gap:2rem}
.face blockquote{font-size:1.15rem}
.face .person{margin-top:auto}

/* team */
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem 1.25rem}
.member img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-sm);background:var(--secondary-white)}
.member .ph{width:100%;aspect-ratio:4/5;border-radius:var(--radius-sm);background:var(--secondary-white);display:grid;place-items:center;color:var(--neutral-light);font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;border:1px dashed var(--neutral-light)}
.member b{display:block;font-weight:500;margin-top:.9rem}
.member span{font-size:.85rem;color:var(--fg-2)}
.member .tag{margin-top:.6rem}

/* spec sheet (manual) */
.spec{border-top:1px solid var(--border)}
.spec>div{display:grid;grid-template-columns:minmax(12rem,30%) 1fr;gap:2rem;padding:1.4rem 0;border-bottom:1px solid var(--border)}
.spec dt{font:500 .8rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);padding-top:.2rem}
.spec dd{margin:0}
.spec dd p+p{margin-top:.4rem}
.panel.dark .spec,.panel.dark .spec>div{border-color:var(--border-alt-light)}
.panel.dark .spec dt{color:var(--fg-2)}

/* rate table */
.rates{width:100%;border-collapse:collapse;font-size:1rem}
.rates th,.rates td{text-align:left;padding:1rem .5rem;border-bottom:1px solid var(--border)}
.rates th{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.rates td.num,.rates th.num{text-align:right;font-variant-numeric:tabular-nums}
.rates tr:hover td{background:var(--secondary-white)}
.rates a{text-decoration:none}.rates a:hover{color:var(--neon-blue)}

/* big calculator */
.calc{display:grid;grid-template-columns:22rem 1fr;gap:0;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}
.calc .controls{padding:2rem;background:var(--secondary-white);display:flex;flex-direction:column;gap:1.25rem}
.calc .out{padding:2rem 2.5rem}
.stepper{display:flex;align-items:stretch;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;overflow:hidden}
.stepper button{width:2.75rem;border:0;background:none;font-size:1.25rem;cursor:pointer;color:var(--oxford)}
.stepper button:hover{background:var(--secondary-white)}
.stepper input{border:0!important;text-align:center;min-height:2.75rem;flex:1;font-size:1rem;width:3rem}
.seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-xs);overflow:hidden;background:#fff}
.seg button{border:0;background:none;padding:.65rem;cursor:pointer;font:500 .9rem var(--sans);color:var(--fg-2)}
.seg button.on{background:var(--oxford);color:#fff}
.calc .bars{display:grid;gap:1.5rem;margin:2rem 0}
.bar .lbl{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.5rem}
.bar .lbl b{font-weight:500;font-size:1.25rem;letter-spacing:-.02em}
.bar .track{height:2.5rem;background:var(--secondary-white);border-radius:2px;overflow:hidden}
.bar .fill{height:100%;background:var(--neutral-light);transition:width .5s var(--ease)}
.bar.ours .fill{background:var(--neon-blue)}
.breakdown{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:1rem}
.breakdown td{padding:.6rem 0;border-bottom:1px solid var(--border)}
.breakdown td:last-child,.breakdown th:last-child,.breakdown td:nth-child(2),.breakdown th:nth-child(2){text-align:right;font-variant-numeric:tabular-nums}
.breakdown th{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);text-align:left;padding:.5rem 0;border-bottom:1px solid var(--border)}
.breakdown tr.total td{font-weight:500;border-bottom:0;padding-top:1rem}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.kpis>div{padding:1.25rem 0}
.kpis>div+div{padding-left:1.5rem;border-left:1px solid var(--border)}
.kpis b{display:block;font-size:2rem;font-weight:500;letter-spacing:-.04em}
.kpis span{font-size:.85rem;color:var(--fg-2)}

/* steps / timeline */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}
.steps>div{padding:1.5rem 1.5rem 0 0}
.steps .when{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.steps h4{font-size:1.35rem;font-weight:500;margin:.75rem 0 .5rem}
.steps p{font-size:.9rem;color:var(--fg-2)}

/* list rows */
.rows{border-top:1px solid var(--border)}
.rows>a,.rows>div{display:grid;grid-template-columns:1fr auto;gap:2rem;padding:1.25rem 0;border-bottom:1px solid var(--border);text-decoration:none;align-items:center;transition:color .25s,padding .25s}
.rows>a:hover{color:var(--neon-blue);padding-left:.5rem}
.rows .t{font-size:1.25rem;font-weight:500;letter-spacing:-.02em}
.rows .d{font-size:.9rem;color:var(--fg-2);margin-top:.3rem}

/* tabs-like filter */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:2.5rem}
.filters a{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;padding:.5rem .75rem;border:1px solid var(--border);border-radius:2px;text-decoration:none;color:var(--fg-2)}
.filters a.on,.filters a:hover{background:var(--oxford);color:#fff;border-color:var(--oxford)}

/* prose (articles) */
.prose{font-size:1.125rem;line-height:1.6;max-width:44rem}
.prose>*+*{margin-top:1.1rem}
.prose h2{font-size:2rem;letter-spacing:-.05rem;margin-top:3rem;line-height:1.15}
.prose h3{font-size:1.4rem;letter-spacing:-.02em;margin-top:2rem}
.prose a{color:var(--neon-blue);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.25rem}
.prose li+li{margin-top:.4rem}
.prose code{font-family:var(--mono);font-weight:400;font-size:.85em;background:var(--secondary-white);padding:.1rem .3rem;border-radius:3px}
.prose pre{background:var(--oxford);color:#fff;padding:1.25rem;border-radius:var(--radius-sm);overflow:auto;font-size:.85rem}
.prose pre code{background:none;padding:0}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}
.prose th,.prose td{border-bottom:1px solid var(--border);padding:.6rem .4rem;text-align:left}
.prose blockquote{border:1px solid var(--border);padding:1.25rem;border-radius:var(--radius-sm);font-size:1.1rem}
.prose .answer,.answer{font-size:1.35rem;line-height:1.4;letter-spacing:-.015em}
.aside{position:sticky;top:7rem;display:flex;flex-direction:column;gap:1.5rem}
.aside .box{border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.5rem}
.article-layout{display:grid;grid-template-columns:1fr 18rem;gap:5rem;align-items:start}

/* faq */
.faq details{border-bottom:1px solid var(--border);padding:1.25rem 0}
.faq details:first-child{border-top:1px solid var(--border)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-size:1.2rem;font-weight:500;letter-spacing:-.02em}
.faq summary::after{content:"+";font-weight:400;color:var(--neon-blue);font-size:1.5rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin-top:.9rem;color:var(--fg-2);max-width:44rem}

/* cta (existing photo panel) */
.cta{margin:1rem;border-radius:var(--radius);overflow:hidden;position:relative;color:#fff;min-height:36rem;display:flex;align-items:flex-end}
.cta img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cta::after{content:"";position:absolute;inset:0;background:linear-gradient(#000c2526,#000c25cc)}
.cta>.wrap{position:relative;z-index:2;width:100%;padding-top:4rem;padding-bottom:4rem}
.closer{display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:end}
.closer-card{background:#fff;color:var(--oxford);border-radius:var(--radius-sm);padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}
.closer-card .person img{width:4rem;height:4rem}

/* notes for editors (draft only) */
.note{display:block;background:var(--accent-soft);color:var(--oxford);border-left:3px solid var(--neon-blue);font:400 .78rem/1.45 var(--mono);padding:.7rem .9rem;border-radius:3px;margin:1rem 0}
.note::before{content:"EDITOR NOTE · ";font-weight:700}
.draft-bar{background:var(--accent-soft);color:var(--oxford);font:400 .75rem var(--mono);text-align:center;padding:.4rem;letter-spacing:.03em;position:relative;z-index:60}

/* forms */
.form{display:grid;gap:1rem}
.form .two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.hp{position:absolute;left:-9999px}
.flash{padding:1rem 1.25rem;border-radius:var(--radius-xs);background:var(--secondary-white);border:1px solid var(--border)}
.flash.ok{background:#e9eeff;border-color:var(--neon-blue)}
.flash.err{background:#fdecec;border-color:#e5a3a3}

/* footer (existing dark rounded) */
.footer{margin:1rem;border-radius:var(--radius);background:var(--oxford);color:#fff}
.footer .top{display:grid;grid-template-columns:.8fr 1.6fr;gap:8%;padding-top:5rem}
.footer .cols{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.footer h5{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;margin-bottom:1rem;color:var(--fg-2)}
.footer .cols a{display:block;padding:.4rem 0;font-size:.875rem;text-decoration:none;color:var(--fg-2)}
.footer .cols a:hover{color:var(--accent-on-dark);opacity:1}
.footer .boiler{font-size:1.75rem;letter-spacing:-.04em;line-height:1.15;max-width:26rem}
.footer .addr{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border-alt-light);font-size:.875rem}
.footer .addr b{display:block;font-weight:500;margin-bottom:.4rem}
.footer .addr span{;display:block;color:var(--fg-2)}
.footer .bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 0;margin-top:3rem;border-top:1px solid var(--border-alt-light);font-size:.8rem;flex-wrap:wrap}
.footer .bottom .muted{color:var(--fg-2)}
.footer .bottom a{;margin-left:1.5rem;color:var(--fg-2)}
.footer .badges{display:flex;gap:1rem;align-items:center;margin-top:2rem}
.footer .badges img{height:2.5rem;width:auto;background:#fff;border-radius:3px;padding:.25rem}

/* reveal */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.rv.in{opacity:1;transform:none}
.no-js .rv{opacity:1;transform:none}

/* responsive */
@media (max-width:1180px){
  .menu a.mi,.menu button.mi{padding:1.1rem .55rem;font-size:.875rem}
  .formula{grid-template-columns:repeat(3,1fr)}
  .formula>*{border-bottom:1px solid var(--border-alt-light)}
  .formula.light>*{border-bottom-color:var(--border)}
}
@media (max-width:991px){
  :root{--pad-x:3rem;--section:4.5rem}
  h1,.h1{font-size:3.25rem} h2,.h2{font-size:2.75rem;letter-spacing:-.06rem} h3,.h3{font-size:2rem} h4,.h4{font-size:1.5rem}
  .page-hero h1{font-size:3rem}
  .burger{display:block}
  .menu{display:none;position:absolute;top:calc(100% + .5rem);left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;color:var(--oxford);border-radius:var(--radius-sm);padding:.5rem 1rem 1rem;box-shadow:0 18px 40px -20px #000c2559}
  .nav.open .menu{display:flex}
  .menu a.mi,.menu button.mi{padding:.9rem 0;border-bottom:1px solid var(--border);font-size:1.05rem;text-align:left;width:100%}
  .dd{display:none!important}
  .nav-inner{position:relative}
  .nav .locale{display:none}
  .hero-foot,.split,.split-even,.closer,.proof,.article-layout,.calc{grid-template-columns:1fr}
  .g3,.g4,.faces,.roles{grid-template-columns:1fr 1fr}
  .team{grid-template-columns:repeat(3,1fr)}
  .logos{grid-template-columns:repeat(3,1fr)}
  .define{grid-template-columns:1fr}.define>div+div{border-left:0;border-top:1px solid var(--border)}
  .footer .top{grid-template-columns:1fr;gap:3rem}
  .footer .cols{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:1fr 1fr}
  .aside{position:static}
  .section-head{grid-template-columns:1fr}
  .proof .media{min-height:20rem}
}
@media (max-width:767px){
  :root{--pad-x:1.25rem;--section:3.5rem}
  h1,.h1{font-size:2.6rem;letter-spacing:-.075rem} h2,.h2{font-size:2.1rem} h3,.h3{font-size:1.6rem}
  .page-hero{padding-top:8rem}.page-hero h1{font-size:2.4rem}
  .nav{padding:.75rem .75rem 0}
  .hero,.panel,.cta,.footer{margin:.75rem}
  .hero>.wrap{padding-top:7rem;padding-bottom:2rem}
  .g2,.g3,.g4,.faces,.roles,.formula,.team,.steps,.kpis,.footer .addr{grid-template-columns:1fr}
  .team{grid-template-columns:1fr 1fr}
  .formula>*{border-right:0}
  .kpis>div+div{border-left:0;padding-left:0;border-top:1px solid var(--border)}
  .logos{grid-template-columns:repeat(2,1fr)}
  .spec>div{grid-template-columns:1fr;gap:.5rem}
  .eyebrow{margin-bottom:2.5rem}
  .calc-card .row-f{grid-template-columns:1fr 1fr}
  .calc-card .row-f .field:last-child{grid-column:1/-1}
  .icard{min-height:26rem}
  .form .two{grid-template-columns:1fr}
  .big-num{font-size:4rem}
  .proof .body,.define>div,.calc .out,.calc .controls{padding:1.5rem}
  .rates{font-size:.875rem}
  .rates .hide-s{display:none}
}

/* sessions / scorecards (whitepaper) */
.sessions{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.session-card{display:flex;flex-direction:column;gap:1.25rem;padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:border-color .25s}
.session-card:hover{border-color:var(--oxford)}
.session-card.dark{background:var(--oxford);color:#fff;border-color:var(--oxford)}
.session-card .tag{align-self:flex-start}
.session-card p{color:var(--fg-2)}
.session-card .small{margin-top:auto}
.scorecard{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-left:1px solid var(--border)}
.scorecard>div{padding:1.75rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}
.scorecard .num{font:500 .8rem var(--mono);color:var(--fg-2)}
.scorecard h4{font-size:1.3rem;font-weight:500;letter-spacing:-.02em}
.scorecard p{font-size:.92rem;color:var(--fg-2)}
.scorecard.on-dark,.scorecard.on-dark>div{border-color:var(--border-alt-light)}
.scorecard.on-dark .num{color:var(--accent-on-dark)}
.scorecard.on-dark p{color:var(--fg-2)}
.goodbad{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.goodbad ul{list-style:none;padding:0;margin:.75rem 0 0}
.goodbad li{padding:.7rem 0 .7rem 1.75rem;border-top:1px solid var(--border);position:relative;font-size:.95rem}
.panel.dark .goodbad li{border-color:var(--border-alt-light)}
.goodbad li::before{position:absolute;left:0;top:.65rem;width:1.1rem;height:1.1rem;border-radius:2px;display:grid;place-items:center;font-size:.7rem}
.goodbad li.ok::before{content:"✓";background:var(--neon-blue);color:#fff}
.goodbad li.no::before{content:"✕";background:transparent;border:1px solid currentColor;opacity:.6}
.journey{list-style:none;counter-reset:j;padding:0;margin:0;border-top:1px solid var(--border)}
.journey li{counter-increment:j;display:grid;grid-template-columns:3rem 1fr;gap:.25rem 1rem;padding:1.1rem 0;border-bottom:1px solid var(--border)}
.journey li::before{content:counter(j,decimal-leading-zero);font:500 .8rem var(--mono);color:var(--fg-2);grid-row:span 2;padding-top:.2rem}
.journey li b{font-weight:500}
.journey li span{color:var(--fg-2);font-size:.92rem}
.journey li.hl::before{color:var(--neon-blue)}
.journey li.hl b{color:var(--neon-blue)}
.wp{display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:center}
.wp-cover{display:block;border-radius:var(--radius-sm);overflow:hidden;transform:rotate(-1.5deg);transition:transform .4s var(--ease)}
.wp-cover:hover{transform:rotate(0)}
.three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}
.three>div{padding:1.5rem 1.5rem 0 0}
.three>div+div{padding-left:1.5rem;border-left:1px solid var(--border)}
.three .mono{color:var(--fg-2)}
.three>div:last-child .mono{color:var(--neon-blue)}
.quote-big{font-size:2.25rem;letter-spacing:-.05rem;line-height:1.15;max-width:52rem}
.src{font-size:.75rem;color:var(--fg-2);margin-top:.35rem}
.src a{color:var(--neon-blue);text-underline-offset:2px}
.lang-dd{position:relative}
.lang-dd .menu-l{position:absolute;right:0;top:calc(100% + .4rem);background:#fff;color:var(--oxford);border-radius:var(--radius-xs);padding:.35rem;display:none;min-width:9rem;box-shadow:0 18px 40px -20px #000c2559}
.lang-dd:hover .menu-l,.lang-dd:focus-within .menu-l{display:block}
.lang-dd .menu-l a{display:block;padding:.5rem .75rem;text-decoration:none;font-size:.875rem;border-radius:3px}
.lang-dd .menu-l a:hover,.lang-dd .menu-l a.on{background:var(--secondary-white)}
@media (max-width:991px){.sessions,.goodbad,.wp{grid-template-columns:1fr}.scorecard{grid-template-columns:1fr 1fr}.three{grid-template-columns:1fr}.three>div+div{border-left:0;padding-left:0;border-top:1px solid var(--border)}}
@media (max-width:767px){.scorecard{grid-template-columns:1fr}.session-card{padding:1.5rem}.quote-big{font-size:1.6rem}}
.breakdown td .src{display:block;font-weight:400}
.calc-src{margin-top:1rem;border-top:1px solid var(--border);padding-top:.75rem}
.calc-src summary{cursor:pointer;font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.calc-src ul{margin:.75rem 0 0;padding-left:1.1rem;display:grid;gap:.45rem}
.calc-src ul ul{margin:.25rem 0 0}
.calc-src li[data-csrc]>ul{margin-left:0}
.calc-src a{color:var(--neon-blue)}
.calc-src li.nb{list-style:none;margin-left:-1.1rem}

/* --- v2 global: hero titles full width below desktop, tags quieter --- */
@media (max-width:991px){.hero h1,.page-hero h1{max-width:100%}}
.tag.blue{background:transparent;border-color:var(--neon-blue);color:var(--neon-blue)}
.tag.glass{background:#000c2566;border-color:transparent;color:#fff}
.panel.dark .tag,.on-dark .tag{color:var(--fg-2);border-color:var(--border-alt-light)}

/* --- v2 components --- */
.k-label{font:500 .75rem/1.2 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin:0}
.hero .k-label,.icard .k-label,.on-dark .k-label,.panel.dark .k-label,.cta .k-label{color:var(--fg-2)}
.icard .k-label{align-self:flex-start}
.nav-text{font:500 .95rem/1.2 var(--sans);text-decoration:none;color:inherit;padding:.5rem .75rem;white-space:nowrap}
.nav-text:hover{color:var(--neon-blue)}
.nav.over-hero:not(.scrolled):not(.open) .nav-text:hover{color:#fff;text-decoration:underline;text-underline-offset:6px}
.dd-col{display:flex;flex-direction:column}
.dd-h{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);padding:.5rem .75rem}
.f-brand{color:#fff;width:132px}
.footer .badges{display:flex;gap:1rem;align-items:flex-start;margin-top:2rem}
.footer .badges img{width:3rem;flex:none}
.closer .eyebrow{color:#fff;border-color:var(--border-alt-light);margin-bottom:2rem}
.closer-card .person a{display:block;color:var(--neon-blue);text-decoration:none;margin-top:.15rem}
.word-stack{max-width:14ch}
@media (max-width:1180px){.nav-text{display:none}}
/* shortlist */
.sl-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:1rem}
.sl-grid h1{font-size:3.5rem;max-width:100%}
.sl-card{border:1px solid var(--border);border-radius:var(--radius);padding:2rem;background:#fff}
.sl-terms{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.25rem 1.25rem}
.sl-terms li::before{content:"✓";color:var(--neon-blue);margin-right:.4rem}
.sl-est{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.sl-est b{display:block;font-size:1.5rem;font-weight:500;letter-spacing:-.02em;margin-top:.25rem}
.sl-est div+div b{color:var(--fg-2)}
.sl-sum{background:var(--secondary-white);padding:.75rem 1rem;border-radius:var(--radius-xs);margin-bottom:1.5rem}
.sl-next{display:grid;gap:.5rem;margin-top:1rem}
.sl-next a{display:block;padding:1rem;border:1px solid var(--border);border-radius:var(--radius-xs);text-decoration:none}
.sl-next a:hover{border-color:var(--neon-blue)}
.sl-next b{display:block;font-weight:500}.sl-next span{font-size:.875rem;color:var(--fg-2)}
.err-t{color:#b00}
@media (max-width:991px){.sl-grid{grid-template-columns:1fr;gap:2rem}.sl-grid h1{font-size:2.5rem}}
.hero h1.h1-long,.hero.home h1{font-size:clamp(2.5rem,4.4vw,4.25rem);line-height:1.05}
/* why */
.reasons{display:grid;grid-template-columns:1fr;border-top:1px solid var(--border)}
.reason{display:grid;grid-template-columns:5rem minmax(14rem,32%) 1fr;gap:2rem;padding:2.5rem 0;border-bottom:1px solid var(--border)}
.reason .n{font:500 .8rem var(--mono);color:var(--fg-2);padding-top:.5rem}
.reason h2{font-size:1.75rem;letter-spacing:-.03em;line-height:1.15}
.reason .body p+p,.reason .body p+a,.reason .body p+figure{margin-top:1rem}
.reason figure{margin:1.5rem 0 0;padding:1.25rem 1.5rem;background:var(--secondary-white);border-radius:var(--radius-sm)}
.reason figure blockquote{margin:0;font-size:1.1rem;line-height:1.4}
.reason figure figcaption{margin-top:.75rem;font-size:.875rem;color:var(--fg-2)}
@media (max-width:991px){.reason{grid-template-columns:1fr;gap:.75rem;padding:2rem 0}}
.facts{list-style:none;padding:1rem 0 0;margin:auto 0 0;border-top:1px solid var(--border);display:grid;gap:.4rem;font-size:.95rem}
.facts b{font-weight:500}
.skill-groups{display:grid;grid-template-columns:repeat(5,1fr);gap:2rem}
.skill-groups ul{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.4rem}
.skill-groups a{text-decoration:none}.skill-groups a:hover{color:var(--neon-blue)}
@media (min-width:992px){.footer .cols{grid-template-columns:repeat(5,1fr)}}
@media (max-width:991px){.skill-groups{grid-template-columns:1fr 1fr}}

/* ---------------------------------------------------------------- ICONS
   Family: Google Material Icons (filled, 24px grid), inlined as SVG via templates/partials/icons.html.
   - arrow_outward : primary buttons ("Get a shortlist", hero, navbar, closers, forms)
   - language      : navbar language dropdown
   - download      : file downloads (whitepaper)
   Icons sit on the button colour directly: no background, frame or chip behind them. */
:root{--icon-size:1.125rem}
.icon{width:var(--icon-size);height:var(--icon-size);fill:currentColor;flex:none;display:inline-block;vertical-align:middle}
.btn .icon{margin-right:0;transition:transform .25s var(--ease)}
.btn:hover .icon{transform:translate(2px,-2px)}
.btn[download]:hover .icon{transform:translateY(2px)}
.locale{display:inline-flex;align-items:center;gap:.35rem}
.locale .icon{--icon-size:1rem}
.locale .i-chev{--icon-size:1.125rem;margin-left:-.15rem;transition:transform .2s}
.lang-dd:hover .i-chev,.lang-dd:focus-within .i-chev{transform:rotate(180deg)}
.locale:hover{color:var(--neon-blue)}
.nav.over-hero:not(.scrolled):not(.open) .locale:hover{color:inherit;opacity:.8}

/* ---------------------------------------------------------------- MEGAMENU
   Same width as the navbar bar (.nav-inner), so the page margin stays visible on both sides. */
.nav-inner{position:relative}
.menu>li{position:static}
.dd{left:0;right:0;top:calc(100% + .5rem);min-width:0;padding:1.25rem;gap:1.5rem}
.dd::before{content:"";position:absolute;left:0;right:0;top:-.5rem;height:.5rem}
.nav.over-hero:not(.scrolled):not(.open) .dd{color:var(--oxford)}
.dd-hire{grid-template-columns:3fr 2fr}
.dd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem}
.dd-hire .dd-col:nth-child(2){display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:.25rem}
.dd-hire .dd-col:nth-child(2) .dd-h{grid-column:1/-1}
.dd-more{display:flex!important;align-items:center;gap:.35rem;font-size:.875rem;font-weight:500}
.dd-card{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:2rem;background:var(--secondary-white);border-radius:var(--radius-xs);padding:1.25rem 1.25rem 1.25rem 1.5rem}
.dd-card strong{display:block;font-weight:500}
.dd-card span{font-size:.875rem;color:var(--fg-2)}
.dd .dd-card .btn{color:#fff;padding:.5rem .75rem .5rem 1rem;flex:none}
.dd .dd-card .btn:hover{background:var(--neon-blue)}
.dd-who{grid-template-columns:repeat(4,1fr)}

/* ---------------------------------------------------------------- LINK / CARD ARROWS
   Text links and linked cards: Material arrow_forward. On a linked card, hover swaps it to arrow_outward. */
.go{display:inline-flex;flex:none;line-height:0}
.go .i-out{display:none}
a:not(.link):hover .go .i-fwd,a:not(.link):focus-visible .go .i-fwd{display:none}
a:not(.link):hover .go .i-out,a:not(.link):focus-visible .go .i-out{display:inline-block}
.link .go{transition:transform .25s var(--ease)}
.link:hover .go{transform:translateX(3px)}
.link .icon{--icon-size:1rem}
.icard .foot .icon{--icon-size:1.25rem}
.icon-inline{width:.75em;height:.75em;vertical-align:.02em}
@media (max-width:1100px){.dd-hire{grid-template-columns:1fr}.dd-grid{grid-template-columns:repeat(2,1fr)}}
.nav .dd .dd-card .btn,.nav.over-hero:not(.scrolled):not(.open) .dd .dd-card .btn{background:var(--oxford);border-color:var(--oxford);color:#fff}
.nav .dd .dd-card .btn:hover,.nav.over-hero:not(.scrolled):not(.open) .dd .dd-card .btn:hover{background:var(--neon-blue);border-color:var(--neon-blue)}
.dd-hire .dd-col:nth-child(2) a{padding:.75rem}

/* ---------------------------------------------------------------- HEADING WIDTHS
   Large headings take roughly 55-60% of the content width and scale with the viewport.
   (Before: a 60% cap applied inside a half-width column left hero headings at ~30%.) */
h1,.h1{font-size:clamp(2.6rem,5vw,5rem)}
h2,.h2{font-size:clamp(2.1rem,3.6vw,4rem)}
.page-hero h1{font-size:clamp(2.6rem,4.4vw,4.5rem);max-width:60%;text-wrap:balance}
.page-hero .split-even{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.page-hero .split-even h1,.page-hero .split-even .stack h1{max-width:none}
.hero h1{text-wrap:balance}
h2.max-l{max-width:min(52rem,60%)}
.split h2.max-l,.split-even h2.max-l,.section-head h2.max-l{max-width:none}
@media (max-width:991px){
  .page-hero .split-even{grid-template-columns:1fr;align-items:start}
  .page-hero h1,h2.max-l{max-width:100%}
}
.section-head h2:only-child{max-width:60%}
@media (max-width:991px){.section-head h2:only-child{max-width:100%}}
.section-head{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.section-head h2:only-child{grid-column:1/-1}
.section-head p{max-width:none}
@media (max-width:991px){.section-head{grid-template-columns:1fr}}
.head-w{max-width:60%;text-wrap:balance}
@media (max-width:991px){.head-w{max-width:100%}.split>div:empty{display:none}}
.page-hero .split-even h1{margin-top:-.1em}

/* ---------------------------------------------------------------- EYEBROW RULE
   The eyebrow always opens its section at full width of the container; its rule spans the whole box.
   Section content starts below it. Never inside a left/right column. */
.eyebrow{width:100%}
.split>.eyebrow,.split-even>.eyebrow,.grid>.eyebrow{grid-column:1/-1}

/* ---------------------------------------------------------------- CTA (closer)
   White background, no image. Eyebrow on top, full-width rule; H2 at section size; contact + button right. */
.cta{margin:0;border-radius:0;overflow:visible;color:var(--oxford);min-height:0;display:block;background:#fff}
.cta::after{content:none}
.cta>.wrap{padding-top:0;padding-bottom:0}
.cta .eyebrow,.closer .eyebrow{color:var(--heading);border-color:var(--border)}
.closer{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end;padding:clamp(2rem,8vw,8rem) 0 clamp(1rem,3vw,2rem)}
.closer h2{max-width:none;text-wrap:balance}
.closer .stack{gap:2rem}
.closer-card{background:none;padding:0;border-radius:0;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;justify-self:end;width:min(100%,22rem)}
.closer-ph{width:7.5rem;height:7.5rem;object-fit:cover;border-radius:2px;background:var(--light-grey);margin-bottom:.75rem}
.closer-card b{display:block;font-weight:500}
.closer-card a[href^="mailto"]{color:inherit;text-decoration:none}
.closer-card a[href^="mailto"]:hover{color:var(--neon-blue)}
.closer-card .btn{margin-top:1.5rem}
@media (max-width:991px){.closer{grid-template-columns:1fr;align-items:start}.closer-card{justify-self:start}}
/* section H2: one size everywhere, closer to the Webflow 4rem at laptop widths */
h2,.h2{font-size:clamp(2.1rem,4.4vw,4.5rem)}
.closer .stack>*+*{margin-top:2rem}
.closer .stack{gap:0}
/* single-column section body under a full-width eyebrow: starts at the left edge */
.solo{display:block}
.solo>.stack,.solo>.stack-l,.solo>p{max-width:min(60rem,75%)}
@media (max-width:991px){.solo>.stack,.solo>.stack-l,.solo>p{max-width:100%}}
/* CTA refinements: heading uses the hero H1 style (tag stays h2), body text one step smaller */
.closer h2.h1{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.02em;line-height:1.05}
.closer .stack p{font-size:1rem}
.closer-card b{margin-bottom:.35rem}
.closer-ph{object-position:50% 0}

/* footer: larger wordmark (1.5x), cert sentence bottom right */
.f-brand{width:198px}
.footer .bottom{align-items:flex-start;gap:2rem}
.footer .f-cert{font-size:.75rem;line-height:1.45;color:var(--fg-2);max-width:34rem;text-align:right;margin:0}
@media (max-width:767px){.footer .f-cert{text-align:left}.f-brand{width:160px}}

/* ================================================================ HOMEPAGE (copy doc 01) */
/* hero whitepaper card */
.wp-card{justify-self:end;align-self:end;display:grid;grid-template-columns:4.5rem 1fr auto;gap:1rem;align-items:center;max-width:24rem;padding:.75rem 1rem .75rem .75rem;background:#ffffff14;border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);color:#fff;text-decoration:none;backdrop-filter:blur(8px);transition:background .25s}
.wp-card:hover{background:#ffffff26}
.wp-card img{width:4.5rem;height:6rem;object-fit:cover;border-radius:2px}
.wp-card b{display:block;font-weight:500;margin:.35rem 0 .2rem}
.wp-card span{font-size:.85rem;color:var(--fg-2)}
.wp-card .k-label{color:var(--accent-on-dark)}
/* offer */
.statement{font-size:clamp(1.5rem,2.4vw,2.25rem);letter-spacing:-.03em;line-height:1.15;max-width:40rem;margin:0 0 3rem}
.offer{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border)}
.offer>div{padding:2rem 2rem 0 0;display:flex;flex-direction:column;gap:1rem}
.offer>div+div{padding-left:2rem;border-left:1px solid var(--border)}
.offer h3{font-size:1.5rem;letter-spacing:-.03em;line-height:1.15}
.offer p{color:var(--fg-2)}
.offer .link{margin-top:auto;align-self:flex-start}
.n{font:500 .8rem var(--mono);letter-spacing:.02em;color:var(--fg-2)}
/* trusted by */
.trusted{max-width:60%;margin-bottom:2.5rem;font-weight:500}
.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;width:max-content;animation:marq 32s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-set{display:flex;align-items:center;gap:5rem;padding:2.25rem 2.5rem}
.marquee img{height:2.25rem;width:auto;max-width:9rem;object-fit:contain;filter:grayscale(1) brightness(.2);opacity:.75}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee-track{animation:none;flex-wrap:wrap}.marquee-set[aria-hidden]{display:none}}
/* chips */
.chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.5rem}
.chips span{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;padding:.35rem .6rem;border:1px solid var(--border);border-radius:var(--radius-xs);color:var(--fg-2)}
/* blue cost panel */
.panel.blue{background:var(--neon-blue);color:#fff}
.panel.blue .eyebrow{color:#fff;border-color:#ffffff40}
.panel.blue .eyebrow::before{background:#fff}
.panel.blue .k-label{color:var(--fg-2)}
.panel.blue .field label{color:var(--fg-2)}
.hcalc-controls{display:grid;grid-template-columns:16rem 1fr;gap:2rem;align-items:end;margin-bottom:2rem}
.hcalc .stepper{background:#fff}
.pills{display:flex;flex-wrap:wrap;gap:.5rem}
.pills button{font:500 .9rem var(--sans);padding:.65rem 1rem;border-radius:var(--radius-xs);border:1px solid #ffffff59;background:transparent;color:#fff;cursor:pointer;transition:background .2s,color .2s}
.pills button:hover{background:#ffffff1f}
.pills button.on{background:#fff;color:var(--oxford);border-color:#fff}
.hcalc-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.hc-card{background:#fff;color:var(--oxford);border-radius:var(--radius-sm);padding:2rem;display:flex;flex-direction:column;gap:.75rem}
.hc-card.dark{background:var(--oxford);color:#fff}
.hc-card .k-label{color:var(--fg-2)}
.hc-card.dark .k-label{color:var(--fg-2)}
.hc-big{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.hc-big small{font-size:1rem;letter-spacing:0;font-weight:400;color:var(--fg-2)}
.hc-card ul{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.6rem}
.hc-card li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.hc-card li .icon{--icon-size:1.1rem;margin-top:.1rem;opacity:.55}
.hc-card.dark li .icon{color:var(--accent-on-dark);opacity:1}
.hc-foot{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);font-size:.95rem}
.hc-card.dark .hc-foot{border-color:var(--border-alt-light)}
.hc-foot b{font-weight:500}
.hc-note{;max-width:40rem;color:var(--fg-2)}
/* two features */
.features2{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.feat{display:flex;flex-direction:column;gap:1.25rem;padding:2.5rem;min-height:24rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:border-color .25s}
.feat:hover{border-color:var(--oxford)}
.feat.dark{background:var(--oxford);color:#fff;border-color:var(--oxford)}
.feat.dark .n{color:var(--accent-on-dark)}
.feat h3{font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.04em;line-height:1.08;max-width:22ch}
.feat p{;max-width:36rem;color:var(--fg-2)}
.feat-foot{margin-top:auto;display:flex;align-items:center;gap:.4rem;font-weight:500}
/* tabs */
.tab-list{display:flex;border-bottom:1px solid var(--border);gap:2rem;margin-bottom:2.5rem}
.tab-list button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:1rem 0;font:500 1.25rem var(--sans);letter-spacing:-.02em;color:var(--fg-2);cursor:pointer;display:flex;gap:.6rem;align-items:baseline}
.tab-list button[aria-selected="true"]{color:var(--oxford);border-color:var(--neon-blue)}
.tab-list button:hover{color:var(--oxford)}
.tab-panel{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem)}
.tab-panel[hidden]{display:none}
.tab-panel>div{display:flex;flex-direction:column;gap:1.25rem;align-items:flex-start}
.tp-steps{list-style:none;counter-reset:s;padding:0;margin:0;border-top:1px solid var(--border)}
.tp-steps li{counter-increment:s;display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.tp-steps li::before{content:counter(s,decimal-leading-zero);font:500 .8rem var(--mono);color:var(--fg-2);padding-top:.15rem}
/* with / without */
.wwo{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.wwo>div{padding:2.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:1rem}
.wwo>div.on{background:var(--oxford);color:#fff;border-color:var(--oxford)}
.wwo>div.on .k-label{color:var(--accent-on-dark)}
.wwo ul{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.wwo li{display:inline-flex;align-items:center;gap:.4rem;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius-xs);font-size:.9rem;color:var(--fg-2)}
.wwo li .icon{--icon-size:1rem}
.wwo .on li{border-color:var(--border-alt-light);color:#fff}
.wwo .on li .icon{color:var(--accent-on-dark)}
/* solution tiles */
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.tile{display:flex;flex-direction:column;gap:.75rem;text-decoration:none;padding:1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color .25s}
.tile:hover{border-color:var(--oxford)}
.tile h3{margin-bottom:.25rem}
.tile-vis{height:10rem;border-radius:var(--radius-xs);background:var(--secondary-white);margin-bottom:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-size:.8rem}
.vis-sessions span{flex:1;padding:.9rem;border-radius:var(--radius-xs);background:#fff;border:1px solid var(--border);font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2)}
.vis-sessions span b{display:block;font:500 .95rem var(--sans);text-transform:none;letter-spacing:-.01em;color:var(--oxford);margin-top:.35rem}
.vis-sessions span.on{background:var(--oxford);border-color:var(--oxford);color:var(--fg-2)}
.vis-sessions span.on b{color:#fff}
.vis-weeks{gap:.3rem}
.vis-weeks span{flex:1;text-align:center;padding:.6rem 0;border-radius:3px;background:#fff;border:1px solid var(--border);font:500 .7rem var(--mono)}
.vis-weeks span.on{background:var(--neon-blue);color:#fff;border-color:var(--neon-blue)}
.vis-route{justify-content:space-between;font-weight:500}
.vis-route i{flex:1;border-top:2px dashed var(--neon-blue);margin:0 .5rem}
.vis-route span::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:var(--neon-blue);margin-right:.4rem}
.vis-rate{flex-direction:column;gap:.15rem}
.vis-rate b{font-size:2.25rem;font-weight:500;letter-spacing:-.04em}
/* role accordion */
.acc{display:flex;gap:.5rem;height:26rem}
.acc-item{position:relative;flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);padding:1.5rem;text-decoration:none;display:flex;flex-direction:column;overflow:hidden;transition:flex .5s var(--ease),background .3s,color .3s}
.acc-item .acc-name{font-size:1.25rem;font-weight:500;letter-spacing:-.02em;margin-top:auto;writing-mode:vertical-rl;transform:rotate(180deg);align-self:flex-start;white-space:nowrap}
.acc-body{display:none;flex-direction:column;gap:1rem;margin-top:1rem}
.acc-body .acc-test{color:var(--fg-2)}
.acc-foot{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-alt-light);font-size:.9rem}
.acc:hover .acc-item.open:not(:hover){flex:1;background:none;color:inherit}
.acc:hover .acc-item.open:not(:hover) .acc-body{display:none}
.acc:hover .acc-item.open:not(:hover) .acc-name{writing-mode:vertical-rl;transform:rotate(180deg);font-size:1.25rem}
.acc-item.open,.acc-item:hover,.acc-item:focus-visible{flex:4;background:var(--oxford);color:#fff;border-color:var(--oxford)}
.acc-item.open .acc-body,.acc-item:hover .acc-body,.acc-item:focus-visible .acc-body{display:flex}
.acc-item.open .acc-name,.acc-item:hover .acc-name,.acc-item:focus-visible .acc-name{writing-mode:horizontal-tb;transform:none;font-size:clamp(1.5rem,2.4vw,2.25rem);letter-spacing:-.04em;margin-top:auto}
.acc-item .n{color:var(--neon-blue)}
.acc-item.open .n,.acc-item:hover .n{color:var(--accent-on-dark)}
/* story */
.story{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}
.story-media img{width:100%;height:100%;object-fit:cover;min-height:24rem}
.story-facts{margin:0;padding:2.5rem;display:flex;flex-direction:column}
.story-facts>div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}
.story-facts>div:first-child{padding-top:0}
.story-facts dt{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);padding-top:.2rem}
.story-facts dd{margin:0;font-size:.95rem}
.story-num{font-size:1.5rem;font-weight:500;letter-spacing:-.03em;margin-right:.25rem}
.story-facts blockquote{margin:1.5rem 0 0;font-size:1.1rem;letter-spacing:-.01em;line-height:1.35}
.story-facts cite{display:block;font-style:normal;font-size:.85rem;color:var(--fg-2);margin-top:.75rem}
/* shortlist mini form */
.sl-mini{display:grid;grid-template-columns:2fr 1fr 1.5fr auto;gap:1rem;align-items:end;padding:1.5rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm)}
.sl-mini .btn{min-height:2.75rem}
@media (max-width:991px){
  .wp-card{justify-self:start}
  .offer,.wwo,.features2,.story,.hcalc-cards{grid-template-columns:1fr}
  .offer>div+div{padding-left:0;border-left:0;border-top:1px solid var(--border);margin-top:1.5rem}
  .tiles{grid-template-columns:1fr 1fr}
  .hcalc-controls,.tab-panel,.sl-mini{grid-template-columns:1fr}
  .trusted{max-width:100%}
  .acc{flex-direction:column;height:auto}
  .acc-item,.acc-item.open,.acc-item:hover{flex:none}
  .acc-item .acc-name,.acc:hover .acc-item.open:not(:hover) .acc-name{writing-mode:horizontal-tb;transform:none}
  .acc-body,.acc:hover .acc-item.open:not(:hover) .acc-body{display:flex}
  .acc-item{background:none!important;color:inherit!important;border-color:var(--border)!important}
  .acc-foot{border-color:var(--border)}
  .tab-list{gap:1.25rem;overflow-x:auto}
}
@media (max-width:600px){.tiles{grid-template-columns:1fr}}

/* ================================================================ CARD SYSTEM (replaces structural dividers)
   Lines are reserved for: the eyebrow rule, FAQ rows, rate-card / breakdown tables (and the footer).
   Everything else is grouped with cards: grey outline, light-grey fill, or oxford fill. */
:root{--card-pad:clamp(1.5rem,2.2vw,2.25rem)}
.card,.offer>div,.steps>div,.three>div,.scorecard>div,.journey li,.roles>a,.formula>a,.formula>div,.reasons>.reason,.rows>a,.rows>div,.logos>div{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}

/* offer: three cards, the last one dark */
.offer{border-top:0;gap:1rem}
.offer>div,.offer>div+div{padding:var(--card-pad);border-left:1px solid var(--border)}
.offer>div.dark{background:var(--oxford);color:#fff;border-color:var(--oxford)}
.offer>div.dark p{color:var(--fg-2)}
.offer>div.dark .n{color:var(--accent-on-dark)}
.offer>div.dark .link{color:#fff}

/* role grid */
.roles{border:0;gap:1rem}
.roles>a,.roles a{border:1px solid var(--border);border-radius:var(--radius-sm)}
.roles a:hover{background:var(--secondary-white);border-color:var(--secondary-white)}

/* formula grids (dark + light) become separate cards */
.formula{border:0;border-radius:0;overflow:visible;gap:1rem}
.formula>a,.formula>div{border:1px solid var(--border-alt-light);background:#ffffff0a}
.formula.light>a,.formula.light>div,section:not(.panel) .formula>a,section:not(.panel) .formula>div{background:var(--secondary-white);border-color:var(--secondary-white);color:var(--oxford)}

/* steps / timeline */
.steps{border-top:0;gap:1rem}
.steps>div{padding:var(--card-pad);background:var(--secondary-white);border-color:var(--secondary-white)}

/* three engineers (10x page) */
.three{border-top:0;gap:1rem}
.three>div,.three>div+div{padding:var(--card-pad);border-left:1px solid var(--border)}
.three>div:last-child{background:var(--oxford);color:#fff;border-color:var(--oxford)}
.three>div:last-child .mono{color:var(--accent-on-dark)}

/* scorecards */
.scorecard{border:0;gap:1rem}
.scorecard>div{border:1px solid var(--border);border-radius:var(--radius-sm)}
.scorecard.on-dark>div{background:#ffffff0a;border-color:var(--border-alt-light)}

/* journey (process list) */
.journey{border-top:0;display:grid;gap:.5rem}
.journey li{padding:1rem 1.25rem;border:1px solid var(--border)}
.journey li.hl{background:var(--secondary-white);border-color:var(--secondary-white)}

/* list rows -> stacked cards */
.rows{border-top:0;display:grid;gap:.5rem}
.rows>a,.rows>div{padding:1.25rem 1.5rem}
.rows>a:hover{padding-left:1.5rem;background:var(--secondary-white);border-color:var(--secondary-white);color:inherit}
.rows>a:hover .t{color:var(--neon-blue)}
.box .rows>a{padding:.75rem 1rem}

/* why reasons -> cards */
.reasons{border-top:0;gap:1rem}
.reasons>.reason{padding:var(--card-pad);border:1px solid var(--border)}
.reasons>.reason:nth-child(4n+2){background:var(--secondary-white);border-color:var(--secondary-white)}

/* client logo grid */
.logos{border:0;gap:1rem}
.logos>div{border:1px solid var(--border)}

/* definitions, comparisons and small lists inside cards: no inner rules */
.define{border:0;gap:1rem;overflow:visible}
.define>div{border-radius:var(--radius-sm);background:var(--secondary-white)}
.define>div+div{border-left:0;border-top:0}
.define .is{background:var(--oxford)}
.define li,.define .is li{border-top:0;padding:.4rem 0}
.goodbad li,.panel.dark .goodbad li{border-top:0;padding:.45rem 0 .45rem 1.75rem}
.goodbad li::before{top:.45rem}
.goodbad>div{padding:var(--card-pad);border-radius:var(--radius-sm);background:var(--secondary-white)}
.panel.dark .goodbad>div{background:#ffffff0a}
.facts{border-top:0;padding-top:.5rem}
.cmp>div+div{border-left:0}
.kpis{border:0;gap:.75rem}
.kpis>div,.kpis>div+div{padding:1rem 1.25rem;border:0;border-radius:var(--radius-xs);background:var(--secondary-white)}
.sl-est{border:0;padding:0;gap:.75rem}
.sl-est>div{padding:1rem;border-radius:var(--radius-xs);background:var(--secondary-white)}
.calc-src{border-top:0}
.hc-foot,.hc-card.dark .hc-foot{border-top:0;padding-top:.75rem}
.story-facts>div{border-bottom:0;padding:.6rem 0}
.icard .foot{border-top:0;padding-top:.5rem}
.acc-foot{border-top:0}
.tp-steps{border-top:0;display:grid;gap:.5rem}
.tp-steps li{border:0;border-radius:var(--radius-xs);background:var(--secondary-white);padding:.9rem 1rem}
.marquee{border:0;background:var(--secondary-white);border-radius:var(--radius-sm)}
.dd .dd-foot{border-top:0}
.spec,.spec>div{border:0}
.spec{display:grid;gap:.5rem}
.spec>div{padding:1.1rem 1.25rem;border-radius:var(--radius-xs);background:var(--secondary-white)}
.panel.dark .spec>div{background:#ffffff0a}
.face p.small[style]{border-top:0!important;padding-top:0!important}

/* tabs: segmented control instead of an underline strip */
.tab-list{border-bottom:0;gap:.5rem;background:var(--secondary-white);padding:.35rem;border-radius:var(--radius-sm);display:inline-flex}
.tab-list button{border:0;margin:0;padding:.65rem 1.1rem;border-radius:var(--radius-xs);font-size:1rem}
.tab-list button[aria-selected="true"]{background:#fff;color:var(--oxford);box-shadow:0 1px 2px #000c251f}
.tab-panel{padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius-sm)}

/* new: solution section */
.sol{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:1rem}
.sol>a{display:flex;flex-direction:column;gap:.75rem;padding:var(--card-pad);border-radius:var(--radius-sm);text-decoration:none;border:1px solid var(--border);transition:border-color .25s,background .25s}
.sol>a:hover{border-color:var(--oxford)}
.sol-lead{grid-row:span 2;background:var(--oxford);color:#fff;border-color:var(--oxford)!important}
.sol-lead .k-label{color:var(--accent-on-dark)}
.sol-lead h3{font-size:clamp(1.75rem,2.6vw,2.5rem);letter-spacing:-.04em;line-height:1.08}
.sol-lead>p{color:var(--fg-2)}
.sol-pair{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:auto}
.sol-pair>div{padding:1.1rem;border-radius:var(--radius-xs);background:#ffffff12;display:flex;flex-direction:column;gap:.3rem}
.sol-pair>div+div{background:#fff;color:var(--oxford)}
.sol-pair span{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.sol-pair b{font-weight:500;font-size:1.15rem}
.sol-pair small{font-size:.8rem;line-height:1.35;color:var(--fg-2)}
.sol-card.soft{background:var(--secondary-white);border-color:var(--secondary-white)}
.sol>a:nth-of-type(4){grid-column:2/4}
.sol-num{font-size:clamp(2.25rem,3.6vw,3.25rem);font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--neon-blue)}
.sol-card h3{font-size:1.15rem;font-weight:500;letter-spacing:-.02em;line-height:1.3;max-width:28rem}
.sol-foot{margin-top:auto;padding-top:.75rem;display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem}
@media (max-width:991px){
  .sol{grid-template-columns:1fr 1fr}
  .sol-lead{grid-column:1/-1;grid-row:auto}
  .sol>a:nth-of-type(4){grid-column:auto}
  .offer>div+div{margin-top:0;border-top:1px solid var(--border)}
  .three>div+div{border-top:1px solid var(--border)}
}
@media (max-width:600px){.sol{grid-template-columns:1fr}.sol-pair{grid-template-columns:1fr}.tab-list{display:flex}}
/* no card inside a card; on light-grey panels the light-grey cards turn white */
.face .steps>div,.calc-card .steps>div{background:none;border:0;padding:0}
.panel.soft .steps>div,.panel.soft .tp-steps li,.panel.soft .spec>div,.panel.soft .journey li.hl,.panel.soft .kpis>div,.panel.soft .define>div:not(.is),.panel.soft .goodbad>div,.panel.soft .formula>div,.panel.soft .reasons>.reason:nth-child(4n+2){background:#fff;border-color:#fff}
.panel.soft .journey li{background:#fff}
/* FAQ section: heading + intro left, questions right */
.faq-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.faq-split h2{text-wrap:balance}
.faq-split .stack>*+*{margin-top:1.5rem}
.faq-split .link{align-self:flex-start}
@media (max-width:991px){.faq-split{grid-template-columns:1fr}}
/* homepage hero: animated cobalt fabric (static/js/wave-bg.js) instead of the photo */
.hero.wave{background-color:#1f30e0}
.hero.wave::after{background:linear-gradient(180deg,#02044f40 0%,#02044f00 30%,#02044f00 55%,#02044f8c 100%)}


/* ================================================================ TEXT COLOUR SYSTEM
   Four text roles only. Each container sets them; text uses the variables.
   --fg     primary text      light bg: oxford #000c25      dark bg: white
   --fg-2   secondary text    light bg: grey #525a6b (6.9:1 on white, 6.4:1 on light grey)
                              dark bg: white at 72% (about 10:1 on oxford)
   Accent (neon blue / light blue on dark) is for links, large figures, icons and the eyebrow square, never for running text. */
:root{--grey:#525a6b;--fg:var(--oxford);--fg-2:#525a6b}
body{color:var(--fg)}
.panel.dark,.hero,.on-dark,.footer,.define .is,.session-card.dark,.hc-card.dark,.feat.dark,.wwo>div.on,.acc-item.open,.acc-item:hover,.acc-item:focus-visible,
.offer>div.dark,.three>div:last-child,.sol-lead,.scorecard.on-dark,.cmp>div+div,.vis-sessions span.on,.box.dark,.seg button.on,.filters a.on,.prose pre{--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.hero,.icard,.wp-card{--fg:#fff;--fg-2:rgba(255,255,255,.82)}
.panel.blue{--fg:#fff;--fg-2:rgba(255,255,255,.88)}
/* light islands inside dark or blue sections */
.hc-card:not(.dark),.sol-pair>div+div,.calc-card,.dd,.lang-dd .menu-l,.pills button.on,.field input,.field select,.field textarea,.stepper,.sl-mini,.panel.dark .btn.white,.hero .btn.white{--fg:var(--oxford);--fg-2:#525a6b}
.muted,.on-dark .muted,.panel.dark .muted,.panel.blue .muted,.k-label,.hero .k-label,.icard .k-label,.on-dark .k-label,.panel.dark .k-label,.panel.blue .k-label,.hc-card .k-label,.hc-card.dark .k-label,
.wp-card .k-label,.sol-lead .k-label,.wwo>div.on .k-label,.offer>div.dark p,.panel.blue .field label,.field label,.crumbs,.hero .crumbs,.dd a span,.dd-h,.dd-card span,.tab-list button,.tp-steps li::before,.journey li span,.journey li::before,.footer .f-cert{color:var(--fg-2)}
.tab-list button[aria-selected="true"]{color:var(--fg)}
.feat.dark .n,.offer>div.dark .n,.acc-item.open .n,.acc-item:hover .n,.acc-item .n,.wp-card .k-label{color:var(--fg-2)}
.box.dark{background:var(--oxford);color:#fff;border:0}
.box.dark .link{color:#fff}
@media (max-width:991px){.acc-item,.acc-item.open,.acc-item:hover{--fg:var(--oxford)!important;--fg-2:#525a6b!important}}

/* ================================================================ ROUND 5 (5 Oct 2026) */
/* --- nav dropdowns: hover bridge + close delay (JS), chevrons, resources menu */
.menu .mi{display:flex!important;align-items:center;gap:.2rem}
.mi-chev{--icon-size:1rem;opacity:.6;transition:transform .2s}
.menu li.has-dd.open>.mi .mi-chev{transform:rotate(180deg)}
.menu li:hover .dd,.menu li:focus-within .dd{display:none}
.menu li.has-dd.open>.dd{display:grid}
.dd::before{top:-1.25rem!important;height:1.25rem!important}
.dd-who,.dd-res{grid-template-columns:1fr 1fr;max-width:44rem;left:auto!important;right:auto!important}
.dd-res{grid-template-columns:repeat(3,1fr)}
.dd .dd-all{grid-column:1/-1;background:var(--secondary-white)}
.menu>li.has-dd{position:relative}
.dd-hire{position:fixed!important;top:5.25rem!important;left:50%!important;right:auto!important;transform:translateX(-50%);width:min(78rem,calc(100vw - 4rem))}
.dd-who,.dd-res{position:absolute;top:calc(100% + .5rem);left:0!important;width:44rem}
.dd-res{width:46rem}

/* --- flag + custom selects */
.flag{width:20px;height:14px;border-radius:2px;object-fit:cover;flex:none;box-shadow:0 0 0 1px #000c2514}
.cselect,.mselect{position:relative}
.cs-btn,.ms-btn{width:100%;min-height:2.75rem;display:flex;align-items:center;gap:.6rem;padding:.4rem .75rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;color:var(--oxford);font:400 1rem var(--sans);cursor:pointer;text-align:left}
.cs-btn:focus-visible,.ms-btn:focus-visible{outline:2px solid var(--neon-blue);outline-offset:0}
.cs-btn span{flex:1}
.cs-chev{--icon-size:1.25rem;margin-left:auto;flex:none;color:var(--fg-2)}
.cs-list,.ms-pop{position:absolute;z-index:30;top:calc(100% + .35rem);left:0;right:0;background:#fff;color:var(--oxford);border:1px solid var(--border);border-radius:var(--radius-xs);box-shadow:0 18px 40px -20px #000c2559;padding:.35rem;margin:0;list-style:none;max-height:20rem;overflow:auto}
.cs-list li{display:flex;align-items:center;gap:.6rem;padding:.6rem .6rem;border-radius:3px;cursor:pointer}
.cs-list li small{margin-left:auto;font:500 .7rem var(--mono);color:var(--fg-2)}
.cs-list li:hover,.cs-list li:focus,.cs-list li[aria-selected=true]{background:var(--secondary-white);outline:0}
.ms-chips{display:flex;flex-wrap:wrap;gap:.35rem;flex:1;min-width:0}
.ms-ph{color:var(--fg-2)}
.chip{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border-radius:3px;background:var(--oxford);color:#fff;font-size:.8rem;line-height:1.4}
.chip.soft{background:var(--secondary-white);color:var(--oxford)}
.ms-pop ul{list-style:none;margin:0;padding:0}
.ms-pop label{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:3px;cursor:pointer;font-size:.95rem}
.ms-pop label:hover{background:var(--secondary-white)}
.ms-pop input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--oxford);min-height:0;margin:0}
.ms-search{width:100%;min-height:2.5rem;padding:.4rem .6rem;border:1px solid var(--border);border-radius:3px;margin-bottom:.35rem;font:400 .95rem var(--sans)}
.tlogo{width:16px;height:16px;flex:none}

/* --- tech logos in content */
.tech{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .7rem .4rem .55rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;color:var(--oxford);font-size:.9rem;text-decoration:none;line-height:1.2}
.tech img{width:18px;height:18px;flex:none}
a.tech:hover{border-color:var(--oxford)}
.tech-list{display:flex;flex-wrap:wrap;gap:.5rem}
.tech-row{display:inline-flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.r-foot .tech-row img{width:20px;height:20px}
.acc-foot .tech{padding:.25rem .5rem;font-size:.8rem}
.skill-logo{width:56px;height:56px;margin-bottom:1.5rem;padding:10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}
.skill-groups li{list-style:none;margin:.35rem 0}
.skill-groups ul{padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}

/* --- comparison calculator: two cards with clear bottom bands */
.cmp-controls{display:grid;grid-template-columns:minmax(16rem,1fr) minmax(16rem,1fr);gap:1.5rem;padding:1.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;color:var(--oxford);margin-bottom:1.5rem}
.panel.blue .cmp-controls,.panel.dark .cmp-controls{border-color:transparent}
.stepper-row{display:flex;align-items:center;gap:.75rem}
.stepper-row .stepper{width:11rem}
.disc-tag{font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;padding:.35rem .6rem;border-radius:3px;background:var(--accent-soft);color:var(--neon-blue)}
.cmp-cards{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cc-card{display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;background:#fff;color:var(--oxford);border:1px solid var(--border);--fg:var(--oxford);--fg-2:#525a6b}
.cc-card.ours{background:var(--neon-blue);color:#fff;border-color:var(--neon-blue);--fg:#fff;--fg-2:rgba(255,255,255,.85)}
.panel.blue .cc-card.ours{background:var(--oxford);border-color:var(--oxford);--fg-2:rgba(255,255,255,.72)}
.cc-body{padding:2rem 2rem 1.75rem;display:flex;flex-direction:column;gap:1rem;flex:1}
.cc-body .k-label{display:flex;align-items:center;gap:.6rem;color:var(--fg-2)}
.cc-big{font-size:clamp(2.25rem,4vw,3.5rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.cc-big small{font-size:1rem;letter-spacing:0;font-weight:400;color:var(--fg-2)}
.cc-card ul{list-style:none;padding:0;margin:.25rem 0 0;display:grid;gap:.6rem}
.cc-card li{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem}
.cc-card li .icon{--icon-size:1.1rem;margin-top:.1rem;flex:none}
.cc-card:not(.ours) li .icon{color:#c0392b}
.cc-foot{display:flex;gap:1rem;align-items:center;padding:1.5rem 2rem;background:var(--secondary-white);border-top:1px solid var(--border)}
.cc-foot>.icon{--icon-size:1.75rem;flex:none;color:#c0392b}
.cc-foot b{display:block;font-size:1.35rem;font-weight:500;letter-spacing:-.03em;line-height:1.2}
.cc-foot div>a,.cc-foot div>span{display:block;font-size:.85rem;color:var(--fg-2);margin-top:.2rem}
.cc-foot b span{font:inherit;color:inherit}
.cc-foot a{text-decoration:underline;text-underline-offset:3px}
.cc-foot a:hover{color:var(--fg)}
.cc-card.ours .cc-foot{background:#0b2fd6;border-top-color:#ffffff33}
.panel.blue .cc-card.ours .cc-foot{background:#06163a;border-top-color:#ffffff22}
.cc-card.ours .cc-foot>.icon{color:#fff}
.cmp-note{max-width:40rem;color:var(--fg-2)}
.btn.ghost-dark{background:#fff;color:var(--oxford);border-color:var(--border)}
.btn.ghost-dark:hover{border-color:var(--oxford)}
.bd-toggle .cs-chev{margin-left:.25rem;transition:transform .2s;color:inherit}
.bd-toggle[aria-expanded=true] .cs-chev{transform:rotate(180deg)}
.bd{margin-top:2rem;display:flex;flex-direction:column;gap:1.25rem}
.bd[hidden]{display:none}
.bd-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;flex-wrap:wrap;margin-top:1rem}
.bd-head a{color:inherit}
.bd-table{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:auto}
.bd-table table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:34rem}
.bd-table th{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);text-align:left;padding:.85rem 1.25rem;background:var(--secondary-white)}
.bd-table td{padding:.85rem 1.25rem;border-top:1px solid var(--border);color:var(--fg-2)}
.bd-table td:first-child{color:var(--oxford);font-weight:500}
.bd-table th:not(:first-child),.bd-table td:not(:first-child){width:30%}
.bd-table tr.total td{color:var(--oxford);font-weight:500;background:var(--secondary-white)}

/* --- talent pool */
.pool-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.pool-stats>div,.pool-card{border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);padding:1.5rem;background:#ffffff0a}
.pool-stats b{display:block;font-size:clamp(2rem,3.5vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.pool-stats span{display:block;margin-top:.6rem;font-size:.9rem;color:var(--fg-2)}
.pool-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:1rem}
.pool-card h3{margin-bottom:1.5rem}
.pool-bars{list-style:none;padding:0;margin:0;display:grid;gap:1rem;font-size:.9rem}
.pb{height:6px;border-radius:3px;background:#ffffff1f;margin-top:.4rem;overflow:hidden}
.pb i{display:block;height:100%;background:var(--accent-on-dark);border-radius:3px}
.pool-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.pool-tech ul{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.5rem}
.pool-tech li{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem}
.pool-tech .tech{border:0;background:#fff;padding:.25rem .5rem;font-size:.8rem}

/* --- for who */
.who-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
.who-card{display:flex;flex-direction:column;gap:1.25rem;padding:2rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--oxford);transition:border-color .2s,background .2s}
.who-card:hover{border-color:var(--oxford)}
.who-card:nth-child(1),.who-card:nth-child(4){background:var(--secondary-white);border-color:var(--secondary-white)}
.who-card:nth-child(1):hover,.who-card:nth-child(4):hover{border-color:var(--oxford)}
.who-facts,.aud-facts{display:grid;gap:.75rem;margin:0}
.who-facts div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;font-size:.95rem}
.who-facts dt,.aud-facts dt{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);padding-top:.2rem}
.who-facts dd,.aud-facts dd{margin:0}
.who-foot{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-weight:500}
.aud-facts{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
.aud-facts>div{padding:1.25rem 1.5rem;border-radius:var(--radius-sm);background:var(--secondary-white)}
.aud-facts dd{margin-top:.5rem;font-size:1rem}
.journey-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.journey-steps .face{gap:.75rem;background:#fff;border-color:#fff}
a.proof{text-decoration:none;color:inherit}

/* --- whitepapers, related links */
.wp-item{display:grid;grid-template-columns:18rem 1fr;gap:3rem;align-items:center;padding:2rem;border-radius:var(--radius-sm);background:var(--secondary-white)}
.wp-item-cover img{width:100%;border-radius:var(--radius-xs);box-shadow:0 18px 40px -20px #000c2559}
.rel-links{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.75rem}
.rel-links a{color:var(--oxford);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--neutral-light);font-size:.95rem;line-height:1.4}
.rel-links a:hover{color:var(--neon-blue);text-decoration-color:currentColor}

/* --- shortlist */
.sl-steps{list-style:none;padding:0;margin:0 0 .5rem;display:flex;gap:1.25rem;font-size:.85rem;color:var(--fg-2)}
.sl-steps li{display:flex;align-items:center;gap:.45rem}
.sl-steps span{width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;border:1px solid var(--border);font:500 .75rem var(--mono)}
.sl-steps li.on{color:var(--oxford);font-weight:500}
.sl-steps li.on span{background:var(--oxford);border-color:var(--oxford);color:#fff}
.sl-steps li.done span{background:var(--secondary-white)}
.sl-sum{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.sl-sum-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.sl-sum .chip .flag{width:16px;height:11px}

/* --- bottom CTA: coloured, image-backed */
.cta2{margin:1rem;border-radius:var(--radius);overflow:hidden;position:relative;color:#fff;background:#02044f;--fg:#fff;--fg-2:rgba(255,255,255,.8)}
.cta2-bg{position:absolute;inset:0;background:radial-gradient(120% 90% at 85% 10%,#7a98f0 0%,transparent 55%),radial-gradient(90% 120% at 10% 100%,#1f30e0 0%,transparent 60%),linear-gradient(135deg,#02044f,#1f30e0);opacity:.95}
.cta2-bg::after{content:"";position:absolute;inset:0;background:url("../img/texture-blue.avif") center/cover;mix-blend-mode:soft-light;opacity:.55}
.cta2>.wrap{position:relative;z-index:1;padding-top:5rem;padding-bottom:5rem}
.cta2 .eyebrow{color:#fff;border-color:#ffffff40}
.cta2-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;align-items:end}
.cta2-main{display:flex;flex-direction:column;gap:1.5rem}
.cta2-main h2{max-width:14ch}
.cta2-main p{max-width:36rem;color:var(--fg-2)}
.cta2-person{background:#fff;color:var(--oxford);border-radius:var(--radius-sm);padding:1.75rem;display:grid;grid-template-columns:auto 1fr;gap:1rem 1.25rem;align-items:center;--fg-2:#525a6b}
.cta2-person img{width:4.5rem;height:4.5rem;border-radius:50%;object-fit:cover}
.cta2-person b{display:block;font-weight:500;font-size:1.1rem}
.cta2-person span{font-size:.9rem;color:var(--fg-2)}
.cta2-mail{grid-column:1/-1;display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-radius:var(--radius-xs);background:var(--secondary-white);color:var(--oxford);text-decoration:none;font-weight:500}
.cta2-mail:hover{background:var(--accent-soft)}
.cta2-mail .icon{--icon-size:1.2rem}
.cta2-person p{grid-column:1/-1;font-size:.85rem;color:var(--fg-2);margin:0}

/* --- footer, original miyagami.com layout: logo left, link columns right, legal row */
.footer .top{grid-template-columns:1fr 2.4fr!important;align-items:start;padding-top:4.5rem}
.footer .cols{grid-template-columns:repeat(5,1fr)!important;gap:2rem}
.footer h5{font:500 .95rem var(--sans)!important;text-transform:none!important;letter-spacing:0!important;color:#fff!important;margin-bottom:1rem}
.footer .cols a{padding:.35rem 0;font-size:.9rem}
.footer .cols a:hover{color:#fff}
.footer .bottom{margin-top:4.5rem;padding:1.5rem 0;font-size:.85rem;color:var(--fg-2)}
.footer .legal{display:flex;gap:1.5rem;flex-wrap:wrap}
.footer .legal a{color:var(--fg-2);text-decoration:none;margin:0}
.footer .legal a:hover{color:#fff}
.footer .f-cert{font-size:.75rem;color:var(--fg-2);padding-bottom:2rem;margin:0;max-width:none;text-align:left}

@media (max-width:991px){
  .cmp-controls,.cmp-cards,.pool-grid,.who-grid,.cta2-grid,.wp-item,.aud-facts{grid-template-columns:1fr}
  .pool-stats{grid-template-columns:1fr 1fr}.pool-tech{grid-template-columns:1fr 1fr}
  .journey-steps{grid-template-columns:1fr 1fr}
  .footer .top{grid-template-columns:1fr!important}.footer .cols{grid-template-columns:repeat(2,1fr)!important}
  .menu li.has-dd.open>.dd{display:none}
  .mi-chev{display:none}
  .cta2-main h2{max-width:none}
}
@media (max-width:600px){.journey-steps,.pool-tech{grid-template-columns:1fr}.who-facts div{grid-template-columns:1fr;gap:.2rem}.cc-body,.cc-foot{padding-left:1.5rem;padding-right:1.5rem}}

.cta2 .btn.ghost{color:#fff;border-color:#ffffff80}
.cta2 .btn.ghost:hover{border-color:#fff;background:#ffffff14}
.field .ms-pop label{font:400 .95rem/1.3 var(--sans);text-transform:none;letter-spacing:0;color:var(--oxford);margin:0}
.cmp-controls{--fg:var(--oxford);--fg-2:#525a6b}.cmp-controls .field label{color:var(--fg-2)}
.nav .brand{flex:none}

/* ================================================================ ROUND 6 (5 Oct 2026) */
/* skill logos: just the logo, no box or fill */
.tech{border:0!important;background:none!important;padding:0!important;gap:.45rem}
.tech-list{gap:.75rem 1.5rem}
.acc-foot .tech{padding:0!important}
.pool-tech .tech{background:none!important;padding:0!important;color:inherit;font-size:.9rem}
.skill-logo{border:0;background:none;padding:0;width:48px;height:48px}
.skill-groups li .tech{font-size:1rem}

/* proof strip */
.proof-strip{padding:2rem 0 0}
.ps-row{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:1rem}
.ps-clutch{min-width:12rem;min-height:50px;flex:1}
.ps-clutch iframe{max-width:100%}
.ps-iso{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--oxford)}
.ps-iso img{width:48px;height:48px;flex:none}
.ps-iso b{display:block;font-weight:500}
.ps-iso span span{display:block;font-size:.875rem;color:var(--fg-2)}

/* router */
.router{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.router-card{display:flex;flex-direction:column;gap:1rem;min-height:15rem;padding:1.75rem;border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;color:var(--oxford);transition:border-color .2s}
.router-card:hover{border-color:var(--oxford)}
.router-card:nth-child(odd){background:var(--secondary-white);border-color:var(--secondary-white)}
.router-card:nth-child(odd):hover{border-color:var(--oxford)}
.router-line{font-size:1.15rem;line-height:1.35;letter-spacing:-.01em}
.router-foot{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-weight:500}

/* how we vet */
.home-pool{grid-template-columns:repeat(2,1fr);max-width:40rem}
.crit-card{display:flex;flex-direction:column;gap:1rem;padding:2rem;border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);text-decoration:none;color:#fff;background:#ffffff08}
.crit-card:hover{border-color:#ffffff80}
.crit{margin:0;padding:0;list-style:none;counter-reset:c;display:grid;gap:.5rem}
.crit li{counter-increment:c;display:flex;gap:.75rem;font-size:1rem}
.crit li::before{content:counter(c,decimal-leading-zero);font:500 .75rem var(--mono);color:var(--fg-2);padding-top:.2rem;min-width:1.5rem}

/* what you get */
.get-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
.get-list li{display:flex;align-items:center;gap:.6rem;padding:1rem 1.25rem;border-radius:var(--radius-sm);background:var(--secondary-white);font-weight:500}
.get-list .icon{--icon-size:1.2rem;color:var(--neon-blue)}
.steps3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.steps3 .face{gap:.75rem}

/* case study numbers */
.ext-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ext-stats>div{padding:1.5rem;border-radius:var(--radius-sm);background:var(--secondary-white)}
.ext-stats b{display:block;font-size:clamp(2rem,3.5vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.ext-stats span{display:block;margin-top:.5rem;color:var(--fg-2)}
a.story{text-decoration:none;color:inherit}
a.story:hover{border-color:var(--oxford)}

/* compliance */
.comp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.comp-card{display:flex;flex-direction:column;gap:.6rem;padding:1.5rem;border-radius:var(--radius-sm);background:#fff}
.comp-card.on{background:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.comp-card .k-label{display:flex;align-items:center;gap:.5rem}

/* CTA with scheduler */
.cta2 .eyebrow{margin-bottom:3rem}
.cta2-grid{grid-template-columns:1fr minmax(0,1.1fr);gap:3rem;align-items:start}
.cta2-main h2{max-width:12ch}
.cta2-person{display:flex!important;gap:1rem;align-items:center;background:#ffffff14!important;color:#fff!important;border:1px solid #ffffff33;padding:1rem 1.25rem!important;--fg-2:rgba(255,255,255,.8)}
.cta2-person img{width:4rem!important;height:4rem!important}
.cta2-person b{color:#fff}
.cta2-person span,.cta2-person a{display:block;font-size:.9rem;color:var(--fg-2)}
.cta2-person a:hover{color:#fff}
.cta2-cal{background:#fff;border-radius:var(--radius-sm);overflow:hidden;min-height:44rem;color:var(--oxford)}
.cta2-cal .meetings-iframe-container,.cta2-cal iframe{width:100%!important;display:block}
.cta2-cal iframe{min-height:44rem;border:0}

@media (max-width:991px){
  .router,.get-list{grid-template-columns:1fr 1fr}
  .steps3,.ext-stats,.comp-grid,.cta2-grid{grid-template-columns:1fr}
  .cta2-cal,.cta2-cal iframe{min-height:40rem}
}
@media (max-width:600px){.router,.get-list,.home-pool{grid-template-columns:1fr}.ps-row{flex-direction:column;align-items:flex-start}}
.cta2-cal{background:#fff;border-radius:var(--radius-sm);min-height:0;padding:0;display:flex;justify-content:center}
.cta2-cal iframe{min-height:0!important;height:700px!important}
@media (max-width:991px){.cta2-cal iframe{height:720px!important}}
.cta2-grid{grid-template-columns:1fr auto}
.cta2-cal{background:none;width:420px;max-width:100%;justify-self:end;border-radius:12px}
.cta2-cal iframe{height:680px!important;border-radius:12px;background:#fff}
@media (max-width:991px){.cta2-grid{grid-template-columns:1fr}.cta2-cal{justify-self:stretch;width:100%}}
.cta2-cal{width:440px;overflow:hidden}
.cta2-cal iframe{height:720px!important;width:calc(100% + 18px)!important;margin-right:-18px}
.cta2-main .cta2-person{max-width:32rem}
@media (max-width:991px){.cta2-cal{width:100%}.cta2-cal iframe{width:100%!important;margin:0}}
.cta2-cal{width:420px;border-radius:0}
.cta2-cal iframe{background:transparent!important;width:420px!important;height:690px!important;margin:0!important}
@media (max-width:991px){.cta2-cal,.cta2-cal iframe{width:100%!important}}

/* ================================================================ ROUND 7 (5 Oct 2026) */
/* hero: one viewport, proof band at the bottom */
.hero.home{min-height:calc(100svh - 2rem);max-height:none;justify-content:space-between}
.hero.home>.hero-main{flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding-top:7rem;padding-bottom:0}
.hero.home .hero-foot{margin-top:2rem}
.hero.home>.hero-proof{position:relative;z-index:2;padding-top:3rem;padding-bottom:2rem}
.hp-row{display:grid;grid-template-columns:3fr 7fr;gap:3rem;align-items:center;padding-top:1.75rem;border-top:1px solid #ffffff2e}
@media (max-height:820px) and (min-width:992px){.hero.home h1{font-size:clamp(2.25rem,3.8vw,3.6rem)}.hero.home>.hero-main{padding-top:6rem}.hero.home>.hero-proof{padding-top:2rem;padding-bottom:1.5rem}}

/* credentials (Proxify style) */
.creds{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.creds-clutch{width:11.5rem;height:50px;overflow:hidden;flex:none}
.creds-clutch iframe{display:block}
.creds-iso{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none;font:600 .8rem/1.15 var(--sans);letter-spacing:.01em}
.creds-iso img{width:40px;height:40px;flex:none}
.creds-iso:hover{opacity:.85}

/* white logo row */
.logo-row{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.logo-track{display:flex;width:max-content;animation:marq 36s linear infinite}
.logo-row:hover .logo-track{animation-play-state:paused}
.logo-set{display:flex;align-items:center;gap:3.5rem;padding:0 1.75rem}
.logo-set img{height:1.6rem;width:auto;max-width:7.5rem;object-fit:contain;filter:brightness(0) invert(1);opacity:.85}
@media (prefers-reduced-motion:reduce){.logo-track{animation:none}}

/* calculator: calm, design-system cards (no neon fields) */
.cmp-controls{background:var(--secondary-white);border-color:var(--secondary-white)}
.cmp-controls .cs-btn,.cmp-controls .stepper{background:#fff}
.cc-card.ours{background:var(--oxford);border-color:var(--oxford);--fg-2:rgba(255,255,255,.72)}
.cc-card.ours .cc-foot{background:#ffffff0f;border-top-color:#ffffff1f}
.cc-card:not(.ours) .cc-foot{background:var(--secondary-white)}
.cc-card ul li .icon{color:var(--fg-2)!important}
.cc-card.ours li .icon{color:var(--accent-on-dark)!important}
.cc-foot>.icon{color:var(--fg-2)!important}
.cc-card.ours .cc-foot>.icon{color:var(--accent-on-dark)!important}
.disc-tag{background:#fff}

/* compliance: same card system as the rest */
.comp-card{background:var(--secondary-white);border:1px solid var(--secondary-white)}
.comp-card.on{background:#fff;color:var(--oxford);border-color:var(--oxford);--fg:var(--oxford);--fg-2:#525a6b}

/* CTA: balanced columns, widget centred vertically, creds under the button */
.cta2>.wrap{padding-top:4.5rem;padding-bottom:4.5rem}
.cta2 .eyebrow{margin-bottom:2.5rem}
.cta2-grid{grid-template-columns:1fr 420px;gap:4rem;align-items:center}
.cta2-main{gap:1.75rem}
.cta2-main .creds{margin-top:.5rem;padding-top:1.5rem;border-top:1px solid #ffffff2e}
.cta2-cal{width:420px;height:640px;overflow:hidden;align-self:center}
.cta2-cal iframe{height:640px!important}
@media (max-width:991px){
  .hp-row{grid-template-columns:1fr;gap:1.5rem}
  .cta2-grid{grid-template-columns:1fr}.cta2-cal{width:100%;height:680px}.cta2-cal iframe{height:680px!important}
}
.creds{flex-wrap:nowrap;gap:1.5rem}
.hp-row{grid-template-columns:minmax(22rem,3fr) 7fr;gap:2.5rem}
.logo-set{gap:3rem}
.logo-set img{height:1.9rem;max-width:8.5rem}
.cta2-cal{height:700px}
.cta2-cal iframe{height:700px!important}
@media (max-width:991px){
  .hero.home{min-height:calc(100svh - 1.5rem)}
  .hero.home .wp-card{display:none}
  .hero.home>.hero-main{padding-top:6.5rem}
  .hero.home>.hero-proof{padding-top:1.75rem;padding-bottom:1.25rem}
  .hp-row{grid-template-columns:1fr;gap:1.25rem;padding-top:1.25rem}
  .hero.home h1{font-size:clamp(2.1rem,8.5vw,2.8rem)}
  .creds{gap:1rem}.creds-clutch{width:10.5rem}
  .logo-set{gap:2rem}.logo-set img{height:1.4rem}
}
.creds-clutch{width:13rem}
.creds-clutch .clutch-widget,.creds-clutch iframe{width:13rem!important;max-width:none}
@media (max-width:991px){.hero.home .row{flex-wrap:nowrap;gap:.5rem}.hero.home .row .btn{padding:.5rem 1rem;font-size:.95rem}.hero.home .logo-row{display:none}.creds-clutch,.creds-clutch iframe{width:12rem!important}}
.creds-clutch{width:12.6rem!important;height:46px;border-radius:6px;overflow:hidden}
.creds-clutch iframe{width:13rem!important;height:50px!important;margin-top:-2px}
/* design-system alignment for the new homepage sections */
.router-card,.router-card:nth-child(odd){background:var(--secondary-white);border-color:var(--secondary-white);padding:2rem;min-height:16rem}
.router-card:hover,.router-card:nth-child(odd):hover{border-color:var(--oxford)}
.router-line{font-size:1.25rem;font-weight:500;letter-spacing:-.02em;line-height:1.3}
.get-list li{background:none;border:1px solid var(--border);font-weight:400}
.get-list .icon{color:var(--oxford)}
.steps3 .face{padding:2rem}
.steps3 .face h3{margin-top:.25rem}
.ext-stats>div{background:none;border:1px solid var(--border);padding:2rem}
a.story .story-media img{min-height:0;max-height:26rem}
.crit-card{background:none}
.home-pool>div{background:none}
/* Clutch type-2 widget: no cropping, let it size itself */
.creds-clutch{width:auto!important;min-width:10rem;height:45px!important;overflow:visible!important;border-radius:0!important}
.creds-clutch .clutch-widget{width:auto!important}
.creds-clutch iframe{width:100%!important;min-width:10rem;height:45px!important;margin:0!important}
.creds-clutch{width:12rem!important;min-width:0;overflow:hidden!important}
.creds-clutch iframe{width:300px!important;min-width:0}
.creds{flex-wrap:nowrap}
.creds-iso{white-space:nowrap}
/* inline tech logos */
.tlogo-svg{display:inline-block;flex:none;vertical-align:middle}
.skill-logo{display:inline-flex;margin-bottom:1.5rem}
.r-foot .tech-row .tlogo-svg{width:20px;height:20px}

/* Clutch type 2: the widget content is ~185px wide inside a 300px iframe; crop the empty right side, keep even gaps */
.creds{gap:2rem;align-items:center}
.creds-clutch{width:186px!important;height:45px!important;overflow:hidden!important;flex:none}
.creds-clutch iframe{width:300px!important;height:45px!important}
.creds-iso{gap:.6rem;font-size:.8rem;line-height:1.2;white-space:nowrap}
.creds-iso img{width:38px;height:38px}
.hp-row{grid-template-columns:auto 1fr!important;gap:3rem}
@media (max-width:991px){.hp-row{grid-template-columns:1fr!important}.creds{gap:1.5rem}}

/* menu: roles in two columns */
.dd-grid{grid-template-columns:repeat(2,1fr)!important}
.dd-hire{grid-template-columns:1fr 1fr!important}

/* ================================================================ NAV DROPDOWNS: one anchor for all
   Every panel hangs from .nav-inner (not from its menu item or the viewport), same width as the navbar,
   0.5rem below it, so position is identical for every menu, with or without the draft bar, scrolled or not. */
@media (min-width:992px){
  .nav-inner{position:relative}
  .menu>li,.menu>li.has-dd{position:static}
  .dd,.dd-hire,.dd-who,.dd-res{position:absolute!important;top:calc(100% + .5rem)!important;left:0!important;right:0!important;width:auto!important;max-width:none!important;transform:none!important;
    padding:1.5rem;gap:1.5rem;border-radius:var(--radius-sm);box-shadow:0 24px 48px -24px #000c2566}
  .dd::before{left:0;right:0;top:-1rem!important;height:1rem!important}
  .dd-who{grid-template-columns:repeat(4,1fr)!important}
  .dd-who a{padding:1rem}
  .dd-who .dd-all{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
  .dd-res{grid-template-columns:3fr 2fr!important}
  .dd-res .dd-col{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:.25rem}
  .dd-res .dd-col .dd-h{grid-column:1/-1}
}
.dd-feature{display:grid!important;grid-template-columns:auto 1fr;gap:1.25rem;align-items:center;padding:1.25rem!important;background:var(--secondary-white);border-radius:var(--radius-xs)}
.dd-feature:hover{background:var(--accent-soft)!important}
.dd-feature img{width:6.5rem;height:auto;border-radius:3px;box-shadow:0 10px 24px -12px #000c2580}
.dd-feature>div{display:flex;flex-direction:column;gap:.4rem}
.dd-feature .dd-h{padding:0}
.dd-feature strong{font-size:1.1rem;letter-spacing:-.02em}
.dd-feature .dd-more{margin-top:.25rem;color:var(--oxford)!important;font-size:.875rem!important}
.dd-feature img{width:5.5rem!important;height:7.4rem!important;object-fit:cover;object-position:top}
.dd-res{grid-template-columns:1.35fr 1fr!important;align-items:stretch}
.dd-feature{grid-template-columns:11rem 1fr!important;align-items:center;gap:1.25rem}
.dd-feature img{width:11rem!important;height:auto!important;aspect-ratio:16/9;object-fit:cover;border-radius:4px}
.home-pool{grid-template-columns:repeat(4,1fr)!important;max-width:none!important;margin-top:1rem}
@media (max-width:991px){.home-pool{grid-template-columns:1fr 1fr!important}}
/* automatic grey band (never three white sections in a row; see app._break_white_runs) */
.panel.soft.auto-soft{padding-top:var(--section);padding-bottom:var(--section)}
.auto-soft .face,.auto-soft .card,.auto-soft .story,.auto-soft .ext-stats>div,.auto-soft .case-card,.auto-soft .art-card,.auto-soft .crit-card,.auto-soft .faq-q,.auto-soft .get-list>*,.auto-soft .steps3>*,.auto-soft .pool-stats>div,.auto-soft .comp-card,.auto-soft .tc{background:#fff;border-color:#fff}
/* talent pool links */
.pool-bars a{display:block;color:inherit;text-decoration:none}
.pool-bars a .between span:first-child{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:text-decoration-color .15s}
.pool-bars a:hover .between span:first-child{text-decoration-color:currentColor}
.pool-bars a:hover .pb i{background:var(--neon-blue)}
.pool-tech a.tech{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.pool-tech a.tech:hover{text-decoration-color:currentColor}
.pool-stats:has(.pool-ai){grid-template-columns:repeat(5,1fr)}
.pool-ai{color:inherit;text-decoration:none;border-color:var(--neon-blue)!important}
.pool-ai b{color:#8fa6ff}
@media (max-width:991px){.pool-stats:has(.pool-ai){grid-template-columns:1fr 1fr}}
/* role pages (skill-page structure) */
.role-logos{display:flex;gap:.75rem;margin-bottom:1.5rem}
.rows .row-ic{display:flex;align-items:center;gap:1rem}
.rows .row-ic .tlogo-svg{flex:none}
.pool-stats>a.pool-ai{display:block;border:1px solid var(--border-alt-light)!important;border-radius:var(--radius-sm);padding:1.5rem;background:#ffffff0a;transition:border-color .15s}
.pool-stats>a.pool-ai:hover{border-color:#ffffff66!important}
.pool-ai b{color:inherit!important}
.pool-ai span{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.pool-ai:hover span{text-decoration-color:currentColor}
/* Why Miyagami: all reasons white, no grey fills (Dale 5 Oct) */
.reasons>.reason:nth-child(4n+2){background:#fff;border-color:var(--border)}
/* ================================================================ About (follows miyagami.com/about) */
.about-hero{min-height:78vh!important;display:flex;align-items:flex-end;padding-bottom:5rem}
.about-hero h1{max-width:52rem}
.about-hero .lead{max-width:44rem;color:#ffffffe0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:stretch}
.about-photo img{width:100%;height:100%;min-height:24rem;object-fit:cover;border-radius:var(--radius-sm)}
.about-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.about-stats>div{background:var(--secondary-white);border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem}
.about-stats b{font-size:clamp(2.2rem,3.6vw,3.25rem);font-weight:500;letter-spacing:-.05em;line-height:1;color:var(--oxford)}
.about-stats .small{margin-top:auto}
.cert-card{background:#fff;border-radius:var(--radius-sm);overflow:hidden;display:flex;flex-direction:column;height:100%}
.cert-img{aspect-ratio:16/10;background:var(--secondary-white);display:grid;place-items:center;overflow:hidden}
.cert-img img{width:100%;height:100%;object-fit:cover}
.cert-img img[src$=".svg"]{width:60%;height:auto;object-fit:contain}
.cert-body{padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.cert-body .link{margin-top:auto;padding-top:.5rem;align-self:flex-start}
.about-office{aspect-ratio:21/8;min-height:18rem}
.about-office img{width:100%;height:100%;object-fit:cover}
.values{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.values>div{background:var(--secondary-white);border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.75rem}
.values .n{font:500 .75rem var(--mono);color:var(--fg-2)}
.office-card{border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;height:100%}
.office-card .link{margin-top:auto;padding-top:.5rem;align-self:flex-start}
.apc{display:flex;justify-content:space-between;align-items:center;gap:3rem;background:var(--secondary-white);border-radius:var(--radius-sm);padding:2.5rem 3rem}
.apc>div{max-width:44rem}
@media (max-width:1100px){.values{grid-template-columns:repeat(3,1fr)}}
@media (max-width:991px){.about-grid{grid-template-columns:1fr}.about-photo img{min-height:16rem}.values{grid-template-columns:1fr 1fr}.apc{flex-direction:column;align-items:flex-start;padding:2rem}}
@media (max-width:600px){.about-stats,.values{grid-template-columns:1fr}}
.cert-img img[src$=".svg"]{width:100%;height:100%;object-fit:cover}
.cert-img:has(img[src$=".svg"]){background:#000}
.cert-img img[src$=".svg"]{object-fit:contain!important}
.about-office{aspect-ratio:auto!important;height:clamp(14rem,38vw,34rem);min-height:0!important}
.cert-img img[src*=".svg"]{width:100%;height:100%;object-fit:cover!important}
.cert-img:has(img[src*=".svg"]){background:#000}
/* ================================================================ Forms: contact + shortlist (same system as the calculator) */
.form-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.form-aside{display:flex;flex-direction:column;gap:1.25rem;padding-top:.5rem}
.fa-person{display:flex;align-items:center;gap:1rem}
.fa-person img{width:4rem;height:4rem;border-radius:50%;object-fit:cover}
.fa-person b{display:block;font-weight:500}
.fa-person span{font-size:.9rem;color:var(--fg-2)}
.fa-list{margin:1rem 0 0;display:grid;gap:0;border-top:1px solid var(--border)}
.fa-list>div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border);font-size:.9rem}
.fa-list dt{font-weight:500}.fa-list dd{margin:0;color:var(--fg-2)}
.form-card,.sl-card{background:var(--secondary-white)!important;border:0!important;border-radius:var(--radius-sm)!important;padding:clamp(1.5rem,3vw,2.5rem)!important}
.form-card .form{gap:1.25rem}
.form-card .field label{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.form-card .field input,.form-card .field select,.form-card .field textarea,.form-card .cs-btn,.form-card .ms-btn{background-color:#fff;border-color:#fff}
.form-card .field textarea{min-height:8rem;resize:vertical}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath fill='%23000c25' d='M12 15.4 6 9.4 7.4 8l4.6 4.6L16.6 8 18 9.4z'/%3E%3C/svg%3E")!important;background-position:right .5rem center!important;background-size:1.25rem!important;background-repeat:no-repeat!important;padding-right:2.25rem!important}
.form-foot{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;margin-top:.25rem}
.form-foot p{margin:0;flex:1;min-width:12rem}
.err-t{color:#b3261e;font-size:.8rem}
.form-card .flash{background:#fff}
.sl-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr)!important;gap:clamp(2rem,5vw,5rem)!important;margin-top:0!important}
.sl-grid h1{font-size:clamp(2.5rem,4.4vw,4rem)!important}
.sl-grid .stack-l>.lead{margin-top:0}
.sl-terms{list-style:none;padding:0;margin:.5rem 0 0;display:grid;gap:.6rem;border-top:1px solid var(--border);padding-top:1.25rem}
.sl-terms li{display:flex;align-items:center;gap:.6rem;font-size:.95rem}
.sl-terms li::before{content:none!important}
.sl-terms .icon{color:var(--neon-blue);width:1.15rem;height:1.15rem;flex:none}
.sl-steps{margin-bottom:.25rem}
.sl-sum{background:#fff!important;border:0!important;border-radius:var(--radius-xs);padding:1rem!important}
.sl-next a{background:#fff;border-color:#fff}
@media (max-width:991px){.form-grid,.sl-grid{grid-template-columns:1fr!important}}
.page-hero.sl .sl-steps{margin:0 0 1.5rem}
.form-aside .sl-terms{margin-top:0}
@media (max-width:991px){.form-grid .form-card{order:-1}}
/* article -> hire links (Ahrefs ranking pages) */
.hire-links{list-style:none;padding:0;margin:1rem 0 0;display:grid;gap:.5rem}
.hire-links a{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--oxford);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.hire-links a:hover{text-decoration-color:currentColor}
.hire-inline{margin:2.5rem 0;padding:1.5rem 1.75rem;background:var(--secondary-white);border-radius:var(--radius-sm)}
.hire-inline p{margin:0}.hire-inline .k-label{margin-bottom:.5rem}
.hire-inline a{color:var(--neon-blue)}
/* shortlist: fix checkboxes (global .field input set appearance:none + full width) */
.field .ms-pop input[type=checkbox]{appearance:auto!important;-webkit-appearance:checkbox!important;width:1rem!important;height:1rem!important;min-height:0!important;padding:0!important;border:0!important;background:none!important;flex:none;accent-color:var(--oxford)}
.ms-pop label:has(input:checked){background:var(--secondary-white);font-weight:500}
/* engagement shape: two radio cards */
.shape-pick{border:0;padding:0;margin:0;min-width:0}
.shape-pick legend{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin-bottom:.4rem;padding:0}
.shape-opts{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.shape-opt{position:relative;display:flex;gap:.75rem;align-items:flex-start;padding:1rem;background:#fff;border:1px solid #fff;border-radius:var(--radius-xs);cursor:pointer;transition:border-color .15s}
.shape-opt:hover{border-color:var(--border)}
.shape-opt input{position:absolute;opacity:0;pointer-events:none}
.so-dot{flex:none;width:1.1rem;height:1.1rem;margin-top:.1rem;border-radius:50%;border:1.5px solid var(--neutral-light);display:grid;place-items:center}
.shape-opt input:checked~.so-dot{border-color:var(--oxford)}
.shape-opt input:checked~.so-dot::after{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--oxford)}
.shape-opt:has(input:checked){border-color:var(--oxford)}
.shape-opt input:focus-visible~.so-dot{outline:2px solid var(--neon-blue);outline-offset:2px}
.so-txt b{display:block;font-weight:500;font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--oxford)}
.so-txt span{display:block;margin-top:.2rem;font-size:.85rem;line-height:1.35;color:var(--fg-2);text-transform:none;letter-spacing:0;font-family:var(--sans)}
@media (max-width:600px){.shape-opts{grid-template-columns:1fr}}
.form-card .field .shape-opt,.form-card .field .ms-pop label{font:400 .95rem/1.35 var(--sans)!important;text-transform:none!important;letter-spacing:0!important;color:var(--oxford)!important}
.form-card .so-txt b{font:500 1rem/1.3 var(--sans)!important}
.form-card .so-txt span{font:400 .85rem/1.4 var(--sans)!important;color:var(--fg-2)!important}
.form-card .ms-pop label:has(input:checked){font-weight:500!important}
.form-card .field .shape-opt{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:.75rem;margin:0}
.shape-card{display:flex;flex-direction:column;gap:1rem}
.shape-fit{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem}
.shape-fit .k-label{margin:0;width:100%}
.shape-fit a{font-weight:500;color:var(--oxford);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--border)}
.shape-fit a:hover{text-decoration-color:currentColor}
/* legal documents */
.legal-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:clamp(2rem,5vw,5rem);align-items:start}
.legal-aside{position:sticky;top:7rem;display:grid;gap:1rem}
.prose.legal{max-width:46rem}
.prose.legal h2{font-size:1.4rem;letter-spacing:-.02em;margin:2.5rem 0 .75rem}
.prose.legal h2:first-child{margin-top:0}
.prose.legal p{margin:0 0 .9rem;line-height:1.6;color:var(--fg)}
.prose.legal ul{margin:0 0 1rem;padding-left:1.25rem}
.prose.legal li{margin:.3rem 0;line-height:1.5}
.legal-table{overflow-x:auto;margin:1.5rem 0 2rem;border-radius:var(--radius-xs)}
.legal-table table{width:100%;border-collapse:collapse;font-size:.9rem}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:.75rem 1rem;border-bottom:1px solid var(--border)}
.legal-table th{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);background:var(--secondary-white)}
@media (max-width:991px){.legal-layout{grid-template-columns:1fr}.legal-aside{position:static}}
.legal-layout .prose.legal{max-width:48rem;width:100%}
.legal-layout>.prose{grid-column:1}
.page-hero h1+.k-label{margin-top:1.5rem!important}
/* ================================================================ How we vet (design-system pass, 5 Oct) */
.session-card,.session-card.dark{background:var(--secondary-white)!important;border-color:var(--secondary-white)!important;color:var(--oxford)!important}
.session-card:hover{border-color:var(--oxford)!important}
.gb-list{list-style:none;padding:0;margin:.9rem 0 0;display:grid;gap:.7rem}
.gb-list li{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem;line-height:1.45}
.gb-list .icon{flex:none;width:1.15rem;height:1.15rem;margin-top:.1rem}
.gb-ok{color:var(--neon-blue)}
.panel.dark .gb-ok{color:#8fa6ff}
.gb-no{color:var(--fg-2)}
.goodbad>div{display:flex;flex-direction:column}
.beyond{display:flex;flex-direction:column;gap:.75rem}
.beyond-q{margin-top:auto;padding:1rem 1.1rem;background:var(--secondary-white);border-radius:var(--radius-xs);display:grid;gap:.35rem}
.auto-soft .beyond-q,.panel.soft .beyond-q{background:var(--secondary-white)}
.auto-soft .beyond{background:#fff}
.process{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.process li{display:flex;flex-direction:column;gap:.5rem;padding:1.5rem;border-radius:var(--radius-sm);background:#fff}
.process li b{font-weight:500;font-size:1.05rem;letter-spacing:-.01em}
.process li:last-child{grid-column:span 1}
section:not(.panel) .process li{background:var(--secondary-white)}
@media (max-width:991px){.process{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.process{grid-template-columns:1fr}}
/* ================================================================ AI-native flagship page */
.an-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.an-hero h1{max-width:none}
.an-term{background:var(--oxford);color:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 30px 60px -30px #000c2580;font-size:.85rem}
.an-term-bar{display:flex;align-items:center;gap:.4rem;padding:.75rem 1rem;border-bottom:1px solid var(--border-alt-light)}
.an-term-bar span{width:.6rem;height:.6rem;border-radius:50%;background:#ffffff33}
.an-term-bar p{margin:0 0 0 .5rem;font:500 .72rem var(--mono);color:#ffffffb8}
.an-term ul{list-style:none;margin:0;padding:.5rem}
.an-term li{display:grid;grid-template-columns:1fr auto;gap:.15rem 1rem;padding:.8rem .75rem;border-radius:4px}
.an-term li+li{border-top:1px solid #ffffff14}
.an-term code{font:500 .78rem var(--mono);color:#8fa6ff}
.an-term li span{grid-column:1;color:#ffffffc7;font-size:.82rem}
.an-term em{grid-row:1/span 2;grid-column:2;align-self:center;font:500 .68rem var(--mono);text-transform:uppercase;letter-spacing:.03em;font-style:normal;color:#fff;background:#ffffff1a;padding:.25rem .5rem;border-radius:3px}
.an-term-foot{display:flex;align-items:center;gap:.5rem;padding:.85rem 1.25rem;background:#ffffff0d;font-size:.8rem;color:#ffffffd9}
.an-term-foot .icon{width:1rem;height:1rem;color:#8fa6ff}
.an-proof{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem}
.an-proof>div{background:var(--secondary-white);border-radius:var(--radius-sm);padding:1.5rem 1.75rem;display:flex;flex-direction:column;gap:.4rem}
.an-proof b{font-size:clamp(2rem,3.4vw,3rem);font-weight:500;letter-spacing:-.05em;line-height:1}
.an-proof span{color:var(--fg-2);font-size:.9rem}
.an-trio .face{display:flex;flex-direction:column;gap:.75rem}
.an-trio .face.on{background:var(--oxford);border-color:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.an-trio .face.on .k-label{color:#ffffffb8}
.an-tag{margin-top:auto;display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.9rem;color:#8fa6ff}
.an-tag .icon{width:1rem;height:1rem}
.an-fund,.an-isnt{border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;height:100%}
.an-isnt .k-label{display:flex;align-items:center;gap:.35rem}
.an-isnt .k-label .icon{width:.9rem;height:.9rem}
.an-isnt .link{margin-top:auto;align-self:flex-start}
.an-then-now{display:grid;grid-template-columns:1fr 1.3fr;gap:1rem}
.an-then-now .face{gap:1rem}
.an-then-now ol{margin:0;padding-left:1.25rem;display:grid;gap:.55rem}
.an-then-now .face:first-child li{color:var(--fg-2)}
.an-then-now .face.on{background:var(--oxford);border-color:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.an-then-now .face.on .k-label{color:#ffffffb8}
.an-sessions{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.an-session{border:1px solid var(--border-alt-light);border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;background:#ffffff0a}
.an-crit{list-style:none;padding:0;margin:.75rem 0 0;display:grid;gap:.1rem}
.an-crit li{display:flex;align-items:center;gap:.75rem;padding:.55rem 0;border-top:1px solid #ffffff14}
.an-crit .num{font:500 .72rem var(--mono);color:#ffffff8c}
.an-crit b{font-weight:500}
.an-crit em{margin-left:auto;font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.03em;font-style:normal;color:var(--oxford);background:#ffe96b;padding:.2rem .45rem;border-radius:3px}
.an-stack{display:grid;grid-template-columns:1.3fr 1fr;gap:1rem}
.an-stack .face{gap:1rem}
.an-tools{list-style:none;padding:0;margin:0;display:grid;gap:.55rem}
.an-tools li{display:flex;align-items:center;gap:.5rem}
.an-tools .icon{width:1rem;height:1rem;color:var(--neon-blue)}
@media (max-width:991px){.an-hero-grid,.an-sessions,.an-then-now,.an-stack{grid-template-columns:1fr}.an-proof{grid-template-columns:1fr}}
/* spacing fixes (How we vet + AI-native) */
.mt-xl{margin-top:4rem!important}
.goodbad+.k-label,.goodbad+p.k-label{margin-top:4rem!important;margin-bottom:1rem!important}
.an-then-now+.k-label{margin-top:4rem!important;margin-bottom:1rem!important;max-width:44rem;line-height:1.5}
.session-card{padding:2rem!important;gap:1rem!important}
.session-card .small{display:inline-flex;align-items:center;gap:.35rem;font-weight:500;color:var(--oxford)}
.an-crit em{color:#fff!important;background:#ffffff26!important}
/* ================================================================ Media hero (second hero type, 5 Oct) */
.hero-media{margin:1rem;border-radius:var(--radius);background:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72);overflow:hidden;position:relative}
.hm-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:min(78vh,760px)}
.hm-body{padding:9.5rem clamp(1.5rem,4vw,4rem) 3.5rem;display:flex;flex-direction:column;justify-content:flex-end;gap:1.5rem}
.hm-body .crumbs{margin-bottom:auto}
.hm-body h1{font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.04em;max-width:none}
.hm-body .lead{color:var(--fg-2);max-width:36rem}
.hm-body .btn.ghost{color:#fff;border-color:#ffffff66}
.hm-body .btn:not(.ghost){background:#fff;border-color:#fff;color:var(--oxford)}
.hm-media{position:relative;margin:1rem 1rem 1rem 0;border-radius:calc(var(--radius) - .5rem);overflow:hidden}
.hm-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hm-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid #ffffff1f}
.hm-facts>div{padding:1.5rem clamp(1.5rem,4vw,4rem) 1.75rem}
.hm-facts>div+div{border-left:1px solid #ffffff1f}
.hm-facts dt{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)}
.hm-facts dd{margin:.5rem 0 0;font-size:1.05rem;line-height:1.4}
@media (max-width:991px){.hm-grid{grid-template-columns:1fr;min-height:0}.hm-media{order:-1;height:220px;margin:5.5rem 1rem 0}.hm-body{padding:2rem 1.5rem 2.5rem}.hm-facts{grid-template-columns:1fr}.hm-facts>div+div{border-left:0;border-top:1px solid #ffffff1f}.hm-facts>div{padding:1.25rem 1.5rem}}
/* For who index: image cards */
.aud-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.aud-card{display:grid;grid-template-columns:minmax(0,1fr) 38%;border-radius:var(--radius-sm);background:var(--secondary-white);overflow:hidden;text-decoration:none;color:inherit;min-height:300px;transition:background .2s}
.aud-card:hover{background:#e9ebef}
.aud-card .ac-body{padding:2rem;display:flex;flex-direction:column;gap:1rem}
.aud-card h2{font-size:1.6rem;line-height:1.15;letter-spacing:-.03em;font-weight:500}
.aud-card .ac-start{margin-top:auto;font-size:.95rem;color:var(--fg-2)}
.aud-card .ac-start b{display:block;font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.35rem;color:var(--fg-2)}
.aud-card .ac-go{display:inline-flex;align-items:center;gap:.4rem;font-weight:500}
.aud-card .ac-go .icon{transition:transform .2s}
.aud-card:hover .ac-go .icon{transform:translateX(4px)}
.aud-card .ac-img{position:relative}
.aud-card .ac-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.aud-card:hover .ac-img img{transform:scale(1.04)}
@media (max-width:991px){.aud-cards{grid-template-columns:1fr}.aud-card{grid-template-columns:1fr 34%;min-height:240px}}
/* For who subpages: situation + points */
.aud-points{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.aud-points.n3{grid-template-columns:repeat(3,1fr)}
.aud-points .face{background:var(--secondary-white);border-color:var(--secondary-white);gap:.75rem}
.aud-points .num{font:500 .75rem var(--mono);color:var(--neon-blue)}
.aud-dont{display:flex;gap:.75rem;align-items:flex-start;margin-top:1rem;padding:1.25rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius-sm)}
.aud-dont .icon{flex:none;width:1.1rem;height:1.1rem;margin-top:.15rem}
@media (max-width:991px){.aud-points,.aud-points.n3{grid-template-columns:1fr}}
.panel.dark .journey-steps .face{background:#ffffff0d;border-color:#ffffff1f;color:#fff}
.panel.dark .journey-steps .face .muted{color:rgba(255,255,255,.72)}
a.face,a.face:hover{text-decoration:none}
a.face h3{text-decoration:none}
/* Enterprise trust + procurement (5 Oct) */
.ent-certs{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.5rem;padding:1.5rem 1.75rem;border-radius:var(--radius-sm);background:#ffffff0d;margin-bottom:1rem}
.ent-certs b{display:block;font-weight:500;font-size:1.1rem}
.ent-certs span{color:var(--fg-2);font-size:.9rem}
.ent-controls{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.ent-ctrl{border:1px solid #ffffff1f;border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem}
.ent-pack{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.ent-pack h2{margin:0}
.ent-list{background:var(--secondary-white);border-color:var(--secondary-white);gap:1rem}
.ent-list ul{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.ent-list li{display:flex;gap:.6rem;align-items:center}
.ent-list .icon{width:1.1rem;height:1.1rem;color:var(--neon-blue);flex:none}
.ent-list a{text-decoration:underline;text-underline-offset:3px}
.ent-refs{display:flex;gap:3rem;align-items:center;flex-wrap:wrap;margin-top:3rem;opacity:.75}
.ent-refs img{width:auto;filter:grayscale(1)}
@media (max-width:991px){.ent-certs,.ent-pack{grid-template-columns:1fr}.ent-controls{grid-template-columns:1fr}}
/* AI-native: light session cards */
.an-session-l{background:var(--secondary-white);border-color:var(--secondary-white);gap:.6rem}
.an-crit-l{list-style:none;padding:0;margin:.75rem 0 0;display:grid}
.an-crit-l li{display:flex;align-items:center;gap:.75rem;padding:.6rem 0;border-top:1px solid var(--border)}
.an-crit-l .num{font:500 .72rem var(--mono);color:var(--neon-blue)}
.an-crit-l em{margin-left:auto;font:500 .66rem var(--mono);text-transform:uppercase;letter-spacing:.03em;font-style:normal;color:var(--oxford);background:#fff;padding:.2rem .45rem;border-radius:3px}
/* ================================================================ People hero (replaces media hero, 5 Oct round 2) */
.hero.people{min-height:min(82vh,780px);justify-content:flex-end}
.hero.people::after{background:linear-gradient(90deg,#000c25e6 0%,#000c25b3 40%,#000c2533 75%,#000c2526 100%),linear-gradient(#000c2566 0%,transparent 30%,#000c2599 100%)}
.hero.people>.wrap{padding-top:10rem;padding-bottom:3rem}
.hero.people .hp-body{display:flex;flex-direction:column;gap:1.5rem;max-width:44rem}
.hero.people h1{max-width:none;font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.03;letter-spacing:-.04em}
.hero.people .lead{color:rgba(255,255,255,.82);max-width:38rem}
.hp-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--border-alt-light)}
.hp-facts dt{font:500 .7rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.hp-facts dd{margin:.5rem 0 0;font-size:1rem;line-height:1.45;color:#fff}
@media (max-width:991px){.hero.people{min-height:0}.hero.people>.wrap{padding-top:8rem;padding-bottom:2rem}.hero.people::after{background:linear-gradient(#000c2599 0%,#000c25cc 45%,#000c25f2 100%)}.hp-facts{grid-template-columns:1fr;gap:1rem;margin-top:2rem}}
/* index cards: blue tag */
.aud-card .tag{align-self:flex-start}
.tag.solid{background:var(--neon-blue);border-color:var(--neon-blue);color:#fff}
/* SEO round pages: careers, locations, salaries, compare */
.num-l{font:500 .75rem var(--mono);color:var(--neon-blue)}
.loc-card{display:flex;flex-direction:column;border-radius:var(--radius-sm);background:var(--secondary-white);overflow:hidden;text-decoration:none;color:inherit;height:100%}
.loc-img{aspect-ratio:4/3;overflow:hidden}.loc-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.loc-card:hover .loc-img img{transform:scale(1.04)}
.loc-body{padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.loc-body .tag{align-self:flex-start}.loc-body .ac-go{margin-top:auto;display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.loc-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:1rem}
.loc-photo{border-radius:var(--radius-sm);overflow:hidden;min-height:360px}.loc-photo img{width:100%;height:100%;object-fit:cover}
.loc-facts{background:var(--secondary-white);border-color:var(--secondary-white);gap:.6rem}.loc-facts .btn{align-self:flex-start}
.sal-table-wrap{overflow-x:auto}
.sal-table,.cmp-table{width:100%;min-width:640px}
.sal-table td a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;font-weight:500}.sal-table td a:hover{color:var(--neon-blue)}
.cmp-table td:first-child{font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2);width:22%}
.cmp-table th:nth-child(2),.cmp-table td:nth-child(2){font-weight:500}
@media (max-width:991px){.loc-detail{grid-template-columns:1fr}}
.bd-table .sal-table td:not(:first-child),.bd-table .sal-table th:not(:first-child){width:auto}
.bd-table .cmp-table th:not(:first-child),.bd-table .cmp-table td:not(:first-child){width:39%}
.bd-table .cmp-table td:first-child{color:var(--fg-2);font:500 .7rem var(--mono);text-transform:uppercase}
.bd-table .cmp-table td:nth-child(2){color:var(--oxford);font-weight:500}
/* footer: 6 link columns + markets row (SEO round) */
.footer .cols{grid-template-columns:repeat(6,minmax(0,1fr));gap:1.5rem}
.f-markets{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:center;padding:1.25rem 0;margin-top:2rem;border-top:1px solid var(--border-alt-light);font-size:.875rem}
.f-markets span{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2);margin-right:.5rem}
.f-markets a{color:var(--fg-2);text-decoration:none}.f-markets a:hover{color:var(--accent-on-dark)}
@media (max-width:1199px){.footer .cols{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
.footer .top{grid-template-columns:.7fr 3fr!important}
.footer .cols{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:1.5rem}
@media (max-width:1199px){.footer .top{grid-template-columns:1fr!important}.footer .cols{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media (max-width:600px){.footer .cols{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
/* long nav labels (FR/DE): keep on one line */
.menu a.mi,.menu button.mi,.nav .nav-text,.nav .btn{white-space:nowrap}
@media (min-width:992px) and (max-width:1440px){html[lang=fr] .menu a.mi,html[lang=fr] .menu button.mi,html[lang=de] .menu a.mi,html[lang=de] .menu button.mi{padding-left:.5rem;padding-right:.5rem;font-size:.85rem}html[lang=fr] .nav .nav-text,html[lang=de] .nav .nav-text{font-size:.85rem}}
/* ================================================================ Band hero (third hero variant, 5 Oct round 2) */
.hero.band{min-height:0;background:var(--oxford) radial-gradient(120% 140% at 100% 0%,#1f48fe55 0%,transparent 55%)}
.hero.band::after{display:none}
.hero.band>.wrap{padding-top:9.5rem;padding-bottom:3rem}
.hero.band .crumbs{margin-bottom:2.5rem}
.hb-body{display:flex;flex-direction:column;gap:1.5rem;max-width:52rem}
.hero.band h1{max-width:none;font-size:clamp(2.5rem,4.2vw,3.75rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance}
.hero.band .lead{color:rgba(255,255,255,.8);max-width:44rem}
.hero.band .answer b{color:#fff;font-weight:500}
@media (max-width:991px){.hero.band>.wrap{padding-top:7.5rem;padding-bottom:2rem}}
/* ================================================================ New pages, round 2 layout */
.soft-card{background:var(--secondary-white);border-color:var(--secondary-white);gap:.6rem}
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.loc-card2 .ac-body{gap:.75rem}
.loc-card2 h3{margin:0}
.sal-flag{display:inline-flex;align-items:center;gap:.6rem;font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:rgba(255,255,255,.75);margin:0}
.sal-flag .flag{width:22px;height:auto;border-radius:2px}
.sal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sal-grid.sm{grid-template-columns:repeat(4,1fr)}
.sal-card{display:flex;flex-direction:column;gap:.35rem;padding:1.75rem;border-radius:var(--radius-sm);background:var(--secondary-white);text-decoration:none;color:inherit;transition:background .2s}
.sal-card:hover{background:#e9ebef}
.sal-top{display:flex;align-items:center;gap:.6rem;font-weight:500;margin-bottom:1rem}
.sal-top .flag{width:22px;height:auto;border-radius:2px}
.sal-card b{font-size:2rem;font-weight:500;letter-spacing:-.04em;line-height:1}
.sal-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1.25rem 0 0;padding-top:1rem;border-top:1px solid var(--border)}
.sal-card dt{font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2)}
.sal-card dd{margin:.3rem 0 0;font-size:.9rem}
.sal-card .ac-go{margin-top:1.25rem;display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.sal-detail{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem;align-items:start}
.bd-table tr.tot td{color:var(--oxford);font-weight:500;background:var(--secondary-white)}
.cmp-cards2{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cmp-card{display:flex;flex-direction:column;gap:.6rem;padding:1.75rem;border-radius:var(--radius-sm);background:var(--secondary-white);text-decoration:none;color:inherit;min-height:240px;transition:background .2s}
.cmp-card:hover{background:#e9ebef}
.cmp-card h3{margin:0}.cmp-card .tag{align-self:flex-start}
.cmp-card .ac-go{margin-top:auto;display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.cmp-card .ac-go .icon,.sal-card .ac-go .icon{transition:transform .2s}.cmp-card:hover .ac-go .icon,.sal-card:hover .ac-go .icon{transform:translateX(4px)}
.cmp-base{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
.cmp-base>div{border:1px solid #ffffff1f;border-radius:var(--radius-sm);padding:1.5rem;display:flex;flex-direction:column;gap:.5rem}
.cmp-base p:not(.k-label){margin:0;color:#fff}
.cmp-wins{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.cmp-col{display:flex;flex-direction:column;gap:1rem}
.cmp-col.on .face{background:var(--oxford);border-color:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.car-split{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(2rem,4vw,4rem);align-items:stretch}
.car-photo{border-radius:var(--radius-sm);overflow:hidden;min-height:420px}.car-photo img{width:100%;height:100%;object-fit:cover}
.car-list{display:flex;flex-direction:column}
.car-list>div{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.5rem 0;border-top:1px solid var(--border)}
.car-list>div:first-child{border-top:0;padding-top:0}
.car-list h3{margin:0 0 .4rem}
.on-dark-num{color:var(--accent-on-dark)}
@media (max-width:991px){.loc-grid,.sal-grid,.sal-grid.sm,.sal-detail,.cmp-cards2,.cmp-base,.cmp-wins,.car-split{grid-template-columns:1fr}.cmp-base{grid-template-columns:1fr 1fr}.car-photo{min-height:260px}}
/* ---- round 3: pricing shape images, APC hero, why CTA, for-who dd eyebrow */
.shape-card.has-img{padding:0;overflow:hidden}
.shape-card.has-img>*:not(.shape-img){padding-left:var(--card-pad);padding-right:var(--card-pad)}
.shape-card.has-img>.shape-fit{padding-bottom:var(--card-pad)}
.shape-img{aspect-ratio:16/8;overflow:hidden;margin-bottom:.75rem}.shape-img img{width:100%;height:100%;object-fit:cover;display:block}
.apc-hero{min-height:min(88vh,860px);display:flex;align-items:flex-end;margin:.75rem;border-radius:8px;overflow:hidden;position:relative;color:#fff}
.apc-hero .bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.apc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,12,37,0) 30%,rgba(0,12,37,.75));z-index:1}
.apc-hero .wrap{position:relative;z-index:2;width:100%;padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.apc-hero .eyebrow{color:#fff;border-color:rgba(255,255,255,.3)}
.apc-row{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:1.5rem}
.apc-row>div{max-width:46rem}.apc-row h2{color:#fff}.apc-row .lead{color:rgba(255,255,255,.85)}
.why-layout{display:grid;grid-template-columns:1fr 20rem;gap:1.5rem;align-items:start}
.why-layout .reason{grid-template-columns:3.5rem minmax(12rem,34%) 1fr}
.why-cta{position:sticky;top:6rem}
.why-cta-in{background:var(--oxford);color:#fff;border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:1rem}
.why-cta-in h2{color:#fff;margin:0}.why-cta-in .muted{color:rgba(255,255,255,.72)}.why-cta-in .k-label{color:rgba(255,255,255,.6)}
.why-cta-in .btn{align-self:flex-start}
.why-dale{display:flex;gap:.75rem;align-items:center;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);color:#fff;text-decoration:none;font-size:.875rem}
.why-dale img{width:44px;height:44px;border-radius:50%;object-fit:cover}.why-dale b{display:block;font-weight:500}.why-dale span{color:rgba(255,255,255,.75)}
.why-dale:hover b{text-decoration:underline}
.dd-who>.dd-h{grid-column:1/-1}
@media (max-width:991px){.why-layout{grid-template-columns:1fr}.why-cta{position:static}.apc-row{flex-direction:column;align-items:flex-start}.why-layout .reason{grid-template-columns:1fr}}
/* ---- whitepaper 2 */
.wp2-check{display:grid;grid-template-columns:1fr 1.3fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.wp2-score{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:1.5rem;border-radius:var(--radius-sm);background:var(--oxford);color:#fff;margin-top:1rem}
.wp2-score b{font-size:3rem;font-weight:500;letter-spacing:-.04em;line-height:1}.wp2-score span{color:rgba(255,255,255,.75)}
.wp2-score p{flex-basis:100%;margin:.25rem 0 0;color:rgba(255,255,255,.85)!important}
.wp2-qs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}
.wp2-qs label{display:grid;grid-template-columns:auto 2rem 1fr;gap:.75rem;align-items:start;padding:1rem 1.25rem;border-radius:var(--radius-sm);background:var(--secondary-white);cursor:pointer;transition:background .2s}
.wp2-qs label:hover{background:#e9ebef}
.wp2-qs input{width:1.1rem;height:1.1rem;margin-top:.2rem;accent-color:var(--neon-blue,#1f48fe)}
.wp2-qs .wp2-n{font:500 .75rem var(--mono);color:var(--fg-2);padding-top:.2rem}
.wp2-qs label:has(input:checked){background:#e8edff}
.wp2-next{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.wp2-next-img{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:1/1}.wp2-next-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:991px){.wp2-check,.wp2-next{grid-template-columns:1fr}}
/* For who dropdown: eyebrow + bottom card match Hire engineers */
.nav .dd-who>.dd-h{grid-column:1/-1;padding:.5rem 1rem 0!important;margin-bottom:-.5rem}
.nav .dd-who>a{padding:.75rem 1rem!important}
.nav .dd-who>.dd-card{grid-column:1/-1;margin-top:.5rem}
.footer .cols h5.f-sub{margin-top:1.75rem!important}
/* ---- Next 10X page + whitepaper index (round 4) */
.wp1-intro{display:grid;grid-template-columns:16rem 1fr;gap:clamp(2rem,5vw,5rem);align-items:start}
.wp1-author{margin:0}.wp1-author img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius-sm);background:var(--secondary-white)}
.wp1-author figcaption{margin-top:.75rem;font-size:.875rem;color:var(--fg-2)}.wp1-author b{display:block;color:var(--oxford);font-weight:500}
.wp1-stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}
.wp1-stats>div{padding:1.5rem;border-radius:var(--radius-sm);background:var(--secondary-white);display:flex;flex-direction:column;gap:.4rem}
.wp1-stats b{font-size:2.5rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--neon-blue,#1f48fe)}.wp1-stats span{color:var(--fg-2);font-size:.9rem}
.face.wp1-on{background:var(--oxford);border-color:var(--oxford);color:#fff}.face.wp1-on .muted,.face.wp1-on .num-l{color:rgba(255,255,255,.72)}.face.wp1-on h3{color:#fff}
.wp1-def{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;letter-spacing:-.02em;max-width:56rem;padding-left:1.5rem;border-left:3px solid var(--neon-blue,#1f48fe);margin:0}
.panel.soft .wp1-sess{background:#fff}.panel.soft .wp1-sess:hover{background:#fff;box-shadow:0 10px 30px -18px #000c2540}
.wp1-crit{list-style:none;margin:.5rem 0 1rem;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}
.wp1-crit li{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;padding:.35rem .6rem;border:1px solid var(--border);border-radius:4px;color:var(--fg-2)}
.wp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.wp-card2{display:flex;flex-direction:column;border-radius:var(--radius-sm);background:var(--secondary-white);overflow:hidden}
.wp-card2-cover{display:block;aspect-ratio:16/9;overflow:hidden}.wp-card2-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.wp-card2:hover .wp-card2-cover img{transform:scale(1.03)}
.wp-card2-body{display:flex;flex-direction:column;gap:.75rem;padding:2rem;flex:1}.wp-card2-body h2{margin:0}
.wp-card2-body .row{margin-top:auto;padding-top:.75rem;align-items:center}
@media (max-width:991px){.wp1-intro,.wp1-stats,.wp-grid{grid-template-columns:1fr}.wp1-author{max-width:14rem}}
/* market pages: the H1 sits in a grid column, so no 60% cap and a smaller size */
.an-hero-grid h1{max-width:none!important;font-size:clamp(2.4rem,4vw,3.5rem)}
.page-hero h1{text-wrap:balance}
.mkt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}
.mkt-card{display:flex;align-items:center;gap:.9rem;padding:1.1rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s}
.mkt-card:hover{border-color:var(--oxford);box-shadow:0 10px 24px -18px #000c2560}
.mkt-card .flag{width:28px;height:auto;border-radius:2px;flex:none}
.mkt-card span{flex:1;display:flex;flex-direction:column}.mkt-card b{font-weight:500}.mkt-card small{font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2);margin-top:.15rem}
@media (max-width:991px){.mkt-grid{grid-template-columns:1fr 1fr}}
/* Grey cards never sit on a grey band: on soft panels (incl. auto-banded) they turn white with a hairline border */
.panel.soft .cmp-card,.panel.soft .sal-card,.panel.soft .soft-card,.panel.soft .wp-card2,.panel.soft .wp2-qs label,.panel.soft .wp1-stats>div{background:#fff;border:1px solid var(--border)}
.panel.soft .cmp-card:hover,.panel.soft .sal-card:hover{background:#fff;border-color:var(--oxford);box-shadow:0 12px 28px -20px #000c2566}
.cmp-card,.sal-card{border:1px solid transparent}
/* homepage case tabs */
.cs-tablist{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2.5rem}
.cs-tablist button{display:flex;align-items:center;justify-content:center;height:3.25rem;padding:0 1.25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;transition:border-color .2s,background .2s}
.cs-tablist button img{height:1.4rem;width:auto;max-width:9rem;object-fit:contain;opacity:.55;filter:grayscale(1);transition:opacity .2s,filter .2s}
.cs-tablist button:hover img{opacity:.85}
.cs-tablist button[aria-selected=true]{border-color:var(--oxford);box-shadow:inset 0 0 0 1px var(--oxford)}
.cs-tablist button[aria-selected=true] img{opacity:1;filter:none}
/* How we vet whitepaper band: no slant */
.wp-cover,.wp-cover:hover{transform:none!important}
/* bottom CTA: button above the contact card, no rule above creds, wider/shorter booking widget */
.cta2-main .creds{border-top:0!important;padding-top:.5rem!important}
.cta2-grid{grid-template-columns:1fr 520px!important}
.cta2-cal{width:520px!important;height:600px!important}
.cta2-cal iframe{width:520px!important;height:600px!important}
@media (max-width:991px){.cta2-grid{grid-template-columns:1fr!important}.cta2-cal,.cta2-cal iframe{width:100%!important;height:680px!important}}
/* Founders: Shipped phases (framework visual) */
.fb-phases{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #ffffff2e;border-radius:var(--radius-sm)}
.fb-phases>div{display:flex;flex-direction:column;gap:.75rem;padding:1.75rem 1.5rem;border-left:1px solid #ffffff2e}
.fb-phases>div:first-child{border-left:0}
.fb-phases h3{color:#fff;margin:0}.fb-phases .muted{color:rgba(255,255,255,.72)}
.fb-phases dl{margin:auto 0 0;padding-top:1rem;border-top:1px solid #ffffff2e;display:flex;flex-direction:column;gap:.5rem}
.fb-phases dl>div{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}
.fb-phases dt{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.6)}
.fb-phases dd{margin:0;font-size:.85rem;color:#fff;text-align:right}
.fb-price{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:3rem}
.fb-price>div{padding:1.75rem;border-radius:var(--radius-sm);border:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem}
.fb-price b{font-size:2rem;font-weight:500;letter-spacing:-.03em}.fb-price span{color:var(--fg-2)}
@media (max-width:991px){.fb-phases{grid-template-columns:1fr 1fr}.fb-phases>div:nth-child(3){border-left:0}.fb-phases>div:nth-child(n+3){border-top:1px solid #ffffff2e}.fb-price{grid-template-columns:1fr}}
@media (max-width:600px){.fb-phases{grid-template-columns:1fr}.fb-phases>div{border-left:0!important;border-top:1px solid #ffffff2e}.fb-phases>div:first-child{border-top:0}}
/* booking widget: wide enough for HubSpot's two-column layout (shorter) */
.cta2-grid{grid-template-columns:minmax(0,1fr) 700px!important;gap:3rem!important}
.cta2-cal{width:700px!important;height:620px!important;border-radius:12px!important;overflow:hidden!important}
.cta2-cal iframe{width:700px!important;height:620px!important}
@media (max-width:1280px){.cta2-grid{grid-template-columns:1fr!important}.cta2-cal,.cta2-cal iframe{width:100%!important}}
.cta2-cal{width:680px!important;height:640px!important}
.cta2-cal iframe{width:700px!important;height:660px!important;margin:-1px -20px -20px -1px!important}
.cta2-grid{grid-template-columns:minmax(0,1fr) 680px!important}
@media (max-width:1280px){.cta2-cal{width:100%!important}.cta2-cal iframe{width:calc(100% + 20px)!important}}
/* ---- case studies (round 6) */
.cs-tablist button{font:500 .95rem var(--sans);color:var(--fg-2);height:auto;padding:.7rem 1.1rem}
.cs-tablist button[aria-selected=true]{color:var(--oxford);background:var(--secondary-white)}
.cs-cover{border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:21/9}.cs-cover img{width:100%;height:100%;object-fit:cover;display:block}
.cs-result{display:grid;grid-template-columns:12rem 1fr;gap:2rem;align-items:baseline;padding:2rem 0 0;margin-top:2rem;border-top:1px solid var(--border)}
.cs-result-t{font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;letter-spacing:-.02em;margin:0;max-width:52rem}
.cs-steps{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ffffff2e;border-radius:var(--radius-sm)}
.cs-steps>div{display:flex;flex-direction:column;gap:.75rem;padding:2rem 1.75rem;border-left:1px solid #ffffff2e}
.cs-steps>div:first-child{border-left:0}.cs-steps h3{color:#fff;margin:0}.cs-steps .muted{color:rgba(255,255,255,.72)}
.cs-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:1rem}
.cs-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);display:block}
.cs-quote{margin:0;padding:clamp(2rem,4vw,3.5rem);border-radius:var(--radius-sm);background:var(--secondary-white)}
.cs-quote blockquote{margin:0;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.3;letter-spacing:-.03em;max-width:56rem}
.cs-quote figcaption{display:flex;align-items:center;gap:1rem;margin-top:2rem}
.cs-quote figcaption img{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover}
.cs-quote b{display:block;font-weight:500}.cs-quote span{color:var(--fg-2);font-size:.9rem}
.case-list{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.cs-more{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.cs-card{display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;background:var(--secondary-white);text-decoration:none;color:inherit;border:1px solid transparent;transition:border-color .2s}
.cs-card:hover{border-color:var(--oxford)}
.cs-card-img{aspect-ratio:16/10;overflow:hidden}.cs-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.cs-card:hover .cs-card-img img{transform:scale(1.03)}
.cs-card-body{display:flex;flex-direction:column;gap:.6rem;padding:1.75rem;flex:1}.cs-card-body h2,.cs-card-body h3{margin:0}
.cs-card .ac-go{margin-top:auto;padding-top:.5rem;display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.cs-card.wide{grid-column:1/-1;flex-direction:row}.cs-card.wide .cs-card-img{flex:1.3;aspect-ratio:auto;min-height:24rem}.cs-card.wide .cs-card-body{flex:1;padding:2.5rem}
.cs-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:.25rem 0 0}
.cs-tags span{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;padding:.3rem .55rem;border:1px solid var(--border);border-radius:4px;color:var(--fg-2)}
.panel.soft .cs-card,.panel.soft .cs-quote{background:#fff;border:1px solid var(--border)}
@media (max-width:991px){.cs-result,.cs-steps,.cs-gallery,.case-list,.cs-more{grid-template-columns:1fr}.cs-steps>div{border-left:0;border-top:1px solid #ffffff2e}.cs-steps>div:first-child{border-top:0}.cs-card.wide{flex-direction:column}.cs-card.wide .cs-card-img{min-height:16rem}}
/* round 7: logos, home case footer, fit cards, pricing names */
.cs-logo{display:inline-flex;align-items:center;justify-content:flex-start;height:2.75rem;width:9.5rem}
.cs-logo img{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;object-position:left center}
.story-facts .cs-logo{height:3rem;width:10rem}
.cs-foot{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem}
.cs-foot .cs-tablist{margin:0!important}
.cs-more.fit{grid-template-columns:1fr 1fr}
.cs-why{margin:0;color:var(--fg-2)}.cs-why b{display:block;font:500 .72rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--oxford);margin-bottom:.35rem}
.cmp-name{font-weight:500;color:inherit;text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:.25em;transition:text-decoration-color .2s}
.cmp-name:hover{text-decoration-color:currentColor}
.cta2-main .creds{margin-top:1.25rem!important}
@media (max-width:991px){.cs-more.fit{grid-template-columns:1fr}}
/* CTA: stack calendar under the text below 1280px (overrides the desktop rules above) */
@media (max-width:1280px){
  .cta2-grid{grid-template-columns:1fr!important;gap:2.5rem!important}
  .cta2-main h2{max-width:none!important}
  .cta2-cal{width:100%!important;max-width:720px!important;justify-self:start!important;height:680px!important;background:none!important}
  .cta2-cal iframe{width:100%!important;height:680px!important;margin:0!important}
}
@media (max-width:767px){
  .cta2-cal{width:calc(100% + 24px)!important;max-width:none!important;margin-left:-12px!important;height:642px!important;overflow:hidden!important;border-radius:12px!important;background:none!important}
  .cta2-cal iframe{width:100%!important;height:760px!important;margin:0!important}
}
/* calculator controls: equal heights; footer text left, breakdown toggle right */
.cmp-controls{align-items:end}
.cmp-controls .cs-btn,.cmp-controls .stepper{height:3rem!important;min-height:3rem!important;box-sizing:border-box}
.cmp-controls .stepper input{min-height:0!important;height:100%}
.cmp-controls .stepper-row{width:100%}
.cmp-controls .stepper-row .stepper{flex:1;width:auto;max-width:none}
.cmp-foot{display:flex;justify-content:space-between;align-items:flex-start;gap:2rem;margin-top:1.5rem}
.cmp-foot-text{display:flex;flex-direction:column;gap:.5rem;max-width:44rem}
.cmp-foot-text p{margin:0}
.cmp-foot .bd-toggle{flex:none}
@media (max-width:767px){.cmp-foot{flex-direction:column;gap:1rem}}
/* home case card: image fills the full card height, cropped (never stretched) */
a.story{align-items:stretch}
a.story .story-media{position:relative;min-height:24rem;overflow:hidden}
a.story .story-media img{position:absolute;inset:0;width:100%;height:100%!important;max-height:none!important;min-height:0;object-fit:cover;object-position:center}
@media (max-width:991px){a.story .story-media{min-height:0;aspect-ratio:4/3}}
/* footer: Clutch + ISO bottom left, copyright with certification line */
.footer .f-creds{padding:2rem 0 1.5rem;border-top:1px solid #ffffff1f;margin-top:2.5rem}
.footer .f-creds .creds{margin:0!important;padding:0!important;border:0!important;justify-content:flex-start}
.footer .bottom{align-items:flex-start!important;gap:2rem;padding-bottom:2rem}
.footer .f-copy{margin:0;font-size:.75rem;line-height:1.5;color:var(--fg-2);max-width:46rem}
.footer .legal{flex:none}
@media (max-width:767px){.footer .bottom{flex-direction:column;gap:1rem}}
.footer .f-creds{margin-top:4rem;padding:2rem 0 0;border-top:1px solid var(--border-alt-light)}
.footer .f-creds+.bottom{margin-top:1.5rem!important;border-top:0!important;padding-top:0!important}
@media (max-width:767px){.footer .legal{gap:.5rem 1.25rem}.footer .legal a{margin:0!important}}
/* featured case card: same two columns as the grid below, image same ratio as the other cards */
.cs-card.wide{display:grid!important;grid-template-columns:1fr 1fr;column-gap:1.5rem;align-items:stretch}
.cs-card.wide .cs-card-img{aspect-ratio:16/10!important;min-height:0!important;flex:none}
.cs-card.wide .cs-card-body{padding:2.25rem 1.75rem 1.75rem!important;justify-content:center;gap:.75rem}
.cs-card.wide .cs-card-body .ac-go{margin-top:1rem}
@media (max-width:991px){.cs-card.wide{grid-template-columns:1fr;column-gap:0}}
/* For who "Work that looks like yours" cards: more air */
.cs-more.fit{gap:2rem}
.section-head+.cs-more.fit{margin-top:1rem}
.cs-more.fit .cs-card-body{padding:2rem 2rem 2.25rem;gap:1rem}
.cs-more.fit .cs-card-body h3{margin:.25rem 0 0}
.cs-more.fit .cs-why b{margin-bottom:.5rem}
.cs-more.fit .ac-go{padding-top:1rem}
/* enterprise trust: two buttons */
.ent-certs .row{gap:.75rem;flex-wrap:wrap;margin-left:auto}
@media (max-width:767px){.ent-certs .row{margin-left:0}}
/* pricing shape cards: best-fit left, shortlist button bottom right */
.shape-fit{justify-content:space-between;align-items:flex-end;flex-wrap:nowrap!important;gap:1rem}
.shape-fit .sf-list{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem}
.shape-fit a.sf-btn{flex:none;text-decoration:none;color:#fff}
.shape-fit a.sf-btn:hover{color:#fff}
@media (max-width:600px){.shape-fit{flex-wrap:wrap!important}}
.cmp-tbl td:first-child{white-space:normal}
.cmp-tbl td:first-child a,.cmp-tbl td:first-child b{white-space:nowrap}
@media (max-width:767px){.cmp-tbl col:first-child{width:38%!important}.cmp-tbl td:first-child a,.cmp-tbl td:first-child b{white-space:normal}}

/* article detail: tags under the title */
.art-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.5rem 0 0}
.art-tags a.tag{text-decoration:none}.art-tags a.tag:hover{color:var(--oxford);border-color:var(--oxford)}
/* footer column system: logo + Clutch/ISO in the first column; bottom row aligned to the link columns */
.footer .f-side{display:flex;flex-direction:column;gap:2.5rem;align-items:flex-start}
.footer .f-side .f-creds{margin:0!important;padding:0!important;border:0!important}
.footer .f-side .creds{flex-direction:column!important;align-items:flex-start!important;gap:1.25rem!important;flex-wrap:nowrap!important}
.footer .bottom{display:grid!important;grid-template-columns:.7fr 3fr;column-gap:8%;align-items:start;margin-top:4rem!important;padding:1.75rem 0 2rem!important;border-top:1px solid var(--border-alt-light)!important}
.footer .bottom .f-copy{grid-column:2;max-width:none}
.footer .bottom .legal{grid-column:2;margin-top:.75rem}
@media (min-width:1200px){.footer .bottom{grid-template-columns:.7fr 2fr 1fr}.footer .bottom .legal{grid-column:3;margin-top:0;justify-content:flex-end}}
@media (max-width:1199px){.footer .f-side{flex-direction:row;align-items:center;justify-content:space-between;width:100%;flex-wrap:wrap;gap:1.5rem}.footer .f-side .creds{flex-direction:row!important;align-items:center!important}.footer .bottom{grid-template-columns:1fr}.footer .bottom .f-spacer{display:none}.footer .bottom .f-copy,.footer .bottom .legal{grid-column:1}}
.footer .top{column-gap:6rem!important}
.footer .bottom{column-gap:6rem!important;grid-template-columns:.7fr 3fr!important}
.footer .bottom .legal{grid-column:2!important;justify-content:flex-start!important;margin-top:.75rem!important}
@media (min-width:1200px){.footer .bottom{grid-template-columns:.7fr 3fr!important}.footer .bottom .f-copy{grid-column:2}}
@media (max-width:1199px){.footer .bottom{grid-template-columns:1fr!important}.footer .bottom .f-copy,.footer .bottom .legal{grid-column:1!important}}
.footer .bottom .legal{margin-top:.5rem!important;gap:.5rem 1.5rem!important}
.footer .bottom .legal a{margin:0!important;padding:0!important}
@media (max-width:600px){.footer .f-side{flex-direction:column;align-items:flex-start}}
.footer .bottom{row-gap:0!important}

/* careers: open vacancies */
.vac-list{border-top:1px solid var(--border)}
.vac{display:grid;grid-template-columns:minmax(0,1fr) auto 2rem;gap:2rem;align-items:center;padding:1.75rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;transition:padding .25s,color .25s}
.vac:hover{padding-left:.5rem}.vac:hover h3{color:var(--neon-blue)}
.vac p{max-width:46rem}
.vac-meta{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;max-width:22rem}
.vac-go{display:flex;justify-content:flex-end}
.vac-empty{border:1px solid var(--border);padding:1.75rem;background:#fff}
.vac-empty a{color:var(--neon-blue)}
@media (max-width:767px){.vac{grid-template-columns:1fr;gap:1rem}.vac-meta{justify-content:flex-start}.vac-go{display:none}}
/* pricing shape cards: footer band with equal padding, button centred against the best-fit block */
.shape-card.has-img>.shape-fit{padding-top:1.5rem;padding-bottom:1.5rem;align-items:center}
.shape-fit .sf-list .k-label{margin-bottom:.15rem}
/* about hero: content sits in the standard container, aligned with the sections below */
.about-hero>.wrap{width:100%;flex:1 1 auto;margin-left:0;margin-right:0}
.about-hero>.wrap>.container{margin-left:auto;margin-right:auto}

/* shortlist: engineers per role */
.sl-counts .lbl{display:block;font-size:.875rem;font-weight:500;margin-bottom:.5rem}
.slc-list{border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff}
.slc-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .75rem;border-top:1px solid var(--border)}
.slc-row:not([hidden])~.slc-row:not([hidden]){border-top:1px solid var(--border)}
.slc-list .slc-row:not([hidden]):first-of-type,.slc-list .slc-row.first{border-top:0}
.slc-name{display:flex;align-items:center;gap:.5rem;font-size:.9rem}
.slc-step{display:flex;align-items:center;border:1px solid var(--border);border-radius:var(--radius-xs);overflow:hidden;flex:none}
.slc-b{width:2.25rem;height:2.25rem;border:0;background:var(--surface-soft,#f4f5f7);color:var(--oxford);font-size:1.1rem;cursor:pointer;line-height:1}
.slc-b:hover{background:#e9ebf0}
.slc-step input{width:3rem;height:2.25rem;border:0!important;border-left:1px solid var(--border)!important;border-right:1px solid var(--border)!important;text-align:center;font:500 .95rem var(--sans,inherit);padding:0!important;border-radius:0!important;-moz-appearance:textfield;appearance:textfield;background:#fff}
.slc-step input::-webkit-outer-spin-button,.slc-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.slc-total{margin-top:.5rem}
.slc-row[hidden],.sl-counts[hidden]{display:none!important}
.slc-row{border-top:0}.slc-row:not(.first){border-top:1px solid var(--border)}

/* unified card hover (case studies, whitepapers): no outline, grey shift, image zoom, arrow nudge - same as audience cards */
.cs-card,.cs-card:hover,.wp-card2,.wp-card2:hover{border-color:transparent}
.cs-card,.wp-card2{transition:background-color .25s}
.cs-card:hover,.wp-card2:hover{background:#e9ebef}
.cs-card:hover .cs-card-img img,.wp-card2:hover .wp-card2-cover img{transform:scale(1.04)}
.cs-card .ac-go .icon,.wp-card2 .link .icon{transition:transform .25s}
.cs-card:hover .ac-go .icon,.wp-card2:hover .link .icon{transform:translateX(4px)}
.panel.soft .cs-card,.panel.soft .wp-card2,.panel.soft .cs-card:hover,.panel.soft .wp-card2:hover{border-color:var(--border)}
.panel.soft .cs-card:hover,.panel.soft .wp-card2:hover{background:#f7f8fa}
.cs-card-body .cs-logo{height:2.25rem;width:8.5rem;margin-bottom:.25rem}

/* shortlist: help block with intro-call scheduler */
.sl-help{display:flex;flex-direction:column;gap:1rem;padding:1.75rem;background:var(--secondary-white);border-radius:var(--radius-sm)}
.sl-help h2{margin:0}.sl-help p{margin:0}
.sl-quote{margin:.25rem 0 0;padding:0 0 0 1rem;border-left:2px solid var(--neon-blue);font-size:1rem;line-height:1.5;color:var(--oxford)}
.sl-help .btn{align-self:flex-start}
.sl-cal{background:#fff;border-radius:var(--radius-xs);overflow:hidden;margin:0 -.75rem}
.sl-cal iframe{display:block;width:100%;height:42rem;border:0}
.sl-help.cal-open .btn{display:none}
.sl-cal{margin:0 -1.75rem -1.75rem;border-radius:0 0 var(--radius-sm) var(--radius-sm)}
.sl-cal iframe{height:46rem}

/* news: index + article */
.news-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;font:500 .75rem var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);margin:0}
.news-meta span::before{content:"";display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;margin-right:1rem;vertical-align:middle;opacity:.6}
.news-feat{display:grid;grid-template-columns:1.2fr 1fr;border-radius:var(--radius-sm);overflow:hidden;background:var(--secondary-white);text-decoration:none;color:inherit;transition:background-color .25s}
.nf-img{aspect-ratio:16/10;overflow:hidden}.nf-img img,.nc-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.nf-body{display:flex;flex-direction:column;justify-content:center;gap:1rem;padding:2.5rem}.nf-body h2{margin:0}.nf-body p{margin:0}
.news-by{display:flex;align-items:center;gap:.6rem;font-size:.9rem;font-weight:500}.news-by img{width:2rem;height:2rem;border-radius:50%;object-fit:cover}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.5rem}
.news-card{display:flex;flex-direction:column;border-radius:var(--radius-sm);overflow:hidden;background:var(--secondary-white);text-decoration:none;color:inherit;transition:background-color .25s}
.nc-img{aspect-ratio:16/10;overflow:hidden}
.nc-body{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 1.5rem 1.75rem;flex:1}.nc-body h3,.nc-body p{margin:0}
.news-card .ac-go,.news-feat .ac-go{margin-top:auto;padding-top:.5rem;display:inline-flex;gap:.4rem;align-items:center;font-weight:500}
.news-feat:hover,.news-card:hover{background:#e9ebef}
.news-feat:hover img:not(.news-by img),.news-card:hover .nc-img img{transform:scale(1.04)}
.news-feat .ac-go .icon,.news-card .ac-go .icon{transition:transform .25s}.news-feat:hover .ac-go .icon,.news-card:hover .ac-go .icon{transform:translateX(4px)}
.panel.soft .news-card,.panel.soft .news-feat{background:#fff;border:1px solid var(--border)}
.news-hero .nh-inner{max-width:52rem}
.news-hero h1{font-size:clamp(2.4rem,5vw,4rem);max-width:none}
.news-byline{display:flex;align-items:center;flex-wrap:wrap;gap:.9rem 1rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}
.news-byline img{width:3rem;height:3rem;border-radius:50%;object-fit:cover}
.news-byline b{display:block;font-weight:500}.news-byline div span{font-size:.875rem;color:var(--fg-2)}
.news-byline .news-meta{margin-left:auto}
.news-cover{margin:0 0 3.5rem;border-radius:var(--radius-sm);overflow:hidden;aspect-ratio:21/9}.news-cover img{width:100%;height:100%;object-fit:cover;display:block}
.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 18rem;gap:5rem;align-items:start}
.news-prose{max-width:42rem}
.news-prose .lede{font-size:1.35rem;line-height:1.45;letter-spacing:-.015em}
.news-prose h2{font-size:1.75rem}
.news-prose ul li::marker{color:var(--neon-blue)}
.news-end{display:flex;align-items:center;gap:1rem;margin-top:3rem!important;padding-top:1.75rem;border-top:1px solid var(--border)}
.news-end img{width:3.5rem;height:3.5rem;border-radius:50%;object-fit:cover}
.news-end .k-label{margin:0 0 .2rem}.news-end b{display:block;font-weight:500}
@media (max-width:991px){.news-feat,.news-layout{grid-template-columns:1fr}.news-layout{gap:3rem}.news-grid{grid-template-columns:1fr 1fr}.news-byline .news-meta{margin-left:0;width:100%}.news-cover{aspect-ratio:16/9;margin-bottom:2.5rem}}
@media (max-width:600px){.news-grid{grid-template-columns:1fr}.nf-body{padding:1.75rem}}
/* mega-menu: title to description gap equals the description's own line spacing */
.dd a strong,.dd-card strong{line-height:1.3}
.dd a span,.dd-card span{display:block;line-height:1.45;margin-top:.3rem}
.dd .dd-h{display:block;margin-top:0}
.dd-feature>div{gap:.3rem}
/* 404 */
.nf-hero{min-height:100vh;display:flex;align-items:center}
.nf-hero>.wrap{width:100%}
.nf-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:5rem;align-items:center}
.nf-code{font:500 clamp(6rem,14vw,11rem)/.85 var(--sans,inherit);letter-spacing:-.06em;margin:0 0 1.5rem;color:#fff;opacity:.18}
.nf-main h1{margin:0}
.nf-main .lead{margin-top:1.25rem;max-width:34rem;color:#ffffffd9}
.nf-btns{margin-top:2rem}
.nf-links{background:#ffffff12;border:1px solid #ffffff2e;border-radius:var(--radius-sm);padding:1.25rem 1.5rem;backdrop-filter:blur(6px)}
.nf-links .k-label{color:#ffffffb3;margin:0 0 .5rem}
.nf-links a{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:1rem;padding:.9rem 0;border-top:1px solid #ffffff24;text-decoration:none;color:#fff}
.nf-links a:first-of-type{border-top:0}
.nf-links a b{font-weight:500}.nf-links a span{font-size:.875rem;color:#ffffffb3;grid-row:2}
.nf-links a .icon{grid-row:1/3;grid-column:2;align-self:center;transition:transform .25s}
.nf-links a:hover .icon{transform:translateX(4px)}.nf-links a:hover b{color:var(--neon-yellow,#ffe96b)}
@media (max-width:991px){.nf-grid{grid-template-columns:1fr;gap:3rem}.nf-hero{min-height:auto}}
.fb-price b .px,.fb-phases dd .px{color:inherit;font-size:inherit}
.nf-main h1{max-width:none;font-size:clamp(2.6rem,4.6vw,4.25rem)}
/* footer bottom row (6 Oct): Clutch + ISO | short copyright | legal links stacked; same column ratio as the top row */
.footer .bottom{display:grid!important;grid-template-columns:.7fr 1.5fr 1.5fr!important;column-gap:6rem!important;row-gap:1.5rem!important;align-items:start!important;margin-top:4rem!important;padding:2rem 0 2.5rem!important}
.footer .bottom .f-creds{grid-column:1!important;margin:0!important;padding:0!important;border:0!important}
.footer .bottom .f-creds .creds{flex-direction:column!important;align-items:flex-start!important;gap:1rem!important;margin:0!important}
.footer .bottom .f-copy{grid-column:2!important;margin:0!important;font-size:.8rem;line-height:1.6;color:var(--fg-2)}
.footer .bottom .f-copy p{margin:0}
.footer .bottom .legal{grid-column:3!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:.5rem!important;margin:0!important;justify-content:flex-start!important}
.footer .bottom .legal a{font-size:.8rem}
@media (max-width:1199px){.footer .bottom{grid-template-columns:1fr 1fr!important;column-gap:2rem!important}.footer .bottom .f-creds{grid-column:1/-1!important}.footer .bottom .f-creds .creds{flex-direction:row!important;align-items:center!important}.footer .bottom .f-copy{grid-column:1!important}.footer .bottom .legal{grid-column:2!important}}
@media (max-width:600px){.footer .bottom{grid-template-columns:1fr!important}.footer .bottom .f-copy,.footer .bottom .legal{grid-column:1!important}}
@media (min-width:1200px){
  .footer .bottom{grid-template-columns:.7fr 3fr!important;column-gap:6rem!important}
  .footer .bottom .f-creds{grid-column:1!important;grid-row:1/3}
  .footer .bottom .f-copy,.footer .bottom .legal{grid-column:2!important}
  .footer .bottom{position:relative}
  .footer .bottom .f-copy{grid-row:1;max-width:calc(50% - 1rem)}
  .footer .bottom .legal{grid-row:1;justify-self:start;margin-left:calc(50% + .75rem)!important}
}
@media (max-width:600px){.footer .bottom .f-creds .creds{flex-wrap:wrap!important;gap:1rem 1.5rem!important}}

/* cookie consent */
.ck-banner{position:fixed;z-index:200;left:1rem;right:1rem;bottom:1rem;max-width:68rem;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:1.5rem 2.5rem;align-items:center;padding:1.5rem 1.75rem;background:#fff;color:var(--oxford);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 24px 60px -20px #000c2566}
.ck-banner[hidden],.ck-modal[hidden]{display:none!important}
.ck-h{font-weight:500;font-size:1.05rem;margin:0 0 .35rem}
.ck-text p{margin:0;font-size:.875rem;line-height:1.5;color:var(--fg-2)}.ck-text p.ck-h{color:var(--oxford);font-size:1.05rem}
.ck-text a,.ck-panel a{color:var(--neon-blue);text-decoration:underline;text-underline-offset:2px}
.ck-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
.ck-btn{min-width:8.5rem;justify-content:center}
.ck-link{background:none;border:0;padding:.5rem;font:inherit;font-size:.9rem;font-weight:500;color:var(--oxford);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.ck-modal{position:fixed;inset:0;z-index:210;background:#000c25a6;display:flex;align-items:center;justify-content:center;padding:1rem}
.ck-panel{background:#fff;color:var(--oxford);border-radius:var(--radius-sm);max-width:40rem;width:100%;max-height:calc(100vh - 2rem);overflow:auto;padding:1.75rem}
.ck-top{display:flex;justify-content:space-between;align-items:center}
.ck-x{background:none;border:0;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--oxford);padding:.25rem .5rem}
.ck-cats{margin:1.25rem 0;border-top:1px solid var(--border)}
.ck-cat{display:flex;gap:1.5rem;justify-content:space-between;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--border);cursor:pointer}
.ck-cat b{font-weight:500}.ck-cat p{margin:.25rem 0 0;font-size:.85rem;line-height:1.5;color:var(--fg-2)}
.ck-on{font:500 .7rem var(--mono);text-transform:uppercase;letter-spacing:.02em;color:var(--fg-2);white-space:nowrap;padding-top:.2rem}
.ck-sw{position:relative;flex:none;width:2.75rem;height:1.5rem;margin-top:.1rem}
.ck-sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ck-sw i{position:absolute;inset:0;border-radius:1rem;background:#cfd4dc;transition:background .2s}
.ck-sw i::after{content:"";position:absolute;top:3px;left:3px;width:calc(1.5rem - 6px);height:calc(1.5rem - 6px);border-radius:50%;background:#fff;transition:transform .2s}
.ck-sw input:checked+i{background:var(--neon-blue)}.ck-sw input:checked+i::after{transform:translateX(1.25rem)}
.ck-sw input:focus-visible+i{outline:2px solid var(--neon-blue);outline-offset:2px}
.ck-foot{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:flex-end}
body.ck-lock{overflow:hidden}
.ck-embed{display:flex;flex-direction:column;gap:.75rem;padding:2rem;justify-content:center;min-height:16rem}.ck-embed p{margin:0}
.consent-functional .ck-embed{display:none}
html:not(.consent-functional) .meetings-iframe-container{display:none}
html:not(.consent-functional) .clutch-widget{display:none}
.consent-functional .clutch-static{display:none}
.clutch-static{display:inline-grid;grid-template-columns:auto auto;column-gap:.6rem;align-items:center;color:inherit;line-height:1.1}
.clutch-static .cl-r{font:500 .65rem var(--mono);text-transform:uppercase;letter-spacing:.04em}
.clutch-static b{font-size:1.5rem;font-weight:600;letter-spacing:-.03em;grid-row:2}
.clutch-static .cl-s{color:#ef4335;letter-spacing:.05em;font-size:.95rem;grid-column:2;grid-row:1}
.clutch-static .cl-n{font:500 .75rem var(--mono);text-transform:uppercase;letter-spacing:.04em;grid-column:2;grid-row:2}
.footer .legal a[data-cookie-settings]{cursor:pointer}
@media (max-width:767px){.ck-banner{grid-template-columns:1fr;left:.5rem;right:.5rem;bottom:.5rem;padding:1.25rem;max-height:70vh;overflow:auto}.ck-actions{justify-content:stretch}.ck-actions .ck-btn{flex:1}.ck-foot .ck-btn{flex:1 1 100%}}

/* shortlist polish (6 Oct) */
.sl-help{background:var(--oxford)!important;color:#fff;gap:1.1rem}
.sl-help h2{color:#fff}
.sl-help .sl-quote{color:#ffffffe0;border-left-color:var(--neon-yellow,#ffe96b);font-size:.95rem}
.sl-help .fa-person b{color:#fff}.sl-help .fa-person span{color:#ffffffa6}
.sl-help .btn{background:#fff;border-color:#fff;color:var(--oxford)}.sl-help .btn:hover{background:var(--neon-yellow,#ffe96b);border-color:var(--neon-yellow,#ffe96b);color:var(--oxford)}
.sl-help .sl-cal{background:#fff}
.form-card .ms-btn .chip{font-size:.9rem;padding:.3rem .65rem;line-height:1.3}
.form-card .shape-pick legend{margin-bottom:.75rem!important}
.form-card .shape-opt{padding:.85rem 1rem;align-items:center!important}
.form-card .so-txt span{margin-top:.1rem}
.slc-row{padding:.35rem .5rem .35rem .75rem}
.slc-b{width:1.9rem;height:1.75rem;font-size:1rem}
.slc-step input{height:1.75rem;width:2.5rem;font-size:.9rem}
.form-card .slc-row{padding:.3rem .4rem .3rem .75rem!important;min-height:0!important}
.form-card .slc-step{height:1.9rem}
.form-card .slc-b,.form-card .slc-step input{height:1.9rem!important;min-height:0!important;padding:0!important;line-height:1.9rem}
.form-card .slc-b{width:1.9rem!important}
.form-card .slc-step input{width:2.5rem!important}
.form-card .shape-opt .so-txt b{white-space:nowrap}
.form-card .shape-opt{padding:.85rem .9rem!important;gap:.6rem!important}
.cmpcalc.fixed .cmp-cards{margin-top:0}
.cmpcalc.fixed .cmp-foot .btn{flex:none}
/* case cards: medium titles, clearer hierarchy (logo -> title -> summary -> link) */
.cs-card-body{gap:0!important;padding:1.75rem 2rem 2rem!important}
.cs-card-body .cs-logo{margin:0 0 1.25rem!important;height:2rem;width:8rem}
.cs-card-body h2,.cs-card-body h3{font-size:1.5rem!important;font-weight:500!important;line-height:1.2!important;letter-spacing:-.02em;margin:0!important}
.cs-card-body>p.muted,.cs-card-body .cs-why{margin:.75rem 0 0!important;font-size:.95rem;line-height:1.5}
.cs-card-body .ac-go{margin-top:auto!important;padding-top:1.5rem!important}
.cs-card.wide .cs-card-body{padding:2.5rem 2.5rem 2.25rem!important}
.cs-card.wide .cs-card-body h2{font-size:1.75rem!important}
.cs-more .cs-card-body h3{font-size:1.25rem!important}
.cs-more.fit .cs-card-body h3{font-size:1.4rem!important}
@media (max-width:767px){.cs-card-body{padding:1.5rem!important}.cs-card-body h2,.cs-card-body h3,.cs-card.wide .cs-card-body h2{font-size:1.3rem!important}}
/* footer bottom row v3 (6 Oct): one full-width line. Badges inline left, copyright, legal links inline right */
.footer .bottom{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap!important;gap:1.25rem 2.5rem!important;grid-template-columns:none!important}
.footer .bottom .f-creds,.footer .bottom .f-copy,.footer .bottom .legal{grid-column:auto!important;grid-row:auto!important;margin:0!important;max-width:none!important}
.footer .bottom .f-creds .creds{flex-direction:row!important;align-items:center!important;flex-wrap:nowrap!important;gap:1.75rem!important}
.footer .bottom .f-copy{flex:1 1 auto;display:flex;flex-wrap:wrap;gap:0 .4rem}
.footer .bottom .legal{flex-direction:row!important;align-items:center!important;flex-wrap:wrap!important;gap:.5rem 1.5rem!important;justify-content:flex-end!important;margin-left:0!important}
@media (max-width:1199px){.footer .bottom{justify-content:flex-start!important}.footer .bottom .f-copy{flex-basis:100%;order:3}.footer .bottom .legal{justify-content:flex-start!important}}
@media (max-width:600px){.footer .bottom .f-creds .creds{flex-wrap:wrap!important}.footer .bottom .legal{flex-basis:100%}}
@media (min-width:1200px){.footer .bottom{flex-wrap:nowrap!important;gap:2rem!important}.footer .bottom .f-copy{flex:0 1 auto;font-size:.75rem}.footer .bottom .legal{flex-wrap:nowrap!important;gap:1.25rem!important;white-space:nowrap}.footer .bottom .legal a{font-size:.75rem}}
@media (min-width:1200px){.footer .bottom .f-copy{flex-direction:column;flex-shrink:0}.footer .bottom .f-copy p{white-space:nowrap}.footer .bottom .legal{gap:1rem!important}}
@media (min-width:1200px){
  .footer .bottom{display:grid!important;grid-template-columns:auto auto 1fr!important;align-items:center!important;column-gap:2.5rem!important}
  .footer .bottom .f-creds{grid-column:1!important}.footer .bottom .f-copy{grid-column:2!important}
  .footer .bottom .legal{grid-column:3!important;justify-content:flex-end!important;flex-wrap:wrap!important;white-space:normal;gap:.4rem 1.1rem!important}
  .footer .bottom .legal a{white-space:nowrap}
}
@media (min-width:1200px){.footer .bottom .legal{justify-self:end;margin-left:auto!important}}
.footer .bottom .f-copy{text-align:left!important;justify-content:flex-start!important}
@media (max-width:1199px){.footer .bottom .f-copy{width:100%}}
/* text links never stretch inside flex/grid cards */
.face .link,.aud-points .link,.box .link,.stack>.link,.card .link{align-self:flex-start;justify-self:start;width:fit-content;display:inline-flex}

/* ---- Component consistency pass (6 Oct) ----
   Tags: one style, .tag (outlined, mono, uppercase). Variants removed: .tag.solid, .cs-tags, .wp1-crit li, .chips span now match .tag.
   Buttons: .btn (primary), .btn.white (primary on dark), .btn.ghost (secondary). .ghost-dark retired.
   Links: .link (underlined text link, fits its text) and .ac-go (whole-card call to action). */
.tag.solid{background:transparent;border-color:var(--border);color:var(--fg-2)}
.wp1-crit li,.chips span,.cs-tags span{padding:.375rem .5rem!important;border:1px solid var(--border)!important;border-radius:0!important;font:500 .75rem/1.1 var(--mono)!important;letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2)!important;background:transparent!important}
.tag{border-radius:0}
.filters a{border-radius:0}
.btn.ghost-dark{background:transparent;color:var(--oxford);border-color:var(--neutral-light)}
.panel.soft .btn.ghost,.cmpcalc .btn.ghost{background:#fff}
.ac-go,.vac-go{font-weight:500}
.ac-go .icon,.link .icon{--icon-size:1rem}
/* hire pages: Miyagami price card (6 Oct) */
.price-card .pc-range{font-size:clamp(2rem,3.4vw,2.9rem)}
.price-card li .icon{color:var(--neon-blue)}
a.pc-foot{text-decoration:none;color:inherit;transition:background .25s var(--ease)}
a.pc-foot:hover{background:#e9ebef}
.pc-foot div{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}
.pc-foot .link{font-size:.85rem}
a.pc-foot:hover .link .icon{transform:translateX(3px)}
/* About hero: content bottom-left like the other photo heroes, lower height (6 Oct) */
.about-hero{min-height:min(68vh,640px)!important;justify-content:flex-end!important;align-items:stretch!important;padding-bottom:0!important}
.about-hero>.wrap{flex:0 0 auto!important;padding-top:8rem;padding-bottom:4rem}
@media (max-width:767px){.about-hero{min-height:min(72vh,560px)!important}.about-hero>.wrap{padding-top:7rem;padding-bottom:2rem}}
/* Home hero on big screens (6 Oct): cap the height so the title doesn't sit under a screen of empty gradient, and scale the type up */
@media (min-width:1400px){
  .hero.home{min-height:min(calc(100svh - 2rem),920px)}
  .hero.home>.hero-main{padding-top:9rem}
  .hero.home h1{font-size:clamp(4.25rem,4.2vw,5.25rem);max-width:16ch}
  .hero.home .hero-foot{align-items:flex-end}
}
/* Shortlist help block: white with a light grey outline (6 Oct). No neon yellow anywhere on the site. */
.sl-help{background:#fff!important;color:var(--oxford);border:1px solid var(--border)}
.sl-help h2{color:var(--oxford)}
.sl-help .sl-quote{color:var(--fg-2);border-left-color:var(--neon-blue)}
.sl-help .fa-person b{color:var(--oxford)}.sl-help .fa-person span{color:var(--fg-2)}
.sl-help .btn{background:var(--oxford);border-color:var(--oxford);color:#fff}
.sl-help .btn:hover{background:#1a2440;border-color:#1a2440;color:#fff}
.sl-help .sl-cal{background:#fff}
.nf-links a:hover b{color:var(--accent-on-dark)}
.an-crit em{background:var(--accent-soft);color:var(--neon-blue)}
.cert-img:has(img[src*="cert-clutch"]){background:#000}
/* Shortlist progress: tag-style steps with mono 01/02/03 numbers, like the rest of the site (6 Oct) */
.page-hero.sl .sl-steps{margin:0 0 2.5rem!important;gap:.5rem;align-items:center;flex-wrap:wrap}
.sl-steps li{gap:.5rem;padding:.375rem .6rem;border:1px solid var(--border);font:500 .75rem/1.1 var(--mono);letter-spacing:.02em;text-transform:uppercase;color:var(--fg-2);background:transparent}
.sl-steps li span{width:auto;height:auto;border:0!important;border-radius:0;background:none!important;display:inline;font:inherit;color:var(--neon-blue)}
.sl-steps li.on{color:#fff;background:var(--oxford);border-color:var(--oxford);font-weight:500}
.sl-steps li.on span{color:#9fb2ff}
.sl-steps li.done{color:var(--oxford)}
.sl-steps li+li{position:relative;margin-left:1.25rem}
.sl-steps li+li::before{content:"";position:absolute;left:-1.3rem;top:50%;width:.8rem;border-top:1px solid var(--border)}
.sl-steps{flex-wrap:nowrap!important}
@media (max-width:600px){.sl-steps li{padding:.3rem .45rem;font-size:.68rem}.sl-steps li+li{margin-left:.7rem}.sl-steps li+li::before{left:-.6rem;width:.4rem}}
.page-hero.sl h1{margin-top:0}
.news-sources{margin-top:3rem!important;padding-top:1.75rem;border-top:1px solid var(--border)}
.news-sources ul{margin:.5rem 0 0;padding-left:1.1rem}.news-sources li{font-size:.95rem}
.nh-inner > .news-meta{margin-top:1.5rem}
/* About: our story */
.as-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:3rem;align-items:start;margin-top:1rem}
.as-text{display:flex;flex-direction:column;gap:1.1rem}.as-text h2{margin:0 0 .4rem}.as-text p{margin:0}
.as-photo{margin:0;position:sticky;top:6rem}
.as-photo img,.as-ph{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--radius-sm);display:block}
.as-ph{background:var(--secondary-white);border:1px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:var(--muted);font-family:var(--mono,"Space Mono",monospace);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}
.as-ph .icon{width:2rem;height:2rem;opacity:.5}
.as-why{margin-top:3rem;padding:2rem;border-radius:var(--radius-sm)}
.as-why h3{margin:0}.as-why-cols{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.as-why-cols p{margin:0}
@media (max-width:900px){.as-grid,.as-why-cols{grid-template-columns:1fr;gap:1.5rem}.as-photo{position:static}}
.as-why{display:flex;flex-direction:column;gap:1.25rem}
/* Leadership: LinkedIn link on photo */
a.member{text-decoration:none;color:inherit;display:block}
.member .m-img{position:relative}
.member .m-li{position:absolute;right:.75rem;bottom:.75rem;width:2.25rem;height:2.25rem;border-radius:var(--radius-sm);background:#fff;color:var(--oxford,#000c25);display:grid;place-items:center;transition:background .2s,color .2s}
.member .m-li svg{width:1.15rem;height:1.15rem}
a.member:hover .m-li,a.member:focus-visible .m-li{background:var(--neon-blue);color:#fff}
a.member:hover b{color:var(--neon-blue)}
/* Related reading: arrow top right */
.rr-card{position:relative;padding-right:3.5rem}
.rr-card .rr-go{position:absolute;top:2rem;right:1.75rem;display:inline-flex}
.rr-card .rr-go .icon{transform:rotate(0)}
/* Good / turned-down cards: tighter list (7 Oct) */
.goodbad .gb-list{gap:.5rem;margin-top:.9rem}
.goodbad .gb-list li,.panel.dark .goodbad .gb-list li{padding:0;border-top:0}
.goodbad .gb-list li::before{content:none}
/* Compare: why Miyagami (7 Oct) */
.cmp-why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
.cmp-why-grid .face{display:flex;flex-direction:column;gap:.6rem;background:#fff;border-color:#fff}
.cmp-why-grid .cw-n{font:500 .8rem var(--mono);color:var(--neon-blue)}
.cmp-why .row{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
@media (max-width:991px){.cmp-why-grid{grid-template-columns:1fr}}
.section-head .stack-s{display:flex;flex-direction:column;align-items:flex-start;gap:1rem}
.tl-card .steps>div,.panel.soft .tl-card .steps>div{background:none!important;border:0!important;padding:0!important}
/* Our story: title full width, text and photo same height (7 Oct) */
.as-title{margin:1rem 0 2.5rem;max-width:22ch}
.as-grid{align-items:stretch;gap:3.5rem;margin-top:0}
.as-text{justify-content:center}
.as-photo{position:static;height:100%}
.as-photo img{height:100%;min-height:340px;aspect-ratio:auto}
@media (max-width:900px){.as-photo img{aspect-ratio:3/2;height:auto;min-height:0}.as-title{margin-bottom:1.5rem}}
/* How we vet: vertical clickable timeline (7 Oct) */
.vt{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:4rem;align-items:start;margin-top:1rem}
.vt-side{position:sticky;top:6.5rem;display:flex;flex-direction:column;gap:1.25rem}
.vt-side h2{margin:0}
.vt-nav{position:relative;display:flex;flex-direction:column;margin-top:1rem;padding-left:0}
.vt-rail{position:absolute;left:7px;top:14px;bottom:14px;width:2px;background:var(--border);border-radius:2px;overflow:hidden}
.vt-fill{position:absolute;left:0;top:0;width:100%;height:0;background:var(--neon-blue);transition:height .35s var(--ease,ease)}
.vt-nav a{position:relative;display:grid;grid-template-columns:16px 2.2rem 1fr;align-items:center;gap:.75rem;padding:.55rem 0;text-decoration:none;color:var(--fg-2);font-size:.95rem;transition:color .2s}
.vt-nav a:hover{color:var(--oxford)}
.vt-dot{width:16px;height:16px;border-radius:50%;background:var(--secondary-white);border:2px solid var(--border);box-sizing:border-box;z-index:1;transition:background .2s,border-color .2s,transform .2s}
.vt-n{font:500 .75rem var(--mono,"Space Mono",monospace);letter-spacing:.04em}
.vt-nav a.done .vt-dot{background:var(--neon-blue);border-color:var(--neon-blue)}
.vt-nav a.on{color:var(--oxford);font-weight:500}
.vt-nav a.on .vt-dot{background:#fff;border-color:var(--neon-blue);transform:scale(1.2);box-shadow:0 0 0 4px rgba(31,72,254,.15)}
.vt-steps{list-style:none;margin:0;padding:0;position:relative;display:flex;flex-direction:column;gap:1rem}
.vt-steps::before{content:"";position:absolute;left:1.25rem;top:1.5rem;bottom:1.5rem;width:2px;background:var(--border)}
.vt-step{position:relative;display:grid;grid-template-columns:2.5rem 1fr;gap:1.25rem;scroll-margin-top:7rem}
.vt-marker{position:relative;z-index:1;width:2.5rem;height:2.5rem;border-radius:50%;background:#fff;border:2px solid var(--border);display:grid;place-items:center;font:500 .75rem var(--mono,"Space Mono",monospace);color:var(--fg-2);margin-top:1.4rem;transition:all .25s}
.vt-step.on .vt-marker,.vt-step.done .vt-marker{background:var(--neon-blue);border-color:var(--neon-blue);color:#fff}
.vt-card{background:#fff;border:1px solid #fff;border-radius:var(--radius-sm);padding:1.75rem;display:flex;flex-direction:column;gap:.6rem;transition:border-color .25s,box-shadow .25s}
.vt-card h3{margin:0}.vt-card p{margin:0}.vt-card .link{align-self:flex-start;margin-top:.4rem}
.vt-step.on .vt-card{border-color:var(--neon-blue);box-shadow:0 8px 24px -16px rgba(0,12,37,.35)}
.vt-step.key .vt-card .k-label{color:var(--neon-blue)}
@media (max-width:991px){.vt{grid-template-columns:1fr;gap:2rem}.vt-side{position:static}.vt-nav{display:none}}
.panel.vt-section{overflow:clip}
.vt-side h2{font-size:clamp(2rem,3.2vw,3rem)}
/* Cost & timeline: dark Timeline card (7 Oct) */
.cc-card.tl-card.dark{background:var(--oxford);border-color:var(--oxford);color:#fff;--fg:#fff;--fg-2:rgba(255,255,255,.72)}
.cc-card.tl-card.dark .cc-big,.cc-card.tl-card.dark .cc-foot b{color:#fff}
.cc-card.tl-card.dark .cc-big small{color:rgba(255,255,255,.72)}
.cc-card.tl-card.dark ul .icon{color:var(--accent-on-dark,#8fa6ff)}
.cc-card.tl-card.dark .cc-foot{background:#ffffff0f!important;border-top-color:#ffffff1f}
.cc-card.tl-card.dark a.pc-foot:hover{background:#ffffff1a!important}
.cc-card.tl-card.dark .cc-foot>.icon{color:var(--accent-on-dark,#8fa6ff)!important}
.cc-card.tl-card.dark .cc-foot .link{color:rgba(255,255,255,.85)}
.cmp-col .face{gap:.6rem;padding:1.5rem 1.6rem}.cmp-col .face h3,.cmp-col .face p{margin:0}
/* Home: what we do (7 Oct) */
.hi-title{max-width:20ch;margin:1rem 0 3rem}
.hi-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}
.hi-col{display:flex;flex-direction:column;gap:.75rem;padding-top:1.5rem;border-top:2px solid var(--oxford)}
.hi-col:nth-child(3){border-top-color:var(--neon-blue)}
.hi-col h3,.hi-col p{margin:0}
.hi-col .k-label{display:flex;gap:.6rem;align-items:center}
.hi-n{color:var(--neon-blue)}
.hi-col .link{margin-top:auto;padding-top:.5rem;align-self:flex-start}
@media (max-width:991px){.hi-cols{grid-template-columns:1fr;gap:2rem}}
.hi-title{max-width:28ch}
.home-intro .k-label.mb-m{margin-bottom:1.25rem!important}
/* Home: what we do v3 – 2/3 + 1/3 (7 Oct) */
.hi-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;margin-top:1rem}
.hi-main{display:grid;grid-template-columns:1fr 1fr;gap:2rem 2.5rem;padding:2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff}
.hi-main .hi-col{border:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.hi-main .hi-col h3,.hi-main .hi-col p,.hi-def h3,.hi-def p{margin:0}
.hi-link{grid-column:1/-1;align-self:start;justify-self:start}
.hi-def{background:var(--neon-blue);color:#fff;border-radius:var(--radius-sm);padding:2rem;display:flex;flex-direction:column;gap:.6rem}
.hi-def .k-label{color:rgba(255,255,255,.75)}
.hi-def h3{color:#fff}
.hi-def .link{color:#fff;margin-top:auto;padding-top:1rem;align-self:flex-start}
@media (max-width:991px){.hi-grid,.hi-main{grid-template-columns:1fr}}
/* Cost & timeline: identical headline + list metrics on both cards */
.cc-card .pc-range{font-size:clamp(2rem,3.4vw,2.9rem)!important;line-height:1;letter-spacing:-.05em}
.cc-card .pc-range small{font-size:1rem;letter-spacing:0;font-weight:400}
.price-card ul,.tl-card ul{gap:.6rem}
.price-card ul li,.tl-card ul li{font-size:.95rem;line-height:1.45}
.cc-card .pc-range small{margin-left:.35rem}
/* Home: what we do v4 */
.hi-main{display:flex;flex-direction:column;gap:1rem}
.hi-main p{margin:0;max-width:62ch}
.hi-main .link{margin-top:auto;padding-top:.5rem;align-self:flex-start}
.hi-h{margin:0;font-size:clamp(1.5rem,2.2vw,1.9rem);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.hi-def{background:var(--oxford)}
.hi-def .k-label{color:var(--fg-2,rgba(255,255,255,.72))}
.hi-def p:not(.k-label){color:rgba(255,255,255,.85)}
.hi-def .k-label{color:rgba(255,255,255,.6)!important}.hi-main p{max-width:68ch}
/* Home: what we do v5 – standard face cards + h4 titles */
.home-intro .hi-grid{margin-top:0}
.home-intro .face{gap:1rem}
.home-intro .face h3,.home-intro .face p{margin:0}
.home-intro .hi-main{padding:2rem;border:1px solid var(--border);background:#fff}
.home-intro .hi-ctas{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:.75rem}
.home-intro .hi-def{border-color:var(--oxford);background:var(--oxford);color:#fff}
.home-intro .hi-def h3{color:#fff}
.home-intro .hi-def .link{margin-top:auto;padding-top:.75rem}
/* Home: what we do v6 – open text + dark definition card */
.hi2{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:4rem;align-items:center}
.hi2-main{display:flex;flex-direction:column;gap:1.5rem}
.hi2-main h2{margin:0;max-width:16ch}
.hi2-main p{margin:0;max-width:60ch}
.hi2-main .hi-ctas{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
.hi2-def{background:var(--oxford);color:#fff;border-radius:var(--radius-sm);padding:2rem;display:flex;flex-direction:column;gap:.9rem}
.hi2-def .k-label{color:rgba(255,255,255,.6);margin:0}
.hi2-def h3{color:#fff;margin:0}
.hi2-def p{margin:0;color:rgba(255,255,255,.8);font-size:.95rem;line-height:1.55}
.hi2-wp{display:grid;grid-template-columns:3.5rem 1fr auto;gap:1rem;align-items:center;margin-top:.75rem;padding-top:1.25rem;border-top:1px solid #ffffff1f;color:#fff;text-decoration:none}
.hi2-wp img{width:3.5rem;aspect-ratio:3/4;object-fit:cover;border-radius:4px}
.hi2-wp small{display:block;font:500 .7rem var(--mono,"Space Mono",monospace);text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.6)}
.hi2-wp b{font-weight:500}
.hi2-wp:hover .icon{transform:translateX(3px)}
@media (max-width:991px){.hi2{grid-template-columns:1fr;gap:2rem}}
.hi2-main h2{max-width:22ch}
/* Home: what we do v7 – spacing + matched measure */
.hi2{align-items:stretch}
.hi2-main{gap:0;justify-content:center}
.hi2-main .eyebrow{margin-bottom:2.5rem}
.hi2-main h2{max-width:none;margin:0 0 1.5rem}
.hi2-main p{max-width:none;margin:0}
.hi2-main .hi-ctas{margin-top:2.5rem}
.home-intro .hi2-main>h2{margin:0 0 1.75rem!important}
.home-intro .hi2-main>.hi-ctas{margin-top:2.75rem!important}
.home-intro .hi2-main>.eyebrow{margin-bottom:2.5rem!important}
.home-intro .hi2-main>h2{margin-bottom:2rem!important}
.home-intro .hi2-main>.hi-ctas{margin-top:3rem!important}
.rr-card h3{padding-right:.5rem}.rr-card .rr-go{top:2rem}
.hi2-wp{grid-template-columns:4rem 1fr auto}
.hi2-wp img{width:4rem;aspect-ratio:615/825;object-fit:cover;border-radius:3px;box-shadow:0 6px 16px -8px rgba(0,0,0,.6)}
.router-line{font-size:clamp(1.4rem,1.9vw,1.65rem)!important;line-height:1.25!important;letter-spacing:-.025em!important}
.router-card .router-foot{margin-top:auto;padding-top:1.5rem}
/* How we vet timeline: square markers per design system (no circles) */
.vt-marker{border-radius:var(--radius-xs)!important;width:2.25rem;height:2.25rem;background:#fff;border:1px solid var(--border)}
.vt-steps::before{left:1.125rem;width:1px}
.vt-step{grid-template-columns:2.25rem 1fr}
.vt-step.on .vt-marker,.vt-step.done .vt-marker{background:var(--neon-blue);border-color:var(--neon-blue)}
.vt-dot{border-radius:1px!important;width:12px;height:12px;border-width:1px;margin-left:2px}
.vt-rail{left:7px;width:1px}
.vt-nav a.on .vt-dot{transform:none;box-shadow:none;background:var(--neon-blue);border-color:var(--neon-blue)}
.vt-nav a.done .vt-dot{background:var(--oxford);border-color:var(--oxford)}
.vt-rail{background:#d5d9e0}.vt-dot{background:#fff;border-color:#c4c9d2}
/* Articles: card grid + search (7 Oct) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.kb-search{position:relative;max-width:32rem;margin-bottom:1.25rem}
.kb-search .icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:1.15rem;height:1.15rem;color:var(--fg-2);pointer-events:none}
.kb-search input{width:100%;font:inherit;font-size:1rem;padding:.85rem 1rem .85rem 2.75rem;border:1px solid var(--border);border-radius:var(--radius-xs);background:#fff;color:var(--oxford)}
.kb-search input:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 0 3px rgba(31,72,254,.12)}
.kb-grid{margin-top:0}
.kb-card .nc-body{padding:1.75rem 3.25rem 1.75rem 1.75rem}
.kb-card .rr-go{top:1.75rem;right:1.5rem}
.kb-card[hidden],.kb-empty[hidden]{display:none!important}
.kb-card .news-meta span:first-child::before{display:none}
.kb-empty{margin-top:1rem}
@media (max-width:991px){.kb-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.kb-grid{grid-template-columns:1fr}}
/* Articles: search inline with filters (desktop) */
.kb-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:2.5rem}
.kb-bar .filters{margin:0}
.kb-bar .kb-search{margin:0;flex:0 0 15rem;max-width:15rem}
.kb-bar .kb-search input{font-size:.85rem;height:33px;box-sizing:border-box;padding:0 .75rem 0 2.1rem;border-radius:2px}
.kb-bar .kb-search .icon{left:.7rem;width:.95rem;height:.95rem}
@media (max-width:767px){.kb-bar{flex-direction:column;align-items:stretch}.kb-bar .kb-search{flex:1 1 auto;max-width:none}}
/* For who index: text-only audience cards (7 Oct) */
.aud-card.no-img{grid-template-columns:1fr;min-height:240px}
.aud-card.no-img .ac-body{padding:2.25rem}
.aud-card.no-img h2{margin:0;max-width:22ch}
.aud-card.no-img .ac-go{margin-top:auto}

/* Launch QA (7 Oct): phone overflow fixes */
@media (max-width:767px){
  .nav-cta .btn{padding-left:.9rem;padding-right:.9rem;font-size:.85rem;white-space:nowrap;max-width:52vw;overflow:hidden;text-overflow:ellipsis}
  .nav-cta .btn .icon{display:none}
  .nav-cta{gap:.35rem;min-width:0}.nav-inner{min-width:0}
  .row{flex-wrap:wrap}
  .row>.btn,.hero .btn{max-width:100%;white-space:normal;text-align:center}
  .story,a.story{grid-template-columns:minmax(0,1fr)!important}
  .story>*{min-width:0}
  .story-facts{padding:1.5rem}
  .story-facts>div{grid-template-columns:minmax(0,1fr);gap:.25rem}
  .mkt-grid{grid-template-columns:minmax(0,1fr)}
  .mkt-card{min-width:0}
  .bd-table table{min-width:0}
  .form-aside{min-width:0;max-width:100%}
  .hero p,.page-hero p{overflow-wrap:break-word}
}
@media (max-width:420px){.nav-cta .locale span{display:none}}
@media (max-width:767px){.cmp-foot{flex-wrap:wrap;min-width:0}.cmp-foot .btn,.btn{max-width:100%;white-space:normal;text-align:center}}
@media (max-width:767px){.section-head{min-width:0;max-width:100%}.section-head h2{overflow-wrap:break-word;hyphens:auto}}

/* Homepage hero client logos (7 Oct): equal visual area per logo */
.logo-set img[class^="lg-"]{max-width:none}
.logo-set .lg-rabobank{height:1.50rem}
.logo-set .lg-deloitte{height:1.54rem}
.logo-set .lg-schiphol{height:2.49rem}
.logo-set .lg-studeersnel{height:1.50rem}
.logo-set .lg-nrisk{height:2.03rem}
.logo-set .lg-garmin{height:2.1rem}
.logo-set .lg-marriott{height:2.25rem}
@media (max-width:991px){.logo-set .lg-rabobank{height:1.12rem}.logo-set .lg-deloitte{height:1.16rem}.logo-set .lg-schiphol{height:1.87rem}.logo-set .lg-studeersnel{height:1.13rem}.logo-set .lg-nrisk{height:1.52rem}.logo-set .lg-garmin{height:1.58rem}.logo-set .lg-marriott{height:1.69rem}}
