/* ============================================================
   MMCY, modernized brand system
   Navy ink + terracotta coral, warm paper, dotted "burst" motif
   Display: Archivo (heavy, uppercase)  ·  Body: Hanken Grotesk
   ============================================================ */

:root{
  /* color */
  --ink:        #192030;
  --ink-2:      #232c3b;
  --ink-3:      #333f48;
  --paper:      #f7f8f8;
  --paper-2:    #eceef0;
  --paper-3:    #e2e6ea;
  --line:       #e1e5e9;
  --line-2:     #ccd3d9;
  --muted:      #59636e;
  --muted-2:    #8893a0;

  --coral:      #ff694b;
  --coral-600:  #e8492b;
  --coral-bright:#ff7d63;
  --coral-soft: #ffc3b3;
  --coral-tint: #ffe7e0;

  --on-ink:     rgba(255,255,255,.92);
  --on-ink-dim: rgba(255,255,255,.66);
  --on-ink-line:rgba(255,255,255,.16);

  /* type */
  --display: "Montserrat", system-ui, sans-serif;
  --body: "Montserrat", system-ui, sans-serif;
  --serif: "Merriweather", Georgia, serif;

  /* shape */
  --r-sm: 6px;
  --r:    12px;
  --r-lg: 20px;
  --r-xl: 28px;

  --shadow-sm: 0 1px 2px rgba(20,24,43,.06), 0 2px 8px rgba(20,24,43,.05);
  --shadow:    0 4px 14px rgba(20,24,43,.08), 0 14px 40px rgba(20,24,43,.07);
  --shadow-lg: 0 12px 30px rgba(20,24,43,.12), 0 30px 70px rgba(20,24,43,.12);

  --maxw: 1240px;
  --gutter: clamp(20px, 5vw, 64px);
}

*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--body);
  color:var(--ink);
  background:var(--paper);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
.tlink{ color:var(--coral-600); text-decoration:underline; text-underline-offset:2px; text-decoration-thickness:1px; }
.tlink:hover{ color:var(--coral); }
::selection{ background:var(--coral); color:#fff; }

/* ---------- type scale ---------- */
.display, h1, h2, h3{ font-family:var(--display); }
h1,h2,h3,h4,p{ margin:0; }
.eyebrow{
  font-family:var(--serif);
  font-style:italic;
  font-weight:700;
  font-size:1rem;
  letter-spacing:0;
  text-transform:none;
  color:var(--coral-600);
  display:inline-flex;
  align-items:center;
  gap:.7em;
}
.eyebrow.on-ink{ color:var(--coral-bright); }
.eyebrow::before{
  content:""; width:26px; height:2px; background:currentColor; border-radius:2px; opacity:.85;
}
.h-xl{ font-weight:800; font-size:clamp(2.6rem,6.4vw,5.2rem); line-height:.95; letter-spacing:-.02em; text-transform:uppercase; }
.h-lg{ font-weight:800; font-size:clamp(2rem,4.4vw,3.4rem); line-height:1.02; letter-spacing:-.015em; text-transform:uppercase; }
.h-md{ font-weight:800; font-size:clamp(1.5rem,2.6vw,2.1rem); line-height:1.08; letter-spacing:-.01em; }
.h-sm{ font-weight:700; font-size:1.16rem; line-height:1.2; letter-spacing:-.005em; }
.lead{ font-size:clamp(1.05rem,1.5vw,1.3rem); line-height:1.55; color:var(--muted); }
.lead.on-ink{ color:var(--on-ink-dim); }
.measure{ max-width:60ch; }
.measure-sm{ max-width:42ch; }

/* ---------- layout ---------- */
.wrap{ max-width:var(--maxw); margin:0 auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(64px,9vw,128px); }
.section-sm{ padding-block:clamp(48px,6vw,80px); }
.ink-bg{ background:var(--ink); color:var(--on-ink); }
.paper-2-bg{ background:var(--paper-2); }
.center{ text-align:center; }
.stack > * + *{ margin-top:1.1rem; }

/* ---------- buttons ---------- */
.btn{
  --bg:var(--coral); --fg:#fff; --bd:transparent;
  font-family:var(--body); font-weight:700; font-size:.98rem;
  display:inline-flex; align-items:center; gap:.6em;
  padding:.92em 1.5em; border-radius:8px;
  background:var(--bg); color:var(--fg); border:1.5px solid var(--bd);
  cursor:pointer; transition:transform .18s ease, background .18s ease, box-shadow .18s ease, color .18s; 
  box-shadow:var(--shadow-sm);
}
.btn:hover{ transform:translateY(-2px); background:var(--coral-600); box-shadow:var(--shadow); }
.btn .arr{ transition:transform .2s ease; }
.btn:hover .arr{ transform:translateX(3px); }
.btn-ghost{ --bg:transparent; --fg:var(--ink); --bd:var(--line-2); box-shadow:none; }
.btn-ghost:hover{ background:var(--coral-tint); --fg:var(--coral-600); border-color:var(--coral); transform:translateY(-2px); }
.btn-ghost.on-ink{ --fg:#fff; --bd:var(--on-ink-line); }
.btn-ghost.on-ink:hover{ --fg:#fff; border-color:#fff; background:rgba(255,255,255,.06); }
.btn-lg{ padding:1.05em 1.8em; font-size:1.05rem; }

.link-arrow{ font-weight:700; color:var(--coral-600); display:inline-flex; align-items:center; gap:.45em; }
.link-arrow .arr{ transition:transform .2s ease; }
.link-arrow:hover .arr{ transform:translateX(4px); }

/* ---------- burst mark (the MMCY "C") ---------- */
.burst{ display:inline-block; vertical-align:middle; }

/* logo wordmark */
.logo{ display:inline-flex; align-items:center; gap:.02em; font-family:var(--display); font-weight:800; font-size:1.7rem; letter-spacing:-.01em; color:var(--ink); line-height:1; }
.logo .burst{ margin:0 .01em; }
.logo.on-ink{ color:#fff; }
.logo-img{ display:block; height:50px; width:auto; }

/* ---------- header ---------- */
.site-head{ position:sticky; top:0; z-index:50; background:rgba(251,248,244,.86); backdrop-filter:blur(12px); border-bottom:1px solid var(--line); }
.site-head .bar{ display:flex; align-items:center; gap:2.4rem; height:80px; padding-inline:clamp(18px,3vw,40px); }
.nav{ display:flex; align-items:center; gap:1.4rem; margin-left:.4rem; }
.nav a{ font-weight:600; font-size:.94rem; color:var(--ink-2); position:relative; padding:.2em 0; }
.nav a::after{ content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--coral); transition:right .25s ease; border-radius:2px; }
.nav a:hover::after, .nav a.active::after{ right:0; }
.nav a.active{ color:var(--ink); }
.head-cta{ margin-left:auto; display:flex; align-items:center; gap:.7rem; }
.iso-badges{ display:flex; gap:.5rem; padding-left:1rem; margin-left:.4rem; border-left:1px solid var(--line); }
.iso{ width:46px; height:46px; border-radius:8px; background:var(--ink); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; font-family:var(--body); }
.iso b{ font-size:.62rem; font-weight:800; letter-spacing:.02em; }
.iso span{ font-size:.5rem; color:var(--on-ink-dim); margin-top:2px; letter-spacing:.08em; }
.iso .ring{ width:13px; height:13px; border-radius:50%; border:1.5px solid var(--coral-bright); margin-top:3px; }
.menu-btn{ display:none; }

/* ---------- footer ---------- */
.site-foot{ background:var(--ink); color:var(--on-ink-dim); padding-block:clamp(56px,7vw,84px) 36px; }
.foot-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:2.5rem; }
.site-foot h4{ font-family:var(--body); font-weight:700; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; color:var(--on-ink); margin-bottom:1.1rem; }
.site-foot ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }
.site-foot a:hover{ color:#fff; }
.foot-bottom{ margin-top:3rem; padding-top:1.6rem; border-top:1px solid var(--on-ink-line); display:flex; flex-wrap:wrap; gap:1rem; justify-content:space-between; font-size:.85rem; }
/* footer offices: each address is its own labelled block, not a run of line breaks */
.foot-offices{ display:flex; flex-direction:column; gap:1.15rem; }
.foot-office .city{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--coral-bright); margin-bottom:.35rem; }
.foot-office address{ font-style:normal; font-size:.92rem; line-height:1.55; }
.foot-reach{ margin-top:1.3rem !important; padding-top:1.1rem !important; border-top:1px solid var(--on-ink-line); }
.foot-locs{ display:inline-flex; align-items:center; gap:.45em; white-space:nowrap; }
.foot-locs span{ display:inline-flex; align-items:center; gap:.4em; }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--coral-bright); display:inline-block; }

/* ---------- cards / chips ---------- */
.card{ background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); padding:2rem; box-shadow:var(--shadow-sm); transition:transform .2s ease, box-shadow .2s ease, border-color .2s; }
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow), 0 10px 34px -8px rgba(240,135,92,.42); border-color:var(--coral); }
.chip{ display:inline-flex; align-items:center; gap:.5em; padding:.4em .9em; border-radius:999px; font-size:.82rem; font-weight:600; background:var(--coral-tint); color:var(--coral-600); }
.chip.on-ink{ background:rgba(255,255,255,.08); color:var(--on-ink); border:1px solid var(--on-ink-line); }

.icon-badge{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center; background:var(--coral-tint); color:var(--coral-600); flex:none; }
.icon-badge.on-ink{ background:rgba(255,105,75,.16); color:var(--coral-bright); }
.icon-badge svg{ width:26px; height:26px; }

/* placeholder image */
.ph{ position:relative; background:
    repeating-linear-gradient(135deg, var(--paper-3) 0 12px, var(--paper-2) 12px 24px);
  border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; display:grid; place-items:center; color:var(--muted); }
.ph.on-ink{ background:repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 12px, rgba(255,255,255,.02) 12px 24px); border-color:var(--on-ink-line); color:var(--on-ink-dim); }
.ph .ph-tag{ font-family:var(--body), monospace; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; padding:.4em .8em; border:1px dashed currentColor; border-radius:999px; background:rgba(255,255,255,.5); }
.ph.on-ink .ph-tag{ background:rgba(0,0,0,.12); }

/* real media (filled placeholders) */
.media{ position:relative; overflow:hidden; border-radius:var(--r-lg); background:var(--paper-2); }
.media img{ width:100%; height:100%; object-fit:cover; display:block; }

/* reveal on scroll */
.reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; } .reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none; } html{ scroll-behavior:auto; } }

/* ---------- responsive ---------- */
@media (max-width: 1240px){
  .nav{ display:none; }
  .menu-btn{ display:inline-grid; place-items:center; width:44px; height:44px; border-radius:10px; border:1px solid var(--line); background:#fff; margin-left:auto; cursor:pointer; }
}
@media (max-width: 980px){
  .foot-grid{ grid-template-columns:1fr 1fr; gap:2rem; }
}
@media (max-width: 620px){
  .foot-grid{ grid-template-columns:1fr; }
  body{ font-size:16px; }
  .head-cta .btn{ padding:.6em 1em; font-size:.85rem; gap:.4em; }
}

/* footer newsletter + social */
.news{ display:flex; gap:.5rem; }
.news input{ flex:1; min-width:0; background:rgba(255,255,255,.06); border:1px solid var(--on-ink-line); color:#fff; border-radius:999px; padding:.8em 1.2em; font-family:var(--body); font-size:.95rem; }
.news input::placeholder{ color:var(--on-ink-dim); }
.news input:focus{ outline:none; border-color:var(--coral-bright); }
.news .btn{ padding:.8em 1.1em; }
.news input.invalid{ border-color:var(--coral-bright); }
.news-msg{ font-size:.82rem; margin-top:.55rem; min-height:1.1em; }
.news-msg.is-err{ color:var(--coral-bright); }
.news-msg.is-ok{ color:#8fe3b0; }
.soc{ width:40px; height:40px; border-radius:50%; border:1px solid var(--on-ink-line); display:grid; place-items:center; color:var(--on-ink); font-weight:700; font-size:.9rem; transition:.2s; }
.soc:hover{ border-color:var(--coral-bright); color:#fff; background:rgba(255,105,75,.14); }

/* mobile menu drawer */
.m-menu{ position:fixed; inset:0; z-index:60; background:var(--ink); color:#fff; transform:translateY(-100%); transition:transform .35s cubic-bezier(.2,.7,.2,1); display:flex; flex-direction:column; padding:24px var(--gutter); overflow-y:auto; }
.m-menu.open{ transform:none; }
.m-menu.open{ transform:none; }
.m-menu a{ font-family:var(--display); font-weight:800; text-transform:uppercase; font-size:2rem; padding:.4em 0; border-bottom:1px solid var(--on-ink-line); }
.m-menu .close{ align-self:flex-end; background:none; border:none; color:#fff; font-size:2rem; cursor:pointer; }

/* ============================================================
   reusable section components
   ============================================================ */

/* two-tone heading helper */
.hl{ color:var(--coral); }
.ink-bg .hl, .on-ink .hl{ color:var(--coral-bright); }

/* dotted halftone texture */
.dots{ background-image:radial-gradient(currentColor 1.5px, transparent 1.6px); background-size:18px 18px; }
.deco{ position:absolute; pointer-events:none; }
.deco-dots{ color:var(--coral); opacity:.18; }
.ink-bg .deco-dots{ color:#fff; opacity:.10; }
.deco-fade-r{ -webkit-mask-image:linear-gradient(90deg,transparent,#000); mask-image:linear-gradient(90deg,transparent,#000); }
.deco-fade-l{ -webkit-mask-image:linear-gradient(270deg,transparent,#000); mask-image:linear-gradient(270deg,transparent,#000); }

/* dotted sphere graphic (the globe motif from the value cards) */
.sphere{ width:120px; height:120px; border-radius:50%;
  background:radial-gradient(circle at 38% 32%, rgba(255,105,75,.6), rgba(255,105,75,.15) 60%, transparent 72%);
  -webkit-mask:radial-gradient(currentColor 1.3px, transparent 1.5px) 0 0/9px 9px; mask:radial-gradient(#000 1.3px, transparent 1.5px) 0 0/9px 9px;
  opacity:.55; }

/* section heading block */
.sec-head{ max-width:64ch; }
.sec-head.center{ margin-inline:auto; }
.sec-head h2{ position:relative; }

/* grids */
.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media (max-width:900px){ .grid-2{ grid-template-columns:1fr; } .grid-3,.grid-4{ grid-template-columns:1fr 1fr; } }
@media (max-width:600px){ .grid-3,.grid-4{ grid-template-columns:1fr; } }

/* three-way contrast band cards */
.tri{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:820px){ .tri{ grid-template-columns:1fr; } }
.tri .card{ padding:2rem 1.9rem; }
.tri .num{ font-family:var(--display); font-weight:800; font-size:1.1rem; color:var(--coral); display:inline-grid; place-items:center; width:40px; height:40px; border-radius:50%; border:1.5px solid var(--coral-soft); margin-bottom:1.1rem; }

/* value-prop dark cards (with sphere) */
.vp-card{ position:relative; border:1.5px solid var(--on-ink-line); border-radius:var(--r-lg); padding:2rem 1.8rem 2.2rem; overflow:hidden; background:rgba(255,255,255,.03); transition:border-color .2s, transform .2s; }
.vp-card:hover{ border-color:var(--coral); transform:translateY(-4px); }
.vp-card.feat{ border-color:var(--coral); background:rgba(255,105,75,.07); }
.vp-card .ic{ width:60px; height:60px; border-radius:50%; background:#fff; display:grid; place-items:center; margin-bottom:1.4rem; }
.vp-card .ic svg{ width:28px; height:28px; stroke:var(--ink); }
.vp-card h3{ font-family:var(--body); font-weight:800; font-size:.92rem; letter-spacing:.1em; text-transform:uppercase; color:var(--coral-bright); margin-bottom:.7rem; }
.vp-card p{ color:var(--on-ink-dim); font-size:.98rem; position:relative; z-index:1; }
.vp-card .sphere{ position:absolute; right:-30px; bottom:-30px; }
.vp-card .tag-new{ position:absolute; top:1.2rem; right:1.2rem; font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--coral-bright); border:1px solid var(--coral); border-radius:999px; padding:.25em .6em; }

/* AI pillars */
.pillar{ padding:2rem; border-radius:var(--r-lg); background:#fff; border:1px solid var(--line); box-shadow:var(--shadow-sm); transition:.2s; }
.pillar:hover{ transform:translateY(-4px); box-shadow:var(--shadow), 0 10px 34px -8px rgba(240,135,92,.42); border-color:var(--coral); }
.pillar .ic-badge{ width:52px;height:52px;border-radius:14px;background:var(--coral-tint);color:var(--coral-600);display:grid;place-items:center;margin-bottom:1.3rem;}
.pillar .ic-badge svg{ width:26px; height:26px; }

/* service chips */
.svc-chips{ display:grid; grid-template-columns:repeat(4,1fr); gap:.85rem; }
@media (max-width:1080px){ .svc-chips{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:820px){ .svc-chips{ grid-template-columns:1fr 1fr; } }
@media (max-width:520px){ .svc-chips{ grid-template-columns:1fr; } }
.svc-chip{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:1em 1.2em; border:1.5px solid var(--coral-soft); border-radius:var(--r); color:var(--coral-600); font-weight:600; background:#fff; cursor:pointer; transition:.18s; }
.svc-chip:hover{ background:var(--coral); color:#fff; border-color:var(--coral); transform:translateX(4px); }
.svc-chip .t{ display:inline-flex; align-items:center; gap:.6em; }
.svc-chip .new{ font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:.2em .5em; border-radius:999px; background:var(--coral-tint); color:var(--coral-600); white-space:nowrap; }
.svc-chip:hover .new{ background:rgba(255,255,255,.22); color:#fff; }

/* interactive service chips (homepage): button reset + active state, see assets/services.js */
button.svc-chip{ font-family:var(--body); font-size:1rem; text-align:left; width:100%; }
.svc-chip.is-active{ background:var(--coral); color:#fff; border-color:var(--coral); transform:translateX(4px); }
.svc-chip.is-active .new{ background:rgba(255,255,255,.22); color:#fff; }
.svc-chip .arr{ transition:transform .2s ease; }
.svc-chip:hover .arr, .svc-chip.is-active .arr{ transform:translateX(3px); }
/* wide landscape preview panel: image left, copy right */
.svc-panel{ transition:opacity .16s ease; display:grid; grid-template-columns:1.02fr .98fr; padding:0; overflow:hidden; min-height:376px; }
.svc-panel .media{ aspect-ratio:auto; height:100%; border-radius:0; }
.svc-panel .media img{ width:100%; height:100%; object-fit:cover; display:block; }
.svc-panel-body{ padding:clamp(1.8rem,3vw,2.8rem); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; }
.svc-panel [data-svc-title]{ min-height:0; }
.svc-panel [data-svc-desc]{ min-height:5.6em; }
@media (max-width:820px){
  .svc-panel{ grid-template-columns:1fr; min-height:0; }
  .svc-panel .media{ aspect-ratio:16/9; height:auto; }
  .svc-panel [data-svc-desc]{ min-height:0; }
}
.svc-panel.swapping{ opacity:0; }
.svc-panel .ph{ transition:background .3s ease; }

/* logo wall */
.logo-wall{ display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; }
@media (max-width:900px){ .logo-wall{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:560px){ .logo-wall{ grid-template-columns:repeat(2,1fr); } }
.logo-cell{ background:#fff; aspect-ratio:5/3; display:grid; place-items:center; transition:.2s; }
.logo-cell:hover{ background:var(--paper-2); }
.logo-cell span{ font-family:var(--display); font-weight:800; font-size:1.15rem; letter-spacing:.02em; color:var(--muted); transition:.2s; }
.logo-cell:hover span{ color:var(--ink); }

/* comparison table (3-way) */
.cmp{ width:100%; border-collapse:separate; border-spacing:0; background:#fff; border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--shadow-sm); }
.cmp th, .cmp td{ padding:1.05rem 1.3rem; text-align:left; vertical-align:middle; border-bottom:1px solid var(--line); }
.cmp thead th{ font-family:var(--body); font-weight:700; font-size:.95rem; }
.cmp thead th:first-child{ background:var(--paper-2); color:var(--muted); font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; }
.cmp thead .col-mmcy{ background:var(--ink); color:#fff; position:relative; }
.cmp thead .col-mmcy .logo{ font-size:1.05rem; }
.cmp thead .col-other{ color:var(--muted); }
.cmp tbody th{ font-weight:700; color:var(--ink); width:26%; }
.cmp .col-mmcy{ background:rgba(255,105,75,.06); font-weight:700; color:var(--ink); }
.cmp td.col-other{ color:var(--muted); }
.cmp tr:last-child th, .cmp tr:last-child td{ border-bottom:none; }
.cmp .yes{ color:var(--coral-600); font-weight:700; }
.cmp .pill{ display:inline-flex; align-items:center; gap:.4em; }
@media (max-width:760px){
  .cmp, .cmp thead, .cmp tbody, .cmp tr, .cmp th, .cmp td{ display:block; }
  .cmp thead{ display:none; }
  .cmp tbody th{ width:auto; background:var(--paper-2); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
  .cmp td::before{ content:attr(data-label); display:block; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--muted-2); margin-bottom:.2rem; }
  .cmp tr{ border-bottom:6px solid var(--paper); }
}

/* standards strip */
.iso-card{ background:#fff; border-radius:var(--r-lg); padding:1.6rem; display:flex; gap:1rem; box-shadow:var(--shadow); }
.iso-big{ flex:1; aspect-ratio:3/4; border-radius:var(--r); background:linear-gradient(160deg,#243a63,#16233f); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.3rem; text-align:center; }
.iso-big b{ font-family:var(--display); font-weight:800; font-size:1.5rem; line-height:.95; }
.iso-big small{ font-size:.62rem; letter-spacing:.1em; color:var(--coral-bright); }

/* CTA band */
.cta-band{ position:relative; overflow:hidden; border-radius:var(--r-xl); padding:clamp(2.5rem,5vw,4.5rem); background:linear-gradient(115deg,var(--ink) 0%, var(--ink-2) 42%, var(--coral-600) 130%); color:#fff; }

/* stat chips */
.stat-row{ display:flex; gap:2.4rem; flex-wrap:wrap; }
.stat b{ font-family:var(--display); font-weight:800; font-size:2.2rem; display:block; line-height:1; }
.stat span{ font-size:.85rem; color:var(--muted); letter-spacing:.02em; }
.on-ink .stat span{ color:var(--on-ink-dim); }
.float-card{ position:absolute; background:#fff; color:var(--ink); border-radius:var(--r); padding:1rem 1.2rem; box-shadow:var(--shadow-lg); display:flex; align-items:center; gap:.8rem; }

/* ============================================================
   LEAD MODULE (strong CTA + multi-step form), Zoho-ready
   ============================================================ */
.lead-band{ position:relative; overflow:hidden; color:var(--on-ink);
  background:radial-gradient(120% 130% at 88% 8%, rgba(255,105,75,.4) 0%, transparent 54%), linear-gradient(122deg,#192030 0%,#232c3b 52%,#3a2b33 100%);
}
.lead-band .wrap{ position:relative; z-index:1; }
.lead-grid{ display:grid; grid-template-columns:.92fr 1.08fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
@media (max-width:920px){ .lead-grid{ grid-template-columns:1fr; } }

.lead-checks{ list-style:none; margin:1.8rem 0 0; padding:0; display:flex; flex-direction:column; gap:.95rem; }
.lead-checks li{ display:flex; align-items:flex-start; gap:.8rem; font-size:1.02rem; color:var(--on-ink); }
.lead-checks .ck{ flex:none; width:26px; height:26px; border-radius:50%; background:var(--coral); display:grid; place-items:center; margin-top:1px; }
.lead-checks .ck svg{ width:15px; height:15px; stroke:#fff; stroke-width:3; }
.lead-trust{ display:flex; gap:2rem; flex-wrap:wrap; margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--on-ink-line); }

/* form card */
.lead-card{ background:#fff; color:var(--ink); border-radius:var(--r-xl); padding:clamp(1.8rem,3vw,2.6rem); box-shadow:var(--shadow-lg); position:relative; }
.lead-card .lc-head{ display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:.4rem; }
.lead-card h3{ font-family:var(--display); font-weight:800; font-size:1.5rem; letter-spacing:-.01em; }
.step-count{ font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--muted-2); white-space:nowrap; }
.lc-cheeky{ font-size:.84rem; font-style:italic; color:var(--muted); margin:.35rem 0 0; }
.progress{ height:6px; border-radius:999px; background:var(--paper-3); overflow:hidden; margin:.9rem 0 1.6rem; }
.progress .bar{ height:100%; width:33.33%; background:var(--coral); border-radius:999px; transition:width .35s cubic-bezier(.2,.7,.2,1); }

.fstep{ display:none; animation:fIn .3s ease both; }
.fstep.active{ display:block; }
@keyframes fIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }
.fstep > p.q{ font-weight:700; font-size:1.05rem; margin-bottom:1rem; }

.field{ display:flex; flex-direction:column; gap:.4rem; margin-bottom:1.1rem; }
.field label{ font-size:.85rem; font-weight:700; color:var(--ink); }
.field input, .field select, .field textarea{ font-family:var(--body); font-size:1rem; color:var(--ink); background:#fff; border:1.5px solid var(--line-2); border-radius:var(--r); padding:.8em 1em; width:100%; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--coral); box-shadow:0 0 0 3px var(--coral-tint); }
.field .err{ color:var(--coral-600); font-size:.8rem; font-weight:600; display:none; }
.chip-group .err{ display:none; color:var(--coral-600); font-size:.8rem; font-weight:600; }
.chip-group.invalid .err{ display:block; }
.field.invalid .err{ display:block; }
.field.invalid input, .field.invalid select{ border-color:var(--coral-600); }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:480px){ .field-row{ grid-template-columns:1fr; } }

.chips{ display:flex; flex-wrap:wrap; gap:.6rem; }
.chip-opt{ font-family:var(--body); font-weight:600; font-size:.95rem; padding:.7em 1.1em; border-radius:999px; border:1.5px solid var(--line-2); background:#fff; color:var(--ink-2); cursor:pointer; transition:.15s; }
.chip-opt:hover{ border-color:var(--coral); color:var(--coral-600); }
.chip-opt[aria-pressed="true"]{ background:var(--coral); border-color:var(--coral); color:#fff; }
.chip-group{ margin-bottom:1.2rem; }
.chip-group > span.lbl{ display:block; font-size:.85rem; font-weight:700; margin-bottom:.6rem; }

.lc-actions{ display:flex; gap:.7rem; align-items:center; margin-top:1.4rem; }
.lc-actions .spacer{ flex:1; }
.btn-back{ background:none; border:none; color:var(--muted); font-family:var(--body); font-weight:700; font-size:.95rem; cursor:pointer; padding:.6em .2em; }
.btn-back:hover{ color:var(--ink); }
.btn-back[hidden]{ display:none; }
/* .btn sets display:inline-flex, which outranks the UA [hidden] rule */
[hidden]{ display:none !important; }

.lead-success{ display:none; text-align:center; padding:1.4rem .5rem; }
.lead-success.show{ display:block; animation:fIn .35s ease both; }
.lead-success .tick{ width:64px; height:64px; border-radius:50%; background:var(--coral-tint); display:grid; place-items:center; margin:0 auto 1.2rem; }
.lead-success .tick svg{ width:32px; height:32px; stroke:var(--coral-600); stroke-width:3; }
.lc-fineprint{ font-size:.78rem; color:var(--muted-2); margin-top:1rem; text-align:center; }


/* ISO certification badges (official CertiTrust marks) */
.iso-badges{ display:flex; gap:.5rem; align-items:center; padding-left:1rem; margin-left:.2rem; border-left:1px solid var(--line); }
.iso-badge{ height:56px; width:auto; display:block; border-radius:4px; box-shadow:0 1px 5px rgba(17,21,42,.2); cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.iso-badge:hover{ transform:translateY(-1px) scale(1.05); box-shadow:0 5px 16px rgba(17,21,42,.3); }
@media (max-width:1380px){ .head-cta .iso-badges{ display:none !important; } }
.iso-proof{ display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; margin-top:1.7rem; }
.iso-proof .iso-badge{ height:86px; }
:target{ scroll-margin-top:100px; }

/* ISO certificate lightbox */
.iso-lightbox{ position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:24px; background:rgba(17,21,42,.72); backdrop-filter:blur(6px); opacity:0; pointer-events:none; transition:opacity .2s ease; }
.iso-lightbox.open{ opacity:1; pointer-events:auto; }
.iso-lightbox img{ max-height:82vh; max-width:min(92vw,520px); border-radius:12px; background:#fff; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.iso-lightbox .iso-close{ position:absolute; top:20px; right:24px; width:44px; height:44px; border-radius:50%; border:none; background:rgba(255,255,255,.16); color:#fff; font-size:1.6rem; line-height:1; cursor:pointer; display:grid; place-items:center; }
.iso-lightbox .iso-close:hover{ background:rgba(255,255,255,.28); }

/* brand logos (real files load from assets/logos/, wordmark stays as fallback) */
.brand-logo{ display:block; }
.trust-logos .brand-logo{ max-height:26px; max-width:100%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.68; transition:filter .2s, opacity .2s; }
.trust-logos [data-logo="invesco"] .brand-logo{ max-height:40px; }
.trust-logos [data-logo="cdw"] .brand-logo{ max-height:34px; }
.trust-logos [data-logo="cvent"] .brand-logo{ max-height:22px; }
.trust-logos [data-logo].has-logo:hover .brand-logo{ filter:none; opacity:1; }
.logo-cell .brand-logo{ max-height:40px; max-width:74%; width:auto; object-fit:contain; filter:grayscale(1); opacity:.78; transition:filter .2s, opacity .2s; }
.logo-cell:hover .brand-logo{ filter:none; opacity:1; }
.logo-cell[data-logo="ypo"] .brand-logo{ max-height:58px; }
.logo-cell[data-logo="internova"] .brand-logo{ max-height:52px; }
