/* =========================================================================
   INFITEX Global Advisory — "Eucalypt"
   Vanilla CSS. Light-first, premium B2B palette: eucalyptus green primary +
   warm clay accent on warm paper, with generous white space. Dark toggle.
   The whole site is token-driven, so this block re-skins every page at once.
   ========================================================================= */

/* ----- Design tokens ----- */
:root{
  /* Eucalypt LIGHT (default) — warm paper, deep eucalyptus green, clay accent */
  --bg:#F7F6F1;             /* warm paper */
  --bg-2:#FFFFFF;           /* card surface */
  --bg-3:#EFEDE4;           /* sunken surface / alt sections */
  --line:#E2DFD5;
  --line-2:#D3CFC2;
  --fg:#1A2620;             /* near-black eucalypt ink */
  --muted:#52615A;
  --ink:#1A2620;            /* logo wordmark / brand ink */
  --primary:#2F5E4E;        /* eucalyptus green — brand fills, primary CTAs */
  --primary-2:#3C7464;      /* lighter eucalyptus for hovers/gradients */
  --primary-ink:#F7F6F1;    /* text on green surfaces */
  --accent:#9A5226;         /* warm clay — AA link/text colour on paper */
  --accent-fill:#A85E2A;    /* clay — secondary fills, selection, skip-link */
  --accent-2:#2F6B4A;       /* eucalyptus — positive/ticks */
  --sage:#9A5226;           /* clay — logo X accent blade (pops on green brand) */
  --accent-ink:#FFFFFF;     /* text on clay fills */
  --positive:#2F6B4A;
  --link:#9A5226;
  --danger:#B4291C;
  --shadow:0 18px 44px -26px rgba(26,38,32,.32);
  --ring:0 0 0 3px rgba(154,82,38,.45);

  --maxw:1340px;
  --pad:clamp(14px, 3vw, 30px);
  --radius:14px;
  --radius-sm:9px;

  --font-head:'Schibsted Grotesk','Space Grotesk','IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-body:'Source Sans 3','IBM Plex Sans',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;

  --type-scale-step:0px; /* a11y text-size offset */
}

:root[data-theme="dark"]{
  /* Eucalypt DARK — deep green-black base, light eucalyptus + warm clay */
  --bg:#14211C;
  --bg-2:#1E2E27;
  --bg-3:#26352D;
  --line:#2C3D35;
  --line-2:#3A4D43;
  --fg:#ECF1ED;
  --muted:#A9BBB2;
  --ink:#ECF1ED;
  --primary:#2F5E4E;
  --primary-2:#3C7464;
  --primary-ink:#ECF1ED;
  --accent:#E0A067;         /* warm clay, lifted for contrast on dark */
  --accent-fill:#E0A067;
  --accent-2:#84BCA3;       /* light eucalyptus on dark */
  --sage:#E0A067;           /* clay — logo X accent blade (constant role) */
  --accent-ink:#14211C;
  --positive:#84BCA3;
  --link:#E0A067;
  --danger:#FF6B5E;
  --shadow:0 18px 50px -22px rgba(0,0,0,.7);
  --ring:0 0 0 3px rgba(224,160,103,.5);
}

/* High contrast */
:root[data-contrast="high"]{
  --muted:var(--fg);
  --line:var(--fg);
  --line-2:var(--fg);
}
:root[data-contrast="high"][data-theme="dark"]{ --fg:#FFFFFF; --bg:#000000; --bg-2:#070A08; --bg-3:#0B130E; }
:root[data-contrast="high"][data-theme="light"]{ --fg:#000000; --bg:#FFFFFF; --bg-2:#FFFFFF; --bg-3:#F0F3F0; }

/* Grayscale */
:root[data-grayscale="on"]{ filter:grayscale(1); }

/* ----- Reset ----- */
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body{
  margin:0;background:var(--bg);color:var(--fg);
  font-family:var(--font-body);
  font-size:calc(1rem + var(--type-scale-step));
  line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img,svg{max-width:100%;}
a{color:var(--link);text-underline-offset:3px;}
a:hover{text-decoration:underline;}
h1,h2,h3,h4{font-family:var(--font-head);font-weight:700;line-height:1.12;letter-spacing:-.018em;margin:0 0 .5em;color:var(--fg);}
p{margin:0 0 1em;}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:4px;}
::selection{background:var(--accent-fill);color:var(--accent-ink);}

.shell{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad);}
.skip-link{position:absolute;left:8px;top:-60px;background:var(--accent-fill);color:var(--accent-ink);padding:10px 16px;border-radius:8px;z-index:200;font-weight:700;transition:top .15s;}
.skip-link:focus{top:8px;}
.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;}

.eyebrow{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700;margin:0 0 14px;display:inline-block;}
.eyebrow::before{content:"> ";opacity:.7;}

.muted{color:var(--muted);}
.center{text-align:center;}
.lead{font-size:1.12rem;color:var(--muted);max-width:78rem;}

/* ----- Buttons ----- */
.btn{display:inline-flex;align-items:center;gap:.5em;font-family:var(--font-body);font-weight:700;
  font-size:.95rem;padding:12px 20px;border-radius:var(--radius-sm);border:1px solid transparent;
  cursor:pointer;text-decoration:none;transition:transform .12s ease,filter .15s ease,background .15s;white-space:nowrap;}
.btn:hover{text-decoration:none;}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--primary);color:var(--primary-ink);}
.btn-primary:hover{filter:brightness(1.10);}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line-2);}
.btn-ghost:hover{border-color:var(--accent);color:var(--accent);}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:8px 14px;font-size:.85rem;}
.btn svg{width:1.05em;height:1.05em;}

/* ----- Terminal window panel ----- */
.term-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.term-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-3);}
.term-bar i{width:11px;height:11px;border-radius:50%;background:var(--line-2);display:block;}
.term-bar i:nth-child(1){background:#ff5f56;}
.term-bar i:nth-child(2){background:#ffbd2e;}
.term-bar i:nth-child(3){background:var(--accent);}
.term-bar span{margin-left:8px;font-family:var(--font-mono);font-size:.74rem;color:var(--muted);}
.term-body{padding:clamp(18px,3vw,30px);}

/* ----- Header ----- */
.site-header{position:sticky;top:0;z-index:80;background:color-mix(in srgb,var(--bg) 86%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.header-inner{display:flex;align-items:center;gap:18px;height:68px;}
.brand{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.brand-logo{height:30px;width:auto;display:block;}
/* INFITE wordmark is now vector paths (Saira Condensed 900), so it renders
   identically regardless of font loading. --ink auto-flips light/dark. */
.brand-word path{fill:var(--ink);}
.bx-ink{fill:var(--ink);}            /* left blade follows wordmark colour */
.bx-acc{fill:var(--sage);}           /* sage rounded right blade (constant) */
.bx-dot{fill:var(--ink);}            /* pivot dot follows wordmark colour */
.bx-ring circle{stroke:var(--ink);stroke-width:1.6;opacity:.14;}
[data-theme="dark"] .bx-dot{fill:var(--sage);}
[data-theme="dark"] .bx-ring circle{opacity:.20;}

.nav{display:flex;align-items:center;gap:2px;margin-left:6px;}
.nav-link{font-size:.92rem;color:var(--fg);text-decoration:none;padding:8px 11px;border-radius:7px;font-weight:500;
  display:inline-flex;align-items:center;gap:5px;background:transparent;border:0;cursor:pointer;font-family:inherit;line-height:1;white-space:nowrap;}
.nav-link:hover,.nav-link[aria-current="page"],.nav-link[data-current="true"]{background:var(--bg-3);color:var(--accent);}
.nav-link .caret{width:15px;height:15px;transition:transform .18s ease;flex-shrink:0;}

/* mega-menu dropdowns */
.nav-item{position:relative;}
.nav-item .mega-panel{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:560px;max-width:min(92vw,720px);background:var(--bg-2,var(--bg));border:1px solid var(--line);
  border-radius:14px;padding:18px;box-shadow:0 18px 50px -12px rgba(0,0,0,.55),0 0 0 1px color-mix(in srgb,var(--line) 60%,transparent);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:90;}
.nav-item.has-mega:hover .mega-panel,
.nav-item.open .mega-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.nav-item.has-mega:hover > .nav-trigger .caret,
.nav-item.open > .nav-trigger .caret{transform:rotate(180deg);}
.nav-item .mega-panel::before{content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);
  width:12px;height:12px;background:var(--bg-2,var(--bg));border-left:1px solid var(--line);border-top:1px solid var(--line);}
.mega-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px;}
.mega-col{min-width:0;}
.mega-h{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);
  margin:6px 0 6px;padding:0 8px;}
.mega-col ul{list-style:none;margin:0;padding:0;}
.mega-col li{margin:0;}
.mega-col li a{display:block;padding:8px 8px;border-radius:9px;text-decoration:none;transition:background .14s;}
.mega-col li a:hover{background:var(--bg-3);}
.mega-t{display:block;font-size:.9rem;font-weight:600;color:var(--fg);}
.mega-col li a:hover .mega-t{color:var(--accent);}
.mega-d{display:block;font-size:.78rem;color:var(--muted);margin-top:1px;line-height:1.35;}
@media(max-width:1120px){.nav-item .mega-panel{min-width:460px;}}
.header-tools{margin-left:auto;display:flex;align-items:center;gap:8px;}
.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:9px;
  background:transparent;border:1px solid var(--line);color:var(--fg);cursor:pointer;transition:border-color .15s,color .15s;}
.icon-btn:hover{border-color:var(--accent);color:var(--accent);}
.icon-btn svg{width:19px;height:19px;}
.search-btn{width:auto;gap:8px;padding:0 12px;font-family:var(--font-mono);font-size:.8rem;color:var(--muted);}
.search-btn kbd{font-family:var(--font-mono);background:var(--bg-3);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:.72rem;color:var(--muted);}
.phone-slot{font-family:var(--font-mono);font-size:.85rem;color:var(--fg);text-decoration:none;padding:0 6px;display:none;}
.phone-slot:hover{color:var(--accent);}
@media(min-width:1180px){.phone-slot{display:inline;}}
.header-cta{display:none;}
@media(min-width:1180px){.header-cta{display:inline-flex;}}
@media(min-width:1024px) and (max-width:1179.98px){.header-inner{gap:12px;} .header-tools{gap:6px;}}

.hamburger{display:inline-flex;}
@media(min-width:1024px){.nav{display:flex;} .hamburger{display:none;}}
@media(max-width:1023px){.nav{display:none;}}

/* Small mobile: collapse header tools so nothing overflows the viewport */
@media(max-width:560px){
  .header-inner{gap:10px;}
  .header-tools{gap:6px;}
  .search-btn{width:44px;padding:0;gap:0;justify-content:center;}
  .search-btn span,.search-btn kbd{display:none;}
  .icon-btn{width:44px;height:44px;}
}
@media(max-width:380px){
  /* hide the accessibility quick-toggle on very small screens (still in the menu) */
  .header-tools [data-open-a11y]{display:none;}
}

/* mobile nav drawer */
.mobile-nav{position:fixed;inset:0;z-index:120;background:var(--bg);transform:translateX(100%);
  transition:transform .25s ease;display:flex;flex-direction:column;padding:20px;overflow:auto;}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.mobile-nav nav{display:flex;flex-direction:column;}
.m-link{font-family:var(--font-head);font-size:1.3rem;padding:14px 6px;border-bottom:1px solid var(--line);
  color:var(--fg);text-decoration:none;display:block;}
.m-link:hover{color:var(--accent);}
.m-acc{border-bottom:1px solid var(--line);}
.m-acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-family:var(--font-head);font-size:1.3rem;padding:14px 6px;background:transparent;border:0;
  color:var(--fg);cursor:pointer;text-align:left;line-height:1.1;}
.m-acc-btn:hover{color:var(--accent);}
.m-acc-btn .caret{width:22px;height:22px;transition:transform .2s ease;flex-shrink:0;color:var(--muted);}
.m-acc-btn[aria-expanded="true"] .caret{transform:rotate(180deg);}
.m-acc-panel{display:none;padding:4px 6px 12px;}
.m-acc-panel.open{display:block;}
.m-group{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--accent);margin:12px 0 4px;}
.m-group:first-child{margin-top:2px;}
.m-sublink{display:block;font-size:1rem;padding:9px 8px;color:var(--fg);text-decoration:none;border-radius:8px;}
.m-sublink:hover{background:var(--bg-3);color:var(--accent);}
@media(prefers-reduced-motion:reduce){.mobile-nav{transition:none;}}

/* ----- Section rhythm ----- */
.section{padding:clamp(30px,4vw,56px) 0;}
.section-head{max-width:82rem;margin-bottom:24px;}
.section-title{font-size:clamp(1.6rem,3.5vw,2.4rem);}
.section.alt{background:var(--bg-2);border-block:1px solid var(--line);}
/* collapse doubled whitespace between two adjacent same-background sections */
.section + .section:not(.alt){padding-top:0;}
.section.alt + .section.alt{padding-top:0;}
.section.alt + .section:not(.alt),.section:not(.alt) + .section.alt{padding-top:clamp(30px,4vw,56px);}

/* ----- Hero ----- */
.hero{position:relative;padding:clamp(26px,4vw,52px) 0 clamp(26px,3.5vw,46px);overflow:hidden;}
.hero-grid::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px;mask-image:radial-gradient(circle at 70% 30%,#000,transparent 75%);opacity:.5;}
.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start;}
@media(max-width:920px){.hero-inner{grid-template-columns:1fr;gap:28px;}}
.hero h1{font-size:clamp(2.1rem,5.4vw,3.7rem);margin-bottom:.4em;}
.hero h1 .accent{color:var(--accent);}
.hero-sub{font-size:1.15rem;color:var(--muted);max-width:66rem;margin-bottom:28px;}
.answer-lede{font-size:1.06rem;line-height:1.6;color:var(--fg);max-width:66rem;margin:0 0 18px;
  padding-left:16px;border-left:3px solid var(--accent);font-weight:500;}
@media(max-width:480px){.answer-lede{font-size:1rem;padding-left:12px;}}

/* ----- contact layout + QR (vCard) card ----- */
.qr-card--wide .qr-card__body{display:flex;gap:28px;align-items:center;}
.qr-card--wide .qr-wrap{flex-shrink:0;}
.qr-card--wide .qr-wrap img{width:170px;height:170px;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:10px;}
.qr-card__text{max-width:54ch;}
.qr-card__text .ico{margin-bottom:10px;}
.qr-card__text h3{margin:0 0 8px;}
.qr-card__text p{margin:0;}
.qr-hint{font-family:var(--font-mono);font-size:.76rem;color:var(--muted);margin:10px 0 0 !important;}
.qr-scan-art{margin-left:auto;flex-shrink:0;width:300px;max-width:34%;}
.qr-scan-art svg{width:100%;height:auto;}
@media(max-width:1100px){.qr-scan-art{display:none;}}
@media(max-width:560px){
  .qr-card--wide .qr-card__body{flex-direction:column;text-align:center;}
  .qr-card__text .ico{margin-inline:auto;}
}
.qr-dialog-card{max-width:380px;}
.qr-dialog-img img{width:220px;height:220px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;}
/* QR header button: wide desktop only — avoids crowding the header */
.qr-header-btn{display:none;}
@media(min-width:1280px){.qr-header-btn{display:inline-flex;}}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:22px;}
.hero-paths{display:flex;gap:10px;flex-wrap:wrap;}
.path-chip{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:6px 13px;text-decoration:none;}
.path-chip:hover{border-color:var(--accent);color:var(--accent);text-decoration:none;}
.path-chip b{color:var(--fg);font-weight:700;}

/* Stacked variant — three audience links as one-per-line points */
.hero-paths--list{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-direction:column;gap:10px;flex-wrap:nowrap;}
.hero-paths--list li{margin:0;}
.hero-paths--list .path-chip{display:flex;align-items:center;gap:8px;width:100%;border-radius:var(--radius-sm);
  padding:12px 16px;background:var(--bg-2);transition:border-color .15s,transform .12s,background .15s;}
.hero-paths--list .path-chip::before{content:"›";color:var(--accent);font-weight:700;font-family:var(--font-mono);}
.hero-paths--list .path-chip:hover{transform:translateX(2px);border-color:var(--accent);}
.hero-paths--list .path-chip span{color:var(--muted);}

/* Hero pilot card — replaces the old terminal console on the right */
.hero-pilot{position:relative;z-index:1;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius);padding:clamp(22px,2.6vw,30px);box-shadow:var(--shadow);}
.hero-pilot h2{font-size:clamp(1.4rem,2.6vw,1.9rem);margin:.3em 0 .4em;}
.hero-pilot p{color:var(--muted);margin:0 0 18px;}
.hero-pilot .hero-cta{flex-wrap:wrap;}
@media(max-width:920px){.hero-pilot{order:2;}}

/* terminal hero console */
.console .term-body{font-family:var(--font-mono);font-size:.86rem;line-height:1.7;color:var(--muted);min-height:230px;}
.console .cl{display:block;}
.console .pr{color:var(--accent);} 
.console .ok{color:var(--accent);}
.console .cy{color:var(--accent-2);}
.console .dim{opacity:.6;}
span.caret{display:inline-block;width:.55em;height:1.05em;background:var(--accent);vertical-align:-.16em;margin-left:1px;}
@media(prefers-reduced-motion:no-preference){span.caret{animation:blink 1.05s steps(1) infinite;}}
@keyframes blink{50%{opacity:0;}}

/* ----- Typewriter ----- */
.tw{white-space:pre-wrap;}
.tw .tw-caret{display:inline-block;width:.5em;height:1em;background:currentColor;color:var(--accent);
  vertical-align:-.12em;margin-left:2px;}
@media(prefers-reduced-motion:no-preference){.tw .tw-caret{animation:blink 1s steps(1) infinite;}}

/* ----- Reveal ----- */
.reveal{opacity:0;transform:translateY(14px);}
.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important;}}

/* ----- Stack strip ----- */
.stack-strip{display:flex;flex-wrap:wrap;gap:10px;}
.stack-chip{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono);font-style:normal;
  font-size:.82rem;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--fg);}
.stack-chip .dot{width:9px;height:9px;border-radius:2px;flex-shrink:0;}

/* ----- Cards grid ----- */
.grid{display:grid;gap:20px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:620px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;transition:border-color .15s,transform .15s;}
.card:hover{border-color:var(--line-2);}
.card .ico{width:42px;height:42px;border-radius:10px;background:var(--bg-3);border:1px solid var(--line);
  display:grid;place-items:center;color:var(--accent);margin-bottom:16px;}
.card .ico svg{width:22px;height:22px;}
.card h3{font-size:1.15rem;margin-bottom:.4em;}
.card p{color:var(--muted);margin:0 0 .8em;font-size:.95rem;}
.card .more{font-family:var(--font-mono);font-size:.82rem;color:var(--accent);text-decoration:none;}
.card .more:hover{text-decoration:underline;}

.division{display:flex;flex-direction:column;}
.division .tag{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.14em;margin-bottom:10px;}

/* ----- Steps ----- */
.steps{counter-reset:step;display:grid;gap:16px;}
.step{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start;background:var(--bg-2);
  border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px;}
.step .num{counter-increment:step;font-family:var(--font-mono);font-weight:700;color:var(--accent);
  background:var(--bg-3);border:1px solid var(--line);border-radius:8px;min-width:42px;height:42px;display:grid;place-items:center;}
.step .num::before{content:counter(step,decimal-leading-zero);}
.step h3{font-size:1.05rem;margin:.1em 0 .3em;}
.step p{margin:0;color:var(--muted);font-size:.94rem;}
/* Compact How-it-works — smaller cards, two columns on wider screens (less vertical space) */
.steps--compact{gap:12px;}
.steps--compact .step{padding:14px 16px;gap:14px;}
.steps--compact .step .num{min-width:36px;height:36px;border-radius:7px;font-size:.86rem;}
.steps--compact .step h3{font-size:1rem;margin:0 0 .2em;}
.steps--compact .step p{font-size:.9rem;}
@media(min-width:760px){.steps--compact{grid-template-columns:1fr 1fr;}}

/* ----- Compliance cycle / lists ----- */
.cycle-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
.cycle-list li{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px;}
.cycle-list .mark{color:var(--accent);font-family:var(--font-mono);flex-shrink:0;}
.cycle-list b{display:block;font-family:var(--font-mono);font-size:.95rem;}
.cycle-list span{color:var(--muted);font-size:.9rem;}

/* job/frequency two-column table */
.jobtable-wrap{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media(max-width:760px){.jobtable-wrap{grid-template-columns:1fr;}}
table.jobtable{width:100%;border-collapse:separate;border-spacing:0;font-size:.92rem;background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;}
table.jobtable caption{font-family:var(--font-mono);text-align:left;color:var(--accent);font-size:.78rem;
  text-transform:uppercase;letter-spacing:.12em;padding:14px 16px 12px;background:var(--bg-3);border-bottom:2px solid var(--accent);}
table.jobtable th,table.jobtable td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;}
table.jobtable thead th{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
table.jobtable tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg-3) 55%,transparent);}
table.jobtable tbody tr:last-child td{border-bottom:0;}
table.jobtable td:last-child{font-family:var(--font-mono);color:var(--accent-2);white-space:nowrap;}

/* ----- Security feature list ----- */
.feature-list{list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.feature-list li{display:grid;grid-template-columns:auto 1fr;gap:14px;}
.feature-list .ico{width:36px;height:36px;border-radius:9px;background:var(--bg-3);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent);}
.feature-list .ico svg{width:18px;height:18px;}
.feature-list b{font-family:var(--font-mono);font-size:.95rem;}
.feature-list p{margin:.2em 0 0;color:var(--muted);font-size:.92rem;}

/* ----- two-column split (security etc.) ----- */
.split-2{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;}
.split-2--rev{align-items:stretch;}
@media(max-width:860px){.split-2{grid-template-columns:1fr;gap:26px;}}
.feature-grid-2{grid-template-columns:1fr 1fr;gap:18px 26px;}
@media(max-width:560px){.feature-grid-2{grid-template-columns:1fr;}}
.sec-visual{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.sec-visual svg{width:100%;max-width:360px;height:auto;display:block;margin-inline:auto;}
.sec-cap{color:var(--muted);font-size:.9rem;margin:12px 0 0;}

/* ----- vision / mission / believe ----- */
.vmb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px;}
@media(max-width:820px){.vmb-grid{grid-template-columns:1fr;}}
.about-snippet .lead{max-width:none;margin:0;text-align:justify;text-justify:inter-word;}
.vmb-grid--mini{margin-top:20px;gap:14px;}
.vmb-grid--mini .vmb-card{padding:16px 18px;}
.vmb-grid--mini .vmb-card h3{font-size:1.02rem;margin:.2em 0 .3em;}
.vmb-grid--mini .vmb-card p{font-size:.9rem;}
.vmb-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;border-top:3px solid var(--accent);}
.vmb-card .ico{width:42px;height:42px;border-radius:11px;background:var(--bg-3);display:grid;place-items:center;color:var(--accent);margin-bottom:14px;}
.vmb-card .ico svg{width:22px;height:22px;}
.vmb-card h3{font-size:1.12rem;margin:0 0 8px;color:var(--fg);}
.vmb-card p{color:var(--muted);font-size:.92rem;margin:0;line-height:1.55;}

/* ----- soft (non-financial) savings ----- */
.soft-savings{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);}

/* ----- hero with dashboard widget ----- */
.hero-2col{display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;}
@media(max-width:920px){.hero-2col{grid-template-columns:1fr;gap:34px;}}
.status-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:22px 22px 16px;}
.status-card__top{display:flex;align-items:center;justify-content:space-between;
  padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--line);}
.status-card__top .t{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);}
.status-card__top .dot{width:10px;height:10px;border-radius:50%;background:var(--positive);
  box-shadow:0 0 0 4px color-mix(in srgb,var(--positive) 22%,transparent);}
.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 0;border-bottom:1px dashed var(--line);}
.ledger-row:last-of-type{border-bottom:0;}
.ledger-row .k{font-size:.92rem;color:var(--fg);}
.ledger-row .v{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);
  border:1px solid var(--line-2);border-radius:999px;padding:3px 10px;white-space:nowrap;}
.ledger-row .v.ok{color:var(--positive);border-color:color-mix(in srgb,var(--positive) 50%,var(--line));
  background:color-mix(in srgb,var(--positive) 10%,transparent);}
.ledger-row .v.warn{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--line));
  background:color-mix(in srgb,var(--accent) 10%,transparent);}
.status-card__foot{font-family:var(--font-mono);font-size:.72rem;color:var(--muted);
  margin-top:12px;padding-top:10px;border-top:1px solid var(--line);}

/* ----- finance dashboard visual (Business hero) ----- */
.dash-visual{display:flex;flex-direction:column;align-items:center;}
.dash-svg{width:100%;height:auto;max-width:520px;filter:drop-shadow(0 18px 40px rgba(8,18,30,.18));}
.dash-cap{font-family:var(--font-mono);font-size:.74rem;color:var(--muted);margin:14px 0 0;text-align:center;}

/* ----- industry cards (Who we help) ----- */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
@media(max-width:900px){.ind-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.ind-grid{grid-template-columns:1fr;}}
.ind-card{display:flex;align-items:center;gap:13px;background:var(--bg-2);border:1px solid var(--line);
  border-radius:var(--radius-sm);padding:16px 18px;font-weight:600;font-size:.95rem;color:var(--fg);
  transition:border-color .15s,transform .15s;}
.ind-card:hover{border-color:var(--accent);transform:translateY(-2px);}
.ind-ic{display:grid;place-items:center;flex-shrink:0;color:var(--accent);}
.ind-ic svg{width:20px;height:20px;}

/* ----- testimonials ----- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
@media(max-width:920px){.tgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:620px){.tgrid{grid-template-columns:1fr;}}
.tcard{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:18px 20px;position:relative;display:flex;flex-direction:column;}
.tquote-mark{font-family:var(--font-head);font-size:2rem;line-height:.6;color:var(--accent);
  opacity:.5;margin-bottom:2px;}
.tcard blockquote{margin:0 0 12px;font-size:.9rem;line-height:1.55;color:var(--fg);}
.tcard figcaption{margin-top:auto;border-top:1px solid var(--line);padding-top:11px;display:flex;flex-direction:column;gap:2px;}
.tcard .tname{font-weight:700;font-size:.92rem;color:var(--fg);}
.tcard .torg{font-size:.84rem;color:var(--muted);}

/* ----- testimonials slider (4 per row, auto-advancing) ----- */
.tslider{position:relative;}
.tslider-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;}
.tslider-viewport::-webkit-scrollbar{display:none;}
.tslider-track{display:flex;gap:22px;padding:2px;}
.tslider-track > *{flex:0 0 calc((100% - 2*22px)/3);scroll-snap-align:start;margin:0;}
@media(max-width:900px){.tslider-track > *{flex-basis:calc((100% - 22px)/2);}}
@media(max-width:560px){.tslider-track > *{flex-basis:100%;}}
.tslider--2up .tslider-track > *{flex:0 0 calc((100% - 22px)/2);}
@media(max-width:560px){.tslider--2up .tslider-track > *{flex-basis:100%;}}
.tslider-controls{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:20px;}
.tslider-arrow{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--bg-2);
  color:var(--fg);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s,transform .12s;}
.tslider-arrow:hover{border-color:var(--accent);color:var(--accent);}
.tslider-arrow:active{transform:translateY(1px);}
.tslider-arrow svg{width:20px;height:20px;}
.tslider-dots{display:flex;gap:8px;align-items:center;}
.tslider-dots button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--line-2);cursor:pointer;transition:width .2s,background .2s;}
.tslider-dots button.on{width:22px;border-radius:4px;background:var(--accent);}

/* ----- digitech split sections (Found on Google / devices) ----- */
.dt-split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;}
@media(max-width:860px){.dt-split{grid-template-columns:1fr;gap:28px;}}
.dt-split-rev .dt-visual{order:-1;}
@media(max-width:860px){.dt-split-rev .dt-visual{order:0;}}
.dt-visual{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;justify-content:center;}
.dt-svg{width:100%;max-width:440px;height:auto;}
.ticks{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:11px;}
.ticks li{position:relative;padding-left:30px;color:var(--fg);font-size:.96rem;}
.ticks li::before{content:"";position:absolute;left:0;top:5px;width:16px;height:9px;
  border-left:2.5px solid var(--positive);border-bottom:2.5px solid var(--positive);transform:rotate(-45deg);}

/* ----- Calculator ----- */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media(max-width:820px){.calc{grid-template-columns:1fr;}}
.calc .field{margin-bottom:18px;}
.calc label{display:block;font-family:var(--font-mono);font-size:.82rem;margin-bottom:8px;color:var(--fg);}
.calc input[type=range]{width:100%;accent-color:var(--accent);}
.calc .rowval{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.82rem;color:var(--muted);}
.calc .rowval b{color:var(--accent);}
.calc-out{background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius);padding:24px;display:flex;flex-direction:column;justify-content:center;}
.calc-out .figure{font-family:var(--font-mono);font-size:clamp(1.7rem,4vw,2.6rem);color:var(--accent);font-weight:700;line-height:1.1;}
.calc-out .figure small{display:block;font-size:.9rem;color:var(--muted);font-weight:400;margin-top:6px;}
.note{font-size:.82rem;color:var(--muted);font-style:italic;}

/* ----- Key dates ----- */
.dates-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.94rem;background:var(--bg-2);border:1px solid var(--line-2);border-radius:12px;overflow:hidden;}
.dates-table th,.dates-table td{text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);}
.dates-table thead th{font-family:var(--font-mono);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em;color:var(--fg);background:var(--bg-3);border-bottom:2px solid var(--accent);}
.dates-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--bg-3) 60%,transparent);}
.dates-table tbody tr:hover{background:var(--bg-3);}
.dates-table tbody tr:last-child td{border-bottom:0;}
.dates-table td.date{font-family:var(--font-mono);color:var(--accent-2);white-space:nowrap;}

/* ----- FAQ ----- */
.faq-spotlight{position:relative;}
.faq-stage{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,34px);min-height:200px;}
.faq-slide{display:none;}
.faq-slide.active{display:block;animation:fade .4s ease;}
@media(prefers-reduced-motion:reduce){.faq-slide.active{animation:none;}}
@keyframes fade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.faq-q{font-family:var(--font-head);font-size:1.2rem;color:var(--fg);margin-bottom:.5em;}
.faq-q::before{content:"? ";color:var(--accent);}
.faq-a{color:var(--muted);margin:0;}
.faq-controls{display:flex;align-items:center;gap:14px;margin-top:20px;}
.faq-controls>button{width:44px;height:44px;flex-shrink:0;}
.faq-dots{display:flex;gap:6px;flex-wrap:wrap;flex:1;align-items:center;}
.faq-dot{width:26px;height:5px;border-radius:3px;background:var(--line-2);border:0;padding:0;cursor:pointer;transition:background .2s,width .2s;}
.faq-dot:hover{background:var(--muted);}
.faq-dot.on{background:var(--accent);width:44px;}
.faq-progress{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin-top:16px;}
.faq-progress span{display:block;height:100%;background:var(--accent);width:0;}
.faq-accordion{margin-top:24px;}
.faq-accordion>summary{cursor:pointer;font-family:var(--font-mono);color:var(--accent);padding:10px 0;list-style:none;}
.faq-accordion>summary::-webkit-details-marker{display:none;}
.faq-accordion>summary::before{content:"+ ";}
.faq-accordion[open]>summary::before{content:"– ";}
.faq-item{border-top:1px solid var(--line);}
.faq-item summary{cursor:pointer;padding:16px 4px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--accent);font-family:var(--font-mono);}
.faq-item[open] summary::after{content:"–";}
.faq-item p{color:var(--muted);padding:0 4px 18px;margin:0;}

/* ----- Contact grid ----- */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:22px;align-items:stretch;}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr;}}
.contact-cards{display:flex;flex-direction:column;gap:14px;height:100%;}
.contact-cards--compact{justify-content:flex-start;}
.contact-cards--compact .card{padding:16px 18px;}
.cc-row{display:flex;gap:14px;align-items:flex-start;}
.cc-row .ico{flex:0 0 auto;margin:0;}
.cc-body{min-width:0;}
.cc-body h3{font-size:1.02rem;margin:0 0 4px;}
.cc-body p{margin:0 0 10px;font-size:.9rem;color:var(--muted);}
.cc-body .btn-sm{margin:0;}
.cc-qr .qr-mini{flex:0 0 auto;padding:0;border:0;background:none;cursor:pointer;border-radius:10px;line-height:0;}
.cc-qr .qr-mini img{width:92px;height:92px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:6px;transition:border-color .15s,transform .12s;display:block;}
.cc-qr .qr-mini:hover img{border-color:var(--accent);transform:translateY(-1px);}
.cc-qr .qr-mini:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:12px;}

/* ----- Forms ----- */
.form-row{margin-bottom:16px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
@media(max-width:560px){.form-grid{grid-template-columns:1fr;}}
label.lbl{display:block;font-family:var(--font-mono);font-size:.8rem;margin-bottom:7px;color:var(--fg);}
label.lbl .req{color:var(--accent);}
.input,select.input,textarea.input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:9px;
  color:var(--fg);font-family:var(--font-body);font-size:.95rem;padding:12px 13px;transition:border-color .15s;}
textarea.input{min-height:120px;resize:vertical;font-family:var(--font-body);}
.input:focus,select.input:focus,textarea.input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);}
.input::placeholder{color:var(--muted);opacity:.7;}
.field-err{color:var(--danger);font-size:.82rem;margin-top:6px;display:none;font-family:var(--font-mono);}
.form-row.invalid .field-err{display:block;}
.form-row.invalid .input,.form-row.invalid select.input,.form-row.invalid textarea.input,
.form-row.invalid .tel-combo{border-color:var(--danger);}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}
.form-note{font-size:.82rem;color:var(--muted);}
.form-status{margin-top:14px;font-family:var(--font-mono);font-size:.88rem;}
.form-status.ok{color:var(--accent);}
.form-status.err{color:var(--danger);}

/* phone with country-code combobox */
.tel-wrap{display:grid;grid-template-columns:auto 1fr;gap:10px;}
.cc-combo{position:relative;}
.cc-input{width:84px;background:var(--bg);border:1px solid var(--line);border-radius:9px;color:var(--fg);
  font-family:var(--font-mono);font-size:.95rem;padding:12px 10px;text-align:left;}
.cc-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring);}
.cc-list{position:absolute;z-index:30;top:calc(100% + 4px);left:0;width:260px;max-height:240px;overflow:auto;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;box-shadow:var(--shadow);padding:6px;display:none;}
.cc-list.open{display:block;}
.cc-opt{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:7px;cursor:pointer;font-size:.9rem;}
.cc-opt .code{font-family:var(--font-mono);color:var(--accent);min-width:48px;}
.cc-opt .cn{color:var(--muted);font-size:.85rem;}
.cc-opt[aria-selected="true"],.cc-opt:hover{background:var(--bg-3);}
.tel-num{font-family:var(--font-mono);letter-spacing:.04em;}

/* ----- Subscribe ----- */
.subscribe{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:end;}
@media(max-width:680px){.subscribe{grid-template-columns:1fr;}}
.freq-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:6px;}
.freq-row label{font-family:var(--font-mono);font-size:.85rem;display:flex;align-items:center;gap:6px;color:var(--fg);cursor:pointer;}
.optin{display:flex;gap:9px;align-items:flex-start;font-size:.82rem;color:var(--muted);margin-top:12px;}
.optin input{margin-top:3px;}

/* ----- CTA band ----- */
.cta-band{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:clamp(28px,5vw,52px);text-align:center;background-image:radial-gradient(circle at 50% 0%,rgba(107,255,77,.08),transparent 60%);}
.cta-band h2{font-size:clamp(1.5rem,3vw,2.1rem);}
.cta-band .hero-cta{justify-content:center;margin-top:22px;}

/* ----- Footer ----- */
.site-footer{background:var(--bg-2);border-top:1px solid var(--line);padding:44px 0 24px;margin-top:8px;}
.footer-subscribe{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 32px;
  padding:26px 0;margin:30px 0 4px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.footer-subscribe .fs-text{max-width:46ch;}
.footer-subscribe .fs-text h4{margin:0 0 4px;font-size:1.1rem;}
.footer-subscribe .fs-text p{margin:0;color:var(--muted);font-size:.9rem;}
.footer-subscribe .fs-form{flex:1 1 340px;max-width:440px;}
.footer-subscribe .fs-row{display:flex;gap:10px;}
.footer-subscribe .fs-row .input{flex:1 1 auto;margin:0;}
.footer-subscribe .fs-row .btn{flex:0 0 auto;}
.footer-subscribe .optin{display:flex;gap:9px;align-items:flex-start;margin-top:10px;font-size:.8rem;color:var(--muted);}
.footer-subscribe .optin input{margin-top:3px;flex:0 0 auto;}
@media(max-width:560px){.footer-subscribe .fs-row{flex-direction:column;}.footer-subscribe .fs-row .btn{width:100%;}}
.footer-top{display:grid;grid-template-columns:1.5fr 2.4fr;gap:40px;align-items:start;}
@media(max-width:860px){.footer-top{grid-template-columns:1fr;gap:28px;}}
.footer-brand{max-width:42ch;}
.footer-blurb{color:var(--muted);font-size:.9rem;margin:12px 0 14px;}
.footer-contact{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:7px;}
.footer-contact li{display:flex;align-items:center;gap:8px;font-size:.9rem;}
.footer-contact li svg{width:16px;height:16px;color:var(--accent);flex-shrink:0;}
.footer-contact a{color:var(--fg);text-decoration:none;}
.footer-contact a:hover{color:var(--accent);}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
@media(max-width:560px){.footer-cols{grid-template-columns:1fr 1fr;gap:22px;}}
.footer-col h4{font-family:var(--font-mono);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:12px;}
.footer-col ul{list-style:none;padding:0;margin:0;display:grid;gap:8px;}
.footer-col a{color:var(--fg);text-decoration:none;font-size:.9rem;}
.footer-col a:hover{color:var(--accent);}
.socials{display:flex;gap:9px;margin-top:6px;}
.socials a{width:38px;height:38px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--fg);}
.socials a:hover{border-color:var(--accent);color:var(--accent);}
.socials svg{width:18px;height:18px;}
.footer-bottom{margin-top:40px;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.84rem;color:var(--muted);}
.footer-legal{display:flex;gap:16px;flex-wrap:wrap;}
.footer-legal a{color:var(--muted);text-decoration:none;}
.footer-legal a:hover{color:var(--accent);}
.compliance-line{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);margin-top:14px;border-top:1px dashed var(--line);padding-top:14px;}

/* ----- Floating action buttons ----- */
.fab{position:fixed;right:18px;bottom:18px;z-index:70;display:flex;flex-direction:column;gap:10px;align-items:flex-end;}
.fab button,.fab a{width:50px;height:50px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);
  background:var(--bg-2);color:var(--fg);cursor:pointer;box-shadow:var(--shadow);text-decoration:none;transition:transform .15s,border-color .15s;}
.fab button:hover,.fab a:hover{transform:translateY(-2px);border-color:var(--accent);color:var(--accent);}
.fab .wa{color:#25D366;border-color:#25D366;}
.fab svg{width:23px;height:23px;}
/* Persistent labelled CTA pill — always visible while scrolling */
.fab .fab-cta{width:50px;height:50px;border-radius:50%;padding:0;display:grid;place-items:center;
  background:var(--accent-fill);color:#fff;border-color:var(--accent-fill);}
.fab .fab-cta:hover{transform:translateY(-2px);filter:brightness(1.06);border-color:var(--accent-fill);color:#fff;}
.fab .fab-cta svg{width:20px;height:20px;}
#backTop{opacity:0;pointer-events:none;transition:opacity .2s;}
#backTop.show{opacity:1;pointer-events:auto;}

/* ----- Dialog / popovers ----- */
dialog{border:0;padding:0;background:transparent;color:var(--fg);max-width:min(560px,94vw);width:100%;}
dialog::backdrop{background:rgba(0,0,0,.62);backdrop-filter:blur(2px);}
.dialog-card{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);box-shadow:var(--shadow);max-height:90vh;overflow:auto;}
.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg-2);}
.dialog-head h2{margin:0;font-size:1.1rem;}
.dialog-body{padding:18px;}
.dialog-foot{padding:14px 18px;border-top:1px solid var(--line);display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}

/* ----- Search overlay ----- */
.search-overlay{position:fixed;inset:0;z-index:140;background:color-mix(in srgb,var(--bg) 78%,transparent);
  backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding:8vh 16px 16px;}
.search-overlay.open{display:flex;}
.search-panel{background:var(--bg-2);border:1px solid var(--line-2);border-radius:var(--radius);width:min(680px,100%);
  box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column;max-height:84vh;}
.search-input-row{display:flex;align-items:center;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line);}
.search-input-row svg{width:20px;height:20px;color:var(--accent);flex-shrink:0;}
#searchInput{flex:1;background:transparent;border:0;color:var(--fg);font-family:var(--font-mono);font-size:1.05rem;outline:none;}
.search-results{overflow:auto;padding:8px;}
.search-group-label{font-family:var(--font-mono);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);padding:12px 12px 6px;}
.search-result{display:block;padding:11px 12px;border-radius:9px;text-decoration:none;color:var(--fg);}
.search-result:hover,.search-result.active{background:var(--bg-3);}
.search-result .r-title{font-weight:600;font-size:.96rem;}
.search-result .r-title mark{background:var(--accent-fill);color:var(--accent-ink);border-radius:3px;padding:0 2px;}
.search-result .r-snip{color:var(--muted);font-size:.85rem;margin-top:2px;}
.search-result .r-snip mark{background:transparent;color:var(--accent);font-weight:600;}
.search-empty{padding:30px;text-align:center;color:var(--muted);font-family:var(--font-mono);font-size:.9rem;}
.search-foot{padding:10px 16px;border-top:1px solid var(--line);font-family:var(--font-mono);font-size:.74rem;color:var(--muted);display:flex;gap:16px;flex-wrap:wrap;}
@media(max-width:560px){.search-overlay{padding:0;}.search-panel{max-height:100vh;height:100vh;width:100vw;border-radius:0;}}

/* ----- Section navigator (home) ----- */
.section-nav{position:sticky;top:68px;z-index:60;background:color-mix(in srgb,var(--bg) 90%,transparent);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.section-nav ul{list-style:none;margin:0;padding:10px 0;display:flex;gap:6px;overflow-x:auto;scrollbar-width:thin;justify-content:center;}
@media(max-width:760px){.section-nav ul{justify-content:flex-start;}}
.section-nav a{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);text-decoration:none;white-space:nowrap;padding:6px 11px;border-radius:7px;}
.section-nav a:hover,.section-nav a.active{color:var(--accent);background:var(--bg-3);}

/* breadcrumbs */
.crumbs{font-family:var(--font-mono);font-size:.8rem;color:var(--muted);padding:16px 0 0;}
.crumbs a{color:var(--muted);text-decoration:none;}
.crumbs a:hover{color:var(--accent);}
.crumbs span{color:var(--accent);}

/* utility */
.mt-0{margin-top:0;}
.divider{height:1px;background:var(--line);border:0;margin:0;}
.pill-tag{display:inline-block;font-family:var(--font-mono);font-size:.72rem;color:var(--accent);
  border:1px solid var(--line);border-radius:999px;padding:4px 11px;background:var(--bg-2);}
.prose h2{margin-top:1.6em;}
.prose h3{margin-top:1.3em;font-size:1.05rem;}
.prose ul{padding-left:1.2em;color:var(--muted);}
.prose li{margin-bottom:.4em;}
.prose h2[id]{scroll-margin-top:90px;}

/* ----- legal pages (privacy / terms) ----- */
.legal-shell{max-width:80ch;}
.legal-toc{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:20px 24px;margin:26px 0 8px;}
.legal-toc strong{font-family:var(--font-mono);font-size:.78rem;text-transform:uppercase;
  letter-spacing:.1em;color:var(--muted);display:block;margin-bottom:10px;}
.legal-toc ol{margin:0;padding-left:1.3em;columns:2;column-gap:34px;}
@media(max-width:620px){.legal-toc ol{columns:1;}}
.legal-toc li{margin-bottom:6px;}
.legal-toc a{color:var(--accent);text-decoration:none;font-size:.9rem;}
.legal-toc a:hover{text-decoration:underline;}

/* =========================================================================
   About spacing + balanced two-up
   ========================================================================= */
.about-prose{max-width:80rem;}
.about-cards{margin-top:26px;}

/* =========================================================================
   Justified body copy — clean edges on long-form paragraphs.
   Applied to prose/about/legal paragraphs (not headings, leads or labels).
   hyphens:auto + word-break avoid ugly rivers/large gaps.
   ========================================================================= */
.about-prose p,
.prose > p,
.legal-shell p:not(.lead),
.answer-lede{
  text-align:justify;
  -webkit-hyphens:auto;hyphens:auto;
  hyphenate-limit-chars:7 4 3;
  overflow-wrap:break-word;
}
/* On narrow phones, justify creates big gaps — fall back to left-align */
@media(max-width:560px){
  .about-prose p,.prose > p,.legal-shell p:not(.lead),.answer-lede{
    text-align:left;-webkit-hyphens:none;hyphens:none;
  }
}

/* =========================================================================
   Subscribe (digest) — two-column with preview card
   ========================================================================= */
.digest-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;}
@media(max-width:900px){.digest-grid{grid-template-columns:1fr;}}
.digest-grid #subscribeForm{max-width:none;margin:0;display:flex;flex-direction:column;}
.sub-perks{list-style:none;margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--line);display:grid;gap:11px;}
.sub-perks li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;color:var(--fg);line-height:1.4;}
.sub-perks li svg{width:18px;height:18px;flex-shrink:0;color:var(--positive);margin-top:1px;}
.digest-grid #subscribeForm .form-status{margin-top:auto;}
.digest-preview{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.digest-preview .term-bar{border-bottom:1px solid var(--line);}
.digest-preview .dp-body{padding:18px 20px;font-family:var(--font-mono);font-size:.86rem;color:var(--muted);}
.dp-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px dashed var(--line);}
.dp-row:last-child{border-bottom:0;}
.dp-row .d{color:var(--accent-2);white-space:nowrap;}
.dp-tag{display:inline-block;font-family:var(--font-mono);font-size:.7rem;color:var(--accent);border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-bottom:6px;}

/* =========================================================================
   DIGITECH VISUALS — animated workflow (light beam), charts, channel bars
   ========================================================================= */
.viz-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,3vw,32px);}
.viz-card .viz-cap{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;display:block;}

/* --- workflow with flowing light beam --- */
.flow{position:relative;padding:8px 0 4px;}
.flow-line{position:absolute;top:32px;left:0;width:100%;height:8px;overflow:visible;z-index:0;}
.flow-line .track{stroke:var(--line-2);stroke-width:2;}
.flow-beam{stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:150 850;}
@media(prefers-reduced-motion:no-preference){
  .flow-beam{animation:flowbeam 3.4s linear infinite;filter:drop-shadow(0 0 6px var(--accent));}
  @keyframes flowbeam{from{stroke-dashoffset:1000;}to{stroke-dashoffset:0;}}
}
.flow-row{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:760px){.flow-row{grid-template-columns:repeat(2,1fr);row-gap:34px;}.flow-line{display:none;}}
@media(max-width:440px){.flow-row{grid-template-columns:1fr;}}
.flow-stage{text-align:center;}
.flow-node{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;
  background:var(--bg-3);border:2px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-weight:700;font-size:1.05rem;
  box-shadow:0 0 0 6px color-mix(in srgb,var(--bg) 80%,transparent);position:relative;}
@media(prefers-reduced-motion:no-preference){
  .flow-stage:nth-child(1) .flow-node{animation:nodepulse 3.4s ease-in-out infinite;}
  .flow-stage:nth-child(2) .flow-node{animation:nodepulse 3.4s ease-in-out .85s infinite;}
  .flow-stage:nth-child(3) .flow-node{animation:nodepulse 3.4s ease-in-out 1.7s infinite;}
  .flow-stage:nth-child(4) .flow-node{animation:nodepulse 3.4s ease-in-out 2.55s infinite;}
  @keyframes nodepulse{0%,72%,100%{box-shadow:0 0 0 6px color-mix(in srgb,var(--bg) 80%,transparent);}
    82%{box-shadow:0 0 0 10px color-mix(in srgb,var(--accent) 30%,transparent);}}
}
.flow-stage b{font-family:var(--font-head);font-size:1rem;color:var(--fg);display:block;margin-bottom:4px;}
.flow-stage p{color:var(--muted);font-size:.86rem;margin:0;}

/* --- 5-stage flow variant --- */
.flow-row-5{grid-template-columns:repeat(5,1fr);}
@media(max-width:880px){.flow-row-5{grid-template-columns:repeat(3,1fr);row-gap:34px;}}
@media(max-width:560px){.flow-row-5{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.flow-row-5{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:no-preference){
  .flow-5 .flow-stage:nth-child(1) .flow-node{animation:nodepulse 4s ease-in-out infinite;}
  .flow-5 .flow-stage:nth-child(2) .flow-node{animation:nodepulse 4s ease-in-out .7s infinite;}
  .flow-5 .flow-stage:nth-child(3) .flow-node{animation:nodepulse 4s ease-in-out 1.4s infinite;}
  .flow-5 .flow-stage:nth-child(4) .flow-node{animation:nodepulse 4s ease-in-out 2.1s infinite;}
  .flow-5 .flow-stage:nth-child(5) .flow-node{animation:nodepulse 4s ease-in-out 2.8s infinite;}
}

/* --- what's included tick grid --- */
.incl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 26px;}
@media(max-width:820px){.incl-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.incl-grid{grid-template-columns:1fr;}}
.incl-grid li{display:flex;align-items:flex-start;gap:10px;color:var(--fg);font-size:.95rem;line-height:1.4;}
.incl-grid li svg{width:20px;height:20px;flex-shrink:0;color:var(--positive);margin-top:1px;}

/* --- website care plans (3 tiers) --- */
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
@media(max-width:880px){.plan-grid{grid-template-columns:1fr;max-width:520px;margin-inline:auto;}}
.plan-card{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;display:flex;flex-direction:column;}
.plan-card.featured{border-color:var(--accent-fill);box-shadow:0 0 0 1px var(--accent-fill),var(--shadow);position:relative;}
.plan-card .tier{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.plan-card .tier>span:first-child{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);}
.plan-card .pill{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  background:var(--accent-fill);color:var(--accent-ink);padding:3px 9px;border-radius:999px;font-weight:600;}
.plan-card h3{font-size:1.16rem;margin:0 0 6px;color:var(--fg);}
.plan-card .blurb{color:var(--muted);font-size:.9rem;margin:0 0 16px;}
.plan-feats{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:9px;}
.plan-feats li{position:relative;padding-left:24px;font-size:.92rem;color:var(--fg);}
.plan-feats li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:8px;
  border-left:2px solid var(--positive);border-bottom:2px solid var(--positive);transform:rotate(-45deg);}
.plan-price{margin-top:auto;font-size:.82rem;color:var(--muted);border-top:1px solid var(--line);padding-top:14px;}

/* --- illustrative growth chart (animated bars) --- */
.chart{display:flex;align-items:flex-end;gap:10px;height:180px;padding:14px 6px 0;border-bottom:2px solid var(--line-2);position:relative;}
.chart .bar{flex:1;border-radius:6px 6px 0 0;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 35%,transparent));
  height:var(--h);align-self:flex-end;transition:height 1s cubic-bezier(.2,.7,.2,1);min-width:14px;}
@media(prefers-reduced-motion:no-preference){
  .chart.armed .bar{height:0;}
  .chart.armed.grow .bar{height:var(--h);}
}
.chart .bar:last-child{background:linear-gradient(var(--accent-2),color-mix(in srgb,var(--accent-2) 35%,transparent));}
.chart-legend{display:flex;justify-content:space-between;margin-top:10px;font-family:var(--font-mono);font-size:.74rem;color:var(--muted);}
.chart-trend{position:absolute;left:6px;right:6px;bottom:0;height:100%;pointer-events:none;}
.chart-trend polyline{fill:none;stroke:var(--fg);stroke-width:2;opacity:.35;stroke-dasharray:4 4;}

/* --- channel equalizer bars --- */
.eq{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.eq-item{text-align:center;}
.eq-bars{display:flex;align-items:flex-end;justify-content:center;gap:4px;height:64px;margin-bottom:12px;}
.eq-bars span{width:7px;border-radius:3px;background:var(--accent);height:30%;}
@media(prefers-reduced-motion:no-preference){
  .eq-bars span{animation:eq 1.2s ease-in-out infinite;}
  .eq-bars span:nth-child(2){animation-delay:.15s;background:var(--accent-2);}
  .eq-bars span:nth-child(3){animation-delay:.3s;}
  .eq-bars span:nth-child(4){animation-delay:.45s;background:var(--accent-2);}
  @keyframes eq{0%,100%{height:25%;}50%{height:90%;}}
}
.eq-item b{font-family:var(--font-head);font-size:.92rem;display:block;}
.eq-item span.lbl{color:var(--muted);font-size:.8rem;font-family:var(--font-mono);}

.viz-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:22px;align-items:stretch;}
@media(max-width:860px){.viz-grid{grid-template-columns:1fr;}}

/* ============================================================
   RESPONSIVE TIERS (explicit) + CLS PREVENTION + TOUCH TARGETS
   Mobile <480 · Tablet 480–768 · Laptop 768–1024 · Desktop 1024+
   ============================================================ */

/* CLS: reserve intrinsic size for media so layout doesn't shift on load */
.brand-logo{width:auto;height:30px;aspect-ratio:309/72;}
.dash-svg{aspect-ratio:520/360;}
.sec-visual svg{aspect-ratio:560/420;}
.dt-svg{aspect-ratio:460/320;}
img,svg{max-width:100%;}

/* Touch targets: ensure interactive controls clear ~44–48px */
.btn{min-height:44px;}
.nav-link,.m-link,.m-acc-btn,.m-sublink{min-height:44px;display:inline-flex;align-items:center;}
.fab a,.fab button{min-width:48px;min-height:48px;}
.input,.cc-input,select.input,textarea.input{min-height:44px;}
.optin input[type="checkbox"]{min-width:20px;min-height:20px;}

/* --- Mobile: under 480px --- */
@media (max-width:479.98px){
  .shell{padding-inline:16px;}
  .section{padding-block:40px;}
  .hero-cta{flex-wrap:wrap;}
  .hero-cta .btn{flex:1 1 auto;justify-content:center;}
  h1{font-size:clamp(2rem,9vw,2.6rem);}
}

/* --- Tablet: 480–768px --- */
@media (min-width:480px) and (max-width:767.98px){
  .grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}
  .hero-inner,.hero-2col{grid-template-columns:1fr;}
}

/* --- Laptop: 768–1024px --- */
@media (min-width:768px) and (max-width:1023.98px){
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .hero-inner,.hero-2col{gap:32px;}
}

/* --- Desktop: 1024px and up --- */
@media (min-width:1024px){
  .shell{max-width:1200px;}
}

/* ===== Phase 5: hero contact block, floater pulse, 2-col cycle ===== */
/* hero right column wrapper (pilot card + quick contact) */
.hero-aside{display:flex;flex-direction:column;gap:18px;}
@media(max-width:920px){.hero-aside{order:2;}}

/* quick-contact block filling the hero right-side space */
.hero-contact{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 20px;box-shadow:var(--shadow);}
.hero-contact .eyebrow{margin-bottom:12px;}
.hero-contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.hc-btn{display:flex;align-items:center;gap:10px;text-align:left;font-family:var(--font-body);font-weight:600;
  font-size:.9rem;color:var(--fg);background:var(--bg-3);border:1px solid var(--line);border-radius:var(--radius-sm);
  padding:11px 13px;cursor:pointer;text-decoration:none;transition:border-color .15s,transform .12s,background .15s;}
.hc-btn:hover{border-color:var(--accent);transform:translateY(-1px);text-decoration:none;}
.hc-btn .hc-ic{flex:0 0 auto;width:26px;height:26px;border-radius:7px;display:grid;place-items:center;
  background:var(--accent-soft,rgba(154,82,38,.12));color:var(--accent);}
.hc-btn .hc-ic svg{width:16px;height:16px;}
@media(max-width:480px){.hero-contact-actions{grid-template-columns:1fr;}}

/* #2 compact 2-column compliance cycle on wider screens */
@media(min-width:720px){.cycle-list--2col{display:grid;grid-template-columns:1fr 1fr;gap:0 28px;}}

/* #3 floating buttons: gentle attention pulse while present on screen */
@keyframes ix-pulse{0%{box-shadow:0 0 0 0 rgba(168,94,42,.55),var(--shadow);}
  70%{box-shadow:0 0 0 12px rgba(168,94,42,0),var(--shadow);}
  100%{box-shadow:0 0 0 0 rgba(168,94,42,0),var(--shadow);}}
@keyframes ix-pulse-mail{0%{box-shadow:0 0 0 0 rgba(229,72,77,.55);}
  70%{box-shadow:0 0 0 12px rgba(229,72,77,0);}
  100%{box-shadow:0 0 0 0 rgba(229,72,77,0);}}
@keyframes ix-pulse-wa{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55);}
  70%{box-shadow:0 0 0 12px rgba(37,211,102,0);}
  100%{box-shadow:0 0 0 0 rgba(37,211,102,0);}}
.fab .fab-cta{animation:ix-pulse 2.4s ease-out infinite;}
.fab .wa{animation:ix-pulse-wa 2.4s ease-out infinite;}
.fab a:hover,.fab button:hover{animation-play-state:paused;}
@media(prefers-reduced-motion:reduce){.fab .fab-cta,.fab .wa,.fab .mailfab{animation:none;}}

/* #3 Email floater in red */
.fab [data-open-mail]{color:#E5484D;border-color:#E5484D;}
.fab [data-open-mail]:hover{color:#E5484D;border-color:#E5484D;}
.fab .mailfab{animation:ix-pulse-mail 2.4s ease-out infinite;}
/* contact-page subscribe block */
.subscribe-block{max-width:none;}
.subscribe-block .fs-form{margin-top:6px;max-width:520px;}
.subscribe-block .fs-row{display:flex;gap:10px;}
.subscribe-block .fs-row .input{flex:1 1 auto;margin:0;}
.subscribe-block .fs-row .btn{flex:0 0 auto;}
.subscribe-block .optin{display:flex;gap:9px;align-items:flex-start;margin-top:10px;font-size:.82rem;color:var(--muted);}
.subscribe-block .optin input{margin-top:3px;flex:0 0 auto;}
@media(max-width:560px){.subscribe-block .fs-row{flex-direction:column;}.subscribe-block .fs-row .btn{width:100%;}}

/* #3 security two-column (head+features left, visual right) */
.split-2--rev.sec-split{align-items:center;}
.sec-split .sec-main{display:flex;flex-direction:column;}
.sec-split .sec-main .feature-list{margin-top:0;}
@media(max-width:860px){.sec-split{gap:24px;}}

/* #5 floating labels for action FABs */
.fab [data-fab-label]{position:relative;}
.fab [data-fab-label]::after{content:attr(data-fab-label);position:absolute;right:calc(100% + 12px);top:50%;
  transform:translateY(-50%) translateX(6px);background:var(--bg-2);color:var(--fg);border:1px solid var(--line);
  border-radius:9px;padding:6px 11px;font-family:var(--font-body);font-size:.8rem;font-weight:600;white-space:nowrap;
  box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease;}
.fab [data-fab-label]:hover::after,.fab [data-fab-label]:focus-visible::after{opacity:1;transform:translateY(-50%) translateX(0);}
@media(max-width:560px){.fab [data-fab-label]::after{display:none;}}

/* #6 compact horizontal subscribe row */
.subscribe-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,440px);gap:14px 32px;align-items:center;}
.subscribe-row .sb-text{min-width:0;max-width:none;}
.subscribe-row .sb-text .eyebrow{margin-bottom:6px;}
.subscribe-row .sb-text .section-title{margin:0 0 6px;font-size:clamp(1.3rem,2.4vw,1.7rem);}
.subscribe-row .fs-form{max-width:440px;margin-top:0;}
@media(max-width:760px){.subscribe-row{grid-template-columns:1fr;}}
#subscribe.section{padding-top:clamp(22px,3vw,32px);padding-bottom:clamp(22px,3vw,32px);}

/* call + QR floating buttons: subtle tints to distinguish them */
.fab .callfab{color:var(--primary-2);border-color:var(--primary-2);}
.fab .callfab:hover{color:var(--primary-2);border-color:var(--primary-2);}
.fab .qrfab{color:var(--accent);border-color:var(--accent);}
.fab .qrfab:hover{color:var(--accent);border-color:var(--accent);}
