/* ============================================================
   CxLEVER — Corporate Website Stylesheet
   Brand source: Proposal & Company Presentation Master Deck
   Charcoal #2E2E2E · Lime #EAFB0E · Light text · Poppins
   Mobile-first, no framework, no dependencies.
   Each HTML section carries a comment naming its Leroux block.
   ============================================================ */

:root{
  --bg:#2E2E2E;
  --bg-deep:#232323;
  --panel:#383838;
  --panel-2:#1E1E1E;
  --line:rgba(208,208,208,.16);
  --text:#C9C9C4;
  --head:#F4F4F0;
  --accent:#EAFB0E;
  --accent-ink:#1C1C1C;
  --warn:#FF7A5C;
  --max:1160px;
  --radius:5px;
  --shadow:0 10px 34px rgba(0,0,0,.35);
}

@font-face{font-family:"Outfit Fallback";src:local("Arial");
  size-adjust:104%;ascent-override:100%;descent-override:25%;line-gap-override:0%}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overscroll-behavior-y:none;background:#191919}
[id]{scroll-margin-top:86px}
body{overscroll-behavior-y:none}
body{
  background:var(--bg);
  color:var(--text);
  font-family:'Outfit','Outfit Fallback',ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  font-size:16px;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--head);text-decoration:none}
::selection{background:var(--accent);color:var(--accent-ink)}

.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
section{padding:clamp(56px,9vw,112px) 0;position:relative}
section.tight{padding:clamp(34px,5vw,56px) 0}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* ---------- typography ---------- */
h1,h2,h3,h4{color:var(--head);font-weight:700;line-height:1.14;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(38px,6.8vw,84px);font-weight:800;letter-spacing:-.03em;line-height:1.02}
h2{font-size:clamp(30px,4.2vw,50px);letter-spacing:-.02em}
h3{font-size:clamp(18px,2vw,22px)}
p.lede{font-size:clamp(17px,1.8vw,20px);font-weight:300;color:#D6D6D1;max-width:62ch}
.accent{color:var(--accent)}
.kicker{
  display:inline-block;color:var(--accent);font-weight:700;font-size:12.5px;
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;
}
.kicker .idx{opacity:.55;margin-right:10px}
.kicker:not(:has(.idx))::before{content:"";display:inline-block;width:26px;height:2px;background:var(--accent);margin-right:12px;vertical-align:4px}
.center{text-align:center}
.center p.lede{margin-inline:auto}
.mt-1{margin-top:10px}.mt-2{margin-top:18px}.mt-3{margin-top:28px}.mt-4{margin-top:46px}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;gap:10px;justify-content:center;
  background:var(--accent);color:var(--accent-ink);font-weight:700;font-size:15px;
  padding:15px 26px;border-radius:5px;border:1px solid var(--accent);cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.btn:hover{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.ghost{background:transparent;color:#F4F4F0;border-color:var(--line)}
.btn.ghost:hover{background:transparent;border-color:var(--accent);color:var(--accent)}
.btn .arr{font-weight:800}
.linkmore{color:var(--accent);font-weight:600;font-size:inherit}
.linkmore:hover{text-decoration:underline}

/* ---------- header / nav ---------- */
.site-head{
  position:sticky;top:0;z-index:60;
  background:#1E1E1E;
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;gap:16px;height:70px}
.brand{display:flex;align-items:center;gap:9px;font-weight:800;font-size:21px;color:var(--head);letter-spacing:.01em}
.brand svg.mark{width:22px;height:22px;flex:none}
.brand-img{height:34px;width:142px;max-width:none;flex:none;object-fit:contain;object-position:left center;display:block;color:transparent;font-size:0}
.brand b{color:var(--accent)}
.nav-links{display:flex;align-items:center;gap:0;margin-left:auto;list-style:none}
.nav-links>li{position:relative}
.nav-links a{display:block;padding:10px 11px;font-size:14px;font-weight:600;color:var(--head);border-radius:5px;white-space:nowrap}
.nav-links a:hover{color:var(--accent)}
.nav-links a.on{color:var(--accent)}
.dd:hover>.dd-menu,.dd:focus-within>.dd-menu,.dd.open>.dd-menu{opacity:1;visibility:visible;transform:none}
.dd-menu{
  position:absolute;top:100%;left:0;min-width:320px;padding:8px 0;
  background:#191919;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:0;
  box-shadow:0 16px 34px rgba(0,0,0,.5);counter-reset:dditem;
  opacity:0;visibility:hidden;transform:translateY(6px);transition:all .18s ease;list-style:none;
}
.dd-menu li{counter-increment:dditem}
.dd-menu a{display:flex;align-items:baseline;gap:12px;padding:11px 18px 11px 16px;font-size:13.5px;
  border-radius:0;border-left:2px solid transparent;letter-spacing:.01em}
.dd-menu a::before{content:"0" counter(dditem);color:var(--accent);font-size:11px;font-weight:700;
  letter-spacing:.08em;min-width:18px;font-variant-numeric:tabular-nums}
.dd-menu a:hover{background:transparent;color:var(--head);border-left-color:var(--accent)}
.nav-links a.nav-cta{margin-left:0;white-space:nowrap;padding:0 18px;height:38px;font-size:13.5px;border-radius:5px;
  font-weight:700;letter-spacing:.015em;color:var(--accent-ink);background:var(--accent);
  display:inline-flex;align-items:center;gap:9px}
.nav-links li.srch{margin:0 16px}
.nav-links a.nav-cta .arrw{width:14px;height:14px}
.nav-links a.nav-cta:hover{background:transparent;color:var(--accent);border-color:var(--accent)}
.join-glow{color:var(--accent) !important;text-shadow:0 0 14px rgba(234,251,14,.45)}
.join-glow:hover{color:var(--head) !important;text-shadow:0 0 18px rgba(234,251,14,.7)}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line);border-radius:5px;
  color:var(--head);font-size:20px;line-height:1;padding:8px 12px;cursor:pointer}

@media (max-width:1280px){
  .burger{display:block}
  .nav-links{
    position:fixed;inset:70px 0 0 0;background:var(--bg-deep);flex-direction:column;align-items:stretch;
    padding:18px 22px;gap:2px;overflow:auto;display:none;margin:0;
  }
  .nav-links.open{display:flex}
  .nav-links a{padding:13px 10px;font-size:16px;border-bottom:1px solid var(--line)}
  .dd-menu{position:static;opacity:1;visibility:visible;transform:none;border:0;box-shadow:none;
    background:transparent;padding:0 0 0 14px;min-width:0}
  .dd-menu a{font-size:14.5px;color:var(--text)}
  .nav-cta{margin:14px 0 0}
  .nav-links a.nav-cta{white-space:normal;height:auto;min-height:44px;padding:12px 18px}
}

/* ---------- mega-menu labels & breadcrumbs ---------- */

/* ---------- carets, icons, dividers ---------- */
.caret{display:inline-block;width:7px;height:7px;border-right:1.6px solid var(--accent);
  border-bottom:1.6px solid var(--accent);transform:rotate(45deg);margin-left:8px;vertical-align:3px}
svg.ic{width:1em;height:1em;vertical-align:-0.12em;display:inline-block}
.icon svg{width:26px;height:26px}
.burger svg{display:block}
main>section+section{border-top:1px solid var(--line)}

/* ---------- hero ---------- */
.hero{padding:clamp(36px,5vw,68px) 0 clamp(52px,8vw,96px)}
.hero .seg{margin-bottom:48px}
.hero .kicker{display:block;text-align:right}
.hero .tagline{margin-top:26px;display:flex;flex-wrap:wrap;gap:10px 26px;font-size:15px;color:var(--text)}
.hero .tagline span{display:inline-flex;align-items:center;gap:8px}
.hero .tagline .dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.seg{
  display:inline-flex;flex-wrap:wrap;gap:4px;background:var(--panel-2);
  border:1px solid var(--line);border-radius:999px;padding:5px;margin-bottom:30px;
}
.seg button{
  font:inherit;font-size:13.5px;font-weight:600;color:var(--text);background:transparent;border:0;
  border-radius:999px;padding:9px 17px;cursor:pointer;transition:all .16s;
}
.seg button[aria-selected="true"]{background:var(--accent);color:var(--accent-ink)}
.seg button:not([aria-selected="true"]):hover{color:var(--accent)}
.seg button[aria-selected="true"]:hover{color:var(--accent-ink)}
.metric-pill{
  display:inline-block;margin-top:24px;padding:12px 18px;line-height:1.4;
  border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-size:14px;font-weight:500;
}
.metric-pill b{color:var(--accent)}

/* ---------- stats counter (leroux_core_counter) ---------- */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px 34px;text-align:left}
.stats .stat{position:relative;padding:4px 10px 4px 18px;border:0;border-left:2px solid var(--accent);border-radius:0;background:transparent}
.stats .num{font-size:clamp(38px,4.6vw,64px);font-weight:800;color:var(--head);line-height:1;font-variant-numeric:tabular-nums}
.stats .lab{margin-top:12px;font-size:12.5px;font-weight:600;color:var(--text);letter-spacing:.14em;text-transform:uppercase}
@media (max-width:860px){.stats{grid-template-columns:repeat(2,1fr)}}

/* ---------- split (Intro Text Split) ---------- */
.split{display:grid;grid-template-columns:.86fr 1.6fr;gap:clamp(24px,5vw,72px);align-items:start}
.split .k{position:sticky;top:96px}
@media (max-width:860px){.split{grid-template-columns:1fr}.split .k{position:static}}

/* ---------- card grids (image/icon cards) ---------- */
.grid{display:grid;gap:18px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media (max-width:1020px){.g4{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.g4,.g3,.g2{grid-template-columns:1fr}}
.card{
  background:transparent;border:0;border-top:1px solid var(--line);border-radius:0;
  padding:24px 18px 0 0;display:flex;flex-direction:column;gap:10px;transition:border-color .15s ease;
}
a.card:hover{border-top-color:var(--accent)}
.card .idx{color:var(--accent);font-weight:700;font-size:12.5px;letter-spacing:.14em}
.card h3{margin-top:2px}
.vs-h{display:flex;align-items:center;gap:11px;font-size:20px;font-weight:800;letter-spacing:-.01em}
.adv-roster .card{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:18px;row-gap:4px;align-items:start}
.adv-roster .card .ava{grid-row:1/span 5;width:64px;height:64px;margin:0}
.adv-roster .card .ava span{font-size:18px}
.adv-roster .card>*:not(.ava){grid-column:2}
.adv-roster .card h3{margin-top:0}
@media (max-width:640px){.adv-roster .card{grid-template-columns:52px minmax(0,1fr)}.adv-roster .card .ava{width:52px;height:52px}}
.vs-h .vs{font-size:11.5px;font-weight:800;letter-spacing:.14em;color:var(--accent-ink);background:var(--accent);padding:4px 8px;border-radius:4px;line-height:1;flex:none}
.card p{font-size:15px}
.card .go{margin-top:2px;padding-top:12px;color:var(--accent);font-weight:700;font-size:14px}
.icon{
  width:auto;height:auto;border-radius:0;background:none;border:0;
  display:flex;align-items:center;justify-content:flex-start;
  color:var(--accent);font-size:19px;font-weight:800;
}

/* ---------- process steps (leroux_core_workflow) — consultancy timeline ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:30px 26px;position:relative}
.steps::before{content:"";position:absolute;top:6px;left:6px;right:6px;height:2px;
  background:rgba(234,251,14,.35)}
.steps .step{background:none;border:0;border-radius:0;padding:32px 0 0;position:relative;transform:none}
.steps .step::before{content:"";position:absolute;top:0;left:0;width:13px;height:13px;background:var(--accent)}
.steps .step::after{display:none}
.steps .n{color:var(--accent);font-weight:800;font-size:12.5px;letter-spacing:.18em}
.steps h3{font-size:17.5px;margin:10px 0 8px;line-height:1.25}
.steps p{font-size:14px;line-height:1.6}
@media (max-width:1020px){
  .steps{grid-template-columns:1fr;gap:30px}
  .steps::before{top:6px;bottom:6px;left:5px;right:auto;width:2px;height:auto;
    background:rgba(234,251,14,.35)}
  .steps .step{padding:0 0 0 34px}
  .steps .step::before{top:4px}
}

/* ---------- numbered deep-dive (Vertical Tabs equivalent) ---------- */
.numlist{display:flex;flex-direction:column;gap:14px}
.numlist .item{
  display:grid;grid-template-columns:86px 1fr;gap:20px;align-items:start;
  background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;
}
.numlist .big{font-size:34px;font-weight:800;color:var(--accent);line-height:1}
@media (max-width:640px){.numlist .item{grid-template-columns:1fr;gap:8px}}

/* ---------- accordion (leroux_core_accordion) ---------- */
details.acc{border:1px solid var(--line);border-radius:5px;background:var(--panel-2);margin-bottom:12px;overflow:hidden}
details.acc summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:18px 22px;font-weight:600;color:var(--head);font-size:15.5px;
}
details.acc summary::-webkit-details-marker{display:none}
details.acc summary:after{content:"+";color:var(--accent);font-weight:800;font-size:20px;transition:transform .2s}
details.acc[open] summary:after{transform:rotate(45deg)}
details.acc .body{padding:0 22px 20px;font-size:14.5px}

/* ---------- progress bars (leroux_core_progress_bar) ---------- */
.bars .bar{margin-bottom:20px}
.bars .t{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:var(--head);margin-bottom:8px}
.bars .t b{color:var(--accent)}
.bars .track{height:8px;border-radius:6px;background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
.bars .fill{height:100%;background:var(--accent);border-radius:6px;width:0;transition:width 1.2s ease}

/* ---------- quotes (leroux_core_testimonials_list) ---------- */
.quote{
  background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:var(--radius);padding:26px;
}
.quote p{font-size:15.5px;color:var(--head)}
.quote .who{margin-top:14px;font-size:13px;color:var(--text)}

/* ---------- logos strip (leroux_core_clients_list) ---------- */
.logos{display:flex;flex-wrap:wrap;gap:16px 42px;align-items:center;justify-content:center;
  padding:32px;border:1px solid var(--line);border-top:2px solid var(--accent);border-radius:var(--radius);background:#1B1B1B}
.logos span{font-weight:700;font-size:17px;color:var(--head);opacity:.92;letter-spacing:.04em}
.logos span:hover{color:var(--head);opacity:1}
.logos .logo-slot{display:inline-flex;align-items:center}
.logos img{height:38px;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1) brightness(1.6);opacity:.75;transition:opacity .15s ease,filter .15s ease}
.logos img:hover{filter:grayscale(0) brightness(1);opacity:1}

/* ---------- CTA banner ---------- */
.cta-banner{
  background:var(--bg-deep);
  border:0;border-left:3px solid var(--accent);border-radius:0;
  padding:clamp(38px,6vw,72px) clamp(26px,5vw,64px);text-align:left;position:relative;overflow:hidden;
}
.cta-banner h2{max-width:24ch;margin-inline:0}
.cta-banner p{max-width:58ch;margin:16px 0 0}
.cta-banner .btn{margin-top:28px}

/* ---------- case cards ---------- */
.case{display:flex;flex-direction:column;gap:14px;padding-top:30px;padding-bottom:8px}
.case .sector{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:2px}
.pos-chips{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:12px}
.page-head .pos-chips{margin-top:28px}
.pos-chips span{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:var(--head);line-height:1.4}
.pos-chips span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.pos-tag{display:inline-block;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:700;border:1px solid rgba(234,251,14,.35);border-radius:4px;padding:4px 9px;line-height:1.2;margin-bottom:6px}
.case p{line-height:1.7}
.case .nums{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 6px}
.case .nums span{font-size:12.5px;font-weight:700;color:var(--head);
  background:rgba(234,251,14,.08);border:1px solid rgba(234,251,14,.3);border-radius:999px;padding:5px 11px}

/* ---------- team (leroux_core_team_list) ---------- */
.team .card{align-items:flex-start}
.team .ava{width:72px;height:72px;border-radius:50%;background:var(--panel);
  border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  color:var(--accent);font-weight:800;font-size:20px;position:relative;overflow:hidden;flex:none}
.team .ava img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.team .role{font-size:13px;color:var(--accent);font-weight:600}

/* ---------- tag cloud ---------- */
.tags{display:flex;flex-wrap:wrap;gap:12px}
.tags span{display:inline-flex;align-items:center;gap:9px;font-size:14.5px;font-weight:600;color:var(--head);
  padding:10px 16px;border-radius:5px;border:1px solid var(--line);background:var(--panel);line-height:1.3}
.tags span::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.tags span:hover{border-color:var(--accent)}

/* ---------- meetup city tiles ---------- */
.city{position:relative;overflow:hidden}
.city .flag{font-size:12px;font-weight:700;letter-spacing:.12em;color:var(--accent)}
.city .followers{font-size:12.5px;color:var(--text);opacity:.8}
.badge-soon{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--accent-ink);background:var(--accent);border-radius:6px;padding:3px 9px;margin-left:8px}

/* ---------- forms ---------- */
.form{display:grid;gap:14px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:640px){.form .row{grid-template-columns:1fr}}
.form label{font-size:13px;font-weight:600;color:var(--head);display:block;margin-bottom:6px}
.form input,.form select,.form textarea{
  width:100%;font:inherit;font-size:14.5px;color:var(--head);
  background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:13px 14px;outline:none;
}
.form select{appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23EAFB0E' stroke-width='1.8'/></svg>");background-repeat:no-repeat;background-position:right 16px center;padding-right:44px}
.form select[multiple]{background-image:none;padding-right:14px}
.form select option{background:#1E1E1E;color:var(--head);padding:8px}
.form select[multiple] option{padding:9px 10px;border-bottom:1px solid var(--line)}
.form select[multiple] option:checked{background:var(--accent);color:var(--accent-ink)}
.form input:hover,.form select:hover,.form textarea:hover{border-color:rgba(234,251,14,.45)}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--accent)}
.form .hint{font-size:12px;color:var(--text);opacity:.8}

/* ---------- calculators ---------- */
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.calc-in{display:flex;flex-direction:column}
.calc-in .smallnote{margin-top:auto !important;padding-top:18px}
@media (max-width:860px){.calc-grid{grid-template-columns:1fr}}
.calc-in{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px}
.calc-in .f{margin-bottom:20px}.calc-in .f:last-child{margin-bottom:0}
.calc-in .lab{display:flex;justify-content:space-between;font-size:15.5px;font-weight:600;color:var(--head);margin-bottom:9px;gap:10px}
.calc-in .lab b{font-size:16.5px;font-weight:800}
.calc-in .lab b{color:var(--accent);font-variant-numeric:tabular-nums}
.calc-in input[type=range]{width:100%;height:6px;appearance:none;border-radius:6px;background:var(--panel);outline:none}
.calc-in input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;
  background:var(--accent);border:3px solid var(--bg-deep);cursor:pointer}
.calc-in input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--accent);border:3px solid var(--bg-deep);cursor:pointer}
.calc-in .hint{font-size:12px;opacity:.8;margin-top:6px}
.calc-out{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;display:flex;flex-direction:column;gap:16px}
.calc-hero{background:#171717;border:1px solid rgba(234,251,14,.3);border-radius:5px;padding:26px 24px}
.calc-hero .k{font-size:12px;letter-spacing:.09em;text-transform:uppercase;opacity:.8;margin-bottom:10px}
.calc-hero .v{font-size:clamp(24px,3.2vw,34px);font-weight:800;color:var(--accent);line-height:1.05;font-variant-numeric:tabular-nums}
.calc-hero .s{font-size:13px;margin-top:12px;opacity:.85;line-height:1.6}
.calc-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.calc-row>span{color:var(--head);font-weight:500}
.calc-row b,.calc-row b span{font-weight:800}
.calc-row b span{color:inherit}
.calc-row:last-of-type{border-bottom:0}
.calc-row b{font-size:18px;color:var(--head);font-variant-numeric:tabular-nums}
.calc-row b.a{color:var(--accent)}
.smallnote{font-size:12px;opacity:.75;margin-top:14px;line-height:1.5}

/* ---------- footer ---------- */
footer{background:var(--panel-2);border-top:1px solid var(--line);padding:56px 0 30px;margin-top:40px}
.foot{display:grid;grid-template-columns:1.5fr 1.2fr 1fr 1fr 1fr;gap:30px}
@media (max-width:1100px){.foot{grid-template-columns:1fr 1fr 1fr}}
@media (max-width:860px){.foot{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.foot{grid-template-columns:1fr}}
.foot h4{font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--head);margin-bottom:14px}
.foot ul{list-style:none}
.foot li{margin-bottom:9px}
.foot a{font-size:14px;color:var(--text)}
.foot a.linkmore{color:var(--head);font-weight:600}
.foot a.linkmore:hover{color:var(--accent)}
.foot a:hover{color:var(--accent)}
.foot p{font-size:14px}
.foot .foot-tag{font-size:13.5px;color:var(--text);opacity:.85;max-width:34ch}
.foot .foot-contact{font-size:15.5px;font-weight:600;color:var(--head);
  border-left:2px solid var(--accent);padding-left:14px}
.foot .foot-contact a{color:var(--head)}
.foot .foot-contact a:hover{color:var(--accent)}
.legal{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:12px 26px;justify-content:space-between;font-size:12.5px;opacity:.75}
.legal-links{display:inline-flex;flex-wrap:wrap;gap:10px 34px}
.legal-links a:hover{color:var(--accent)}

/* reveal disabled — all content loads at once */
.rv{opacity:1;transform:none}

/* ---------- breadcrumb-ish page head ---------- */
.page-head{padding:clamp(48px,7vw,84px) 0 clamp(48px,7vw,84px)}


/* ---------- audio note recorder (audit form) ---------- */
.recwrap{border:1px dashed var(--line);border-radius:5px;padding:16px;display:flex;flex-direction:column;gap:12px}
.recrow{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.btn.rec{padding:11px 18px;font-size:13.5px}
.btn.rec.recording{background:transparent;color:var(--warn);border-color:var(--warn)}
.rec-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:8px}
.rec-time{font-variant-numeric:tabular-nums;font-weight:700;color:var(--head)}
.recwrap audio{width:100%;height:40px}
.rec-note{font-size:12px;opacity:.75}

/* ---------- custom branded select (replaces native popup) ---------- */
.csel{position:relative;width:100%}
.csel-btn{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;
  font:inherit;font-size:14.5px;color:var(--head);background:var(--panel-2);
  border:1px solid var(--line);border-radius:5px;padding:13px 14px;cursor:pointer;text-align:left;
  transition:border-color .15s ease}
.csel-btn:hover{border-color:rgba(234,251,14,.45)}
.csel.open .csel-btn{border-color:var(--accent)}
.csel-btn .caret{margin-left:auto;margin-right:4px;flex:none}
.csel-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:45;background:#191919;
  border:1px solid var(--line);border-top:2px solid var(--accent);box-shadow:0 16px 34px rgba(0,0,0,.5);
  max-height:290px;overflow:auto;display:none}
.csel.open .csel-list{display:block}
.csel-list button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;color:var(--text);
  background:none;border:0;border-left:2px solid transparent;padding:11px 16px;cursor:pointer;
  transition:color .12s ease,border-color .12s ease}
.csel-list button:hover{color:var(--head);border-left-color:var(--accent)}
.csel-list button[aria-selected="true"]{color:var(--accent);border-left-color:var(--accent)}

/* ---------- multi-select chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:5px;
  background:var(--panel-2);padding:11px 16px;cursor:pointer;font-size:14.5px;font-weight:600;color:var(--head);margin:0;
  transition:border-color .15s ease,color .15s ease,background .15s ease}
.chips label:hover{border-color:var(--accent);color:var(--head)}
.chips label.sel{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chips input{display:none}

/* ---------- detail lists in cards ---------- */
.card ul{margin:8px 0 0;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14.5px}
.card li{padding-left:17px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--accent)}
.card li b{color:var(--head)}

/* ---------- GDPR cookie banner (corp style) ---------- */
.cxl-cookie{position:fixed;left:0;right:0;bottom:0;z-index:90;background:#191919;
  border-top:2px solid var(--accent);box-shadow:0 -14px 34px rgba(0,0,0,.5);display:none}
.cxl-cookie.show{display:block}
.cxl-cookie .inner{max-width:var(--max);margin:0 auto;padding:20px 22px;
  display:flex;flex-wrap:wrap;align-items:center;gap:16px 26px}
.cxl-cookie p{font-size:13.5px;line-height:1.55;flex:1 1 420px;margin:0}
.cxl-cookie p b{color:var(--head)}
.cxl-cookie p a{color:var(--accent)}
.cxl-cookie .acts{display:flex;flex-wrap:wrap;gap:10px}
.cxl-cookie .btn{padding:11px 18px;font-size:13.5px}
@media (max-width:640px){.cxl-cookie .acts{width:100%}.cxl-cookie .btn{flex:1}}

/* ---------- legal pages ---------- */
.legal-copy .standfirst{font-size:17px;line-height:1.7;color:var(--head);max-width:64ch;margin-bottom:8px}
.updated{font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin-bottom:30px}
.legal-copy h2{font-size:20px;margin:40px 0 14px;padding-top:28px;border-top:1px solid var(--line);letter-spacing:0}
.legal-copy h2:first-of-type{border-top:0;padding-top:0;margin-top:10px}
.legal-copy p{margin:0 0 15px;font-size:15px;line-height:1.75;max-width:72ch}
.legal-copy p b{color:var(--head)}
.legal-copy a{color:var(--accent)}

/* ---------- mini city row (slim) ---------- */
.grid.mini .card{flex-direction:row;align-items:center;padding:13px 18px;gap:12px}
.grid.mini .card .go{margin:0 0 0 auto;padding:0}

/* ---------- single-row inputs everywhere ---------- */
.form input:not([type=checkbox]),.form select,.csel-btn{height:52px;padding-top:0;padding-bottom:0}
.form .row{align-items:center}
.cta-banner .form .row{grid-template-columns:1fr auto;align-items:stretch}
.cta-banner .form input{height:52px}
.cta-banner .form .btn{height:52px;padding-top:0;padding-bottom:0}

/* ---------- insights toolbar ---------- */
.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:26px}
.toolbar .tlabel{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text);opacity:.75;margin-right:4px}
.fbtn{font:inherit;font-size:13px;font-weight:600;color:var(--text);background:var(--panel-2);
  border:1px solid var(--line);border-radius:5px;padding:8px 15px;cursor:pointer;
  transition:border-color .15s ease,color .15s ease,background .15s ease}
.fbtn:hover{border-color:var(--accent);color:var(--head)}
.fbtn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.card .adate{font-size:12px;letter-spacing:.06em;color:var(--text);opacity:.7}

/* ---------- cost-of-getting-it-wrong cards ---------- */
.cost-tag{font-size:clamp(20px,2.4vw,26px);font-weight:800;color:var(--accent);
  line-height:1.1;font-variant-numeric:tabular-nums;margin:12px 0 14px}
/* ---------- featured asset band ---------- */
.featured-band{display:flex;flex-wrap:wrap;align-items:center;gap:34px 52px;
  border:1px solid var(--line);border-radius:var(--radius);
  padding:46px 50px;background:var(--panel-2)}
@media (max-width:640px){.featured-band{padding:32px 24px}}
.pb-cover{width:130px;aspect-ratio:3/4;flex:none;background:#191919;border:1px solid var(--line);
  border-top:4px solid var(--accent);padding:13px 12px;display:flex;flex-direction:column;justify-content:space-between;
  position:relative;overflow:hidden}
.pbc-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pb-cover .mark{width:20px;height:20px}
.pb-cover .t{font-size:11.5px;font-weight:700;color:var(--head);line-height:1.35}
.pb-cover .b{font-size:8.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text);opacity:.8}
.pb-body{flex:1;min-width:250px;margin-right:22px}
.pb-meta{margin-top:22px;font-size:12px;color:var(--text);opacity:.75;letter-spacing:.04em}
.featured-band .fb-k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:700}
.featured-band h3{margin:14px 0 16px}
.featured-band p{font-size:14px;max-width:66ch;line-height:1.75}
.metric-pill{transition:opacity .35s ease}

.tm{font-size:.38em;line-height:0;vertical-align:baseline;position:relative;top:-1.45em;margin-left:.06em;opacity:.9;font-weight:600;letter-spacing:0}

/* related thinking: editorial rows (never mirrors a neighboring card grid) */
.rel-list{display:flex;flex-direction:column}
.rel-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;gap:10px 22px;align-items:baseline;
  padding:16px 2px;border-top:1px solid var(--line)}
.rel-list .rel-row:first-child{border-top:0}
.rr-topic{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.rr-title{font-size:16px;font-weight:600;color:var(--head);line-height:1.4}
.rel-row:hover .rr-title{color:var(--accent)}
.rr-go{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap}
.rel-row:hover .rr-go{color:var(--accent)}
@media (max-width:640px){.rel-row{grid-template-columns:1fr auto}.rr-topic{grid-column:1/-1}}

/* partnership terms: contract-document block */
.pact{max-width:820px;background:var(--panel-2);border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:var(--radius);padding:0 38px}
.pact-head{display:flex;align-items:center;gap:12px;padding:24px 0 20px;border-bottom:1px solid var(--line)}
.pact-head svg{width:20px;height:20px;flex:none}
.pact-head .pt-t{font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--head)}
.pact-head .pt-n{margin-left:auto;font-size:12px;color:var(--text);opacity:.75;font-style:normal}
.pact-clause{display:grid;grid-template-columns:64px minmax(0,1fr);gap:6px 18px;padding:22px 0;border-top:1px solid var(--line)}
.pact-clause:nth-of-type(2){border-top:0}
.pact-clause .cl{font-size:20px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;line-height:1.2}
.pact-clause h3{font-size:17px;margin:0}
.pact-clause p{margin-top:6px;font-size:14.5px;max-width:60ch}
.pact-sign{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0 24px;border-top:1px solid var(--line);font-size:13px;color:var(--text)}
@media (max-width:640px){.pact{padding:0 22px}.pact-clause{grid-template-columns:44px 1fr}.pact-clause .cl{font-size:16px}}

/* vertical process tabs (leroux_core_tabs) */
.ptabs{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.5fr);gap:26px;align-items:stretch}
.ptab-nav{display:flex;flex-direction:column;gap:10px}
.ptab-nav button{font:inherit;text-align:left;display:flex;align-items:center;gap:14px;cursor:pointer;
  font-size:15.5px;font-weight:600;color:var(--text);background:var(--panel-2);
  border:1px solid var(--line);border-left:3px solid transparent;border-radius:5px;padding:16px 18px;
  transition:color .15s ease,border-color .15s ease,background .15s ease}
.ptab-nav button .n{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.ptab-nav button:hover{color:var(--head);border-left-color:var(--accent)}
.ptab-nav button.on{color:var(--head);background:var(--panel);border-left-color:var(--accent)}
.ptab-panel{background:var(--panel);border:1px solid var(--line);border-radius:5px;padding:38px 42px;display:flex;flex-direction:column;justify-content:center;min-height:340px}
.ptab-pane{display:none}
.ptab-pane.on{display:block;position:relative}
.pp-num{position:absolute;right:-6px;bottom:-30px;font-size:128px;font-weight:800;line-height:1;color:var(--head);opacity:.05;pointer-events:none;font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.pp-k{font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.ptab-pane .fail-grid span{font-size:14.5px}
@media (max-width:860px){.pp-num{display:none}.ptab-panel{min-height:0}}
.ptab-pane h3{font-size:clamp(20px,2.4vw,26px)}
.ptab-pane p{max-width:56ch}
@media (max-width:860px){.ptabs{grid-template-columns:1fr}.ptab-panel{padding:26px 22px}}

/* fit-check: self-qualification scorecard on position pages */
.fitcheck{max-width:760px}
.fc-lede{font-size:14px;color:var(--text);opacity:.85;margin-bottom:6px}
.fc-item{display:flex;align-items:flex-start;gap:14px;padding:16px 2px;border-top:1px solid var(--line);cursor:pointer}
.fitcheck .fc-item:first-of-type{border-top:0;margin-top:10px}
.fc-item input{position:absolute;opacity:0;width:0;height:0}
.fc-item .box{flex:none;width:20px;height:20px;margin-top:2px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2);display:flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease}
.fc-item .box svg{width:13px;height:13px;fill:none;stroke:var(--accent-ink);stroke-width:3;stroke-linecap:square;opacity:0}
.fc-item:hover .box{border-color:var(--accent)}
.fc-item input:checked+.box{background:var(--accent);border-color:var(--accent)}
.fc-item input:checked+.box svg{opacity:1}
.fc-item input:focus-visible+.box{outline:2px solid var(--accent);outline-offset:2px}
.fc-item .tx{font-size:15.5px;line-height:1.55}
.fc-item .tx b{color:var(--head)}
.fc-result{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:8px;padding:18px 22px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;transition:border-color .2s ease}
.fc-result.hot{border-color:var(--accent)}
.fc-score{font-size:24px;font-weight:800;color:var(--accent);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.fc-msg{font-size:14.5px;color:var(--head);font-weight:500;flex:1;min-width:200px}
.fc-result .btn{padding:12px 20px;font-size:14px}
.card.pos h3 a{color:var(--head)}
.card.pos h3 a:hover{color:var(--accent)}

/* ---------- thick arrows ---------- */
.arrw{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:square;display:inline-block;vertical-align:-2px}
.go .arrw{width:14px;height:14px;stroke-width:2.8}
/* ---------- accordion body lists ---------- */
details.acc .body ul{margin:10px 0 4px;list-style:none;display:flex;flex-direction:column;gap:9px;font-size:14.5px}
details.acc .body li{padding-left:17px;position:relative}
details.acc .body li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;background:var(--accent)}
details.acc .body li b,details.acc .body p b{color:var(--head)}
/* ---------- legal: air before Last updated ---------- */
.updated{margin-top:26px}
/* ---------- site search ---------- */
.srch-btn{background:none;border:1px solid transparent;border-radius:5px;color:var(--text);cursor:pointer;
  padding:9px 10px;display:flex;align-items:center;transition:color .15s,border-color .15s}
.srch-btn:hover{color:var(--accent);border-color:var(--line)}
.srch-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2}
.srch-panel{position:fixed;top:70px;left:0;right:0;z-index:80;background:#191919;
  border-top:2px solid var(--accent);border-bottom:1px solid var(--line);
  box-shadow:0 18px 40px rgba(0,0,0,.55);display:none}
.srch-panel.open{display:block}
.srch-inner{max-width:var(--max);margin:0 auto;padding:22px}
.srch-inner input{width:100%;font:inherit;font-size:17px;color:var(--head);background:var(--panel-2);
  border:1px solid var(--line);border-radius:5px;padding:0 16px;height:54px;outline:none}
.srch-inner input:focus{border-color:var(--accent)}
input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;height:15px;width:15px;cursor:pointer;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M3 3l10 10M13 3L3 13' stroke='%23EAFB0E' stroke-width='2.2' stroke-linecap='square'/></svg>") no-repeat center/contain}
.srch-results{margin-top:10px;max-height:52vh;overflow:auto}
.srch-results a{display:block;padding:12px 14px;border-left:2px solid transparent;border-radius:0}
.srch-results a:hover{border-left-color:var(--accent);background:rgba(234,251,14,.05)}
.srch-results .st{font-weight:600;color:var(--head);font-size:15px}
.srch-results .sd{font-size:13px;color:var(--text);margin-top:2px}
.srch-none{padding:14px;font-size:14px;opacity:.75}

/* ---------- conversational contact form ---------- */
.conv-line{font-size:clamp(21px,2.8vw,32px);font-weight:700;color:var(--head);
  line-height:1.6;letter-spacing:-.01em;margin:0 0 18px}
.conv .csel{width:auto;display:inline-block;min-width:min(320px,80vw);vertical-align:middle;margin:0 6px}
.conv .csel-btn{height:auto;padding:10px 16px;font-size:clamp(15px,1.6vw,18px);font-weight:600;
  border-color:rgba(234,251,14,.5)}
.conv .csel-list{min-width:100%}
.consent,.form .consent,.form label.consent{display:flex !important;flex-direction:row;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;color:var(--text);margin:0}
.consent>span:last-child{flex:1;min-width:0}
.consent input{display:none}
.consent .box{width:20px;height:20px;flex:none;border:1px solid var(--line);border-radius:4px;
  background:var(--panel-2);display:flex;align-items:center;justify-content:center;margin-top:1px;
  transition:border-color .15s,background .15s}
.consent .box svg{width:13px;height:13px;stroke:var(--accent-ink);stroke-width:3;fill:none;
  stroke-linecap:square;opacity:0}
.consent input:checked + .box{background:var(--accent);border-color:var(--accent)}
.consent input:checked + .box svg{opacity:1}
.hcheck{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hcheck .hq{font-size:14px;font-weight:600;color:var(--head)}
.hcheck input{width:90px !important;text-align:center}

/* ---------- search: query highlight + corp scrollbar ---------- */
.srch-results mark{background:var(--accent);color:var(--accent-ink);padding:0 3px;border-radius:2px}
.srch-results::-webkit-scrollbar,.csel-list::-webkit-scrollbar{width:8px}
.srch-results::-webkit-scrollbar-track,.csel-list::-webkit-scrollbar-track{background:var(--panel-2)}
.srch-results::-webkit-scrollbar-thumb,.csel-list::-webkit-scrollbar-thumb{background:var(--accent);border-radius:4px}
.srch-results,.csel-list{scrollbar-color:var(--accent) var(--panel-2);scrollbar-width:thin}
/* ---------- metric pill client logos ---------- */
.pill-logo{height:18px;width:auto;display:inline-block;vertical-align:-4px;
  filter:grayscale(1) brightness(1.7);opacity:.95}
/* ---------- bridge band (cost -> CTA) ---------- */
.bridge{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 30px;
  margin-top:44px;padding:30px 32px;background:var(--bg-deep);
  border:0;border-left:3px solid var(--accent);border-radius:0}
.bridge h3{font-size:clamp(19px,2.2vw,24px);margin:0 0 6px}
.bridge p{font-size:14.5px;max-width:56ch;margin:0}
/* ---------- lang switcher ---------- */
.lang{display:inline-flex;gap:0;margin-left:6px;border:1px solid var(--line);border-radius:5px;padding:2px;background:var(--panel-2);height:38px;align-items:center}
.lang button{font:inherit;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text);
  background:none;border:0;border-radius:3px;padding:5px 8px;cursor:pointer}
.lang button:hover{color:var(--head)}
.lang button.on{color:var(--accent-ink);background:var(--accent)}
.lang button.on:hover{color:var(--accent-ink)}

/* ---------- calculator report box ---------- */
.report-box{margin-top:26px;padding:22px 24px;border:1px solid rgba(234,251,14,.4);
  border-left:4px solid var(--accent);border-radius:var(--radius);background:#1B1B1B}
.report-box h3{font-size:20px;margin:0 0 14px}
.report-box p{font-size:13.5px;margin:0 0 14px}
.report-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.report-row input{flex:1 1 240px;font:inherit;font-size:14.5px;color:var(--head);height:48px;
  background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:0 14px;outline:none}
.report-row input:focus{border-color:var(--accent)}
.report-row .btn{padding:12px 18px;font-size:14px}

/* ---------- branded captcha frame (Cloudflare Turnstile inside) ---------- */
.captcha-frame{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);
  background:var(--panel-2);padding:7px 9px;max-width:420px}
.captcha-frame .cf-slot{margin:0 !important;min-height:65px}
/* no-number dropdown (BSI Meetups) */
.dd.nonum .dd-menu li{counter-increment:none}
.dd.nonum .dd-menu a::before{content:none}

/* ---------- written-alternative cards (book-call) ---------- */
.alt-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.alt-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel-2);padding:30px 32px;display:flex;flex-direction:column;gap:6px}
.alt-card:hover{border-color:var(--accent)}
.alt-card h3{display:flex;align-items:center;gap:10px;font-size:16.5px;margin-bottom:12px}
.alt-card h3 .ic{width:17px;height:17px;stroke:var(--accent);fill:none;stroke-width:1.8;stroke-linecap:square;flex:none}
.alt-card p{font-size:14px;line-height:1.72}
@media(max-width:760px){.alt-grid{grid-template-columns:1fr}}

/* ---------- mobile & touch hardening ---------- */
body{overflow-x:clip}
a,button{-webkit-tap-highlight-color:transparent}
@media (max-width:860px){
  /* 16px+ inputs prevent iOS Safari auto-zoom on focus */
  .fbtn{padding:11px 16px}
  input:not([type=checkbox]):not([type=radio]),select,textarea,.csel-btn,.csel-list button{font-size:16px}
}
@media (max-width:640px){
  .cta-banner .form .row{grid-template-columns:1fr}
  .metric-pill{border-radius:var(--radius)}
}

/* ---------- de-AI pass: editorial rhythm ---------- */
.grid{gap:34px 44px}
@media (max-width:640px){.grid{gap:28px}}
.hero::after,.cta-banner::after{content:"";position:absolute;pointer-events:none;opacity:.5;z-index:0;background-repeat:no-repeat}
.hero::after{right:0;top:0;width:672px;height:392px;max-width:46vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 7' shape-rendering='crispEdges'%3E%3Crect x='5' y='0' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='7' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='8' y='0' width='1' height='1' fill='%239A938F'/%3E%3Crect x='9' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='10' y='0' width='1' height='1' fill='%235E5E5E'/%3E%3Crect x='11' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='9' y='1' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='10' y='1' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='11' y='1' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='8' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='9' y='2' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='10' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='11' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='9' y='3' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='10' y='3' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='11' y='3' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='11' y='4' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='10' y='5' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='11' y='5' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='10' y='6' width='1' height='1' fill='%235E5E5E'/%3E%3Crect x='11' y='6' width='1' height='1' fill='%23EAFB0E'/%3E%3C/svg%3E");background-size:contain;background-position:top right}
.cta-banner::after{right:0;top:0;width:392px;height:224px;max-width:34vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 4' shape-rendering='crispEdges'%3E%3Crect x='0' y='1' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='1' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='3' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='4' y='0' width='1' height='1' fill='%239A938F'/%3E%3Crect x='5' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='6' y='0' width='1' height='1' fill='%235E5E5E'/%3E%3Crect x='4' y='1' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='6' y='3' width='1' height='1' fill='%23EAFB0E'/%3E%3C/svg%3E");background-size:contain;background-position:top right}
.cta-banner.pat2::after{right:0;top:auto;bottom:0;width:392px;height:224px;max-width:34vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 4' shape-rendering='crispEdges'%3E%3Crect x='0' y='3' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='2' y='3' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='4' y='3' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='5' y='3' width='1' height='1' fill='%239A938F'/%3E%3Crect x='6' y='3' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='4' y='2' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='6' y='0' width='1' height='1' fill='%23EAFB0E'/%3E%3C/svg%3E");background-size:contain;background-position:bottom right}
.cta-banner.pat3::after{top:0;bottom:auto;width:392px;height:224px;max-width:34vw;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 4' shape-rendering='crispEdges'%3E%3Crect x='1' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='2' y='1' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='4' y='0' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='5' y='0' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='6' y='0' width='1' height='1' fill='%238B8B8B'/%3E%3Crect x='5' y='1' width='1' height='1' fill='%230D0D0D'/%3E%3Crect x='6' y='1' width='1' height='1' fill='%23EAFB0E'/%3E%3Crect x='5' y='2' width='1' height='1' fill='%23D9D9D4'/%3E%3Crect x='6' y='2' width='1' height='1' fill='%235E5E5E'/%3E%3Crect x='6' y='3' width='1' height='1' fill='%230D0D0D'/%3E%3C/svg%3E");background-size:contain;background-position:top right}
.hero{position:relative}
.hero .wrap,.cta-banner>*{position:relative;z-index:1}
@media (max-width:900px){.hero::after,.cta-banner::after{display:none}}

/* ---------- social icons (footer row + fixed side rail) ---------- */
.soc{display:flex;gap:10px}
.soc a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;
  border:1px solid var(--line);border-radius:var(--radius);color:var(--text);
  transition:color .15s ease,border-color .15s ease}
.soc a:hover{color:var(--accent);border-color:var(--accent)}
.soc svg,.soc-rail svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:square}
.soc-rail{position:fixed;right:0;top:64%;transform:translateY(-50%);z-index:50;display:flex;flex-direction:column;
  background:var(--panel-2);border:1px solid var(--line);border-right:0;border-radius:var(--radius) 0 0 var(--radius);overflow:hidden}
.soc-rail a{display:flex;align-items:center;justify-content:center;width:42px;height:42px;color:var(--text);
  border-bottom:1px solid var(--line);transition:color .15s ease,background .15s ease}
.soc-rail a:last-child{border-bottom:0}
.soc-rail a:hover{color:var(--accent-ink);background:var(--accent)}
@media (max-width:1100px){.soc-rail{display:none}}

/* section that continues the previous one: no divider, tight top */
main>section.flow{border-top:0;padding-top:clamp(6px,1.5vw,16px)}

/* ---------- founder quote with portrait ---------- */
.founder{display:grid;grid-template-columns:240px 1fr;gap:clamp(22px,3.5vw,44px);align-items:start}
.founder-photo{position:relative;aspect-ratio:4/5;margin:0;background:var(--panel-2);border:1px solid var(--line);overflow:hidden}
.founder-photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05)}
.founder-photo .mono{display:none}
.founder-photo.noimg .mono{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;
  font-size:46px;font-weight:800;color:var(--accent)}
blockquote.founder-q{margin:34px 0 0}
.founder-q .who{color:var(--head);font-weight:600;font-size:14px}
@media (max-width:760px){.founder{grid-template-columns:1fr}.founder-photo{max-width:240px}}

/* ---------- smooth page-to-page transitions (language switch, all nav) ----------
   Cross-document view transitions: supported browsers cross-fade the pages and
   morph the header/logo as stable layers; others simply keep the instant swap. */
@view-transition{navigation:auto}
.site-head{view-transition-name:site-head}
.brand{view-transition-name:brand}
::view-transition-old(root),::view-transition-new(root),
::view-transition-old(site-head),::view-transition-new(site-head){animation-duration:.28s}
@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* language-switch crossfade (works everywhere, incl. file:// and Firefox) */
html.pre-fade body{opacity:0}
html.fade-in body{opacity:1;transition:opacity .3s ease}
html.lang-out body{opacity:0;transition:opacity .16s ease}

/* related-thinking header row: kicker left, button right */
.rel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}

/* CTA banner inline forms: flush left, input and button locked to one row/height */
.cta-banner .form .row{align-items:stretch}
.cta-banner .form .row .btn{height:52px;padding-top:0;padding-bottom:0}

/* channel/tool cards: air between list rows */
.card ul{margin:4px 0 2px;display:grid;gap:9px}
.card li{line-height:1.6}
/* consent line: regular weight */
.consent,.consent span{font-weight:400}

/* dense comparison cards: extra air */
.roomy{row-gap:52px}
.roomy .card{gap:14px;padding-top:30px}
.roomy .card p{line-height:1.7}
.roomy .card ul{gap:13px;margin:8px 0 4px}
.roomy .card li{line-height:1.7}

/* ---------- proof carousel (auto-rotating references) ---------- */
.proof-carousel{display:grid;max-width:760px}
.proof-carousel .pc-slide{grid-area:1/1;margin:0;opacity:0;transition:opacity .45s ease;pointer-events:none}
.proof-carousel .pc-slide.is-on{opacity:1;pointer-events:auto}
.pc-dots{grid-row:2;display:flex;gap:8px;margin-top:16px}
.pc-dots button{width:24px;height:3px;background:var(--line);border:0;padding:0;cursor:pointer;transition:background .15s ease}
.pc-dots button:hover{background:var(--head)}
.pc-dots button[aria-selected="true"]{background:var(--accent)}

/* founder left rail: portrait + CTA live under the kicker */
.k .founder-photo{max-width:250px;margin-top:10px}
.k .btn{display:inline-flex}

/* capacity/pool language: square + dashed = potential on call, vs solid circle = core team */
.pool-badge{width:72px;height:72px;border-radius:var(--radius);border:1px dashed rgba(234,251,14,.55);
  display:flex;align-items:center;justify-content:center;background:var(--panel-2);
  color:var(--accent);font-weight:800;font-size:19px}
.pool-tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--accent);margin-top:2px}
.team.pool .ava{border-radius:var(--radius);border:1px dashed rgba(234,251,14,.45);overflow:hidden}
.team.pool .ava img{border-radius:0}

/* contact channel cards: equal top zone so the description lines align across cards */
.ch-top{min-height:128px;display:flex;flex-direction:column;gap:10px}

/* [01] failure-reasons scan grid */
.fail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 30px;max-width:660px}
.fail-grid span{display:flex;align-items:flex-start;gap:10px;font-size:15px;font-weight:500;color:var(--head)}
.fail-grid .ic{margin-top:5px}
.fail-grid .ic{width:13px;height:13px;flex:none;stroke:var(--warn);fill:none;stroke-width:2.2;stroke-linecap:square}
@media (max-width:640px){.fail-grid{grid-template-columns:1fr}}

/* inline wordmark: replaces text mentions of the company name */
.cxl-inline{height:.95em;width:auto;display:inline-block;vertical-align:-0.1em;margin:0 .32em}

/* outline-accent button: lime border/text at rest, fills lime on hover */
.btn.line{background:transparent;color:var(--accent);border-color:var(--accent)}
.btn.line:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}

/* mistake index: number-forward (big lime numeral + small caps word) */
.m-idx{display:inline-block;font-size:13px;font-weight:800;
  letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}

.fail-grid.win .ic{stroke:var(--accent)}

/* accordion show/hide-all */
.acc-tools{display:flex;justify-content:flex-end;margin-bottom:12px}
.acc-toggle{font:inherit;font-size:12.5px;font-weight:600;color:var(--text);background:none;
  border:1px solid var(--line);border-radius:5px;padding:7px 14px;cursor:pointer;
  transition:color .15s ease,border-color .15s ease}
.acc-toggle:hover{color:var(--accent);border-color:var(--accent)}

/* case-study client logos (fallback: styled name until the PNG exists) */
.case-logo img{height:26px;width:auto;display:inline-block;filter:grayscale(1) brightness(1.6);opacity:.85}

/* ---------- HARD GUARANTEE: text can never enter the ornament zone ----------
   The pattern occupies a fixed 392px at the right edge; reserve that space
   structurally wherever the ornament is visible (it hides below 900px). */
@media (min-width:901px){
  .cta-banner{padding-right:432px}
  .hero .wrap{padding-right:max(22px,calc(994px - 50vw))}
}
/* banner inline form: one definitive alignment rule */
.cta-banner .form .row{grid-template-columns:1fr auto;align-items:center;gap:12px}
.cta-banner .form .row input{height:52px;margin:0}
.cta-banner .form .row .btn{height:52px;margin:0;padding-top:0;padding-bottom:0}

/* overtools suite: roomy bundle cards, tool name above its description */
.ot-suite .card{gap:14px;padding-top:30px}
.ot-suite .card ul{gap:14px;margin-top:4px}
.ot-suite li{line-height:1.6;font-size:14px}
.ot-suite li b{display:block;margin-bottom:3px;color:var(--head);font-size:15.5px}

/* inline overtools wordmark */
.ot-inline{height:.95em;width:auto;display:inline-block;vertical-align:-0.16em;margin:0 .32em}

/* overtools stage headers: larger, iconed, clean tracking */
.ot-suite .card .idx{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;
  color:var(--accent);letter-spacing:.08em;text-transform:uppercase}
.ot-suite .card .idx .ic{width:19px;height:19px;stroke:var(--accent);flex:none}

/* tm in small text (hero tagline): larger and tight to the word */
.hero .tagline .tm{font-size:.82em;top:-.45em;margin-left:-6px}

/* see-all row in the search panel */
.srch-all{display:block;padding:13px 16px;color:var(--accent);font-weight:700;font-size:14px;border-top:1px solid var(--line)}
.srch-all:hover{color:var(--accent);text-decoration:underline}

/* inline BSI Meetup plate */
.bsi-inline{height:1.7em;width:auto;display:inline-block;vertical-align:-0.5em;margin:0 .06em}
.kicker .bsi-inline{height:2em;vertical-align:-0.65em;margin:0 .06em 0 0}


/* ============================================================
   WordPress compatibility layer (FSE)
   ============================================================ */
body{overflow-x:clip}
.wp-site-blocks{padding:0;margin:0}
.wp-site-blocks > *{margin-block-start:0}
body.admin-bar .site-head{top:32px}
@media (max-width:782px){body.admin-bar .site-head{top:46px}}
/* core blocks inherit the static design */
.wp-block-heading{margin:0}
.entry-content > *{margin-block-start:0}
.wp-block-post-title{font-size:clamp(38px,6.8vw,84px);font-weight:800;letter-spacing:-.03em;line-height:1.02}
.wp-block-post-date,.wp-block-post-terms{font-size:13.5px;color:var(--text)}
.wp-block-query-pagination{margin-top:34px}
.wp-block-query-pagination a{color:var(--head);font-weight:600}
.wp-block-query-pagination a:hover{color:var(--accent)}
.wp-block-search__button{display:none}
/* article body typography (single post content) */
.cxl-article .entry-content h2{margin-top:44px}
.cxl-article .entry-content h3{margin-top:30px}
.cxl-article .entry-content p{margin-top:16px;max-width:72ch}
.cxl-article .entry-content ul,.cxl-article .entry-content ol{margin:16px 0 0 20px;max-width:70ch}
.cxl-article .entry-content li{margin-top:8px}
.cxl-article .entry-content blockquote{border-left:2px solid var(--accent);padding-left:18px;margin-top:22px;color:var(--head)}
.cxl-article .entry-content img{border-radius:5px;border:1px solid var(--line)}
