/* D-ARETOZ stylesheet — GENERATED by build.mjs from src/. Do not edit this file directly. */

/* ---- styles/base/01-tokens.css ---- */
/* =========================================================
   BRAND TOKENS — official D-ARETOZ colours (D_logo_v03):
   #002359 navy · #0073E3 blue · #04CA7F green · #67C743 light green
   ========================================================= */
:root {
  /* brand */
  --blue: #0073e3;
  --blue-500: #1a8cff;
  --blue-deep: #002359;
  --teal: #04ca7f;
  --teal-300: #4be3a6;
  --green: #67c743;
  --mint: #8df5c6;
  --red: #e5322d;
  --navy: #001533;
  --navy-2: #002359;

  /* neutrals */
  --ink: #0a1f44;
  --text: #3a4763;
  --muted: #5f6b86;
  --line: #e3e8f2;
  --line-2: #d3dbea;
  --bg: #ffffff;
  --bg-soft: #f5f8fc;
  --bg-tint: #eef6ff;
  --warn-bg: #fff7ea;
  --warn: #8f5304;
  --danger: #c4231a;

  /* tone pairs (used by .tone-*) */
  --blue-bg: #e5f1fd;   --blue-ink: #005bb5;
  --teal-bg: #dff8ee;   --teal-ink: #028a57;
  --green-bg: #ecf8e6;  --green-ink: #3c8a22;

  /* gradients */
  --grad-brand: linear-gradient(120deg, #0073e3 0%, #0058b8 55%, #002359 100%);
  --grad-text: linear-gradient(100deg, #4aa6ff 0%, #04ca7f 55%, #67c743 100%);
  --grad-dark: radial-gradient(1200px 600px at 80% -10%, #0a3c86 0%, transparent 60%), linear-gradient(160deg, #002359 0%, #001533 70%);

  /* shape */
  --r-xs: 8px;
  --r-sm: 12px;
  --r: 18px;
  --r-lg: 24px;
  --r-xl: 32px;
  --pill: 999px;

  /* elevation */
  --shadow-xs: 0 1px 2px rgba(0, 35, 89, .06);
  --shadow-sm: 0 1px 2px rgba(0, 35, 89, .05), 0 4px 12px rgba(0, 35, 89, .05);
  --shadow: 0 1px 2px rgba(0, 35, 89, .05), 0 10px 30px -6px rgba(0, 35, 89, .12);
  --shadow-lg: 0 2px 4px rgba(0, 35, 89, .04), 0 24px 60px -12px rgba(0, 35, 89, .22);
  --shadow-glow: 0 10px 30px -8px rgba(0, 115, 227, .55);

  /* layout */
  --max: 1200px;
  --gutter: 16px;
  --header-h: 68px;
  --section: clamp(36px, 4.2vw, 60px);
  --safe-b: env(safe-area-inset-bottom, 0px);

  /* type */
  --font: "Plus Jakarta Sans", "Noto Sans", "Noto Sans Telugu", "Noto Sans Devanagari", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --serif: "Instrument Serif", Georgia, "Times New Roman", serif;

  /* motion */
  --ease: cubic-bezier(.22, 1, .36, 1);
  --ease-spring: cubic-bezier(.34, 1.56, .64, 1);
  --t-fast: .18s;
  --t: .35s;
  --t-slow: .8s;
}
@media (min-width: 768px) { :root { --gutter: 28px; --header-h: 74px; } }
@media (min-width: 1440px) { :root { --max: 1280px; } }

.tone-blue  { --tone: var(--blue);  --tone-bg: var(--blue-bg);  --tone-ink: var(--blue-ink); }
.tone-teal  { --tone: var(--teal);  --tone-bg: var(--teal-bg);  --tone-ink: var(--teal-ink); }
.tone-green { --tone: var(--green); --tone-bg: var(--green-bg); --tone-ink: var(--green-ink); }

/* ---- styles/base/02-reset.css ---- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--header-h) + 16px); -webkit-tap-highlight-color: transparent; }
body { margin: 0; font-family: var(--font); color: var(--text); background: var(--bg); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; }
@supports (overflow: clip) { body { overflow-x: clip; } }
img, svg, video { max-width: 100%; display: block; }
svg.i { width: 1.25em; height: 1.25em; flex: none; }
a { color: var(--blue); text-decoration: none; transition: color var(--t-fast); }
a:hover { color: var(--blue-500); }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.2em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
dl, dd { margin: 0; }
mark { background: linear-gradient(transparent 60%, rgba(4, 202, 127, .35) 60%); color: inherit; padding: 0 2px; }
::selection { background: rgba(0, 115, 227, .18); }
:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; border-radius: 6px; }
.skip { position: absolute; left: -999px; top: 0; background: var(--ink); color: #fff; padding: 10px 14px; z-index: 200; border-radius: 0 0 8px 0; }
.skip:focus { left: 8px; top: 8px; color: #fff; }
.hidden { display: none !important; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* smooth cross-page transitions in supporting browsers */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .35s; }
html.i18n-wait main, html.i18n-wait .site-header, html.i18n-wait .site-footer { opacity: 0; }
main, .site-header, .site-footer { transition: opacity .25s ease; }
main { overflow-x: clip; }

/* ---- styles/base/03-typography.css ---- */
h1, h2, h3, h4, .h3, .h3x { color: var(--ink); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.022em; font-weight: 800; text-wrap: balance; }
h1 { font-size: clamp(2.1rem, 1.3rem + 3.6vw, 3.9rem); letter-spacing: -.035em; line-height: 1.05; }
h2 { font-size: clamp(1.7rem, 1.2rem + 2vw, 2.7rem); letter-spacing: -.03em; line-height: 1.1; }
h3, .h3 { font-size: 1.14rem; font-weight: 700; letter-spacing: -.012em; }
.h3x { font-size: clamp(1.3rem, 1.1rem + .8vw, 1.6rem); }
h1 em, h2 em, .h3x em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--blue); }
p, li { text-wrap: pretty; }

.eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .76rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--teal-ink, #028a57); margin-bottom: 14px; }
.eyebrow::before { content: ""; width: 18px; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--teal), var(--blue-500)); }
.lead { font-size: clamp(1.02rem, .95rem + .35vw, 1.2rem); color: var(--muted); line-height: 1.7; }
.small { font-size: .88rem; color: var(--muted); }
.fine { margin-top: 24px; }
.motto { font-weight: 800; color: var(--blue); font-size: 1.05rem; }
.grad-text { background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.link-arrow { display: inline-flex; align-items: center; gap: 6px; font-weight: 700; }
.link-arrow svg { width: 1em; height: 1em; transition: transform var(--t) var(--ease); }
.link-arrow:hover svg { transform: translateX(4px); }
.link-arrow.light { color: var(--teal-300); }
.link-arrow.light:hover { color: #fff; }

/* ---- styles/base/04-motion.css ---- */
/* ---------- Scroll reveal ----------
   Elements with [data-reveal] start hidden only when JS runs
   (html.js), so content is never lost without JavaScript.
   Variants: (default) up · left · right · zoom. --i staggers. */
.js [data-reveal] { opacity: 0; transform: translate3d(0, 26px, 0); transition: opacity .8s var(--ease), transform .9s var(--ease); transition-delay: calc(var(--i, 0) * 80ms); }
.js [data-reveal="left"] { transform: translate3d(-30px, 0, 0); }
.js [data-reveal="right"] { transform: translate3d(30px, 0, 0); }
.js [data-reveal="zoom"] { transform: scale(.94) translate3d(0, 18px, 0); }
.js [data-reveal].in { opacity: 1; transform: none; }

@keyframes float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes drift { 0% { transform: translate(0, 0) scale(1); } 33% { transform: translate(6%, -8%) scale(1.08); } 66% { transform: translate(-6%, 5%) scale(.95); } 100% { transform: translate(0, 0) scale(1); } }
@keyframes spin { to { transform: rotate(360deg); } }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(111, 242, 187, .7); } 70% { box-shadow: 0 0 0 10px rgba(111, 242, 187, 0); } 100% { box-shadow: 0 0 0 0 rgba(111, 242, 187, 0); } }
@keyframes shine { from { transform: translateX(-120%) skewX(-20deg); } to { transform: translateX(220%) skewX(-20deg); } }
@keyframes marquee { to { transform: translateX(-50%); } }
@keyframes pop { 0% { opacity: 0; transform: scale(.6); } 60% { opacity: 1; transform: scale(1.08); } 100% { opacity: 1; transform: scale(1); } }
@keyframes fadeUp { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes blink { 0%, 80%, 100% { opacity: .25; transform: translateY(0); } 40% { opacity: 1; transform: translateY(-3px); } }
@keyframes ring { 0% { transform: scale(.7); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }

.pulse-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mint); display: inline-block; flex: none; animation: pulse 2s infinite; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  html { scroll-behavior: auto; }
}

/* ---- styles/layout/01-sections.css ---- */
.container { width: 100%; max-width: var(--max); margin: 0 auto; padding-left: max(var(--gutter), env(safe-area-inset-left)); padding-right: max(var(--gutter), env(safe-area-inset-right)); }

.section { padding: var(--section) 0; position: relative; }
.section.soft { background: var(--bg-soft); }
.section.tint { background: linear-gradient(180deg, var(--bg-tint), #f7faff); }
.section.dark { background: var(--grad-dark); color: #c5d0ea; overflow: hidden; isolation: isolate; }
.section.dark h2, .section.dark h3 { color: #fff; }
.section.dark h2 em { color: var(--teal-300); }
.section.tight-top { padding-top: clamp(28px, 4vw, 48px); }
.section:not(.soft):not(.tint):not(.dark) + .section:not(.soft):not(.tint):not(.dark):not(.cta-section):not(.tight-top) { padding-top: 0; }
.section.soft + .section.soft, .section.tint + .section.tint { padding-top: 0; }

.section-head { max-width: 760px; margin-bottom: clamp(28px, 4vw, 48px); }
.section-head.center { margin-left: auto; margin-right: auto; text-align: center; }
.section-head.center .eyebrow { justify-content: center; }
.section-head .lead { margin-bottom: 0; }

.grid { display: grid; gap: clamp(14px, 2vw, 22px); }
.grid > *, .split > *, .hero-grid > *, .entry > * { min-width: 0; }
@media (min-width: 640px) { .g2 { grid-template-columns: repeat(2, 1fr); } .g4 { grid-template-columns: repeat(2, 1fr); } .g3 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .g3 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1100px) { .g4 { grid-template-columns: repeat(4, 1fr); } }

.split { display: grid; gap: clamp(28px, 5vw, 64px); align-items: start; }
.split.center-y { align-items: center; }
.split > .section-head { margin-bottom: 0; }
@media (min-width: 900px) { .split { grid-template-columns: 1fr 1fr; } .split.wide-left { grid-template-columns: 1.35fr .65fr; } }

.row { display: flex; gap: 12px; align-items: center; }
.mt { margin-top: 24px !important; }

/* decorative backgrounds shared by heroes */
.grid-bg { display: none; }
.aurora { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.aurora i { position: absolute; border-radius: 50%; filter: blur(70px); opacity: .55; animation: drift 22s ease-in-out infinite; }
.aurora i:nth-child(1) { width: 46vw; height: 46vw; max-width: 640px; max-height: 640px; background: #1a8cff; top: -18%; right: -8%; }
.aurora i:nth-child(2) { width: 38vw; height: 38vw; max-width: 520px; max-height: 520px; background: #04ca7f; bottom: -24%; left: -10%; animation-delay: -7s; }
.aurora i:nth-child(3) { width: 26vw; height: 26vw; max-width: 380px; max-height: 380px; background: #67c743; top: 30%; left: 38%; opacity: .28; animation-delay: -12s; }
.aurora i:nth-child(4) { width: 20vw; height: 20vw; max-width: 300px; max-height: 300px; background: #7b5cff; top: 8%; left: 8%; opacity: .25; animation-delay: -3s; }
.aurora.soft i { opacity: .35; }
.sticky-side .section-head { margin-bottom: 24px; }
@media (min-width: 900px) { .sticky-side { position: sticky; top: calc(var(--header-h) + 40px); } }

/* ---- styles/layout/02-header/01-announce.css ---- */
/* ---------- Announcement bar ---------- */
.announce { background: linear-gradient(90deg, #001533, #002f73 50%, #001533); color: #dfe7fb; font-size: .84rem; position: relative; overflow: hidden; }
.announce::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(4, 202, 127, .12), transparent); animation: shine 6s ease-in-out infinite; pointer-events: none; }
.announce .container { display: flex; gap: 10px; align-items: center; justify-content: center; flex-wrap: wrap; padding-top: 9px; padding-bottom: 9px; text-align: center; }
.announce a { color: var(--teal-300); font-weight: 700; display: inline-flex; align-items: center; gap: 4px; }
.announce a svg { width: 1em; height: 1em; transition: transform var(--t) var(--ease); }
.announce a:hover { color: #fff; }
.announce a:hover svg { transform: translateX(3px); }
.announce-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); animation: pulse 2s infinite; }
.ann-short { display: none; }
@media (max-width: 640px) { .announce { font-size: .8rem; } .announce .container { flex-wrap: nowrap; gap: 8px; } .ann-long { display: none; } .ann-short { display: inline; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .announce a { white-space: nowrap; } }
@media (max-width: 380px) { .announce-dot { display: none; } }
.demo-bar { background: var(--warn-bg); color: var(--warn); font-size: .8rem; text-align: center; padding: 6px 16px; border-bottom: 1px solid #f3dfbd; }

/* ---- styles/layout/02-header/02-header.css ---- */
/* ---------- Header ---------- */
/* Floating "island" header: a detached glass bar that tightens on scroll. */
:root { --island-gap: 10px; }
.site-header { position: sticky; top: 0; z-index: 60; padding: var(--island-gap) 0; pointer-events: none; transition: transform .5s var(--ease), padding .4s var(--ease); }
.site-header > * { pointer-events: auto; }
.site-header .container { max-width: 1360px; }
.site-header.is-scrolled { --island-gap: 8px; }
.site-header.is-hidden { transform: translateY(calc(-100% - 4px)); }
.scroll-progress { position: absolute; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; opacity: 0; transition: opacity var(--t); }
.site-header.is-scrolled .scroll-progress { opacity: 1; }
.scroll-progress i { display: block; height: 100%; width: 100%; transform-origin: 0 50%; transform: scaleX(var(--p, 0)); background: var(--grad-brand); border-radius: 0 3px 3px 0; }

.nav { display: flex; align-items: center; gap: 14px; height: var(--header-h); position: relative; padding: 0 10px 0 16px; border-radius: 22px;
  background: rgba(255, 255, 255, .78); backdrop-filter: saturate(1.8) blur(20px); -webkit-backdrop-filter: saturate(1.8) blur(20px);
  border: 1px solid rgba(255, 255, 255, .7); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 10px 34px -14px rgba(0, 35, 89, .28), 0 0 0 1px rgba(0, 35, 89, .05);
  transition: height .4s var(--ease), box-shadow var(--t), background var(--t); }
.site-header.is-scrolled .nav { height: calc(var(--header-h) - 8px); background: rgba(255, 255, 255, .9); box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset, 0 18px 40px -16px rgba(0, 35, 89, .35), 0 0 0 1px rgba(0, 35, 89, .06); }
@media (max-width: 767px) { .nav { border-radius: 18px; padding: 0 8px 0 12px; } }

/* home: the island floats over the photo hero */
body[data-page="home"] .hero { margin-top: calc(-1 * (var(--header-h) + 20px)); }
body[data-page="home"] .hero-grid { padding-top: calc(clamp(56px, 9vw, 110px) + var(--header-h)); }
@media (min-width: 1024px) { body[data-page="home"] .hero { margin-top: calc(-1 * (var(--header-h) + 20px) + 12px); } }

.brand { display: flex; align-items: center; gap: 10px; color: var(--ink); flex: none; }
.brand:hover { color: var(--ink); }
.brand-logo { height: 44px; width: auto; display: block; transition: transform .5s var(--ease-spring); }
a.brand:hover .brand-logo { transform: scale(1.03); }
.site-header.is-scrolled .brand-logo { height: 40px; }
@media (max-width: 380px) { .brand-logo { height: 36px; } }
.brand-mark svg { width: 100%; height: 100%; }
a.brand:hover .brand-mark { transform: rotate(-8deg) scale(1.06); }
.brand-text { display: flex; flex-direction: column; line-height: 1; }
.brand .word { font-weight: 800; font-size: 1.32rem; letter-spacing: .01em; color: var(--blue-deep); white-space: nowrap; }
.brand .word span { color: var(--teal); }
.brand .by { font-size: .56rem; letter-spacing: .16em; color: var(--muted); margin-top: 5px; text-transform: uppercase; white-space: nowrap; }
@media (max-width: 380px) { .brand .word { font-size: 1.12rem; } .brand-mark { width: 32px; height: 32px; } .brand .by { font-size: .5rem; } }

.nav-links { display: none; gap: 2px; margin-left: auto; align-items: center; }
.nav-link { position: relative; z-index: 1; color: var(--ink); font-weight: 600; font-size: .9rem; padding: 9px 13px; border-radius: 12px; background: none; border: 0; display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; transition: color var(--t-fast); }
.nav-link:hover, .nav-link.is-active { color: var(--blue); }
.nav-link.is-active { background: var(--blue-bg); }
.nav-link.is-active::after { content: ""; position: absolute; left: 50%; bottom: 4px; width: 4px; height: 4px; margin-left: -2px; border-radius: 50%; background: var(--blue-500); }
.nav-ink { position: absolute; top: 50%; left: 0; height: 38px; width: 0; margin-top: -19px; border-radius: 12px; background: rgba(0, 115, 227, .08); z-index: 0; opacity: 0; transition: transform .35s var(--ease), width .35s var(--ease), opacity .2s; pointer-events: none; }
.nav-links.has-ink .nav-ink { opacity: 1; }

.nav-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
@media (min-width: 1240px) {
  .nav-links { display: flex; }
  .nav-actions { margin-left: 10px; }
  .menu-btn { display: none !important; }
}
.icon-btn { width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 14px; background: #fff; display: inline-grid; place-items: center; color: var(--ink); transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast); }
.icon-btn:hover { border-color: var(--line-2); background: var(--bg-soft); }
.icon-btn:active { transform: scale(.94); }
.icon-btn svg { width: 22px; height: 22px; }

.hide-sm { display: none !important; }
@media (min-width: 700px) { .hide-sm { display: inline-flex !important; } .hide-sm[hidden] { display: none !important; } }
@media (max-width: 420px) { .nav-actions .lang-dd { display: none; } }

/* inner pages: hero backgrounds run up behind the floating island */
.page-hero, .auth, .notfound { margin-top: calc(-1 * (var(--header-h) + 20px)); }
.page-hero { padding-top: calc(clamp(36px, 6vw, 80px) + var(--header-h) + 20px); }
.auth { padding-top: calc(clamp(28px, 5vw, 72px) + var(--header-h) + 20px); }
.notfound { padding-top: calc(clamp(64px, 10vw, 140px) + var(--header-h) + 20px); }

/* Header logo with the brand tagline underneath */
.brand-tagged { flex-direction: column; align-items: flex-start; gap: 3px; }
.brand-tagged .brand-logo { height: 38px; }
.site-header.is-scrolled .brand-tagged .brand-logo { height: 34px; }
.brand-tagline { display: block; max-width: 260px; font-size: .62rem; font-weight: 700; line-height: 1.2; letter-spacing: .01em; color: var(--blue); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding-left: 2px; }
html[lang="hi"] .brand-tagline, html[lang="te"] .brand-tagline { font-size: .6rem; white-space: normal; }
@media (max-width: 380px) { .brand-tagged .brand-logo { height: 32px; } .brand-tagline { font-size: .56rem; max-width: 170px; } }
/* Phones: a solid bar (no page text showing through) and the tagline on two short lines. */
@media (max-width: 699px) {
  .brand-tagged .brand-logo, .site-header.is-scrolled .brand-tagged .brand-logo { height: 30px; }
  .brand-tagline { white-space: normal; overflow: visible; max-width: 168px; font-size: .56rem; line-height: 1.18; }
}
@media (max-width: 1023px) { .nav, .site-header.is-scrolled .nav { background: #fff; backdrop-filter: none; -webkit-backdrop-filter: none; } }

/* ---- styles/layout/02-header/03-lang-dropdown.css ---- */
/* ---------- Language dropdown ---------- */
.lang-dd { position: relative; }
.lang-btn { display: inline-flex; align-items: center; gap: 7px; height: 40px; padding: 0 10px 0 11px; border-radius: 12px; border: 1px solid transparent; background: var(--bg-soft); color: var(--ink); font-weight: 700; font-size: .84rem; transition: background var(--t-fast), border-color var(--t-fast); }
.lang-btn:hover, .lang-dd.open .lang-btn { background: #fff; border-color: var(--line-2); }
.lang-btn svg { width: 16px; height: 16px; color: var(--blue); }
.lang-btn .lang-chev { width: 13px; height: 13px; color: var(--muted); transition: transform var(--t) var(--ease); }
.lang-dd.open .lang-chev { transform: rotate(180deg); }
.lang-btn [data-lang-current] { min-width: 1.4em; text-align: left; }
.lang-menu { position: absolute; top: calc(100% + 10px); right: 0; width: 240px; padding: 8px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-lg); z-index: 5;
  opacity: 0; visibility: hidden; transform: translateY(8px) scale(.97); transform-origin: top right; transition: opacity .2s var(--ease), transform .3s var(--ease), visibility 0s .3s; }
.lang-dd.open .lang-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .2s var(--ease), transform .3s var(--ease), visibility 0s; }
.lang-menu-title { font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 6px 10px 8px; }
.lang-menu button { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px; border: 0; background: none; border-radius: 12px; text-align: left; color: var(--ink); transition: background var(--t-fast); }
.lang-menu button:hover, .lang-menu button:focus-visible { background: var(--bg-soft); outline: none; }
.lang-menu button[aria-checked="true"] { background: var(--blue-bg); }
.lang-code { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font-weight: 800; font-size: .86rem; background: var(--bg-soft); color: var(--blue); flex: none; }
.lang-menu button[aria-checked="true"] .lang-code { background: var(--grad-brand); color: #fff; }
.lang-names { flex: 1; display: flex; flex-direction: column; line-height: 1.25; }
.lang-names strong { font-size: .95rem; }
.lang-names small { font-size: .74rem; color: var(--muted); }
.lang-tick { width: 18px; height: 18px; color: var(--blue); opacity: 0; transform: scale(.5); transition: all .25s var(--ease-spring); }
.lang-menu button[aria-checked="true"] .lang-tick { opacity: 1; transform: none; }
.lang-seg { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; padding: 4px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.lang-seg button { border: 0; background: none; padding: 10px 6px; border-radius: 10px; font-weight: 700; font-size: .9rem; color: var(--muted); min-height: 44px; transition: all var(--t-fast); }
.lang-seg button[aria-checked="true"] { background: var(--grad-brand); color: #fff; box-shadow: 0 6px 14px -6px rgba(0, 115, 227, .7); }

/* ---- styles/layout/02-header/04-indic-scripts.css ---- */
/* Indic scripts: no tight tracking, taller lines, no Latin-only serif */
html[lang="hi"] body, html[lang="te"] body { font-family: "Plus Jakarta Sans", "Noto Sans Devanagari", "Noto Sans Telugu", system-ui, sans-serif; }
html[lang="hi"] :is(h1, h2, h3, h4, .h3, .h3x, .hero-title, .eyebrow), html[lang="te"] :is(h1, h2, h3, h4, .h3, .h3x, .hero-title, .eyebrow) { letter-spacing: 0; line-height: 1.35; }
html[lang="hi"] :is(h1, h2, .h3x, .hero-title, .tagline, .foot-tagline, figcaption) em, html[lang="te"] :is(h1, h2, .h3x, .hero-title, .tagline, .foot-tagline, figcaption) em,
html[lang="hi"] :is(.tagline, .foot-tagline), html[lang="te"] :is(.tagline, .foot-tagline) { font-family: inherit; font-style: normal; font-weight: 800; }
html[lang="te"] .hero-title, html[lang="hi"] .hero-title { font-size: clamp(2rem, 1.1rem + 3.4vw, 3.6rem); }
.hero-title.i18n-plain { animation: fadeUp .8s var(--ease) both; }

/* ---- styles/layout/02-header/05-account.css ---- */
/* ---------- Selected-services (cart) button ---------- */
.cart-btn { position: relative; color: var(--ink); }
.cart-btn svg { width: 20px; height: 20px; }
.cart-count { position: absolute; top: -4px; right: -4px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; display: grid; place-items: center;
  background: #04CA7F; color: #fff; font-size: .7rem; font-weight: 800; line-height: 1; border: 2px solid #fff; box-shadow: 0 4px 10px -4px rgba(4, 202, 127, .8); }
.cart-count.bump { animation: pop .45s var(--ease); }

/* .hide-sm forces display with !important — keep [hidden] auth buttons hidden */
.nav-actions [hidden], .drawer-foot [hidden] { display: none !important; }
/* Signed-in / guest buttons: [hidden] must win over .hide-sm (display: inline-flex !important). */
.hide-sm[hidden] { display: none !important; }
/* Desktop: "My account" is an icon (name kept for screen readers and as a tooltip) so the signed-in
   header — with the longer "Find a Professional" button — always fits inside the bar. */
@media (min-width: 1240px) {
  .nav-actions .acct-btn { width: 42px; min-height: 42px; padding: 0; border-radius: 50%; gap: 0; }
  .nav-actions .acct-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
}
/* Seven nav links (with About): a little less space between them so the guest header fits. */
@media (min-width: 1380px) { .nav-link { padding: 9px 9px; } }
/* Small laptops (1240–1379px): tighter nav so the guest header fits too. */
@media (min-width: 1240px) and (max-width: 1379px) {
  .nav-link { padding: 9px 6px; font-size: .85rem; }
  .nav-actions { gap: 6px; }
  .nav-actions .btn-sm { padding-inline: 14px; }
}
/* Narrowest desktop widths (1240–1279px): a little tighter still. */
@media (min-width: 1240px) and (max-width: 1319px) {
  .nav-link { padding: 9px 4px; font-size: .82rem; }
  .nav-actions .btn-sm { padding-inline: 12px; }
}

/* "Get it on Google Play" in the header and mobile menu */
.play-btn svg { width: 16px; height: 16px; flex: none; }
/* Header: "Get it on Google Play" is longer than the old button, so it sits a little tighter. */
.nav-actions .play-btn { padding-inline: 12px; gap: 5px; }
.nav-actions .play-btn svg { display: none; }
@media (min-width: 1240px) and (max-width: 1319px) { .nav-actions .play-btn { font-size: .8rem; padding-inline: 10px; } }

/* ---- styles/layout/04-drawer.css ---- */
/* Mobile / tablet drawer */
.drawer { position: fixed; inset: 0; z-index: 100; display: block; visibility: hidden; pointer-events: none; }
.drawer[hidden] { display: block !important; }
.drawer.open { visibility: visible; pointer-events: auto; }
.drawer-backdrop { position: absolute; inset: 0; background: rgba(0, 21, 51, .45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); opacity: 0; transition: opacity .35s var(--ease); }
.drawer.open .drawer-backdrop { opacity: 1; }
.drawer-panel { position: absolute; top: 0; right: 0; height: 100%; height: 100dvh; width: min(420px, 100%); background: #fff; display: flex; flex-direction: column; transform: translateX(100%); transition: transform .5s var(--ease); box-shadow: -20px 0 60px -20px rgba(0, 21, 51, .35); padding-top: env(safe-area-inset-top); }
.drawer.open .drawer-panel { transform: none; }
.drawer-top { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px; border-bottom: 1px solid var(--line); }
.drawer-title { font-weight: 800; color: var(--ink); letter-spacing: -.01em; }
.drawer-scroll { flex: 1; overflow-y: auto; overscroll-behavior: contain; padding: 10px 12px 16px; -webkit-overflow-scrolling: touch; }
.drawer-link { display: flex; align-items: center; gap: 12px; padding: 14px 12px; border-radius: 14px; color: var(--ink); font-weight: 700; font-size: 1.02rem; list-style: none; cursor: pointer; min-height: 52px;
  opacity: 0; transform: translateX(24px); transition: background var(--t-fast), opacity .45s var(--ease), transform .5s var(--ease); transition-delay: 0s, calc(var(--i, 0) * 35ms + 80ms), calc(var(--i, 0) * 35ms + 80ms); }
.drawer.open .drawer-link { opacity: 1; transform: none; }
.drawer-link::-webkit-details-marker { display: none; }
.drawer-link svg:first-child { color: var(--blue); width: 20px; height: 20px; }
.drawer-link span { flex: 1; }
.drawer-link:hover, .drawer-link.is-active { background: var(--bg-tint); color: var(--blue); }
.drawer-arr { width: 18px !important; height: 18px !important; color: var(--muted); }
.drawer-chev { width: 18px !important; height: 18px !important; color: var(--muted); transition: transform var(--t) var(--ease); }
.drawer-acc[open] .drawer-chev { transform: rotate(180deg); }
.drawer-sub { display: grid; gap: 2px; padding: 4px 0 10px 12px; margin-left: 12px; border-left: 2px solid var(--line); }
.drawer-sub a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: var(--text); font-size: .93rem; font-weight: 600; }
.drawer-sub a:hover { background: var(--bg-soft); color: var(--blue); }
.drawer-label { font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 18px 12px 4px; }
.drawer-foot { border-top: 1px solid var(--line); padding: 14px 18px calc(14px + var(--safe-b)); display: grid; gap: 12px; background: var(--bg-soft); }
.drawer-foot-row { display: flex; gap: 10px; }
.drawer-foot-row .lang, .drawer-foot-row .lang select { flex: 1; width: 100%; }
.drawer-foot-row .lang select { height: 44px; }
.drawer-foot-row .btn { flex: 1; }
body.lock { overflow: hidden; touch-action: none; }

/* ---- styles/layout/05-footer.css ---- */
.site-footer { position: relative; background: #00132e; color: #a9b5d2; padding: clamp(40px, 5vw, 56px) 0 calc(18px + var(--safe-b)); font-size: .88rem; overflow: hidden; isolation: isolate; }
.foot-glow { position: absolute; inset: 0; z-index: -1; background: radial-gradient(700px 300px at 10% 0%, rgba(0, 115, 227, .22), transparent 70%), radial-gradient(600px 300px at 95% 10%, rgba(4, 202, 127, .18), transparent 70%); }
.site-footer::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(4, 202, 127, .5), transparent); }
.site-footer a { color: #a9b5d2; }
.site-footer a:hover { color: #fff; }
.foot-grid { display: grid; gap: 24px 20px; grid-template-columns: 1fr 1fr; }
@media (min-width: 1024px) { .foot-grid { grid-template-columns: 1.6fr 1fr 1fr 1.2fr 1.3fr; gap: 32px; } }
.foot-brand { grid-column: 1 / -1; margin-bottom: 8px; max-width: 340px; }
.foot-brand p { margin: 0; line-height: 1.55; }
@media (min-width: 1024px) { .foot-brand { grid-column: auto; margin: 0; } }
.foot-brand .brand-logo { height: 52px; width: auto; }
.foot-brand .brand .word span { color: var(--teal-300); }
.foot-brand .brand .by { color: #7f8db0; }
.foot-tagline { margin: 12px 0 6px !important; color: #fff; font-family: var(--serif); font-style: italic; font-size: 1.1rem; line-height: 1.3; }

.foot-col summary { list-style: none; pointer-events: none; padding: 0 0 12px; }
.foot-col summary::-webkit-details-marker { display: none; }
.foot-h { color: #fff; font-size: .74rem; letter-spacing: .14em; text-transform: uppercase; margin: 0; }
.foot-col ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 7px; }
.foot-col a { position: relative; display: inline-block; }
.foot-col a::after { content: ""; position: absolute; left: 0; bottom: -2px; width: 100%; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--t) var(--ease); }
.foot-col a:hover::after { transform: scaleX(1); transform-origin: left; }

.foot-bottom { border-top: 1px solid rgba(255, 255, 255, .1); margin-top: clamp(24px, 3vw, 36px); padding-top: 16px; display: grid; gap: 12px; font-size: .8rem; }
.disclaimer { color: #7f8db0; font-size: .76rem; line-height: 1.55; margin: 0; }
.foot-legal-row { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; }
.foot-copy { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: baseline; }
.foot-copy strong { color: #fff; }

/* "Built by Imperial" credit — right side, red underline */
.built-by { margin: 0 0 0 auto; color: #a9b5d2; font-size: .88rem; white-space: nowrap; }
.site-footer .built-by a { color: #fff; font-weight: 800; letter-spacing: .01em; display: inline-flex; align-items: center; gap: 4px; position: relative; padding-bottom: 2px; text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 2px; text-underline-offset: 5px; transition: color var(--t-fast), text-decoration-thickness var(--t-fast); }
.site-footer .built-by a:hover { color: #ffd9d7; text-decoration-thickness: 3px; }
.built-by svg { width: 13px; height: 13px; opacity: .7; transition: transform var(--t) var(--ease); }
.built-by a:hover svg { transform: translate(2px, -2px); opacity: 1; }
@media (max-width: 639px) { .built-by { margin-left: 0; } .site-footer { font-size: .86rem; } .foot-legal-row { flex-direction: column; align-items: flex-start; gap: 10px; } }
.foot-social { list-style: none; padding: 0; margin: 20px 0 0; display: flex; gap: 12px; }
.soc { display: block; width: 40px; height: 40px; border-radius: 50%; transition: transform .3s var(--ease-spring), box-shadow .3s; }
.soc-instagram { border-radius: 12px; }
.soc svg { width: 100%; height: 100%; display: block; }
.soc:hover { transform: translateY(-3px) scale(1.06); box-shadow: 0 10px 22px -8px rgba(0, 0, 0, .55); }

/* ---- styles/layout/06-floating.css ---- */
/* Sticky CTA (phones/tablets), back-to-top, toast */
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 10px max(14px, env(safe-area-inset-left)) calc(10px + var(--safe-b)); background: rgba(255, 255, 255, .92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--line); display: flex; gap: 8px; transform: translateY(110%); transition: transform .45s var(--ease); }
.sticky-cta.show { transform: none; }
.sticky-cta .btn { flex: 1; min-height: 46px; }
@media (min-width: 1024px) { .sticky-cta { display: none; } }
@media (max-width: 1023px) { body.has-sticky { padding-bottom: calc(68px + var(--safe-b)); } }

.to-top { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(20px + var(--safe-b)); z-index: 45; width: 48px; height: 48px; border-radius: 50%; border: 0; background: #fff; color: var(--blue); box-shadow: var(--shadow); display: grid; place-items: center; opacity: 0; transform: translateY(16px) scale(.9); pointer-events: none; transition: opacity var(--t) var(--ease), transform var(--t) var(--ease), box-shadow var(--t); }
.to-top.show { opacity: 1; transform: none; pointer-events: auto; }
.to-top:hover { box-shadow: var(--shadow-glow); }
.to-top > svg.i { width: 20px; height: 20px; position: relative; }
.to-top-ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.to-top-ring circle { fill: none; stroke: var(--teal); stroke-width: 2.5; stroke-dasharray: 138.2; stroke-dashoffset: calc(138.2 - 138.2 * var(--p, 0)); stroke-linecap: round; }
@media (max-width: 1023px) { body.has-sticky .to-top { bottom: calc(82px + var(--safe-b)); } }

.toast { position: fixed; left: 50%; bottom: calc(24px + var(--safe-b)); z-index: 120; translate: -50% 0; width: max-content; max-width: min(92vw, 460px); background: var(--ink); color: #fff; padding: 13px 18px; border-radius: 14px; box-shadow: var(--shadow-lg); font-size: .92rem; font-weight: 600; opacity: 0; transform: translateY(20px); pointer-events: none; transition: opacity var(--t) var(--ease), transform var(--t) var(--ease); }
.toast.show { opacity: 1; transform: none; }
@media (max-width: 1023px) { body.has-sticky .toast { bottom: calc(84px + var(--safe-b)); } }
.sticky-cta .btn { min-width: 0; }
@media (max-width: 380px) { .sticky-cta .btn { white-space: normal; font-size: .8rem; padding: 8px 10px; } }

/* WhatsApp chat button — hidden near the header/hero and while the footer is on screen */
.wa-float { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: calc(80px + var(--safe-b)); z-index: 46; display: inline-flex; align-items: center; gap: 0; height: 56px; min-width: 56px; padding: 0 16px; border-radius: 999px; background: #25d366; color: #fff; font-weight: 700; box-shadow: 0 12px 28px -8px rgba(37, 211, 102, .6), 0 4px 10px rgba(0, 0, 0, .12);
  opacity: 0; transform: translateY(16px) scale(.9); pointer-events: none; transition: opacity .35s var(--ease), transform .35s var(--ease), gap .3s var(--ease), background .2s; }
.wa-float.show { opacity: 1; transform: none; pointer-events: auto; }
.wa-float:hover { color: #fff; background: #1ebe5b; gap: 10px; }
.wa-float svg { width: 26px; height: 26px; flex: none; }
.wa-float::before { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: 0 0 0 0 rgba(37, 211, 102, .55); animation: waPulse 2.4s infinite; }
@keyframes waPulse { 0% { box-shadow: 0 0 0 0 rgba(37, 211, 102, .5); } 70% { box-shadow: 0 0 0 14px rgba(37, 211, 102, 0); } 100% { box-shadow: 0 0 0 0 rgba(37, 211, 102, 0); } }
.wa-label { max-width: 0; overflow: hidden; white-space: nowrap; transition: max-width .35s var(--ease); font-size: .92rem; }
@media (hover: hover) { .wa-float:hover .wa-label { max-width: 140px; } }
@media (max-width: 1023px) { body.has-sticky .wa-float { bottom: calc(142px + var(--safe-b)); } .wa-float { height: 52px; min-width: 52px; padding: 0 13px; } }

/* Phones/tablets: nothing floats over the content (client: "overlapping content").
   Pages with the bottom bar get WhatsApp inside the bar; back-to-top is desktop-only. */
.sticky-wa { flex: none; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; background: #25d366; color: #fff; box-shadow: 0 8px 18px -8px rgba(37, 211, 102, .7); }
.sticky-wa svg { width: 24px; height: 24px; }
.sticky-wa:hover { color: #fff; background: #1ebe5b; }
@media (max-width: 1023px) {
  body.has-sticky .wa-float, .to-top { display: none; }
  .wa-float { height: 46px; min-width: 46px; padding: 0 11px; bottom: calc(16px + var(--safe-b)); }
  .wa-float svg { width: 22px; height: 22px; }
  .wa-float::before { animation: none; }
}
/* Phones: with the WhatsApp button in the bar, the two labels may need two short lines. */
@media (max-width: 479px) { .sticky-cta .btn { white-space: normal; line-height: 1.15; font-size: .84rem; padding: 8px 10px; } }

/* ---- styles/components/01-buttons.css ---- */
.btn { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-weight: 700; font-size: .95rem; line-height: 1.2; padding: 13px 22px; min-height: 48px; border-radius: var(--pill); border: 1.5px solid transparent; text-align: center; white-space: nowrap; isolation: isolate; overflow: hidden;
  transition: transform var(--t-fast) var(--ease), box-shadow var(--t) var(--ease), background var(--t), color var(--t), border-color var(--t); }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0) scale(.98); }
.btn svg.i { width: 18px; height: 18px; }
.btn .btn-arrow { transition: transform var(--t) var(--ease); }
.btn:hover .btn-arrow { transform: translateX(4px); }
.btn .flip { transform: rotate(180deg); }
.btn-sm { padding: 9px 16px; font-size: .86rem; min-height: 40px; }
.btn-block { width: 100%; }
.card .btn, .entry-card .btn, .cta-band .btn, .pro-cta .btn { white-space: normal; }

.btn-primary { background: var(--grad-brand); background-size: 160% 100%; background-position: 0 0; color: #fff; box-shadow: 0 6px 18px -8px rgba(0, 115, 227, .7); }
.btn-primary:hover { color: #fff; background-position: 100% 0; box-shadow: var(--shadow-glow); }
.btn-teal { background: linear-gradient(120deg, #2ee29a, var(--teal)); color: var(--blue-deep); box-shadow: 0 6px 18px -8px rgba(4, 202, 127, .8); }
.btn-teal:hover { color: var(--blue-deep); box-shadow: 0 12px 28px -8px rgba(4, 202, 127, .7); }
.btn-green { background: linear-gradient(120deg, #86d866, var(--green)); color: var(--blue-deep); box-shadow: 0 6px 18px -8px rgba(103, 199, 67, .8); }
.btn-green:hover { color: var(--blue-deep); box-shadow: 0 12px 28px -8px rgba(103, 199, 67, .7); }
.btn-outline { border-color: var(--line-2); color: var(--ink); background: #fff; }
.btn-outline:hover { border-color: var(--blue); color: var(--blue); box-shadow: var(--shadow-sm); }
.btn-ghost { color: var(--ink); background: transparent; }
.btn-ghost:hover { background: var(--bg-soft); color: var(--blue); transform: none; }
.btn-light { background: #fff; color: var(--blue-deep); box-shadow: 0 10px 30px -10px rgba(0, 0, 0, .45); }
.btn-light:hover { color: var(--blue); }
.btn-glass { background: rgba(255, 255, 255, .08); color: #fff; border-color: rgba(255, 255, 255, .28); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.btn-glass:hover { background: rgba(255, 255, 255, .16); color: #fff; border-color: rgba(255, 255, 255, .5); }
.btn:disabled { opacity: .55; cursor: not-allowed; transform: none; }

/* shine sweep */
.btn-primary::after, .btn.shine::after, .btn-light::after { content: ""; position: absolute; inset: 0; z-index: -1; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); transform: translateX(-120%) skewX(-20deg); }
.btn-light::after { background: linear-gradient(90deg, transparent, rgba(0, 115, 227, .12), transparent); }
.btn-primary:hover::after, .btn.shine:hover::after, .btn-light:hover::after { animation: shine .9s var(--ease); }

.btn-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.btn-row.center { justify-content: center; }
@media (max-width: 479px) { .btn-row:not(.keep) > .btn { flex: 1 1 100%; } .page-hero .btn-row > .btn, .cta-band .btn-row > .btn { flex: 1 1 100%; } }
.btn[hidden] { display: none !important; } /* beats .hide-sm (signed-in / guest header buttons) */

/* ---- styles/components/02-cards.css ---- */
.card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(20px, 2.4vw, 28px); transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t); }
.card.shadow { box-shadow: var(--shadow); border-color: transparent; }
.card h3 { margin-top: 0; }
.card p:last-child, .card ul:last-child { margin-bottom: 0; }
.card.feature:hover, a.card:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); border-color: transparent; }
a.card { color: inherit; display: block; }
.card-num { display: inline-block; font-size: .8rem; font-weight: 800; color: var(--teal); letter-spacing: .1em; margin-bottom: 10px; }
.sticky-card { position: sticky; top: calc(var(--header-h) + 20px); }
.glow-card { background: linear-gradient(#fff, #fff) padding-box, var(--grad-brand) border-box; border: 1.5px solid transparent; }

/* pointer spotlight (enabled by JS on hover-capable devices) */
.spot { --mx: 50%; --my: 50%; }
.spot::before { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; opacity: 0; transition: opacity var(--t); background: radial-gradient(420px circle at var(--mx) var(--my), rgba(0, 115, 227, .09), transparent 45%); z-index: 0; }
.spot > * { position: relative; z-index: 1; }
@media (hover: hover) { .spot:hover::before { opacity: 1; } }

/* icon tiles */
.ic-tile { --tone: var(--blue); --tone-bg: var(--blue-bg); --tone-ink: var(--blue-ink); width: 50px; height: 50px; border-radius: 14px; display: inline-grid; place-items: center; flex: none; background: var(--tone-bg); color: var(--tone-ink); transition: transform var(--t) var(--ease-spring); }
.ic-tile.tone-teal { --tone-bg: var(--teal-bg); --tone-ink: var(--teal-ink); }
.ic-tile.tone-green { --tone-bg: var(--green-bg); --tone-ink: var(--green-ink); }
.ic-tile svg { width: 52%; height: 52%; }
.ic-tile.sm { width: 34px; height: 34px; border-radius: 10px; }
.ic-tile.xs { width: 28px; height: 28px; border-radius: 8px; }
.ic-tile.lg { width: 60px; height: 60px; border-radius: 18px; }
.ic-tile.xl { width: 64px; height: 64px; border-radius: 18px; box-shadow: var(--shadow-sm); }
.card .ic-tile { margin-bottom: 16px; }
.card:hover .ic-tile { transform: scale(1.08) rotate(-5deg); }
.feature h3 { font-size: 1.12rem; }
.feature p { color: var(--muted); font-size: .96rem; }

/* checklists */
.checks { list-style: none; padding: 0; margin: 0 0 1.2em; display: grid; gap: 10px; }
.checks li { position: relative; padding-left: 32px; }
.checks li::before { content: ""; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--blue-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%231746a2' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/13px no-repeat; }
@media (min-width: 640px) { .checks.two-col { grid-template-columns: 1fr 1fr; column-gap: 24px; } }
.section.dark .checks li::before { background-color: rgba(255, 255, 255, .12); }

/* skeleton lines used in illustrative mocks */
.sk { height: 9px; border-radius: 6px; background: #e8edf6; width: 100%; }
.sk.strong { height: 12px; background: #d5def0; }
.sk.w30 { width: 30%; } .sk.w40 { width: 40%; } .sk.w60 { width: 60%; } .sk.w70 { width: 70%; } .sk.w84 { width: 84%; }
/* detailed role icons need more room inside their tile */
.ic-tile .i-big { width: 70%; height: 70%; }
.ic-tile.role-ic { width: 72px; height: 72px; border-radius: 20px; }
.q-card .ic-tile { width: 56px; height: 56px; border-radius: 16px; }
.role-opt .ic-tile { width: 52px; height: 52px; }
/* illustrated category icons */
.cat-ic { display: inline-block; flex: none; width: 48px; height: 48px; transition: transform var(--t) var(--ease-spring); }
.cat-ic img { width: 100%; height: 100%; display: block; }
.cat-ic.xs { width: 28px; height: 28px; }
.cat-ic.sm { width: 36px; height: 36px; }
.cat-ic.md { width: 52px; height: 52px; }
.cat-ic.xl { width: 72px; height: 72px; filter: drop-shadow(0 8px 18px rgba(0, 0, 0, .25)); }
.cat-ic.card { width: 60px; height: 60px; margin-top: -32px; position: relative; z-index: 1; border-radius: 18px; box-shadow: 0 0 0 4px #fff, var(--shadow); }
.cat:hover .cat-ic.card { transform: scale(1.08) rotate(-4deg); }
.cat-ic.trust { width: 56px; height: 56px; margin-bottom: 16px; border-radius: 16px; box-shadow: 0 0 0 1px rgba(4, 202, 127, .25), 0 10px 24px -10px rgba(0, 255, 255, .35); }
.bento-tile:hover .cat-ic.trust { transform: scale(1.08) rotate(-4deg); }
.cat-ic.feat { width: 60px; height: 60px; margin-bottom: 16px; border-radius: 18px; box-shadow: var(--shadow-sm); }
.card:hover .cat-ic.feat { transform: scale(1.08) rotate(-4deg); }
.cat-ic.role { width: 72px; height: 72px; border-radius: 20px; box-shadow: var(--shadow-sm); }
.cat-ic { background: center / cover no-repeat; border-radius: 24%; }

/* ---- styles/components/03-content.css ---- */
/* badges */
.badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 14px 0; }
.badge { display: inline-flex; align-items: center; gap: 5px; font-size: .74rem; font-weight: 700; padding: 5px 10px; border-radius: var(--pill); background: var(--blue-bg); color: var(--blue-deep); white-space: nowrap; }
.badge svg { width: 13px; height: 13px; }
.badge.teal { background: var(--teal-bg); color: var(--teal-ink); }
.badge.green { background: var(--green-bg); color: var(--green-ink); }
.stars { color: #f0a92a; letter-spacing: 2px; }

/* callouts */
.callout { display: flex; gap: 14px; align-items: flex-start; background: var(--warn-bg); border: 1px solid #f4dfb8; border-radius: var(--r); padding: 18px 20px; color: #5a3a08; }
.callout strong { display: block; margin-bottom: 4px; color: #4a2f04; }
.callout-ic { flex: none; width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: #fdebc8; color: #a0620a; }
.callout-ic svg { width: 20px; height: 20px; }
.callout.info { background: linear-gradient(135deg, #f1f6ff, #eefbfc); border-color: #d6e4fb; color: var(--text); }
.callout.info strong { color: var(--ink); }
.callout.info .callout-ic { background: #fff; color: var(--blue); box-shadow: var(--shadow-xs); }
.callout.compact { padding: 12px 14px; font-size: .9rem; }
.callout.compact .callout-ic { width: 30px; height: 30px; }
.callout p:last-child { margin: 0; }

.note-inline { margin: 22px 0 0; font-size: .9rem; color: var(--muted); background: rgba(255, 255, 255, .75); border: 1px dashed var(--line-2); border-radius: var(--r-sm); padding: 10px 14px; display: inline-flex; align-items: center; gap: 10px; backdrop-filter: blur(6px); }
.note-inline .pulse-dot { background: var(--green); }

/* steps */
.steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; position: relative; }
.step { position: relative; display: flex; gap: 16px; align-items: flex-start; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 18px 20px; transition: transform var(--t) var(--ease), box-shadow var(--t), border-color var(--t); }
.step:hover { transform: translateX(4px); box-shadow: var(--shadow); border-color: transparent; }
.step-num { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: #fff; background: var(--grad-brand); box-shadow: 0 6px 14px -6px rgba(0, 115, 227, .7); font-variant-numeric: tabular-nums; }
.steps.tone-teal .step-num { background: linear-gradient(135deg, #2ee29a, #03a868); box-shadow: 0 6px 14px -6px rgba(4, 202, 127, .7); }
.steps.tone-green .step-num { background: linear-gradient(135deg, #86d866, #3f8f25); box-shadow: 0 6px 14px -6px rgba(103, 199, 67, .7); }
.step h3 { margin: 0 0 3px; font-size: 1.04rem; }
.step p { margin: 0; color: var(--muted); font-size: .94rem; }
/* vertical timeline connector */
.steps-list::before { content: ""; position: absolute; left: 41px; top: 30px; bottom: 30px; width: 2px; background: var(--line); }
.steps-list::after { content: ""; position: absolute; left: 41px; top: 30px; bottom: 30px; width: 2px; background: var(--grad-brand); transform-origin: top; transform: scaleY(var(--sp, 0)); transition: transform .2s linear; }
.steps-list .step { z-index: 1; }
/* horizontal three-stage row */
@media (min-width: 860px) {
  .steps-row { grid-template-columns: repeat(3, 1fr); gap: 22px; }
  .steps-row .step { flex-direction: column; padding: 28px; }
  .steps-row .step:hover { transform: translateY(-4px); }
  .steps-row .step-num { width: 52px; height: 52px; font-size: 1.05rem; border-radius: 16px; }
  .steps-row::before { content: ""; position: absolute; top: 54px; left: 10%; right: 10%; height: 2px; background: repeating-linear-gradient(90deg, var(--line-2) 0 8px, transparent 8px 16px); z-index: 0; }
  .steps-row .step { z-index: 1; }
  .steps-row .step h3 { font-size: 1.2rem; margin-top: 6px; }
}

/* Small uppercase list label (FAQ topics, policy nav) */
.dd-label { font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin: 18px 0 8px; }

/* ---- styles/components/04-interactive.css ---- */
/* ---------- Tabs with sliding ink ---------- */
.tabs-wrap.center { text-align: center; }
.tabs-wrap.center .tabpanel { text-align: left; }
.tabs { position: relative; display: inline-flex; background: #fff; border: 1px solid var(--line); border-radius: var(--pill); padding: 5px; gap: 2px; margin-bottom: 28px; max-width: 100%; overflow-x: auto; scrollbar-width: none; box-shadow: var(--shadow-xs); }
.tabs::-webkit-scrollbar { display: none; }
.tabs button { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 8px; font-weight: 700; font-size: .92rem; border: 0; background: transparent; padding: 10px 18px; border-radius: var(--pill); color: var(--muted); white-space: nowrap; min-height: 44px; transition: color var(--t); }
.tabs button svg { width: 18px; height: 18px; }
.tabs button[aria-selected="true"] { color: #fff; }
.tab-ink { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 0; width: 0; border-radius: var(--pill); background: var(--grad-brand); box-shadow: 0 6px 16px -6px rgba(0, 115, 227, .7); transition: transform .45s var(--ease), width .45s var(--ease); }
.no-js .tabs button[aria-selected="true"], .tabs:not(.inked) button[aria-selected="true"] { background: var(--blue); }
.tabpanel { animation: fadeUp .5s var(--ease) both; }
.tabpanel:focus-visible { outline-offset: 8px; }

/* ---------- Accordion ---------- */
details.qa { background: #fff; border: 1px solid var(--line); border-radius: var(--r); margin-bottom: 10px; transition: border-color var(--t), box-shadow var(--t); overflow: hidden; }
details.qa:hover { border-color: var(--line-2); }
details.qa[open] { border-color: transparent; box-shadow: var(--shadow); }
details.qa summary { cursor: pointer; list-style: none; padding: 18px 20px; font-weight: 700; color: var(--ink); display: flex; gap: 14px; align-items: center; justify-content: space-between; min-height: 56px; }
details.qa summary::-webkit-details-marker { display: none; }
details.qa summary:hover { color: var(--blue); }
.qa-ic { position: relative; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--bg-tint); transition: background var(--t), transform var(--t) var(--ease); }
.qa-ic::before, .qa-ic::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--blue); border-radius: 2px; transition: transform var(--t) var(--ease), background var(--t); }
.qa-ic::after { transform: rotate(90deg); }
details.qa[open] .qa-ic { background: var(--blue); transform: rotate(180deg); }
details.qa[open] .qa-ic::before, details.qa[open] .qa-ic::after { background: #fff; }
details.qa[open] .qa-ic::after { transform: rotate(0); }
details.qa .a { overflow: hidden; }
details.qa .a-inner { padding: 0 20px 18px; color: var(--text); }

/* ---------- Search ---------- */
.search-box { position: relative; display: flex; align-items: center; gap: 8px; background: #fff; border: 1.5px solid var(--line); border-radius: var(--pill); padding: 6px 6px 6px 46px; max-width: 680px; box-shadow: var(--shadow-sm); transition: border-color var(--t), box-shadow var(--t); }
.search-box:focus-within { border-color: var(--blue-500); box-shadow: 0 0 0 4px rgba(0, 115, 227, .12), var(--shadow); }
.search-ic { position: absolute; left: 17px; top: 50%; translate: 0 -50%; width: 20px !important; height: 20px !important; color: var(--muted); pointer-events: none; }
.search-box input { flex: 1; border: 0; font-size: 16px; outline: none; min-width: 0; background: transparent; color: var(--ink); padding: 8px 0; }
.search-box input::-webkit-search-cancel-button { cursor: pointer; }
.search-box.lg { padding: 8px 8px 8px 52px; }
.search-box.lg .search-ic { left: 20px; }
.search-box.lg input { font-size: 1.05rem; padding: 10px 0; }
.search-box.sm { box-shadow: none; background: var(--bg-soft); }
.search-box .btn { flex: none; }
@media (max-width: 420px) { .search-box .btn span { font-size: .82rem; } .search-box.lg { padding-left: 44px; } .search-box.lg .search-ic { left: 15px; } }

/* ---------- Chips ---------- */
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { font-size: .86rem; font-weight: 700; border: 1px solid var(--line); background: #fff; color: var(--ink); padding: 8px 14px; border-radius: var(--pill); min-height: 40px; transition: all var(--t-fast); }
.chip:hover { border-color: var(--blue); color: var(--blue); }
.chip[aria-pressed="true"] { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- Store chips ---------- */
.store { display: inline-flex; align-items: center; gap: 10px; border: 1.5px solid var(--line); border-radius: 14px; padding: 9px 16px 9px 12px; background: #fff; color: var(--ink); min-height: 52px; }
.store svg { width: 24px; height: 24px; color: var(--blue); }
.store span { display: flex; flex-direction: column; line-height: 1.15; }
.store small { font-size: .7rem; color: var(--muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
.store strong { font-size: .92rem; }
.qr { width: 140px; height: 140px; border: 2px dashed var(--line-2); border-radius: 14px; display: grid; place-items: center; text-align: center; font-size: .78rem; color: var(--muted); padding: 10px; flex: none; }

/* ---- styles/components/05-forms.css ---- */
.form { display: grid; gap: 18px; }
.form-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-xl); box-shadow: var(--shadow-lg); padding: clamp(20px, 4vw, 36px); }
.field label, .field legend { display: block; font-weight: 700; color: var(--ink); font-size: .9rem; margin-bottom: 7px; }
.opt { font-weight: 500; color: var(--muted); font-size: .84rem; }
.field input[type=text], .field input[type=tel], .field input[type=email], .field input[type=number], .field select, .field textarea, .otp-single {
  width: 100%; font-size: 16px; padding: 13px 15px; min-height: 50px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--bg-soft); color: var(--ink); transition: border-color var(--t-fast), box-shadow var(--t-fast), background var(--t-fast); -webkit-appearance: none; appearance: none; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--line-2); }
.field input:focus, .field select:focus, .field textarea:focus, .otp-single:focus { border-color: var(--blue-500); background: #fff; outline: none; box-shadow: 0 0 0 4px rgba(0, 115, 227, .12); }
.field textarea { min-height: 140px; resize: vertical; }
.select-wrap { position: relative; }
.select-wrap select { padding-right: 42px; cursor: pointer; }
.select-wrap svg { position: absolute; right: 14px; top: 50%; translate: 0 -50%; width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.input-prefix { display: flex; align-items: stretch; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: var(--bg-soft); transition: border-color var(--t-fast), box-shadow var(--t-fast); overflow: hidden; }
.input-prefix span { display: grid; place-items: center; padding: 0 12px; font-weight: 700; color: var(--muted); border-right: 1.5px solid var(--line); background: #fff; }
.field .input-prefix input { border: 0; background: transparent; box-shadow: none !important; }
.input-prefix:focus-within { border-color: var(--blue-500); box-shadow: 0 0 0 4px rgba(0, 115, 227, .12); background: #fff; }
.field .hint { font-size: .82rem; color: var(--muted); margin-top: 5px; }
.field .err { font-size: .82rem; color: var(--danger); margin-top: 6px; display: none; align-items: center; gap: 6px; }
.field .err svg { width: 15px; height: 15px; }
.field.invalid .err { display: flex; animation: fadeUp .3s var(--ease); }
.field.invalid input, .field.invalid select, .field.invalid textarea, .field.invalid .input-prefix { border-color: #e0413a; background: #fff8f7; }
.field.invalid { animation: shake .4s var(--ease); }
@keyframes shake { 20%, 60% { transform: translateX(-4px); } 40%, 80% { transform: translateX(4px); } }
.err-msg { color: var(--danger); font-size: .86rem; margin: 10px 0 0; }
.two { display: grid; gap: 18px; }
@media (min-width: 640px) { .two { grid-template-columns: 1fr 1fr; } }

/* custom checkbox */
.check { display: flex; gap: 12px; align-items: flex-start; font-size: .92rem; cursor: pointer; position: relative; line-height: 1.5; margin-top: 4px; }
.check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; cursor: pointer; }
.check .box { flex: none; width: 22px; height: 22px; border-radius: 7px; border: 1.5px solid var(--line-2); background: #fff; display: grid; place-items: center; color: #fff; transition: all var(--t-fast); margin-top: 0; }
.check .box svg { width: 14px; height: 14px; transform: scale(0); transition: transform .25s var(--ease-spring); stroke-width: 3; }
.check input:checked + .box { background: var(--blue); border-color: var(--blue); }
.check input:checked + .box svg { transform: scale(1); }
.check input:focus-visible + .box { outline: 3px solid var(--teal); outline-offset: 2px; }
.check.invalid { color: var(--danger); }
.check.invalid .box { border-color: #e0413a; animation: shake .4s var(--ease); }

.success { display: none; gap: 14px; align-items: flex-start; background: linear-gradient(135deg, #ecfaf1, #eefbfc); border: 1px solid #bfe8cf; color: #14532d; border-radius: var(--r); padding: 20px; }
.success.show { display: flex; animation: pop .5s var(--ease) both; }
.success-ic { flex: none; width: 40px; height: 40px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; }
.success-ic svg { width: 22px; height: 22px; stroke-width: 2.6; }

/* ---- styles/components/06-page-hero.css ---- */
/* ---------- Breadcrumbs ---------- */
.crumbs ol { list-style: none; margin: 0 0 18px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; font-size: .84rem; font-weight: 600; }
.crumbs li { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); }
.crumbs li + li::before { content: ""; width: 6px; height: 6px; border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor; transform: rotate(45deg); opacity: .5; margin-right: 2px; }
.crumbs a { color: var(--muted); }
.crumbs a:hover { color: var(--blue); }
.crumbs [aria-current] { color: var(--ink); }

/* ---------- Inner page hero ---------- */
.page-hero { position: relative; padding: clamp(36px, 6vw, 80px) 0 clamp(44px, 6vw, 84px); overflow: hidden; isolation: isolate; background: linear-gradient(180deg, #f2f6ff 0%, #fff 100%); border-bottom: 1px solid var(--line); }
.hero-mesh { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.hero-mesh i { position: absolute; border-radius: 50%; filter: blur(60px); opacity: .5; animation: drift 24s ease-in-out infinite; }
.hero-mesh i:nth-child(1) { width: 520px; height: 520px; right: -140px; top: -220px; background: radial-gradient(circle, rgba(4, 202, 127, .45), transparent 70%); }
.hero-mesh i:nth-child(2) { width: 460px; height: 460px; left: -160px; top: -120px; background: radial-gradient(circle, rgba(0, 115, 227, .35), transparent 70%); animation-delay: -8s; }
.hero-mesh i:nth-child(3) { width: 360px; height: 360px; right: 25%; bottom: -220px; background: radial-gradient(circle, rgba(103, 199, 67, .25), transparent 70%); animation-delay: -14s; }
.page-hero.tone-teal .hero-mesh i:nth-child(2) { background: radial-gradient(circle, rgba(4, 202, 127, .4), transparent 70%); }
.page-hero.tone-green .hero-mesh i:nth-child(2) { background: radial-gradient(circle, rgba(103, 199, 67, .35), transparent 70%); }
.page-hero-grid { display: grid; gap: 40px; align-items: center; }
@media (min-width: 1000px) { .page-hero.has-aside .page-hero-grid { grid-template-columns: 1.25fr .75fr; } }
.page-hero-copy { max-width: 820px; }
.page-hero h1 { margin-bottom: .35em; }
.page-hero .lead { max-width: 700px; margin-bottom: 26px; }
.page-hero-kicker { display: flex; align-items: center; gap: 14px; margin-bottom: 16px; }
.page-hero-kicker .eyebrow { margin: 0; }
.page-hero-aside { position: relative; }
.hero-meta { color: var(--muted); font-size: .95rem; margin: 0; }
.hero-meta strong { color: var(--ink); font-size: 1.1rem; }
.jump { display: flex; flex-wrap: wrap; gap: 8px; }
.jump a { padding: 8px 14px; border-radius: var(--pill); background: #fff; border: 1px solid var(--line); color: var(--ink); font-size: .86rem; font-weight: 700; transition: all var(--t-fast); }
.jump a:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); }

/* glass info panel used as hero aside */
.hero-panel { background: rgba(255, 255, 255, .8); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border: 1px solid rgba(255, 255, 255, .9); border-radius: var(--r-lg); box-shadow: var(--shadow-lg); padding: 24px; display: grid; gap: 16px; animation: float 7s ease-in-out infinite; }
.hero-panel .badges { margin: 0; }
.hero-panel-label { display: flex; align-items: center; gap: 8px; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0; }
.hero-panel-label svg { width: 16px; height: 16px; color: var(--blue); }
.hero-panel-stat { display: flex; align-items: center; gap: 14px; padding-top: 16px; border-top: 1px solid var(--line); }
.hero-panel-stat strong { font-size: 2.4rem; line-height: 1; font-weight: 800; letter-spacing: -.04em; background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hero-panel-stat span { font-size: .88rem; color: var(--muted); line-height: 1.4; }
.tag-cloud { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.tag-cloud li { font-size: .82rem; font-weight: 700; padding: 6px 12px; border-radius: var(--pill); background: var(--bg-tint); color: var(--blue-deep); }
.tag-cloud li:nth-child(3n+2) { background: var(--teal-bg); color: var(--teal-ink); }
.tag-cloud li:nth-child(3n) { background: var(--green-bg); color: var(--green-ink); }
.mini-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: .9rem; font-weight: 600; color: var(--ink); }
.mini-list li { display: flex; gap: 10px; align-items: center; }
.mini-list svg { width: 18px; height: 18px; color: var(--green); }
.avatar { width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(135deg, var(--teal), var(--blue)); flex: none; display: grid; place-items: center; color: #fff; position: relative; }
.avatar svg { width: 55%; height: 55%; }
.avatar.sm { width: 46px; height: 46px; }
@media (max-width: 999px) { .page-hero-aside { max-width: 460px; } }

/* ---------- Photo-background variant ---------- */
.page-hero.has-bg { background: #0d1628; color: #eef2fb; border-bottom: 0; min-height: clamp(420px, 62vh, 620px); display: flex; align-items: center; }
@media (min-width: 1024px) { .page-hero.has-bg { margin-left: 12px; margin-right: 12px; border-radius: 0 0 var(--r-xl) var(--r-xl); } }
.ph-bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.ph-bg img { width: 100%; height: 100%; object-fit: cover; animation: kenburns 14s cubic-bezier(.2, .6, .3, 1) forwards; }
.ph-scrim { position: absolute; inset: 0; z-index: -1; background: rgba(6, 12, 28, .5); }
.page-hero.has-bg .page-hero-copy { text-shadow: 0 2px 4px rgba(0, 0, 0, .4), 0 4px 26px rgba(0, 0, 0, .5); }
.page-hero.has-bg :is(.btn, .note-inline, .jump a, .search-box) { text-shadow: none; }
.page-hero.has-bg h1 { color: #fff; }
.page-hero.has-bg h1 em { color: var(--teal-300); }
.page-hero.has-bg .lead, .page-hero.has-bg .hero-meta { color: #eef2fb; }
.page-hero.has-bg .hero-meta strong { color: #fff; }
.page-hero.has-bg .eyebrow { color: var(--teal-300); }
.page-hero.has-bg .crumbs li, .page-hero.has-bg .crumbs a { color: rgba(255, 255, 255, .75); }
.page-hero.has-bg .crumbs a:hover, .page-hero.has-bg .crumbs [aria-current] { color: #fff; }
.page-hero.has-bg .btn-outline { background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .45); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.page-hero.has-bg .btn-outline:hover { background: #fff; color: var(--ink); border-color: #fff; }
.page-hero.has-bg .note-inline { background: rgba(0, 21, 51, .55); border-color: rgba(255, 255, 255, .25); color: #eef2fb; }
.page-hero.has-bg .note-inline .pulse-dot { background: var(--mint); }
.page-hero.has-bg .jump a { background: rgba(0, 21, 51, .5); color: #fff; border-color: rgba(255, 255, 255, .25); }
.page-hero.has-bg .jump a:hover { background: #fff; color: var(--ink); }
.page-hero.has-bg .page-hero-aside { justify-self: end; }
.hero-glass { width: min(360px, 100%); display: grid; gap: 14px; padding: 20px 22px; border-radius: var(--r-lg); background: rgba(255, 255, 255, .94); color: var(--text); box-shadow: 0 30px 60px -24px rgba(0, 0, 0, .6); animation: float 7s ease-in-out 1.5s infinite; }
.hero-glass .badges, .hero-glass .hero-panel-stat { margin: 0; border: 0; padding: 0; }
.hero-glass .row .ic-tile { margin: 0; }
.hero-glass strong { color: var(--ink); }
.hero-glass .name-card { padding: 0; box-shadow: none; background: none; }
.hero-glass .name-greek { font-size: 2.6rem; margin-bottom: 4px; }
.hero-glass .name-card p { margin: 0; font-size: .9rem; }
.page-hero.has-bg .video { max-width: 460px; justify-self: end; }
@media (max-width: 999px) { .page-hero.has-bg .page-hero-aside { justify-self: start; } .page-hero.has-bg .video { justify-self: start; } .hero-glass { animation: none; } }
.page-hero.has-bg { padding-top: calc(clamp(56px, 7vw, 96px) + var(--header-h) + 20px); padding-bottom: clamp(56px, 7vw, 96px); }

/* ---- styles/components/07-cta-band.css ---- */
.cta-section { padding-top: clamp(40px, 6vw, 72px); }
.cta-band { position: relative; overflow: hidden; isolation: isolate; background: var(--grad-dark); color: #fff; border-radius: var(--r-xl); padding: clamp(28px, 3.6vw, 44px) clamp(20px, 4vw, 56px); text-align: center; box-shadow: var(--shadow-lg); }
.cta-orbs { position: absolute; inset: 0; z-index: -1; }
.cta-orbs i { position: absolute; border-radius: 50%; filter: blur(50px); animation: drift 18s ease-in-out infinite; }
.cta-orbs i:first-child { width: 380px; height: 380px; left: -120px; top: -160px; background: rgba(0, 115, 227, .6); }
.cta-orbs i:last-child { width: 340px; height: 340px; right: -100px; bottom: -180px; background: rgba(4, 202, 127, .55); animation-delay: -9s; }
.cta-inner { max-width: 720px; margin: 0 auto; }
.cta-band h2 { color: #fff; }
.cta-band h2 { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.25rem); margin-bottom: 8px; }
.cta-band p { color: #c6d3f2; font-size: 1.02rem; margin-bottom: 20px; }
.cta-band .btn { padding-block: .72em; }
@media (max-width: 479px) {
  .cta-band p { font-size: .95rem; margin-bottom: 16px; }
  .cta-band .btn-row { gap: 10px; }
  .cta-band .btn { padding-block: .62em; font-size: .95rem; }
}
.cta-tagline { display: inline-block; margin: 0 0 10px !important; font-size: .9rem !important; font-weight: 800; letter-spacing: .02em; color: #6ff2bb !important; }

/* The section above already ends with its own padding — don't double the gap before the CTA band. */
.section.cta-section { padding-top: clamp(4px, 1vw, 12px); }
.section.soft + .section.cta-section, .section.tint + .section.cta-section, .section.dark + .section.cta-section { padding-top: clamp(32px, 4vw, 56px); }
/* Coloured CTA buttons: shine sweep + lift on hover, like the primary button. */
.cta-btn { transition: transform .25s var(--ease), box-shadow .25s; }
.cta-btn:hover { transform: translateY(-2px); }
.cta-btn.btn-teal::after, .cta-btn.btn-green::after { content: ""; position: absolute; inset: 0; z-index: -1; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .45), transparent); transform: translateX(-160%) skewX(-20deg); }
.cta-btn.btn-teal:hover::after, .cta-btn.btn-green:hover::after { animation: shine .9s var(--ease); }
/* Not static: every CTA button gets a slow, staggered shine sweep; the plain glass button gets the brand tint. */
.cta-btn.btn-glass { background: linear-gradient(120deg, rgba(4, 202, 127, .26), rgba(0, 115, 227, .3)); border-color: rgba(111, 242, 187, .55); color: #fff; }
.cta-btn.btn-glass:hover { background: linear-gradient(120deg, rgba(4, 202, 127, .4), rgba(0, 115, 227, .45)); color: #fff; }
.cta-btn.btn-glass::after { content: ""; position: absolute; inset: 0; z-index: -1; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .35), transparent); transform: translateX(-160%) skewX(-20deg); }
.cta-band .cta-btn::after { animation: ctaShine 4.5s var(--ease) 1.2s infinite; }
@keyframes ctaShine { 0% { transform: translateX(-160%) skewX(-20deg); } 22%, 100% { transform: translateX(260%) skewX(-20deg); } }
.cta-band .cta-btn:nth-child(2)::after { animation-delay: 2.2s; }
.cta-band .cta-btn:nth-child(3)::after { animation-delay: 3.2s; }
@media (prefers-reduced-motion: reduce) { .cta-band .cta-btn::after { animation: none; } }

/* ---------- Hover: transparent buttons turn solid white (client request) ----------
   Covers the hero, CTA bands and photo page-heroes; also on keyboard focus and tap. */
.btn.btn-glass:hover, .btn.btn-glass:focus-visible, .btn.btn-glass:active,
.cta-btn.btn-glass:hover, .cta-btn.btn-glass:focus-visible, .cta-btn.btn-glass:active,
.page-hero.has-bg .btn-outline:focus-visible, .page-hero.has-bg .btn-outline:active {
  background: #fff; color: var(--blue-deep); border-color: #fff; box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .45);
}
.btn.btn-glass:hover svg, .cta-btn.btn-glass:hover svg { color: var(--blue); }
/* Outline buttons on light pages fill with brand blue on hover. */
.btn.btn-outline:not(.page-hero.has-bg .btn-outline):hover, .btn.btn-outline:not(.page-hero.has-bg .btn-outline):focus-visible {
  background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 12px 26px -12px rgba(0, 115, 227, .7);
}
.btn.btn-glass, .btn.btn-outline { transition: background-color .25s var(--ease), color .25s, border-color .25s, box-shadow .25s, transform .25s var(--ease); }

/* ---- styles/components/08-icon-data.css ---- */
/* Illustrated icons embedded as data URIs (generated from src/images/icons by this step) � no separate files to miss. */
.cat-ic.ci-appliance-services { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-beauty-grooming-bridal { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-biz-shop { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-care-personal-assistance { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-carpentry-furniture { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-cleaning-maintenance { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-construction-civil-works { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-education-learning-services { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-electrical { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-events-decoration-celebration { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-home-property-services { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-plumbing { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-rule-disputes { background-image: url("data:image/webp;base64,UklGRmAQAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSOQCAAABoKxtt2k7+seYM2Xbtu1b0AXYtm324/SsVh2Vbdu2zT3HGH+cffKsUd1ExASgj1IFwHr7HHnhXZOnT+vA6VPuvujo/TYAIFWxHEoFsMNZM1/5gZ3602tzz9tFgCqjJQXY4NiBv0jSzcytA93MnCT/vu+kjYEio6KCtS9+k6Q3D3ZqeDOS71y1HkRHoaKc8i7ZLNjN3shPzlkJtV9SsMcgac4OdyMf3h9F+iKKY39ic3Z8NP52BkT7oNA7ycYEGzl2Zegyqaw2mxZMMRrvWQu6DIJV57EFs+xxcC3oUkkZM5s9Jtrj4KpFlqbibjam2uNEVFlSwbFskQsbz0ZZgmKXnzyYbPgf+0EXI2XlERrTNT65apFFCk6KHhNuvAAFgMjaH9Iz8vh6ExGg4GIaUzbehALFeu9GUh6fbQ6tOJbGpBvPQhWM5GXxVBHs8DcTb/sCZ9HzMl4BzGLLbADrvUrLy/ne5nv/yMgr+NehR9ETo/O4C2lM3HjjXdlNnJSbc850em5D02i5Da7w3wr//R+YQc9teAott3l352acdHF2Nx9Dj8ScJ+77ExOL+Puw9V+n5eV8fwvMZcvLOCI4j57ZtcAu/zLvsAMh8iAtK4vnq1ScmFfjBaiKjT4My8njq61FUXA1kzLeiQqIrP95eEYRP2whCqDgLLaMGi9HAQApqzxKy8f40uqqi0Cx128e2YT9cxgUiy84nS2S6fFSFCxRKsazl0uP01BkSZCy6gB7mTQ+uKYKllax1iB7eTQ+sgEUS69Ya5AtcojGB9ZDwbIqVh5PtgwsOHUNKJZdBef8wRZdF41/X6ai6KcUHPQE2bzLvJEvHAEV9Llg1Qu/IJt3lTfy2yvXQkH/VbDxTR+StObRLeHNSH56xxaAYjSlAFuc9cR/JOlm3pFmRpLtufO3BopglKUCZZ/LB9/9k5361/sjVx9YgSpYDrUCwOaHHn/jxDlDgx04PG/SzScetiUAVEUfAVZQOCBWDQAAcDYAnQEqgACAAD5RIo5Eo6IhFclmDDgFBLUG3gKg+m85/yPm5V3+2fhb8h+noN524fsf7F+Snzb/zPqY/TX+y9wD9I/8F6WX6k+7HzDfsb+yXux/5D9oPd5/ZPUA/s3+q6yD0Df2H9Nj9r/hF/cH9wfgT/Zb/8ZrN2y/6LxF8anriYPcf/J/vl+z81O9f4e6hH47/Pv8jvlYA/rj/r+NT7LewB+W/H20APzd+u3sbf9P+h9CX6D/ofYM/Wj/sdkf0kD/YHxpTmk079oOhyFXte9X/jEqwiu4CKt411jOKEwxMKlfuf75IAaM+xrZe0QOkH7DD2oxBzV7whYQQ75wn+cjxEhxLXJCCn4njh70Tz6HTCJBo4OtgTz+zqnQdE0XHaGHrWS5ntGgP+Esy15aPRjzq9QvA8WYA0cKBJX8auy3Lmn3hOD/JYAWjCWquJKPfL4yBwp2ssDzJapOX/fpEPH844ONtiUXlNc35CdHq9eudQLzwMHWZghGEc2UR3wmpBYVE29FWtpStbcjhRC+qK+WfsyzHtqzDPOhefm9RUz+Khw6jxdMqXyy+haDaEJMfXQpGb2qcNznHVAAAP79KBv4kw2Jw1FsxSK+DVNKeq9Vgd/JH6VfqvmhGE0IK9t1eVwGxP8v5uF/crAAuDZwIkJ/e3Wyx8n6M41KSFfQFR+59lZhUQXRSPiBSbHIU7ojkFrYERoL4QK3F9H4Z5G3Re/eUoQ2v5MtrWMWdGgPyAuPg9uIHa+f/3iD4AApVeVBcGUdCBIfFFP9A7//5dh//mUC//8zkikKDV9jtQOBsaxwxLPXdzuovLFXXm4B9N0ylYuSmrb9PIzRtkPAUmcl9DNkhH7OJ3fv2wWxc1kOu4ptStJ9JBkHUkl612YKWUGY/BlSpknXfkfhD1A/aIVHFA+/M0O9ziAi92ys84R7Ku9XueEX+z4CFs9U/Tdk8ols7L21+RYEjHEYy2p+jnsKbPgDYJbdvGvUZ4v2OP+J7wPgjt0+JMhW7UhgiLWtjPr+mNN8IcQQCQLgoz6Sl/zJMeE6Nw5DgF/JE+AKx/NNaeTubuY9+Pu/UWUu3vpUh+u8PyOPXO4Z+UNvUr0vu7WRSjK4yI6BngFqBJBUQ6zV3QWQ+78cRIhMkvkv35oGDvaeXysz9qDPWaKHh8B1KCv7R4gey0aGcEWpKvlIv27Z7xWmmF/8Vfg/+mb83dkeVxtMTZQ1i3ihMiHMdc8p9x5ar6RyhJmDj2aWBgeQ5GfseT+ZuN7AG4oL9l1mXEaJ89cLA7OEU46T0JmJ88eD+1vx3s/8Na/9Q3aTrpP9serLW9VlyQS8nDb/+Sb+YKv9yAke5Mm678PcZIC92tSoyQEe0QeZRhmP8QUE35kfF4cPFc39+kudm1wzB0hSoaO/PwUIdoecHm4WH6Ya38UZZI6aZLhWz5QIhzhyg70PJr7qg0A1WdRUDVI4u8ZMMPd+8p+xXm/M3VTNNN3+vFPNXX4g17t73X6k1pnW/xPCzxx24jSR2YbOP0YD1hNDlzYItdf2PVMp8vCbEisjTF+Rt8w8vne1Y4m50UGT2o0hnS8qabfKU2Uk3/RhhJRXCwr8dMAVZRFlxpsNj83TFSLYpVEMbYbL1E2PfnBHq3RZY2ekrs9f2oaGnnhAdYLr0DH7N3LPBf+EMPxwWNH27dAyCBGCSeNXeoNan2weDSgZJtdm4cYKSehHV7jvd+evCZvdVeT/4mfHcvWyewJW9Mv6784ZtEf+HxYFvRNmmU9GyJb86XC5zK6cy9lJMzVVGrA4gRCJbX4m4XPAWlhYDTRQuZ5gabkIMOj0mNt3N/DfF3q+70Nbs3sGnsBKV5TIzdkWbc0GPRTyDv/MPrkLGmOxrbi/6n66vBfygqF1mQuRli1f/zYefv9/wM3WPByK9v/rZrvZD7pwhLFx9L7v/VM/HIgVzzXxgf4bD29uTuS1P2hGQcPOe1dhHbWbhRAK+qQe/dYJue3fku/JXTVUZwiHZZLnw944wbMSKO3/ZXM5iyUxCFQxP8cHaI0NlHdAHHVuOKp+8fSgJ05tFHav6vfkT1qDWVzVGJSdibXyU9zA8p+CUeHUZYQAU1fP+50LHxf/41kEJ+hPkNgWw4kOnDN3exkJbjTxy5tHe+d7t+5lsk5f9H9z/f2799zHpY35zP953v74a6tIDMs971CtLNLyUpEpTOi1dE2U6O067UFw50LzDADTVZohoM37B+h03IhsezMoBNgjiMnRT2hfla4ewdRkbzsN9lV3WNwsVuMt+vpMDRPH/nMm/k9RdhajRsU0RImGcKOXLgvLHEPeGW9eKPO8AL4/QAvrN0L4VLs8r05u3AppdWRjsWlCEPgEbZuJHndhfJb/Zk+5hLRkG2bJQU8MQ3mN9dw1WXPI/uQz8NYMTkPwcvwr4fR9SWCswH/nhXNXH76YFu/KugxFW+hBeW39MbWQ+fb9GopGPkE4CAQ17dIAccA6bOzS27CNZKSQfEsxKiV1QMHhIjvKjEIcbh9eoIcEPnxKgbPQIJ84hqHcPde+dl8PG1+35OFs+HR0L76Bda7dfMgYe4LWJIK4dcJRhzTZbWoHFVseMu43nyx+bdtqawphM8O29XlxRZ4Lj9aIEjryycyYJyF4ZU2+q6Z+HYNTgqE7ftlRJEbMKp+CdgRFDFbbvEt5A6I7bj/qBtWVqWQJGhelneSenLGUvbHZ225Tz1vj3tJqJGiYejicSRC0LtbQs6/qUx5DSzRoaFDRNxTdfvOqmC4bf1ItnVStjpz+UB0QaEHT7xh4lBvokTNDSsAXFrE4C8nBn4WDRsgUM49+Jo+ulr2cItfN4sK2hj6+VEhQ/DPsSoKwoAcL+IafutXHVGf1nmnItYumJUd1WjjRzcf3gOyIdQTq4tMO5hIS8eq5NfIOk1ZR4++5wBHqC/sl/iDMZM6RS8yrgPdyLWyYKjuWh0oj5g2axXqDP2vQy/PwOLVdu/LrIL/OSmgveKFjwprfovUoUNHTGyfa9sVOvb7oEGN2BEeqpbT+P2tzHyMSRQcM7DG6YZ50FntfPGDlXlGe2Miir6aAD3n3Uh8gpVnAjWfNE0g/da6LFpM9P9JPpvZguGXftS5VgpSKzuCOqoqHzRMdcmri9UXPV+zIQRuOkEMPmV3cbtA+7/RayUigLd57+QP4y28fScUvVwOWaPNbFWzzt4gFZZFkj/kGjDn1MvLjBuNTey8o6suuoj3C2xkD049m47IdLHiHhr1uqxZWusk2/o9v/Q+laRnApiRwnaisKixXD6uT3KCgIT7IRIq1fteS/3S616k3WMzfF2Cng3nGl96n0WxXfRDLMOlW7Drg/exQd3pyvC8jVy15CRc6e3bGJu/n0uGP/cnv8ThluaPfXwaX4yjOcQaTb/P/rs4cN+l8oFaIBbaSm7kFhCiQYMChJj8PoRqO3kT2phGdRDKE/LpMFVoBjimqgO08VXmjfb4goVJz65+ZYUNRgeALzZAUuwmeY/h6AklbQwRXqjSvQmYvRNeZknJ/tP2TmuHNqxM9aQDxNMH179zxlBe+BKdhXCnAY4oi//bOkFpmhBjMnK7xDDADxZylFWRpiufyY/n0oe2VmGie9IC6Ux5tZ33NT156nTjLeSrrKaekNW66uDTtDmKR1xvzIM/iT2fnKjn1PVxtZJQ0n30bnnMFayu4q7Uc0fUwyM/n2CeYcbNdW6wSanpT0RvkpQ/K66afJ0cnTbT0r0azvvrf6oSGxFvDH3XmaT2CW6i+2WeeOAQJKWaQdePwJ9qfrnx8XXtQkB0IbEldbzryoJLavuJ3rl6gZy/onkiM44tksMyGWk6xTpwfa1Y2XtzdF7Z4pGbPF6A6RNGA9rT3St4MGFUcjRVMuKoEonAAlSroDXCqsPK9dKzyg1rNtn91Y1qSrQMWqP39vj5L9HPYiLXeBn8ULxeaX9IeNFLemouCQfUDUi5SJcbx1knZirMSSzj3fa8vjCHEnCFs7X1FS8QtuU+In9/IKbhrSeys2q9aqqwRjFdy/CFlH9nXwHNhQxtz7MZxr/0OemRlcta62gURc0H1HAr+A3acDs/ulRJ31kBhkKHcOjjT4SPqB+LqjsDpkP+yPPCzI2ET2WGshHK065+p1/nC8+OImCEgJqyMXGY2htzfElRbgGvxafkQW8Eyc9GSAfmfeETFs0LHVSZZijYY+wKZ9PyH+4t/iziLcr2P8UUL35K171Nd0zotpSji35VUb9IHypapkr4+OGbWChRcwJVXpItMr9+5GCg1PbG0SoS9uWobAt/5UhoE9hPAdqmlDhPV/4Sb9BGL0YQDJdKfSgmTSDy4+rtqTU+RHarDGbGpyOpTqW42fKpfs2twV25a+SKf8i23RUwY9+ot4Xce/pJ/aGwC+ZYo/YQ+q3Yu7rFhyfpIWlj1njKC1twbRr23RhVT/GlMcaheGTxjzTGpWXKtNT6lZPVBNFhCAADA8KQVDjxoiX1p8xB4U8dUTdYSY3sqUL+bv/fUneVMUwFm7CWlOrZFhGPc/21WGyS7NfPqO1LC/Zrg/n1sMgAA"); }
.cat-ic.ci-rule-matching { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-rule-payments { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-rule-privacy { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-rule-ratings { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-rule-reliability { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-technology-digital-services { background-image: url("data:image/webp;base64,UklGRpQNAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSOQCAAABoKxtt2k7+seYM2Xbtu1b0AXYtm324/SsVh2Vbdu2zT3HGH+cffKsUd1ExASgj1IFwHr7HHnhXZOnT+vA6VPuvujo/TYAIFWxHEoFsMNZM1/5gZ3602tzz9tFgCqjJQXY4NiBv0jSzcytA93MnCT/vu+kjYEio6KCtS9+k6Q3D3ZqeDOS71y1HkRHoaKc8i7ZLNjN3shPzlkJtV9SsMcgac4OdyMf3h9F+iKKY39ic3Z8NP52BkT7oNA7ycYEGzl2Zegyqaw2mxZMMRrvWQu6DIJV57EFs+xxcC3oUkkZM5s9Jtrj4KpFlqbibjam2uNEVFlSwbFskQsbz0ZZgmKXnzyYbPgf+0EXI2XlERrTNT65apFFCk6KHhNuvAAFgMjaH9Iz8vh6ExGg4GIaUzbehALFeu9GUh6fbQ6tOJbGpBvPQhWM5GXxVBHs8DcTb/sCZ9HzMl4BzGLLbADrvUrLy/ne5nv/yMgr+NehR9ETo/O4C2lM3HjjXdlNnJSbc850em5D02i5Da7w3wr//R+YQc9teAott3l352acdHF2Nx9Dj8ScJ+77ExOL+Puw9V+n5eV8fwvMZcvLOCI4j57ZtcAu/zLvsAMh8iAtK4vnq1ScmFfjBaiKjT4My8njq61FUXA1kzLeiQqIrP95eEYRP2whCqDgLLaMGi9HAQApqzxKy8f40uqqi0Cx128e2YT9cxgUiy84nS2S6fFSFCxRKsazl0uP01BkSZCy6gB7mTQ+uKYKllax1iB7eTQ+sgEUS69Ya5AtcojGB9ZDwbIqVh5PtgwsOHUNKJZdBef8wRZdF41/X6ai6KcUHPQE2bzLvJEvHAEV9Llg1Qu/IJt3lTfy2yvXQkH/VbDxTR+StObRLeHNSH56xxaAYjSlAFuc9cR/JOlm3pFmRpLtufO3BopglKUCZZ/LB9/9k5361/sjVx9YgSpYDrUCwOaHHn/jxDlDgx04PG/SzScetiUAVEUfAVZQOCCKCgAA0C0AnQEqgACAAD5RJo5FI6IhEsruHDgFBLEAZzjqLr8zP4HnSWL/Q+p5dz/Fcl+c//Nf3r2c/nz2BP1k6XHmA/k3+W/cj3l/yA9yH9y9QD+l/4D//9gf6AH7T+nH+4/wk/uJ+6PtM//PNY+tF0Tno7FV8lTNf9dws+9TUC9Wf5DfZ9B8wL1u+ef6L+tcgvch/7bjoKA36I9VL+i8df53/lvYH/mP9j/53Ys9IP9vC74ySxmpe2o/c3LmUkBQlxgwF6gbu3eGpYnYMxL3kl5H6sSz82oWR7RkwSkFfTfbja/DmCyHB1EroABh43A99/8PHiHkNZ4+ubKwXB8Ore2YGFctFgvzJLwuwywsaLmED5wWfwpDl3tluAvO+Iv1zNFPSOsfwvNobK7JdcvEq4LtHhaf2dQf/w+fBHSBodizL91/DfrXOJck0z/ceIQPRlCJBuBjHSqKv+RWNni6F06msM0PvGt9JWcKr5sZvod5g9J/Uilj+aAAAP79Kdf/V+y1pQ1mDSZDytf++3yfQGxieEqzQK5ls2Yl36CuF2ZEOdoIO0vLnN3fK33tJKY6mJZ4ld8egHqPc/FI9zOFqioESe7XdEaJg1+KseIziy/Cjmxwkf3Ej389nPbOFfRuvs1P9WhipLxkhgjW0rTj7Z9qM1wdRQe4UKL5T7TIrbSoaBvjnwdTo/ffXfM1fvYJ/wJSiGUfbxd67ZKc2cw+xNCWEIMqpoYqRI6d/Zy1QPmNE+P8ud+8Q7LfayMT5EjF8ugVvZ3/Rc3u4GBJDVnsuAAWqrNuAIsDeI8CLwqPDryLyQCw+fIvcF80q5RVvG1UNTaP+/VcA0fkR0P9k03nJKCACBuo0O4ucb/G9fJwUy5QE2wB4XwXmKZKDPCkrkqN+WpzlJIEaq0WVdyQYIP0SGYnryR+1DX2dBh6Nj4gF3CzrpLWiwMIz/s5SpJVrQ8L98ebvzxXE7342ZMyk/Vf/3woyLnv0joRFnKw2Tq/OrW6Kv18kg+9DnhrucqjItXWZWiyaZ/CrZxacYVchM64+rF9HIYP6nPm89EGAOCcJA8h343pxPNSTbC14gUAnooNfsmz87tuwDos0PXnCZlT47XnWFS6XmQaDJ+9WteWg+wJleNFW4J6wa1iYWNeQVhuIH7ioZ4NcnI3yHBc7eF3kS1PDPjGeWxn8tiIQ/2wE1uiPJ9qr5Yr5U3E4fnlORlUMU0G3iLieUWJ7FLtnzlUxrxXEKpTFj/HxFMouohRuwDJWkHQfXJrwezm0G5JPgd5Mh3JIFieVA87r6725ma4fOEMJHqxsvhBuCC0wNJyzae/TnPQNR+rhyhTZb2qiVMpm/aue35hEmTF6Sq94V1xW2Zb1FxfmjaTGO03eBZvYWejTrFEoodxqN1TbDDIzKpc2ktrYpymbfVBeyCDBkNU6FJfDvt1OB8n9wXqmpN9DQe6ezmiWRS93Gb/SGTbhDbDz506aNG1o0Q5ofpRELfHB+/HS2Zh9uM+GxzqlrQS/72Xi7gxUhaO+/BucdohNxZqIb+2ZLML7EeefcwcoAeZcWHPRoJaduRCob6J3XxT+eCn2AkBDbD/z6Vys7VkaH0DBZTJJ1G5HZSKNyfzY9kq7Hxrzs4RrLLEUtWZ379JIVquSM2/BqzYczNM5+ngPmspz/W2l5Icmii/UMabH6rtuL0Sd9meGhHJEZvUXXgR2zA0r11Bg/pJSyBIlxl3TUyf8q/ugM73ejYYfe8CByAvycUIiYyOIVE9Cr87UJdA87w339lLeBFhezCplI5NG8sI8+xwlisbNAJ0wzE/qcktlBBaX4PANGw99HDTC0XtIzFg+Qaa6G7zSW6l2uVhP85Wzq352a9wCklfd1qUgVm1ReYQI48yTlj+Vbf9Hr6vIUzL19Nz0CZioOD7b7yF5Gi6KW9EX/gSfzsfSlmu/vpin2M6G/Mlu7A/Q4DDDTf+zEA45vjOE31QJNciqDD7+LdY7egdA402kz8NkG+70eX1b/3DyRqQuPlqDZgVRKNGx8di1mYU88ocBcmUdi1M84P8Gwy5poqVpangj8711Ty93i75YAzcgZLBz6FVy015OdgMQ3hH0hzz01DWmULnq9Y/tLZXx7IBqDrl26PW/mHUP2a9d/W/DQxQA2iK8e5vHe3ItMbRIEgNpikPJQyPnojZogMDvJAgdUYh+Hvu5pvQDpuYMquJPbauSBx0X4f03F4Dhm9Zadqz4zNrMkP8QjpCvY3KPP/ELCDB0ZU/kBbicU64dpcUPbzQUvaRESY9PTmuAsk2PX3h8VetpoHhpJuqECotuIZFqOV6Y9QDqLPEXDkEitAogZISfxUp1Lu27yvTO6PDKiiJEiQDfZ4bG4KF7fTlhzOXTv8f75h152ccCyVgj8lil+Q1+EZ4Dt97AaNDQoG4HqS//AHWu0wQU2xoCnga7dJy/e+Lu73FcRi//yEGaeDOf/NFmOBhPt8JkPnQlTb2tu+p3WTDljLXncaWfvA0PtNF+0AqeBy6u/DWdkbgM8o+IhkwuuyHVD8htOAmLoXpOQvnA1XQkQJoYrUsWyM1z2lOY144PrvzwfnUO4sGld69SRwi/79J7nDXTX3PXwFRf6nBhqjbF/jgmzA0Br3Lrlog7dVqGrbBs74S93CuA3e9Rhv4xy9CMnepmBbAI1SNC3dj5fWxPuKPfU3056szg7Afbg5dkRJqg5jorD+X7me3aXzPnnWgCnvVzvGmZ354sfpBF/FNtsTdAKpQv2/5qFNTCpbD/orOcPcxYq8Gc0tRI037hTuVqs8COfE7iFSjflQq9+lF7LXj9bbljhzlLNyZySHmRzgbf2WVwlj/7nauISTyr0dNlwZ8wZt7am7OoyWeENY9tMfLwfT2M1LRNB5Aafh7qDZ7WV1iEykyYJDG5BrRMMa2Lv/73PLUr7UYKER9VYQRXo3srhUNh/e3/73enx04/Ow6DcsYWq3TpOtEUA0g3FI0vjCWuHZ/LftFCeQouXyKBbOow6C1j1zt24U2D7YyESvySDFBbzqR55aQnvM4DrdQsB8l9X0YufJ8JJg7Y/4Xl7NT9fpFuXSt80AShzHOQo8hkBaZIwWELbF4cu6sR0eBXFfbMeaY14RWGtEnEVVu8FvsSvvheC7jD373diMh/w4u0L6ivgKD8+SXsqWdDpMNJrLkG1HxkKl3omq/q1zlbu8vV/n9bP9Dlj5BHuHhyuqqs6DgmN6oOWefzqj2bCrBGa+hbozD0RmiLdDXB3ZAL4Q7lSIKIE0DyB+WXMpLx0CbsqMx9ADIu/qNBtW8UXAczSt/i+0AEh0BbG/ej/x39/Vmg8pd3PK9wvL8QVWbtRgtFCIy3aNiFgQt/m+jj/QFChg+kNx0iVMIc2srX/j0NsB7ik3GYEViTTd/+NLpaes+jPrsQp6EFLwV1+0UEouXD9ajXQlaAhdsy9Kuhk2C4j99zkYhLbvBr/yPppm5TekA16ZqIpaoOeq7rkiDjuiozLL8bO5iXOZ0XgAkQBQJKQCVOV71kzSdeJ820XH/Yj9k5ZnE518FXf8rDh+m9j6Pis4PZ8e0fE/7GO0Y5ChknlL8zvlfCHRuZVdK5Ca0FAAAAA=="); }
.cat-ic.ci-trust-help { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-trust-privacy { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-trust-ratings { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-trust-role { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-trust-verified { background-image: url("data:image/webp;base64,UklGRuIKAABXRUJQVlA4WAoAAAAQAAAAfwAAfwAAQUxQSOQCAAABoKxtt2k7+seYM2Xbtu1b0AXYtm324/SsVh2Vbdu2zT3HGH+cffKsUd1ExASgj1IFwHr7HHnhXZOnT+vA6VPuvujo/TYAIFWxHEoFsMNZM1/5gZ3602tzz9tFgCqjJQXY4NiBv0jSzcytA93MnCT/vu+kjYEio6KCtS9+k6Q3D3ZqeDOS71y1HkRHoaKc8i7ZLNjN3shPzlkJtV9SsMcgac4OdyMf3h9F+iKKY39ic3Z8NP52BkT7oNA7ycYEGzl2Zegyqaw2mxZMMRrvWQu6DIJV57EFs+xxcC3oUkkZM5s9Jtrj4KpFlqbibjam2uNEVFlSwbFskQsbz0ZZgmKXnzyYbPgf+0EXI2XlERrTNT65apFFCk6KHhNuvAAFgMjaH9Iz8vh6ExGg4GIaUzbehALFeu9GUh6fbQ6tOJbGpBvPQhWM5GXxVBHs8DcTb/sCZ9HzMl4BzGLLbADrvUrLy/ne5nv/yMgr+NehR9ETo/O4C2lM3HjjXdlNnJSbc850em5D02i5Da7w3wr//R+YQc9teAott3l352acdHF2Nx9Dj8ScJ+77ExOL+Puw9V+n5eV8fwvMZcvLOCI4j57ZtcAu/zLvsAMh8iAtK4vnq1ScmFfjBaiKjT4My8njq61FUXA1kzLeiQqIrP95eEYRP2whCqDgLLaMGi9HAQApqzxKy8f40uqqi0Cx128e2YT9cxgUiy84nS2S6fFSFCxRKsazl0uP01BkSZCy6gB7mTQ+uKYKllax1iB7eTQ+sgEUS69Ya5AtcojGB9ZDwbIqVh5PtgwsOHUNKJZdBef8wRZdF41/X6ai6KcUHPQE2bzLvJEvHAEV9Llg1Qu/IJt3lTfy2yvXQkH/VbDxTR+StObRLeHNSH56xxaAYjSlAFuc9cR/JOlm3pFmRpLtufO3BopglKUCZZ/LB9/9k5361/sjVx9YgSpYDrUCwOaHHn/jxDlDgx04PG/SzScetiUAVEUfAVZQOCDYBwAAMCcAnQEqgACAAD5RIo9FI6IhE4m9mDgFBLIAZqM0f47s/vods/JfntNpO8P4+Zkf4V+U/6j7ue2Z9wHuAfop/hv63+6X9v7pHmA/mf9F/5X+R7FXoAfy7+w9YT+4HsE/t56rX/J9iL9wf+z/vvgG/Wj7/9lQ65du/+R5VuWmR/+TPcV2R7Be9UZT4n9KnM38af1x7Bf61k8f6nvERD+CbkqGIzij+E/iLGpNKarBTKZwgXOyIKpTP1hKg/TIpfbg/uAcR+ZQmX+J0Mcxs+me1YWJoW4L30deJ6cWVDWq0iPAs3jqI01YvP+ygK3MblB222XjdWtCrzO6QVCo7OAdLRbZEvYmfe/asLEjUcQn8AnfBZ1fxR7LrxN4Y80qCi+NMxhHlGouXXHaMYrQRtY/PQysmpvPzHtY4bXHx2VeWdZWgAD+/tMLE2ixQr/MldmDTOz7gVcprjX3ydRQmssRJ/AwI63QdH+rtSU2pfMijkqq1yyH1X0J7W28npt9GHQc3w8iseOZraBWDd52cYLwexXwbIJOva2b/i4MbrMstXhCLGZ1Z39PKG4Ajo75lWIbRLwvmx4rwKgcgw74DKJ9Pl5tHq1TUomOn09HdmLJyUPvk7trVpQ8Tu+0xnWAI/TXoiQ1REaqlEAditoY/wCQtaj8jxTMu8z0ROvpV0Vmh4FzSgXWlHtEvjYvMc0NFKlpLA87uLAG2K2X57ftXleugvtpifrTRqlvmq0FnZfWkYSC3WoRr5V0I3qsZUFxf/k016zv2gEiezQ3oE+VmMs8kbCpWrQPiMw04Ndiut3lLv7SgTk5DJk4GNpKduMJCcoHXGL4DQEiaLzreCgkmPRIX43JgyowjImPWzFcjgS0g88oXzP8yPCC+1h4yCfgF6TqzYBdj8rIaQO+IbC3gkVWdeEdmZwPNMczXGRmXZzVO1n7hk/+wO0XRMYcbzPpKeWyAcUigorIQaLnJm7e7J0U+cebccts1ziX/XwwqtTCo3nMpX/u6tooK50QvOfeRR7YHKk2eKLRg7g8JjgUzEa4sdIiA61+RBkYKJNww1WmxCjeuJKkaj6Gs2fY+3vrE/41VMxJQ2HoGFs66aw7GxQoPB+k72oRZ5Ha7cJNMkRpvPO0g6vHb4N8oHGROw9Q8Fc/Q4jAYz61TGNSLM8ZMzbcGWE+zQaaK7+eBSjDnJCcdHbQr4gUc+U2Jyp6A7D7as1oQlJXWkKdZPwi8UZ7IkcTPyx/j+tysD98nGf1D7/NWDO7aY5ph8O99hWVn77//br5Vrdc+/3S4IxClGB+I/tbZh9fBWegNEQ1sT6u7wRs+QJzoeJhQkjuiQnBx3EW/ksfiQpAEDb2hxf5LPPMPqhbMZ29558XxkFY1XnrQ5JNerEGfuFfsjmqYz10j9SrIataQt91MXlkQACdfDqmuFjiIDQT3Akq5jYSl1buQSDeUzeIuncIWqLVK1IyS66kqPdRcXVqiIPxvx6Ak0m42e3Ch3dW0z8UFOpFuEU2DbxLyF/xEZ65qsILHTzsPW2fOcRrkWy42TpKrxvjY75wAx9K6OCXUOKbdpyhDvZAfnTe21ekm5ENpbpUiTc3sTBwVosLQkQxzlNfLUToxyBN8ME38gGWfFo040kKooRdJPLk3bSIAkzr8385OroNgPvyp8SLnEk4o30Joi/Cp/N6lT8AoBTwwZCsi1gwRH9NiLeB9EdghvFMESdlvQ8qoo3DWIq9Kv/pdBYEjsPiP55VLswT0aNF5pUYFmS0v4gKaf7ZAzXiOPWi3KAH3JpuVz7CEQusBztHTSzSQUeVOjUNi5osijOWDkWznrzZPA0WpP1rAUQlZ9qx+267Awuwh129l8kB2OC0h2RDHo8Y3v/BF0pw/omnHDV9GyMQ/CJ78+cLWXx6jv1y2PE2vO2kE4D/ZftpdPyn53VK3aAxCYXAnS1Rwdg83P6fhTYGjvR4kAq10sbz7OIwr1uLmQLwAIrCltJOArlO+5k9G9qTbTfH84JKiVeXw+G+02f1YHl6/4JGB8r8IAYv6wnIaxaVtCHwu1fPouFBZ0P1jhLVA2GgPlRQjd6diOf/0DL0nxm9DbAVGb7Tn+3AW9BNQ765YQLuZky4Q1Od1KpOhWdxaiDjhMjz6ulEbVc1UuMTyOOIMYkg8H0k+9c+AyDm+7WzdYWtptYQqSkE1K9GKbIGQ3TSj64zESpOdt7JIMHYk2DAwhlmZ5AO8RYwnQDX933PV8Tob+1dUjJJ+kISvL/lcKRk/vuujVvIMalHckxaXx5WcJjzWqi3BaYgTBqk6lorCox+GJWLLFXmxxFp5F26DmPxmFu6JFUv341/P+5jrJMijz0x7dM2YFnMp4IYD25L2QYQTlrqfVL2KaPM8CqqaUPJAFzw1DUgNNb2JFFSffxGNdW1IwwrCOg980X0u34eRQEk3uI25xugkEJax+nIwRS1Ns/w+dLwxvkUgk21/DVwrqxSUN/skhIt/4GEqOOFQt7aZjAdyRyW74DKeH+mIGAlw15e2MJDJ8cOTMlw88q2C6hb3IfV/y3PUr/P9i4WgLXGAR/FRgLhwbO/gMHkJJmGjCsiHunc4AmRbmNtOckSvXJ4k1I5YrwK8rUqIDYgUnkJFs3M+dItO0BFj2kDbiL35YOervLhGya/Cc2g90qpGNp2n0At3QtgoiEAAA=="); }
.cat-ic.ci-vehicle-mobility-services { background-image: url("data:image/webp;base64,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"); }
.cat-ic.ci-welding-fabrication { background-image: url("data:image/webp;base64,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"); }

/* ---- styles/components/09-visual.css ---- */
/* =========================================================
   Visual kit — glanceable content instead of paragraphs.
   IconPoints (.ipts), SwipeRow (.swipe), Versus (.vs). BigStats reuses .stats.
   ========================================================= */

/* IconPoints: big icon, 2–4 word label, optional short line */
.ipts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 760px) { .ipts-c3 { grid-template-columns: repeat(3, 1fr); } .ipts-c4 { grid-template-columns: repeat(4, 1fr); } .ipts { gap: 16px; } }
.ipt { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px 16px; background: #fff; border-radius: 20px; box-shadow: 0 0 0 1px var(--line), var(--shadow-xs);
  transition: transform .3s var(--ease), box-shadow .3s; }
.ipt:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px transparent, var(--shadow); }
.ipt-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); box-shadow: 0 10px 20px -12px rgba(0, 115, 227, .8); }
.ipt-ic svg.i { width: 26px; height: 26px; }
.ipt-ic .cat-ic { width: 52px; height: 52px; }
.ipt-ic:has(.cat-ic) { background: none; box-shadow: none; }
.ipt strong { font-size: 1.02rem; line-height: 1.25; color: var(--ink); }
.ipt > span:not(.ipt-ic) { font-size: .88rem; line-height: 1.4; color: var(--muted); }
.ipts.tone-teal .ipt-ic { background: linear-gradient(140deg, #2ee29a, #04a56a); box-shadow: 0 10px 20px -12px rgba(4, 202, 127, .9); }
.ipts.tone-green .ipt-ic { background: linear-gradient(140deg, #86d866, #4ea72f); box-shadow: 0 10px 20px -12px rgba(103, 199, 67, .9); }
.ipts.on-dark .ipt { background: rgba(255, 255, 255, .06); box-shadow: 0 0 0 1px rgba(255, 255, 255, .1); }
.ipts.on-dark .ipt strong { color: #fff; }
.ipts.on-dark .ipt > span:not(.ipt-ic) { color: #b9c6e4; }

/* SwipeRow: swipe on phones (next card peeks), grid on desktop */
.swipe { margin: 0 calc(var(--gutter) * -1); padding: 4px var(--gutter) 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none; -webkit-overflow-scrolling: touch; outline: none; }
.swipe::-webkit-scrollbar { display: none; }
.swipe-track { display: grid; grid-auto-flow: column; grid-auto-columns: min(78%, 320px); gap: 14px; }
.swipe-item { scroll-snap-align: start; min-width: 0; display: flex; }
.swipe-item > * { flex: 1; }
@media (min-width: 900px) {
  .swipe { margin: 0; padding: 0; overflow: visible; }
  .swipe-track { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .swipe-c2 .swipe-track { grid-template-columns: repeat(2, 1fr); }
  .swipe-c4 .swipe-track { grid-template-columns: repeat(4, 1fr); }
}
.swipe:focus-visible { outline: 3px solid rgba(0, 115, 227, .3); outline-offset: 4px; border-radius: 12px; }

/* Versus: the usual way vs with D-ARETOZ */
.vs { display: grid; gap: 14px; }
@media (min-width: 760px) { .vs { grid-template-columns: 1fr 1fr; gap: 18px; } }
.vs-col { border-radius: 22px; padding: 20px; }
.vs-old { background: linear-gradient(150deg, #0b2a5c, #1f4f9a); color: #fff; box-shadow: 0 24px 50px -28px rgba(0, 35, 89, .7); }
.vs-new { background: linear-gradient(150deg, #002359, #003b8f 60%, #0a6a63); color: #fff; box-shadow: 0 24px 50px -28px rgba(0, 35, 89, .8); }
.vs-h { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-weight: 800; font-size: 1.05rem; }
.vs-old .vs-h { color: #fff; }
.vs-h svg.i { width: 26px; height: 26px; padding: 5px; border-radius: 50%; box-sizing: border-box; }
.vs-old .vs-h svg.i { background: rgba(255, 255, 255, .16); color: #ffb4b4; }
.vs-new .vs-h svg.i { background: #04CA7F; color: #fff; }
.vs ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.vs li { display: flex; align-items: center; gap: 10px; font-size: .95rem; line-height: 1.35; }
.vs li svg.i { flex: none; width: 18px; height: 18px; }
.vs-old li { color: #d3ddf3; } .vs-old li svg.i { color: #ff9d9d; }
.vs-new li { color: #e8eefc; font-weight: 600; } .vs-new li svg.i { color: #6ff2bb; }
.js .vs[data-reveal] li { opacity: 0; transform: translateX(-8px); transition: opacity .4s var(--ease), transform .4s var(--ease); transition-delay: calc(var(--i, 0) * 90ms + .15s); }
.js .vs[data-reveal].in li { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .vs[data-reveal] li { opacity: 1; transform: none; transition: none; } }

/* ---- styles/components/10-hover.css ---- */
/* =========================================================
   Clear hover feedback everywhere (client request): anything you
   can click turns brand blue on hover, so it feels alive.
   Only on devices with a real mouse; keyboard focus gets the same.
   ========================================================= */
@media (hover: hover) and (pointer: fine) {
  /* Tabs (role switch, journeys) and segmented controls */
  .tabs button[aria-selected="false"]:hover, .tabs button:not([aria-selected="true"]):hover { background: rgba(0, 115, 227, .1); color: var(--blue); }
  .tabs button { border-radius: 999px; transition: background-color .2s, color .2s; }
  /* Filter chips */
  .chip[aria-pressed="false"]:hover, .chip:not([aria-pressed="true"]):hover { background: var(--blue); border-color: var(--blue); color: #fff; }
  /* Ghost and white buttons */
  .btn-ghost:hover { background: rgba(0, 115, 227, .1); color: var(--blue); }
  .btn-light:hover { background: var(--blue); color: #fff; }
  .btn-light:hover svg { color: #fff; }
  /* Text links with arrows */
  .link-arrow:hover, a.zf-link:hover { color: var(--blue); }
}
.tabs button:focus-visible { outline: 3px solid rgba(0, 115, 227, .35); outline-offset: 2px; }

/* ---- styles/components/11-dark-buttons.css ---- */
/* =========================================================
   Buttons on dark or photo backgrounds (client request, whole site):
   every button starts transparent with a white outline, and turns solid
   white with brand-blue text on hover, keyboard focus or tap.
   Covers CTA bands, the home hero, photo page-heroes, the 404 page,
   the app page box, the service-page pro box and the map page join box.
   ========================================================= */
:is(.cta-band, .hero, .page-hero.has-bg, .notfound, .vp-ready, .pro-cta, .fp-join) .btn.btn {
  background: rgba(255, 255, 255, .1); color: #fff; border-color: rgba(255, 255, 255, .6); box-shadow: none;
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  transition: background-color .25s var(--ease), color .25s, border-color .25s, box-shadow .25s, transform .25s var(--ease);
}
:is(.cta-band, .hero, .page-hero.has-bg, .notfound, .vp-ready, .pro-cta, .fp-join) .btn.btn svg { color: currentColor; }
:is(.cta-band, .hero, .page-hero.has-bg, .notfound, .vp-ready, .pro-cta, .fp-join) .btn.btn:is(:hover, :focus-visible, :active) {
  background: #fff; color: var(--blue-deep); border-color: #fff; box-shadow: 0 12px 28px -12px rgba(0, 0, 0, .45);
}
:is(.cta-band, .hero, .page-hero.has-bg, .notfound, .vp-ready, .pro-cta, .fp-join) .btn.btn:is(:hover, :focus-visible, :active) svg { color: var(--blue); }
/* Gentle shine on the transparent buttons so they never look static */
:is(.cta-band, .hero, .page-hero.has-bg, .notfound, .vp-ready, .pro-cta, .fp-join) .btn.btn::after { background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), transparent); }
/* On photo heroes a light glass gets lost on bright areas: use a see-through brand blue so the text stays readable. */
:is(.hero, .page-hero.has-bg) .btn.btn:not(:hover, :focus-visible, :active) { background: rgba(0, 100, 210, .5); border-color: rgba(255, 255, 255, .7); text-shadow: 0 1px 2px rgba(0, 0, 0, .35); }

/* ---- styles/sections/01-hero/01-hero-base.css ---- */
/* =========================================================
   Home hero — cinematic photo slideshow
   ========================================================= */
.hero { position: relative; overflow: hidden; isolation: isolate; color: #eef2fb; background: #1b2433; min-height: min(calc(100svh - var(--header-h) - 38px), 900px); display: flex; flex-direction: column; justify-content: center; }
@media (min-width: 1024px) { .hero { margin: 12px 12px 0; border-radius: var(--r-xl); } }

/* Brand tagline above the headline */
.hero-tagline { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .12); border: 1px solid rgba(255, 255, 255, .22); color: #fff; font-weight: 700; font-size: clamp(.82rem, .76rem + .25vw, .95rem); letter-spacing: .01em; }
@media (max-width: 479px) { .hero-tagline { font-size: .8rem; padding: 7px 12px; } }

/* ---- styles/sections/01-hero/02-slides.css ---- */
/* slides */
.hero-media { position: absolute; inset: 0; z-index: -3; }
.hero-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.6s var(--ease); }
.hero-slide.is-active { opacity: 1; }
.hero-slide img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; transform: scale(1.14); }
.hero-slide.is-active img { animation: kenburns 9s cubic-bezier(.2, .6, .3, 1) forwards; }
@keyframes kenburns { from { transform: scale(1.16) translate3d(1.5%, 1%, 0); } to { transform: scale(1.02) translate3d(0, 0, 0); } }
.hero-scrim { position: absolute; inset: 0; z-index: -2; background: rgba(6, 12, 28, .38); }
@media (max-width: 1099px) {
  .hero-scrim { background: rgba(6, 12, 28, .5); }
  .hero-slide img { object-position: 70% 30%; }
}

.hero-grid { display: grid; gap: 48px; align-items: center; padding-top: clamp(56px, 9vw, 110px); padding-bottom: clamp(28px, 4vw, 40px); }
.hero-copy { max-width: 720px; text-shadow: 0 2px 4px rgba(0, 0, 0, .45), 0 4px 28px rgba(0, 0, 0, .55); }
.hero-copy .btn, .hero-copy .pill { text-shadow: none; }
.pill { display: inline-flex; align-items: center; gap: 10px; background: rgba(0, 21, 51, .55); border: 1px solid rgba(255, 255, 255, .2); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-radius: var(--pill); padding: 8px 16px 8px 12px; font-size: .84rem; font-weight: 600; color: #fff; margin-bottom: 24px; }

/* ---- styles/sections/01-hero/03-headline.css ---- */
/* headline: words rise in one by one */
.hero-title { color: #fff; font-size: clamp(2.1rem, 1.1rem + 3.6vw, 3.9rem); line-height: 1.02; letter-spacing: -.04em; margin-bottom: 24px; }
.hero-title .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.hero-title .w > span { display: inline-block; }
.js .hero-title .w > span { transform: translateY(110%); animation: wordUp 1s var(--ease) forwards; animation-delay: calc(var(--w) * 65ms + .15s); }
@keyframes wordUp { to { transform: none; } }
.hero-title em { font-family: var(--serif); font-style: italic; font-weight: 400; letter-spacing: -.01em; color: var(--teal-300); }
.hero-title .grad-text { background: none; color: inherit; }
.hero-title .grad-text .w > span { color: #fff; }
.hero .lead { color: #f1f4fa; max-width: 600px; font-size: clamp(1.02rem, .95rem + .4vw, 1.22rem); margin-bottom: 30px; }
.js .hero-in { opacity: 0; animation: fadeUp 1s var(--ease) forwards; animation-delay: calc(var(--d) * 90ms + .2s); }
.hero-trust { list-style: none; padding: 0; margin: 30px 0 0; display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: .9rem; font-weight: 600; color: #e4ebfb; }
.hero-trust li { display: inline-flex; align-items: center; gap: 8px; }
.hero-trust svg { width: 18px; height: 18px; color: var(--mint); }

/* ---- styles/sections/01-hero/04-slide-nav.css ---- */
/* slide navigation */
.hero-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding-bottom: clamp(28px, 4vw, 44px); }
.slide-nav { display: flex; gap: 18px; flex-wrap: wrap; }
.slide-dot { display: flex; align-items: center; gap: 10px; background: none; border: 0; padding: 8px 0; color: rgba(255, 255, 255, .6); font-size: .8rem; font-weight: 600; letter-spacing: .02em; min-height: 36px; }
.slide-dot i { position: relative; width: 42px; height: 3px; border-radius: 3px; background: rgba(255, 255, 255, .25); overflow: hidden; }
.slide-dot i::after { content: ""; position: absolute; inset: 0; background: #fff; transform: scaleX(0); transform-origin: left; }
.slide-dot.is-active { color: #fff; }
.slide-dot.is-active i::after { animation: slideProg var(--slide-ms, 6500ms) linear forwards; }
.hero.paused .slide-dot.is-active i::after { animation-play-state: paused; }
@keyframes slideProg { to { transform: scaleX(1); } }
.slide-dot span { max-width: 0; overflow: hidden; white-space: nowrap; opacity: 0; transition: max-width .6s var(--ease), opacity .4s; }
.slide-dot.is-active span { max-width: 280px; opacity: 1; }
@media (max-width: 560px) { .slide-dot.is-active span { max-width: 200px; } .slide-nav { gap: 10px; } .slide-dot i { width: 28px; } }
.scroll-cue { flex: none; width: 26px; height: 42px; border: 2px solid rgba(255, 255, 255, .4); border-radius: 14px; position: relative; display: none; }
.scroll-cue span { position: absolute; left: 50%; top: 8px; width: 4px; height: 8px; margin-left: -2px; border-radius: 2px; background: #fff; animation: cue 1.8s var(--ease) infinite; }
@keyframes cue { 0% { opacity: 0; transform: translateY(0); } 30% { opacity: 1; } 100% { opacity: 0; transform: translateY(14px); } }
@media (min-width: 1100px) { .scroll-cue { display: block; } }
@media (prefers-reduced-motion: reduce) { .js .hero-title .w > span, .js .hero-in { transform: none; opacity: 1; } }

/* ---- styles/sections/01-hero/05-role-strip.css ---- */
/* =========================================================
   Role strip — overlaps the hero's bottom edge
   ========================================================= */
.role-strip { position: relative; padding: clamp(36px, 4.5vw, 60px) 0 clamp(8px, 1.5vw, 16px); }
.role-grid { display: grid; gap: 14px; }
@media (min-width: 760px) { .role-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.role-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 16px; background: #fff; border-radius: var(--r-lg); padding: 26px; box-shadow: var(--shadow); border: 1px solid var(--line); transition: transform var(--t) var(--ease), box-shadow var(--t); }
.role-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); border-color: transparent; }
.role-card .h3 { margin: 0 0 4px; font-size: 1.18rem; }
.role-card p { margin: 0; color: var(--muted); font-size: .94rem; }
.role-card-body { flex: 1; }
.role-card-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; }
.role-card-actions .btn { flex: 1 1 160px; }
.role-strip .tagline { text-align: center; font-family: var(--serif); font-style: italic; font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); color: var(--blue); margin: clamp(28px, 4vw, 44px) 0 0; }

/* ---- styles/sections/01-hero/06-mobile.css ---- */
/* phones: show a band of photo first, then the text panel */
@media (max-width: 767px) {
  .pill { font-size: .76rem; padding: 6px 12px 6px 10px; margin-bottom: 16px; }
  .hero .lead { font-size: 1rem; margin-bottom: 22px; }
  .hero .btn-row > .btn { flex: 1 1 100%; }
  .hero-trust { gap: 8px 16px; font-size: .84rem; margin-top: 20px; }
  .hero-slide img { object-position: 65% 20%; }
}

/* ---- styles/sections/03-home/02-zero-commission.css ---- */
/* ---------- Zero commission + How it works: two panels side by side (stacked on phones) ---------- */
.duo-section { background: linear-gradient(180deg, #fff 0%, var(--bg-tint) 100%); }
.duo { display: grid; gap: clamp(18px, 2.4vw, 28px); align-items: stretch; }
@media (min-width: 1100px) { .duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.duo-panel { min-width: 0; border-radius: 28px; padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; }
.duo-panel h2 { font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.5rem); margin: 10px 0 8px; }
/* left: dark, like the hero */
.zero-panel { background: var(--grad-dark); color: #c5d0ea; box-shadow: var(--shadow-lg); isolation: isolate; overflow: hidden; }
.zero-panel h2 { color: #fff; }
.zero-panel h2 em { color: var(--teal-300); }
.zero-panel .lead { color: #c5d0ea; margin: 0; font-size: 1.02rem; }
.zp-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: clamp(16px, 2vw, 22px); }
.zp-cta { align-self: flex-start; margin-top: clamp(16px, 2vw, 22px); }
/* right: light card with the three steps */
.hiw-panel { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.hiw-steps { list-style: none; margin: clamp(10px, 1.6vw, 18px) 0 0; padding: 0; display: grid; gap: 12px; flex: 1; align-content: center; }
.hiw-step { display: flex; align-items: center; gap: 16px; padding: 10px; border-radius: 20px; background: var(--bg-soft); border: 1px solid var(--line); transition: transform var(--t) var(--ease), box-shadow var(--t); }
.hiw-step:hover { transform: translateX(6px); box-shadow: var(--shadow); }
.hiw-media { position: relative; flex: none; width: clamp(96px, 9vw, 140px); aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; }
.hiw-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hiw-num { position: absolute; left: 8px; top: 8px; min-width: 30px; height: 26px; padding: 0 7px; border-radius: 999px; display: grid; place-items: center; background: rgba(0, 21, 51, .78); color: var(--mint); font-size: .78rem; font-weight: 800; }
.hiw-text h3 { font-size: 1.15rem; margin: 0 0 4px; color: var(--ink); }
.hiw-text p { margin: 0; color: var(--text); font-weight: 600; }
.hiw-btns { margin-top: clamp(16px, 2vw, 22px); }
.zc { position: relative; min-width: 0; }
.zc-track { list-style: none; margin: 0; padding: 4px 2px 8px; display: flex; gap: clamp(12px, 1.6vw, 20px); overflow-x: auto; scrollbar-width: none; overscroll-behavior-x: contain; }
.zc-track::-webkit-scrollbar { display: none; }
.zc-card { flex: 0 0 74%; border-radius: 22px; overflow: hidden; background: #0b2150; border: 1px solid rgba(255, 255, 255, .1); box-shadow: 0 18px 40px -22px rgba(0, 0, 0, .7); }
@media (min-width: 640px) { .zc-card { flex-basis: 48%; } }
@media (min-width: 1100px) { .zc-card { flex-basis: 62%; } }
.zc-media { position: relative; aspect-ratio: 4 / 3.6; overflow: hidden; }
.zc-media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--ease); }
.zc-card:hover .zc-media img { transform: scale(1.05); }
.zc-val { position: absolute; left: 14px; top: 14px; padding: 6px 14px; border-radius: 999px; background: rgba(0, 21, 51, .72); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: #fff; font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; }
.zc-card.tone-mint .zc-val, .zc-card.tone-teal .zc-val { color: var(--mint); }
.zc-card.tone-blue .zc-val { color: #7cc0ff; }
.zc-card.tone-green .zc-val { color: #9be37a; }
.zc-body { padding: 16px 18px 18px; display: grid; gap: 4px; }
.zc-body strong { color: #fff; font-size: 1.12rem; }
.zc-body span { color: #c5d0ea; font-size: .92rem; }
.zc-all { flex: none; display: inline-flex; align-items: center; gap: 8px; padding: 9px 18px; border-radius: 999px; color: #fff; font-weight: 700; font-size: .95rem; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .06); transition: background var(--t-fast), color var(--t-fast), gap var(--t-fast); }
.zc-all svg { width: 16px; height: 16px; }
.zc-all:hover { background: #fff; color: var(--blue-deep); gap: 12px; }
.zc-arrow { position: absolute; top: 38%; z-index: 2; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: rgba(0, 21, 51, .8); border: 1px solid rgba(255, 255, 255, .35); box-shadow: 0 8px 22px -10px rgba(0, 0, 0, .7); transition: background var(--t-fast), transform var(--t-fast); }
.zc-arrow:hover { background: var(--blue); }
.zc-arrow:active { transform: scale(.94); }
.zc-arrow svg { width: 20px; height: 20px; }
.zc-prev { left: 6px; } .zc-prev svg { transform: rotate(180deg); }
.zc-next { right: 6px; }
@media (max-width: 639px) { .zc-arrow { width: 40px; height: 40px; } }
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: clamp(28px, 4vw, 44px); }
@media (min-width: 900px) { .stats { grid-template-columns: repeat(4, 1fr); gap: 18px; } }
.stat { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(18px, 2.4vw, 26px); overflow: hidden; transition: transform var(--t) var(--ease), box-shadow var(--t); }
.stat:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.stat::after { content: ""; position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; background: var(--grad-brand); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease); }
.stat:hover::after { transform: scaleX(1); }
.stat-ic { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--blue-bg); color: var(--blue); margin-bottom: 14px; }
.stat-ic svg { width: 20px; height: 20px; }
.stat dt { font-size: clamp(2rem, 1.5rem + 2vw, 2.8rem); font-weight: 800; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.stat dd { font-size: .9rem; color: var(--muted); margin-top: 8px; }
/* Side by side: shorter card photos so both panels stay about one screen tall; steps fill the right panel. */
.zero-panel .zc-media { aspect-ratio: 16 / 10.5; }
.hiw-steps { align-content: start; gap: 14px; margin-top: clamp(14px, 2vw, 24px); }
@media (min-width: 1100px) {
  .hiw-step { padding: 12px; gap: 20px; }
  .hiw-media { width: clamp(130px, 11vw, 168px); }
  .hiw-text h3 { font-size: 1.25rem; }
  .hiw-text p { font-size: 1.02rem; }
  .hiw-btns { margin-top: auto; padding-top: 20px; }
}
/* Phones: See All goes under the heading so the heading and line keep the full width. */
@media (max-width: 639px) { .zp-head { flex-direction: column; align-items: flex-start; gap: 14px; } }

/* ---- styles/sections/03-home/03-services-foot.css ---- */
/* ---------- Services foot ---------- */
.services-foot { margin-top: 30px; }

/* ---- styles/sections/03-home/04-multi-role.css ---- */
/* ---------- Multi-role demo ---------- */
.role-demo { padding: 22px; }
.role-demo-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px; margin-bottom: 14px; }
.role-demo .tabs { margin-bottom: 18px; width: 100%; display: flex; }
.role-demo .tabs button { flex: 1; justify-content: center; padding: 10px 12px; }
@media (max-width: 420px) { .role-demo .tabs button span { font-size: .82rem; } .role-demo .tabs button svg { display: none; } }
.role-panel { background: var(--bg-soft); border-radius: var(--r); padding: 18px; animation: fadeUp .45s var(--ease) both; }
.role-panel-head { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; }
.role-panel-head strong { color: var(--ink); display: block; margin-bottom: 6px; }
.role-panel-head > div { flex: 1; }
.role-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.role-rows li { display: flex; align-items: center; gap: 12px; background: #fff; padding: 12px 14px; border-radius: 12px; font-weight: 600; font-size: .9rem; color: var(--ink); box-shadow: var(--shadow-xs); animation: fadeUp .5s var(--ease) both; animation-delay: calc(var(--i) * 90ms + 100ms); }
.role-rows li svg { width: 18px; height: 18px; color: var(--tone); }
.role-rows li span { flex: 1; }
.role-rows .sk { height: 7px; }
.role-foot { display: flex; gap: 8px; align-items: center; margin: 14px 0 0; }
.role-foot svg { width: 16px; height: 16px; color: var(--green); }

/* ---- styles/sections/03-home/06-phone-mock.css ---- */
/* ---------- Phone mock ---------- */
.phone-wrap { position: relative; display: grid; justify-items: center; padding: 20px 0 30px; }
.phone { position: relative; width: 270px; height: 550px; border-radius: 46px; background: #0b1430; padding: 12px; box-shadow: 0 0 0 2px #26345c inset, 0 50px 90px -30px rgba(0, 21, 51, .55); animation: float 7s ease-in-out infinite; }
.phone-notch { position: absolute; top: 20px; left: 50%; translate: -50% 0; width: 90px; height: 24px; border-radius: 14px; background: #0b1430; z-index: 2; }
.phone-screen { height: 100%; border-radius: 36px; overflow: hidden; background: linear-gradient(180deg, #f2f6ff, #fff 40%); padding: 50px 16px 16px; display: flex; flex-direction: column; gap: 12px; position: relative; }
.ps-top { display: flex; justify-content: space-between; align-items: center; }
.ps-brand { font-weight: 800; color: var(--blue-deep); font-size: 1rem; } .ps-brand b { color: var(--teal); }
.ps-av { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--teal), var(--blue)); }
.ps-search { display: flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 10px; font-size: .72rem; color: var(--muted); box-shadow: var(--shadow-xs); }
.ps-search svg { width: 14px; height: 14px; }
.ps-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.ps-grid span { aspect-ratio: 1; border-radius: 14px; display: grid; place-items: center; background: var(--tone-bg); color: var(--tone-ink); animation: pop .5s var(--ease) both; animation-delay: calc(var(--i) * 80ms + .3s); }
.ps-grid svg { width: 22px; height: 22px; }
.ps-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 12px; display: grid; gap: 7px; position: relative; }
.ps-badge { position: absolute; right: 10px; top: 10px; display: inline-flex; align-items: center; gap: 3px; font-size: .6rem; font-weight: 800; color: var(--green-ink); background: var(--green-bg); padding: 3px 7px; border-radius: 999px; }
.ps-badge svg { width: 10px; height: 10px; }
.ps-tab { margin-top: auto; display: flex; justify-content: space-around; padding: 10px; border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); color: var(--muted); }
.ps-tab svg { width: 18px; height: 18px; } .ps-tab svg:first-child { color: var(--blue); }
.phone-shadow { width: 200px; height: 20px; border-radius: 50%; background: radial-gradient(rgba(0, 21, 51, .25), transparent 70%); margin-top: 18px; animation: shadow 7s ease-in-out infinite; }
@keyframes shadow { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(.85); opacity: .7; } }
@media (max-width: 380px) { .phone { width: 240px; height: 490px; } }
.zero-grid > *, .zero-rows > *, .zero-row p, .stats > * { min-width: 0; }
@media (max-width: 380px) { .zero-row { padding: 16px; } .stat dt { font-size: 1.8rem; } }

/* ---- styles/sections/03-home/07-trust-layers.css ---- */
/* ---------- Trust layers on dark ---------- */
.trust-layers .eyebrow { color: var(--teal-300); }
.trust-layers .bento-tile { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .1); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.trust-layers .bento-tile:hover { background: rgba(255, 255, 255, .09); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .6); }
.trust-layers .bento-tile p { color: #aebbd9; }
.trust-layers .bento-tile .ic-tile { background: rgba(4, 202, 127, .14); color: var(--teal-300); }
.trust-layers .fine { color: #8f9dc0; }
.trust-layers .bento-photo { box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .8); }

/* ---- styles/sections/03-home/08-app-card.css ---- */
/* ---------- App card ---------- */
.app-card { position: relative; overflow: hidden; isolation: isolate; border-radius: var(--r-xl); background: var(--grad-dark); color: #c5d0ea; padding: clamp(32px, 5vw, 56px) clamp(24px, 5vw, 72px); box-shadow: var(--shadow-lg); }
.app-card h2 { color: #fff; }
.app-card h2 em { color: var(--teal-300); }
.app-card .lead { color: #c5d0ea; }
.app-card .eyebrow { color: var(--teal-300); }
.app-card .store { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .2); color: #fff; }
.app-card .store small { color: #9fb0d6; }
.app-card .store svg { color: var(--teal-300); }
.app-card .phone-wrap { padding: 0; }
.app-card .phone { box-shadow: 0 0 0 2px #26345c inset, 0 30px 80px -20px rgba(4, 202, 127, .35); }
.app-card .phone-shadow { background: radial-gradient(rgba(0, 0, 0, .45), transparent 70%); }

/* ---- styles/sections/03-home/09-faq-teaser.css ---- */
/* ---------- FAQ teaser ---------- */
.faq-teaser { align-items: start; }
@media (min-width: 900px) { .faq-teaser { grid-template-columns: .8fr 1.2fr; } .faq-teaser > div:first-child { position: sticky; top: calc(var(--header-h) + 40px); } }

/* ---- styles/sections/04-categories.css ---- */
.explorer .search-box { margin-bottom: 8px; }
.cats { display: grid; gap: 14px; grid-template-columns: 1fr; margin-top: 26px; }
@media (min-width: 560px) { .cats { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .cats { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1180px) { .cats { grid-template-columns: repeat(4, 1fr); } }
.cat { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); color: var(--text); overflow: hidden; transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t), opacity .3s; }
.cat::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--tone); transform: scaleX(0); transform-origin: left; transition: transform .5s var(--ease); }
.cat:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); border-color: transparent; color: var(--text); }
.cat:hover::after { transform: scaleX(1); }
.cat h3 { font-size: 1.04rem; margin: 6px 0 0; }
.cat p { margin: 0; font-size: .88rem; color: var(--muted); }
.cat ul { margin: 4px 0 0; padding: 0; list-style: none; font-size: .78rem; color: var(--ink); display: flex; flex-wrap: wrap; gap: 6px; }
.cat li { background: var(--bg-soft); border-radius: var(--pill); padding: 4px 10px; font-weight: 600; }
.cat.hidden { display: none !important; }
.cat.hit { animation: pop .4s var(--ease) both; }
.nores { display: none; margin-top: 22px; }
.nores.show { display: block; animation: fadeUp .4s var(--ease); }

/* related categories on sub-pages */
.related-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 18px; }
.related-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.related-cat { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--line); border-radius: var(--pill); padding: 6px 14px 6px 6px; color: var(--ink); font-size: .86rem; font-weight: 600; transition: all var(--t-fast); }
.related-cat:hover { border-color: var(--blue); color: var(--blue); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.prev-next { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 32px; }
.pn { display: flex; align-items: center; gap: 12px; padding: 16px 18px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); color: var(--ink); font-weight: 700; font-size: .92rem; line-height: 1.3; transition: all var(--t) var(--ease); }
.pn.next { justify-content: flex-end; text-align: right; }
.pn small { display: block; font-size: .72rem; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; margin-bottom: 2px; }
.pn svg { width: 20px; height: 20px; flex: none; color: var(--blue); transition: transform var(--t) var(--ease); }
.pn svg.flip { transform: rotate(180deg); }
.pn:hover { border-color: var(--blue); box-shadow: var(--shadow); color: var(--blue); }
.pn.next:hover svg { transform: translateX(4px); } .pn.prev:hover svg { transform: rotate(180deg) translateX(4px); }
@media (max-width: 479px) { .pn { font-size: .82rem; padding: 12px; } }

.pro-cta { display: grid; gap: 20px; align-items: center; padding: clamp(24px, 4vw, 40px); border-radius: var(--r-xl); background: linear-gradient(135deg, #effbfc, #f2f6ff); border: 1px solid #d5eef1; }
.pro-cta h2 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); margin-bottom: 6px; }
.pro-cta .lead { margin: 0; font-size: 1rem; }
.pro-cta .ic-tile { margin: 0; }
@media (min-width: 900px) { .pro-cta { grid-template-columns: auto 1fr auto; } }

/* ---- styles/sections/05-photos/01-photo-frame.css ---- */
/* =========================================================
   Photography components
   ========================================================= */
/* framed photo with wipe reveal + parallax */
.photo { position: relative; margin: 0; }
.photo.mb { margin-bottom: 28px; }
.photo-frame { position: relative; aspect-ratio: var(--ratio, 4/3); overflow: hidden; border-radius: var(--r-xl); box-shadow: var(--shadow-lg); background: #dfe6f3; }
.photo-frame img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0) scale(1.12); transition: transform 1.4s var(--ease); }
.photo-frame::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .15); pointer-events: none; }
.js [data-reveal="wipe"] { opacity: 1; transform: none; }
.js [data-reveal="wipe"] .photo-frame { clip-path: inset(100% 0 0 0 round var(--r-xl)); transition: clip-path 1.3s var(--ease); }
.js [data-reveal="wipe"].in .photo-frame { clip-path: inset(0 0 0 0 round var(--r-xl)); }
.js [data-reveal="wipe"] .photo-frame img { transform: translate3d(0, var(--py, 0px), 0) scale(1.3); }
.js [data-reveal="wipe"].in .photo-frame img { transform: translate3d(0, var(--py, 0px), 0) scale(1.12); }
.photo-chip { position: absolute; left: 18px; bottom: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--pill); background: rgba(255, 255, 255, .88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); color: var(--ink); font-weight: 700; font-size: .88rem; box-shadow: var(--shadow); animation: float 6s ease-in-out infinite; }
.photo-chip svg { width: 18px; height: 18px; color: var(--blue); }
.photo.wide .photo-frame { aspect-ratio: 21/9; }
@media (max-width: 640px) { .photo.wide .photo-frame { aspect-ratio: 16/10; } .photo.tall .photo-frame { aspect-ratio: 4/3; } }

/* ---- styles/sections/05-photos/02-page-hero-photo.css ---- */
/* inner-page hero photo */
.hero-photo { position: relative; width: 100%; max-width: 560px; margin-left: auto; }
.hp-frame { position: relative; aspect-ratio: var(--ratio, 4/5); border-radius: var(--r-xl); overflow: hidden; box-shadow: 0 40px 80px -30px rgba(0, 35, 89, .45); animation: hpIn 1.3s var(--ease) .15s both; }
.hp-frame img { width: 100%; height: 100%; object-fit: cover; transform: translate3d(0, var(--py, 0px), 0) scale(1.1); }
@keyframes hpIn { from { clip-path: inset(0 0 100% 0 round 32px); } to { clip-path: inset(0 0 0 0 round 32px); } }
.hp-deco { position: absolute; inset: 22px -18px -18px 22px; border-radius: var(--r-xl); background: var(--grad-brand); opacity: .9; z-index: -1; animation: fadeUp 1s var(--ease) .5s both; }
.page-hero.tone-teal .hp-deco { background: linear-gradient(135deg, #4be3a6, var(--teal)); }
.page-hero.tone-green .hp-deco { background: linear-gradient(135deg, #8df5c6, var(--green)); }
.hp-card { position: absolute; left: -28px; bottom: 28px; max-width: 320px; display: grid; gap: 12px; background: rgba(255, 255, 255, .92); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border: 1px solid rgba(255, 255, 255, .9); border-radius: var(--r-lg); padding: 18px 20px; box-shadow: var(--shadow-lg); animation: cardIn 1s var(--ease) .7s both, float 7s ease-in-out 1.8s infinite; }
@keyframes cardIn { from { opacity: 0; transform: translateY(24px) scale(.96); } to { opacity: 1; transform: none; } }
.hp-card .badges { margin: 0; }
.hp-card .hero-panel-stat { border: 0; padding: 0; }
.hp-card .row .ic-tile { margin: 0; }
.hp-card strong { color: var(--ink); }
.hp-card .name-card { box-shadow: none; padding: 0; background: none; }
.hp-card .name-greek { font-size: 2.6rem; margin-bottom: 4px; }
.hp-card .name-card h3 { margin-bottom: 4px; }
.hp-card .name-card p { font-size: .88rem; margin: 0; }
@media (max-width: 999px) {
  .hero-photo { margin: 8px auto 0; max-width: 640px; }
  .hp-card { position: relative; left: auto; bottom: auto; margin: -48px 16px 0; max-width: none; animation: cardIn 1s var(--ease) .7s both; }
  .hp-deco { inset: 14px -10px 30% 14px; }
}

/* ---- styles/sections/05-photos/03-mosaic.css ---- */
/* mosaic */
.mosaic { display: grid; grid-template-columns: 1.1fr .9fr; grid-template-rows: 1fr 1fr; gap: 14px; height: clamp(300px, 34vw, 440px); }
.mz { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow-lg); animation: cardIn 1s var(--ease) both; }
.mz0 { grid-row: span 2; animation-delay: .1s; } .mz1 { animation-delay: .25s; } .mz2 { animation-delay: .4s; }
.mz img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.mz:hover img { transform: scale(1.06); }
@media (max-width: 999px) { .mosaic { height: 260px; } }

/* ---- styles/sections/05-photos/04-category-cards.css ---- */
/* category photo cards */
.cat { padding: 0; gap: 0; }
.cat-media { position: relative; display: block; aspect-ratio: 16/10; overflow: hidden; background: #dfe6f3; }
.cat-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.cat-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0, 21, 51, .35), transparent 50%); }
.cat:hover .cat-media img { transform: scale(1.08); }
.cat-go { position: absolute; top: 12px; right: 12px; z-index: 1; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .92); color: var(--ink); transform: rotate(-45deg) scale(.85); opacity: 0; transition: all .45s var(--ease); }
.cat-go svg { width: 18px; height: 18px; }
.cat:hover .cat-go { opacity: 1; transform: none; background: #fff; color: var(--tone); }
@media (hover: none) { .cat-go { opacity: 1; transform: none; } }
.cat-body { display: flex; flex-direction: column; gap: 8px; padding: 0 20px 22px; flex: 1; }
.cat-body .ic-tile { margin-top: -26px; position: relative; z-index: 1; border: 4px solid #fff; box-sizing: content-box; width: 44px; height: 44px; box-shadow: var(--shadow-sm); }
.cat-body h3 { margin: 4px 0 0; }

/* ---- styles/sections/05-photos/05-audience-cards.css ---- */
/* audience photo cards */
.audience { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); transition: transform var(--t) var(--ease), box-shadow var(--t); }
.audience:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.audience-media { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.audience-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.1s var(--ease); }
.audience:hover .audience-media img { transform: scale(1.07); }
.audience-ic { position: relative; z-index: 1; margin: -58px 0 14px; border: 4px solid #fff; box-sizing: content-box; box-shadow: var(--shadow); }
.audience-body { display: flex; flex-direction: column; flex: 1; padding: 0 24px 26px; }
.audience-body .audience-ic { align-self: flex-start; }
.audience-body h3 { font-size: 1.3rem; }
.audience-body .checks { flex: 1; }
.audience-body .btn { align-self: flex-start; }

/* ---- styles/sections/05-photos/06-photo-steps.css ---- */
/* photo steps */
.photo-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; counter-reset: none; }
@media (min-width: 900px) { .photo-steps { grid-template-columns: repeat(3, 1fr); gap: 24px; } }
.photo-step { background: #fff; border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--shadow); border: 1px solid var(--line); transition: transform var(--t) var(--ease), box-shadow var(--t); }
.photo-step:hover { transform: translateY(-6px); box-shadow: var(--shadow-lg); }
.ps-media { position: relative; aspect-ratio: 16/11; }
.ps-media > img { width: 100%; height: 100%; object-fit: cover; }
.ps-num { position: absolute; left: 22px; bottom: -24px; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; font-weight: 800; color: #fff; background: var(--grad-brand); box-shadow: 0 10px 24px -8px rgba(0, 115, 227, .8); border: 3px solid #fff; }
.ps-body { padding: 38px 24px 26px; }
.ps-body h3 { font-size: 1.3rem; margin-bottom: 6px; }
.ps-body p { margin: 0; color: var(--muted); }

/* ---- styles/sections/05-photos/07-bento.css ---- */
/* bento */
.bento { display: grid; gap: 16px; }
@media (min-width: 640px) { .bento { grid-template-columns: 1fr 1fr; } .bento-photo { grid-column: 1 / -1; } }
@media (min-width: 1000px) { .bento { grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: auto auto; } .bento-photo { grid-column: 1; grid-row: 1 / span 2; } }
.bento-photo { position: relative; min-height: 380px; border-radius: var(--r-xl); overflow: hidden; box-shadow: var(--shadow-lg); color: #fff; }
.bento-photo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.4s var(--ease); }
.bento-photo:hover > img { transform: scale(1.05); }
.bento-overlay { position: absolute; inset: auto 0 0 0; padding: 28px; background: linear-gradient(0deg, rgba(0, 18, 44, .92), rgba(0, 18, 44, 0)); display: grid; gap: 10px; justify-items: start; }
.bento-overlay p { margin: 0; color: #dbe4f7; max-width: 420px; }
.bento-overlay .link-arrow { color: var(--teal-300); }
.bento-overlay .link-arrow:hover { color: #fff; }
.bento-tile { position: relative; background: #fff; border-radius: var(--r-lg); padding: 24px; border: 1px solid var(--line); transition: transform var(--t) var(--ease), box-shadow var(--t); }
.bento-tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); }
.bento-tile .ic-tile { margin-bottom: 14px; }
.bento-tile p { margin: 0; color: var(--muted); font-size: .95rem; }

/* ---- styles/sections/05-photos/09-video-poster.css ---- */
/* how-it-works video poster */
.video-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.video::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(160deg, rgba(0, 21, 51, .55), rgba(0, 21, 51, .85)); }

/* ---- styles/sections/05-photos/10-auth-photo.css ---- */
/* auth photo */
.auth-photo { margin: 28px 0 8px; }
@media (max-width: 999px) { .auth-photo { display: none; } }

/* ---- styles/sections/06-phone-live.css ---- */
/* =========================================================
   Phone mockup: a looping "live app" demo.
   Only transform/opacity/box-shadow on tiny elements are animated,
   and everything pauses while the phone is off-screen (.is-live).
   ========================================================= */
.phone-screen > * { position: relative; }
.phone:not(.is-live) .phone-screen *,
.phone:not(.is-live) .phone-screen *::after { animation-play-state: paused !important; }

.phone-notch { z-index: 6; }

/* Glass shine sweeping across the screen */
.phone-screen > .ps-glare { position: absolute; top: -20%; bottom: -20%; left: 0; width: 45%; pointer-events: none; z-index: 5;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .5) 45%, rgba(255, 255, 255, .12) 55%, transparent);
  transform: translateX(-160%) skewX(-12deg); animation: psGlare 7s ease-in-out 1.2s infinite; }
@keyframes psGlare { 0%, 70% { transform: translateX(-160%) skewX(-12deg); } 100% { transform: translateX(360%) skewX(-12deg); } }

/* Notification dropping from the notch */
.phone-screen > .ps-toast { position: absolute; top: 46px; left: 14px; right: 14px; z-index: 4; display: flex; align-items: center; gap: 10px;
  padding: 10px 12px; border-radius: 16px; background: #002359; box-shadow: 0 14px 30px -12px rgba(0, 35, 89, .6);
  opacity: 0; transform: translateY(-80px) scale(.9); animation: psToast 8s cubic-bezier(.2, .9, .3, 1.2) 2.4s infinite; }
.ps-toast-ic { width: 26px; height: 26px; flex: none; border-radius: 9px; display: grid; place-items: center; background: #04CA7F; color: #fff; }
.ps-toast-ic svg { width: 15px; height: 15px; }
.ps-toast-lines { flex: 1; display: grid; gap: 6px; }
.ps-toast .sk { display: block; height: 6px; border-radius: 4px; background: rgba(255, 255, 255, .3); }
@keyframes psToast { 0% { opacity: 0; transform: translateY(-80px) scale(.9); } 7%, 36% { opacity: 1; transform: none; } 44%, 100% { opacity: 0; transform: translateY(-80px) scale(.9); } }

/* Avatar online dot */
.ps-av { position: relative; }
.ps-av::after { content: ""; position: absolute; right: -1px; bottom: -1px; width: 9px; height: 9px; border-radius: 50%; background: #04CA7F; border: 2px solid #fff; animation: pulse 2.4s infinite; }

/* Search box: blinking caret + focus ring */
.ps-search { animation: psFocus 8s ease-in-out 1s infinite; }
.ps-caret { width: 1.5px; height: 13px; margin-left: -4px; background: var(--blue); border-radius: 1px; animation: psCaret 1s steps(1) infinite; }
@keyframes psCaret { 50% { opacity: 0; } }
@keyframes psFocus { 0%, 100% { box-shadow: var(--shadow-xs); } 10%, 30% { box-shadow: 0 0 0 3px rgba(0, 115, 227, .16), var(--shadow-xs); } }

/* Category tiles: tapped one after another, with a ripple */
.ps-grid span { position: relative; overflow: hidden;
  animation: pop .5s var(--ease) both, psTap 6s ease-in-out infinite;
  animation-delay: calc(var(--i) * 80ms + .3s), calc(var(--i) * 1s + 1.5s); }
.ps-grid span::after { content: ""; position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: currentColor; opacity: 0;
  transform: scale(0); animation: psRipple 6s ease-out infinite; animation-delay: calc(var(--i) * 1s + 1.5s); }
.ps-grid svg { position: relative; z-index: 1; }
@keyframes psTap { 0%, 12%, 100% { transform: scale(1); } 3% { transform: scale(.88); } 7% { transform: scale(1.06); } }
@keyframes psRipple { 0% { transform: scale(0); opacity: .22; } 9% { transform: scale(1.9); opacity: 0; } 100% { opacity: 0; } }

/* Result cards slide in; skeleton lines shimmer */
.ps-card { animation: cardIn .6s var(--ease) both; }
.ps-grid + .ps-card { animation-delay: .9s; }
.ps-card + .ps-card { animation-delay: 1.1s; }
.phone .sk { position: relative; overflow: hidden; }
.phone .sk::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .85), transparent);
  transform: translateX(-100%); animation: psShimmer 1.8s ease-in-out infinite; }
@keyframes psShimmer { to { transform: translateX(100%); } }

/* Verified badge heartbeat; rating stars light up in turn */
.ps-badge { animation: psBadge 3s ease-in-out 1.6s infinite; }
@keyframes psBadge { 0%, 16%, 100% { transform: scale(1); } 8% { transform: scale(1.12); } }
.ps-stars { position: absolute; right: 10px; top: 10px; display: flex; gap: 1px; color: #f5b301; }
.ps-stars svg { width: 10px; height: 10px; fill: currentColor; stroke: none; opacity: .25; animation: psStar 4s ease-out infinite; }
.ps-stars svg:nth-child(2) { animation-delay: .12s; } .ps-stars svg:nth-child(3) { animation-delay: .24s; }
.ps-stars svg:nth-child(4) { animation-delay: .36s; } .ps-stars svg:nth-child(5) { animation-delay: .48s; }
@keyframes psStar { 0% { opacity: .25; transform: scale(.6); } 8% { opacity: 1; transform: scale(1.25); } 14%, 80% { opacity: 1; transform: scale(1); } 100% { opacity: .25; transform: scale(1); } }

/* Tab bar: a pill slides between tabs */
.ps-tab { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); justify-items: center; padding: 10px; }
.ps-tab svg { position: relative; z-index: 1; }
.ps-tab svg:first-child, .ps-tab svg:first-of-type { color: inherit; }
.ps-ind { position: absolute; top: 5px; bottom: 5px; left: 10px; width: calc((100% - 20px) / 4); border-radius: 11px; background: rgba(0, 115, 227, .13);
  animation: psTabs 8s cubic-bezier(.6, 0, .2, 1) 1s infinite; }
@keyframes psTabs { 0%, 20% { transform: translateX(0); } 25%, 45% { transform: translateX(100%); } 50%, 70% { transform: translateX(200%); } 75%, 95% { transform: translateX(300%); } 100% { transform: translateX(0); } }

@media (prefers-reduced-motion: reduce) {
  .phone *, .phone *::after { animation: none !important; }
  .phone-screen > .ps-toast, .phone-screen > .ps-glare { display: none; }
}

/* ---- styles/pages/01-platform.css ---- */
/* ---------- How it works ---------- */
.video { position: relative; aspect-ratio: 16 / 10; border-radius: var(--r-xl); overflow: hidden; isolation: isolate; background: var(--grad-dark); display: grid; place-items: center; color: #fff; text-align: center; box-shadow: var(--shadow-lg); }
.video-inner { display: grid; gap: 6px; justify-items: center; padding: 20px; }
.video .small { color: #b9c6e6; }
.play { position: relative; width: 78px; height: 78px; border-radius: 50%; background: rgba(255, 255, 255, .14); border: 1.5px solid rgba(255, 255, 255, .6); display: grid; place-items: center; margin-bottom: 10px; backdrop-filter: blur(6px); }
.play::before, .play::after { content: ""; position: absolute; inset: -2px; border-radius: 50%; border: 1.5px solid rgba(255, 255, 255, .5); animation: ring 2.4s ease-out infinite; }
.play::after { animation-delay: 1.2s; }
.play svg { width: 30px; height: 30px; margin-left: 4px; }

/* ---------- Trust & safety ---------- */
.glossary { display: grid; gap: 12px; }
@media (min-width: 760px) { .glossary { grid-template-columns: repeat(2, 1fr); } }
.gl { position: relative; display: flex; gap: 14px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 16px 18px; align-items: center; transition: transform var(--t) var(--ease), box-shadow var(--t); }
.gl:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.gl .badge { flex: none; }
.gl p { margin: 0; font-size: .93rem; }
@media (max-width: 480px) { .gl { flex-direction: column; align-items: flex-start; } }
.layers { position: relative; width: min(340px, 80vw); aspect-ratio: 1; margin: 0 auto; }
.layer { position: absolute; border-radius: 50%; display: flex; justify-content: center; border: 1.5px solid; animation: pop .8s var(--ease) both; animation-delay: calc(var(--i) * 150ms + .3s); }
.layer span { display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; height: max-content; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; padding: 4px 10px; border-radius: var(--pill); background: #fff; box-shadow: var(--shadow-xs); }
.layer span svg { width: 13px; height: 13px; }
.layer.l0 { inset: 0; border-color: #cfe9d9; background: rgba(103, 199, 67, .05); color: var(--green-ink); }
.layer.l1 { inset: 13%; border-color: #c9ecef; background: rgba(4, 202, 127, .06); color: var(--teal-ink); }
.layer.l2 { inset: 26%; border-color: #cddcf7; background: rgba(0, 115, 227, .07); color: var(--blue); }
.layer.l3 { inset: 39%; border: 0; background: var(--grad-brand); color: #fff; align-items: center; box-shadow: var(--shadow-glow); }
.layer.l3 span { margin: 0; background: transparent; box-shadow: none; flex-direction: column; font-size: .62rem; color: #fff; }
.layer.l3 span svg { width: 26px; height: 26px; }
@media (max-width: 999px) { .layers { display: none; } }
.role-card { display: flex; gap: 22px; align-items: flex-start; }
.role-card .ic-tile { margin: 0; }
@media (max-width: 640px) { .role-card { flex-direction: column; } }

/* ---------- About ---------- */
.name-card { position: relative; background: #fff; border-radius: var(--r-xl); padding: 32px; box-shadow: var(--shadow-lg); overflow: hidden; }
.name-greek { display: block; font-family: var(--serif); font-style: italic; font-size: clamp(3.5rem, 7vw, 5rem); line-height: 1; margin-bottom: 14px; background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.story { max-width: 960px; margin: 0 auto; text-align: center; }
.story .eyebrow { justify-content: center; }
.story-text { font-size: clamp(1.25rem, 1rem + 1.2vw, 1.9rem); line-height: 1.5; color: var(--ink); font-weight: 600; letter-spacing: -.015em; }
.letter { position: relative; max-width: 860px; margin: 0 auto; background: #fff; border-radius: var(--r-xl); box-shadow: var(--shadow-lg); padding: clamp(28px, 5vw, 56px); }
.letter-quote { position: absolute; top: -10px; right: 28px; font-family: var(--serif); font-size: 10rem; line-height: 1; color: var(--blue-bg); pointer-events: none; }
.letter blockquote { margin: 0; font-size: 1.05rem; line-height: 1.8; position: relative; }
.letter figcaption { font-weight: 800; color: var(--ink); margin-top: 10px; font-family: var(--serif); font-style: italic; font-size: 1.3rem; }

/* ---------- FAQ ---------- */
.faq-count { font-size: .8rem; color: var(--muted); padding-right: 14px; white-space: nowrap; }
.faq-layout { display: grid; gap: 28px; }
@media (min-width: 1000px) { .faq-layout { grid-template-columns: 260px 1fr; gap: 48px; } .faq-side { position: sticky; top: calc(var(--header-h) + 20px); align-self: start; } .faq-side .chips { flex-direction: column; align-items: stretch; } .faq-side .chip { text-align: left; border-radius: 12px; } }
@media (max-width: 999px) { .faq-side { position: sticky; top: calc(var(--header-h) - 1px); z-index: 5; background: rgba(255, 255, 255, .92); backdrop-filter: blur(10px); margin: 0 calc(var(--gutter) * -1); padding: 10px var(--gutter); } .faq-side .dd-label { display: none; } .faq-side .chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; } .faq-side .chips::-webkit-scrollbar { display: none; } .chip { white-space: nowrap; } }
.faq-group { margin-bottom: 40px; scroll-margin-top: calc(var(--header-h) + 80px); }
.faq-group h2 { font-size: 1.4rem; display: flex; align-items: center; gap: 10px; }
.faq-n { font-size: .75rem; font-weight: 800; background: var(--bg-tint); color: var(--blue); padding: 3px 9px; border-radius: var(--pill); letter-spacing: 0; }
.qa mark.hl { background: rgba(4, 202, 127, .35); border-radius: 3px; padding: 0 1px; }

/* ---------- Contact ---------- */
.contact-side { display: grid; gap: 14px; }
.contact-side .card { padding: 20px; }
.contact-side .ic-tile { margin-bottom: 10px; }
.faq-layout > * { min-width: 0; }

/* ---- styles/pages/02-account.css ---- */
/* ---------- Join / Login ---------- */
.auth { position: relative; overflow: hidden; isolation: isolate; padding: clamp(28px, 5vw, 72px) 0 clamp(48px, 7vw, 96px); background: linear-gradient(180deg, #f2f6ff, #fff 60%); min-height: calc(100vh - var(--header-h)); min-height: calc(100dvh - var(--header-h)); }
.auth-grid { display: grid; gap: clamp(24px, 4vw, 64px); align-items: start; }
@media (min-width: 1000px) { .auth-grid { grid-template-columns: .85fr 1.15fr; } .auth-intro { position: sticky; top: calc(var(--header-h) + 40px); padding-top: 24px; } }
.auth-intro .lead { max-width: 520px; }
.auth-points { list-style: none; margin: 26px 0 0; padding: 0; display: grid; gap: 12px; }
.auth-points li { display: flex; align-items: center; gap: 12px; font-weight: 600; color: var(--ink); }
.auth-points span { width: 36px; height: 36px; border-radius: 11px; display: grid; place-items: center; background: #fff; box-shadow: var(--shadow-sm); color: var(--blue); flex: none; }
.auth-points svg { width: 18px; height: 18px; }
@media (max-width: 999px) { .auth-points { display: none; } .auth-intro h1 { font-size: clamp(1.9rem, 1.4rem + 2.5vw, 2.6rem); } }
.auth-card { max-width: 680px; width: 100%; }
.auth-card .form-card h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.7rem); }
.auth-below { text-align: center; margin-top: 18px; }

.stepper { list-style: none; margin: 0 0 12px; padding: 0; display: flex; justify-content: space-between; gap: 4px; }
.stepper li { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; font-size: .72rem; font-weight: 700; color: var(--muted); }
.stepper-dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-size: .8rem; font-weight: 800; background: var(--bg-soft); border: 1.5px solid var(--line); color: var(--muted); transition: all var(--t) var(--ease); }
.stepper li.on .stepper-dot { background: var(--grad-brand); color: #fff; border-color: transparent; box-shadow: 0 6px 14px -6px rgba(0, 115, 227, .7); }
.stepper li.on { color: var(--ink); }
.stepper li.current .stepper-dot { transform: scale(1.12); }
@media (max-width: 420px) { .stepper-label { display: none; } }
.progress { height: 4px; border-radius: 4px; background: var(--line); margin-bottom: 26px; overflow: hidden; }
.progress i { display: block; height: 100%; background: var(--grad-brand); width: calc(var(--prog, 0) * 100%); transition: width .6s var(--ease); border-radius: 4px; }
.wstep { animation: stepIn .5s var(--ease) both; }
.wstep.back { animation-name: stepBack; }
@keyframes stepIn { from { opacity: 0; transform: translateX(24px); } to { opacity: 1; transform: none; } }
@keyframes stepBack { from { opacity: 0; transform: translateX(-24px); } to { opacity: 1; transform: none; } }
.wstep h2:focus { outline: none; }
.wstep .field { margin-top: 14px; }
.wiz-nav { margin-top: 26px; justify-content: space-between; }
.wiz-nav .btn-primary { margin-left: auto; }
.btn .flip { transform: rotate(180deg); }

.roles { display: grid; gap: 12px; }
.roles legend { margin-bottom: 12px; }
.role-opt { position: relative; display: flex; gap: 14px; align-items: center; border: 1.5px solid var(--line); border-radius: var(--r); padding: 16px; cursor: pointer; background: #fff; transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast), box-shadow var(--t); }
.role-opt:hover { border-color: var(--line-2); transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.role-opt input { position: absolute; opacity: 0; pointer-events: none; }
.role-opt > div { flex: 1; }
.role-opt strong { display: block; color: var(--ink); }
.role-opt span:not(.ic-tile):not(.role-check) { font-size: .88rem; color: var(--muted); }
.role-check { width: 24px; height: 24px; border-radius: 50%; border: 1.5px solid var(--line-2); display: grid; place-items: center; color: #fff; transition: all var(--t-fast); flex: none; }
.role-check svg { width: 14px; height: 14px; stroke-width: 3; transform: scale(0); transition: transform .25s var(--ease-spring); }
.role-opt:has(input:checked) { border-color: var(--tone); background: var(--tone-bg); box-shadow: 0 0 0 3px color-mix(in srgb, var(--tone) 18%, transparent); }
.role-opt:has(input:checked) .role-check { background: var(--tone); border-color: var(--tone); }
.role-opt:has(input:checked) .role-check svg { transform: scale(1); }
.role-opt:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 2px; }

.otp { display: flex; gap: clamp(6px, 2vw, 10px); }
.otp input { width: clamp(40px, 12vw, 54px); height: clamp(50px, 14vw, 60px); text-align: center; font-size: 1.4rem; font-weight: 800; border: 1.5px solid var(--line); border-radius: 12px; background: var(--bg-soft); color: var(--ink); transition: all var(--t-fast); }
.otp input:focus { border-color: var(--blue-500); background: #fff; outline: none; box-shadow: 0 0 0 4px rgba(0, 115, 227, .12); transform: translateY(-2px); }
.otp input.filled { border-color: var(--blue); background: #fff; }
.resend-row { margin-top: 14px; display: flex; align-items: center; gap: 4px; flex-wrap: wrap; }
.otp-single { letter-spacing: .5em; text-align: center; font-weight: 800; font-size: 1.3rem !important; }
.type-grid { display: grid; gap: 8px; grid-template-columns: 1fr; }
@media (min-width: 480px) { .type-grid { grid-template-columns: 1fr 1fr; } }
.type-grid label { position: relative; display: flex; gap: 10px; align-items: center; border: 1.5px solid var(--line); border-radius: 12px; padding: 11px 14px; cursor: pointer; font-size: .9rem; font-weight: 600; color: var(--ink); min-height: 48px; transition: all var(--t-fast); }
.type-grid label:hover { border-color: var(--line-2); }
.type-grid input { accent-color: var(--blue); width: 18px; height: 18px; margin: 0; }
.type-grid label:has(input:checked) { border-color: var(--blue); background: var(--bg-tint); }
.done-step { text-align: center; }
.done-step .callout { text-align: left; }
.done-step .btn-row { justify-content: center; }
.done-burst { position: relative; width: 96px; height: 96px; margin: 8px auto 20px; }
.done-check { position: absolute; inset: 0; border-radius: 50%; background: linear-gradient(135deg, #86d866, var(--teal)); color: #fff; display: grid; place-items: center; box-shadow: 0 16px 40px -12px rgba(103, 199, 67, .7); animation: pop .6s var(--ease-spring) both; z-index: 1; }
.done-check svg { width: 46px; height: 46px; stroke-width: 2.6; stroke-dasharray: 30; stroke-dashoffset: 30; animation: draw .5s var(--ease) .4s forwards; }
@keyframes draw { to { stroke-dashoffset: 0; } }
.done-burst i { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px; border-radius: 2px; background: var(--c, var(--teal)); animation: burst .9s var(--ease) .2s both; }
.done-burst i:nth-child(3n) { --c: var(--blue-500); } .done-burst i:nth-child(3n+1) { --c: var(--mint); } .done-burst i:nth-child(4n) { --c: #f0a92a; }
@keyframes burst { 0% { transform: rotate(var(--a)) translateY(0) scale(1); opacity: 1; } 100% { transform: rotate(var(--a)) translateY(-80px) scale(.3); opacity: 0; } }
.done-burst i:nth-child(2) { --a: 0deg; } .done-burst i:nth-child(3) { --a: 30deg; } .done-burst i:nth-child(4) { --a: 60deg; } .done-burst i:nth-child(5) { --a: 90deg; } .done-burst i:nth-child(6) { --a: 120deg; } .done-burst i:nth-child(7) { --a: 150deg; } .done-burst i:nth-child(8) { --a: 180deg; } .done-burst i:nth-child(9) { --a: 210deg; } .done-burst i:nth-child(10) { --a: 240deg; } .done-burst i:nth-child(11) { --a: 270deg; } .done-burst i:nth-child(12) { --a: 300deg; } .done-burst i:nth-child(13) { --a: 330deg; }
.reveal-in { animation: fadeUp .45s var(--ease) both; }

/* Login: get the code on WhatsApp or Email */
.otp-via { border: 0; margin: 4px 0 14px; padding: 0; }
.otp-via.hidden { display: none; }
.otp-via legend { padding: 0; margin-bottom: 8px; font-size: .9rem; font-weight: 700; color: var(--ink); }
.otp-via-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.otp-via-opts label { position: relative; cursor: pointer; }
.otp-via-opts input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.otp-via-opts span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; border-radius: 12px; border: 1.5px solid var(--line); background: #fff; font-weight: 700; color: var(--ink); transition: border-color var(--t-fast), background var(--t-fast); }
.otp-via-opts svg { width: 18px; height: 18px; }
.otp-via-opts input:checked + span { border-color: var(--blue); background: var(--blue-bg); color: var(--blue-ink, #0a4a8f); }
.otp-via-opts input:focus-visible + span { outline: 3px solid rgba(0, 115, 227, .3); outline-offset: 2px; }
.otp-via small { display: block; margin-top: 6px; font-size: .78rem; color: var(--muted); }

/* Testing mode: the OTP is shown on the page while emails are not sent yet */
.otp-test { background: #fff6e5; border: 1px dashed #f5a524; color: #6b4a00; }
.otp-test-code { display: inline-block; margin-left: 4px; padding: 2px 10px; border-radius: 8px; background: #fff; border: 1px solid #f5c26b; font-size: 1.15rem; letter-spacing: .18em; color: var(--ink); }

/* ---- styles/pages/03-legal-system.css ---- */
/* ---------- Legal ---------- */
.policy-group { margin-top: 40px; }
.policy-card { display: flex; flex-direction: column; }
.policy-card h3 { font-size: 1.05rem; }
.policy-card p { color: var(--muted); font-size: .92rem; flex: 1; }
.policy-status { align-self: flex-start; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--warn); background: var(--warn-bg); padding: 4px 10px; border-radius: var(--pill); }
.legal-layout { display: grid; gap: 32px; }
@media (min-width: 1000px) { .legal-layout { grid-template-columns: 1fr 300px; gap: 56px; } .legal-layout aside { position: sticky; top: calc(var(--header-h) + 20px); align-self: start; } }
.prose { max-width: 780px; }
.prose h2 { font-size: 1.35rem; margin-top: 1.6em; }
.policy-nav { background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 16px; margin-bottom: 16px; }
.policy-nav .dd-label { margin: 4px 8px 8px; }
.policy-nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.policy-nav a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: var(--text); font-size: .9rem; font-weight: 600; line-height: 1.3; }
.policy-nav a svg { width: 17px; height: 17px; color: var(--muted); }
.policy-nav a:hover { background: #fff; color: var(--blue); }
.policy-nav a[aria-current] { background: #fff; color: var(--blue); box-shadow: var(--shadow-xs); }
.policy-nav a[aria-current] svg { color: var(--blue); }

/* ---------- 404 ---------- */
.notfound { position: relative; overflow: hidden; isolation: isolate; background: var(--grad-dark); color: #c5d0ea; text-align: center; padding: clamp(64px, 10vw, 140px) 0; }
.notfound h1 { color: #fff; font-size: clamp(1.8rem, 1.3rem + 2vw, 2.8rem); }
.notfound .lead { color: #b9c6e6; }
.notfound .search-box { margin: 26px auto; }
.nf-code { font-size: clamp(6rem, 22vw, 13rem); font-weight: 800; line-height: .9; letter-spacing: -.06em; color: #fff; margin: 0 0 10px; }
.nf-code span { display: inline-block; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; animation: float 4s ease-in-out infinite; }

/* ---- styles/pages/04-booking-cart.css ---- */
/* =========================================================
   cart.html: selected services list, summary + send, sign-in
   prompt, empty and sent states.
   ========================================================= */
.page-hero.compact { padding-bottom: clamp(28px, 4vw, 48px); }
.page-hero.compact h1 { font-size: clamp(1.9rem, 1.4rem + 2vw, 2.8rem); }

.cart { display: grid; gap: 24px; align-items: start; }
@media (min-width: 980px) { .cart:not(.is-empty) { grid-template-columns: minmax(0, 1fr) 360px; gap: 32px; } }
.cart-main { min-width: 0; }

.cart-group + .cart-group { margin-top: 28px; }
.cart-group-h { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.cart-group-h h2 { flex: 1; min-width: 0; margin: 0; font-size: 1.12rem; }
.cart-group-add { flex: none; display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 0 14px; border-radius: var(--pill); border: 1px solid var(--line); background: #fff; color: var(--blue); font-weight: 700; font-size: .84rem; }
.cart-group-add svg { width: 16px; height: 16px; }
.cart-group-add:hover { border-color: var(--blue); }

.cart-item { background: #fff; border-radius: 22px; box-shadow: var(--shadow-card, var(--shadow)); padding: clamp(16px, 2.4vw, 22px); transition: opacity .22s, transform .22s var(--ease); }
.cart-item + .cart-item { margin-top: 12px; }
.cart-item.out { opacity: 0; transform: scale(.97); }
.cart-item-h { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.cart-item-h h3 { margin: 10px 0 0; font-size: 1.06rem; }
.cart-rm { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 14px; border-radius: var(--pill); border: 1px solid #f3cfcb; background: #fff; color: var(--danger); font-weight: 700; font-size: .84rem; cursor: pointer; transition: background var(--t-fast), color var(--t-fast); }
.cart-rm svg { width: 17px; height: 17px; }
.cart-rm:hover { background: var(--danger); color: #fff; }
.cart-details { margin: 8px 0 12px; color: var(--text); overflow-wrap: anywhere; }
.cart-ans { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.cart-ans li { display: inline-flex; flex-wrap: wrap; gap: 5px; padding: 6px 11px; border-radius: 10px; background: var(--bg-soft); font-size: .84rem; line-height: 1.35; }
.cart-ans span { color: var(--muted); }
.cart-ans span::after { content: ":"; }
.cart-ans b { color: var(--ink); font-weight: 700; }
.cart-photos { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.cart-photos img { width: 76px; height: 76px; object-fit: cover; border-radius: 12px; box-shadow: var(--shadow-sm); }
.cart-meta { list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 18px; }
.cart-meta li { display: inline-flex; align-items: center; gap: 6px; font-size: .88rem; font-weight: 600; color: var(--ink); overflow-wrap: anywhere; }
.cart-meta svg { flex: none; width: 18px; height: 18px; color: var(--blue); }
.cart-more { margin-top: 20px; }

/* summary */
@media (min-width: 980px) { .cart-side { position: sticky; top: calc(var(--header-h) + 24px); } }
.cart-sum-t { font-size: 1.25rem; margin-bottom: 6px; }
.cart-sum-n { display: flex; align-items: baseline; gap: 8px; margin: 0 0 16px; font-weight: 700; color: var(--ink); }
.cart-sum-n b { font-size: 2.2rem; line-height: 1; letter-spacing: -.03em; background: var(--grad-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cart-next-t { margin: 0 0 10px; font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cart-next { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 10px; }
.cart-next li { display: flex; align-items: flex-start; gap: 10px; font-size: .9rem; line-height: 1.4; color: var(--text); }
.cart-next-n { flex: none; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-bg); color: var(--blue-ink); font-size: .78rem; font-weight: 800; }
.cart-send { min-height: 54px; font-size: 1rem; }

.cart-signin { margin-top: 16px; padding: 18px; border-radius: 18px; background: linear-gradient(135deg, #f1f6ff, #eefbf6); border: 1px solid #d6e4fb; outline: none; }
.cart-signin.pop-in { animation: bkIn .45s var(--ease) both; }
.cart-signin-ic { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--blue); box-shadow: var(--shadow-xs); margin-bottom: 10px; }
.cart-signin-ic svg { width: 22px; height: 22px; }
.cart-signin strong { display: block; color: var(--ink); font-size: 1.02rem; }
.cart-signin p { margin: 4px 0 14px; font-size: .9rem; }
.cart-signin-btns { display: grid; gap: 10px; }

/* empty + sent */
.cart-empty, .cart-done { text-align: center; background: #fff; border-radius: 28px; box-shadow: var(--shadow-card, var(--shadow)); padding: clamp(32px, 6vw, 56px) 20px; outline: none; }
.cart-done { max-width: 680px; margin: 0 auto; animation: bkIn .5s var(--ease) both; }
.cart-empty-ic, .cart-done-ic { width: 76px; height: 76px; margin: 0 auto 16px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-bg); color: var(--blue); }
.cart-done-ic { background: var(--teal); color: var(--blue-deep); box-shadow: 0 14px 30px -12px rgba(4, 202, 127, .8); }
.cart-empty-ic svg, .cart-done-ic svg { width: 36px; height: 36px; }
.cart-done-ic svg { stroke-width: 2.8; }
.cart-empty h2, .cart-done h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.8rem); }
.cart-empty p, .cart-done p { max-width: 46ch; margin: 0 auto 22px; color: var(--muted); }

.cart-sum-n small { font-size: inherit; }

/* ---- styles/pages/04-booking.css ---- */
/* =========================================================
   Services page booking: expandable category cards, the
   booking panel (services, questions, photos, when & where),
   the "added" confirmation and the sticky selected-services bar.
   ========================================================= */

/* ---------- category cards that open a panel ---------- */
.cat-expand { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.cat-expand .cat-go { opacity: 1; transform: none; background: rgba(255, 255, 255, .94); color: var(--tone-ink); }
.cat-expand .cat-go svg { transition: transform var(--t) var(--ease); }
.cat-expand:hover .cat-go { transform: none; }
.cat-cta { margin-top: auto; padding-top: 10px; display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; min-height: 32px; font-weight: 800; font-size: .9rem; color: var(--tone-ink); }
.cat-cta svg { width: 18px; height: 18px; transition: transform var(--t) var(--ease); }
.cat-cta-close { display: none; }
.cat.cat-expand.is-open { box-shadow: 0 0 0 2px var(--tone), var(--shadow-lg); transform: none; }
.cat.cat-expand.is-open::after { transform: scaleX(1); }
.cat.cat-expand.is-open .cat-go svg, .cat.cat-expand.is-open .cat-cta svg { transform: rotate(180deg); }
.cat.cat-expand.is-open .cat-cta-open { display: none; }
.cat.cat-expand.is-open .cat-cta-close { display: inline; }
.cat-expand:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.cat-added { position: absolute; left: 12px; top: 12px; z-index: 1; display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px 5px 7px; border-radius: var(--pill); background: var(--teal); color: var(--blue-deep); font-size: .78rem; font-weight: 800; box-shadow: 0 6px 16px -6px rgba(4, 202, 127, .8); }
.cat-added svg { width: 15px; height: 15px; stroke-width: 3; }
.bk-holder { display: none; }

/* ---------- the panel (spans the whole grid row) ---------- */
.bk-panel { grid-column: 1 / -1; display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .5s var(--ease), opacity .35s var(--ease); }
.bk-panel.open { grid-template-rows: 1fr; opacity: 1; }
.bk-clip { min-height: 0; overflow: hidden; }
.bk-panel.settled .bk-clip { overflow: visible; }
.bk-card { position: relative; margin-top: 10px; background: #fff; border: 1px solid var(--line); border-radius: 28px; box-shadow: var(--shadow-lg); }
.bk-card::before { content: ""; position: absolute; top: -9px; left: calc(var(--caret, 50%) - 9px); width: 18px; height: 18px; background: #fff; border-left: 1px solid var(--line); border-top: 1px solid var(--line); transform: rotate(45deg); border-top-left-radius: 4px; }
.bk-form { position: relative; padding: clamp(18px, 3.2vw, 34px); display: grid; gap: clamp(20px, 2.6vw, 28px); }
.bk-form::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 3px; border-radius: 0 0 4px 4px; background: linear-gradient(90deg, var(--tone), var(--teal)); }

.bk-head { display: flex; align-items: flex-start; gap: 14px; }
.bk-head .cat-ic { box-shadow: var(--shadow-sm); }
.bk-head-copy { flex: 1; min-width: 0; }
.bk-head h3 { font-size: clamp(1.18rem, 1rem + .8vw, 1.5rem); margin: 4px 0 4px; outline: none; }
.bk-head p { margin: 0; color: var(--muted); font-size: .95rem; max-width: 62ch; }
.bk-x { flex: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); display: grid; place-items: center; cursor: pointer; transition: background var(--t-fast), border-color var(--t-fast), transform var(--t-fast); }
.bk-x svg { width: 20px; height: 20px; }
.bk-x:hover { background: var(--bg-soft); border-color: var(--line-2); }
.bk-x:active { transform: scale(.94); }

/* steps */
.bk-step-t { display: flex; align-items: center; gap: 10px; font-size: 1.06rem; margin: 0 0 4px; }
.bk-num { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: var(--tone-bg); color: var(--tone-ink); font-size: .9rem; font-weight: 800; }
.bk-step-sub { margin: 0 0 14px 40px; font-size: .9rem; color: var(--muted); }

/* service picks: big tick tiles */
.bk-picks { display: grid; gap: 10px; }
@media (min-width: 720px) { .bk-picks { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.bk-pick { position: relative; display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 12px 16px; border: 1.5px solid var(--line); border-radius: 18px; background: #fff; cursor: pointer; font-weight: 700; color: var(--ink); line-height: 1.3; transition: border-color var(--t-fast), background var(--t-fast), box-shadow var(--t-fast), transform var(--t-fast); }
.bk-pick:hover { border-color: var(--line-2); box-shadow: var(--shadow-sm); }
.bk-pick:active { transform: scale(.99); }
.bk-pick input { position: absolute; inset: 0; opacity: 0; margin: 0; cursor: pointer; }
.bk-pick .box { flex: none; width: 26px; height: 26px; border-radius: 8px; border: 2px solid var(--line-2); background: #fff; display: grid; place-items: center; color: #fff; transition: all var(--t-fast); }
.bk-pick .box svg { width: 16px; height: 16px; stroke-width: 3; transform: scale(0); transition: transform .25s var(--ease-spring); }
.bk-pick:has(input:checked) { border-color: var(--blue); background: #f3f8ff; box-shadow: 0 0 0 3px rgba(0, 115, 227, .1); }
.bk-pick input:checked + .box { background: var(--blue); border-color: var(--blue); }
.bk-pick input:checked + .box svg { transform: scale(1); }
.bk-pick input:focus-visible + .box { outline: 3px solid var(--teal); outline-offset: 2px; }
.bk-err { display: flex; align-items: center; gap: 6px; margin: 10px 0 0; color: var(--danger); font-size: .88rem; font-weight: 600; }
.bk-err svg { width: 16px; height: 16px; flex: none; }
.bk-err.shake { animation: shake .4s var(--ease); }

/* one block of questions per ticked service */
.bk-blocks { display: grid; gap: 14px; }
.bk-blocks:not(:has(.bk-block:not(.hidden))) { display: none; }
.bk-block { min-width: 0; margin: 0; border: 0; padding: clamp(16px, 2.4vw, 24px); border-radius: 22px; background: var(--bg-soft); display: grid; gap: 18px; }
.bk-block.bk-in { animation: bkIn .45s var(--ease) both; }
.bk-block-t { float: left; width: 100%; padding: 0; display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 1.04rem; color: var(--ink); }
.bk-block-t + * { clear: both; }
.bk-block-ic { flex: none; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--blue); color: #fff; }
.bk-block-ic svg { width: 15px; height: 15px; stroke-width: 3; }
.bk-skip { margin: -6px 0 -4px; font-size: .86rem; color: var(--muted); }
.bk-qs { display: grid; gap: 18px; }
@media (min-width: 980px) { .bk-qs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 28px; } }

.bk-q { min-width: 0; }
.bk-q-label, .field label.bk-q-label { display: block; font-weight: 700; color: var(--ink); font-size: .92rem; margin-bottom: 8px; }
.bk-q-more { display: block; margin: -5px 0 8px; font-size: .8rem; color: var(--muted); }
.bk-form .field textarea { min-height: 96px; background: #fff; }
.bk-form .field input[type=text], .bk-form .field select { background: #fff; }
.bk-form .field input[type=date] { width: 100%; font: inherit; font-size: 16px; min-height: 48px; padding: 10px 12px 10px 42px; border: 1.5px solid var(--line); border-radius: var(--r-sm); background: #fff; color: var(--ink); transition: border-color var(--t-fast), box-shadow var(--t-fast); }
.bk-form .field input[type=date]:focus { border-color: var(--blue-500); outline: none; box-shadow: 0 0 0 4px rgba(0, 115, 227, .12); }
.bk-form .field.invalid input[type=date] { border-color: #e0413a; background: #fff8f7; }

/* tap-to-choose options */
.bk-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.bk-opt { position: relative; cursor: pointer; }
.bk-opt input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; margin: 0; cursor: pointer; }
.bk-opt > span { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; padding: 9px 16px; border: 1.5px solid var(--line); border-radius: var(--pill); background: #fff; color: var(--ink); font-size: .9rem; font-weight: 600; line-height: 1.25; transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast), box-shadow var(--t-fast); }
.bk-opt:hover > span { border-color: var(--blue-500); }
.bk-opt input:checked + span { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 6px 14px -8px rgba(0, 115, 227, .9); }
.bk-opt input[type=checkbox] + span::before { content: ""; flex: none; width: 16px; height: 16px; border-radius: 5px; border: 1.5px solid var(--line-2); background: #fff; transition: all var(--t-fast); }
.bk-opt input[type=checkbox]:checked + span::before { border-color: #fff; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230073e3' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.bk-opt input:focus-visible + span { outline: 3px solid var(--teal); outline-offset: 2px; }

/* photos */
.bk-photo-hint { display: flex; align-items: flex-start; gap: 8px; margin: -2px 0 10px; font-size: .88rem; color: var(--text); }
.bk-photo-hint svg { flex: none; width: 18px; height: 18px; color: var(--tone-ink); margin-top: 1px; }
.bk-thumbs { display: flex; flex-wrap: wrap; gap: 10px; }
.bk-thumb, .bk-add { position: relative; width: 88px; height: 88px; border-radius: 16px; flex: none; }
.bk-thumb { overflow: visible; animation: bkIn .35s var(--ease) both; }
.bk-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 16px; box-shadow: var(--shadow-sm); }
.bk-thumb-x { position: absolute; top: -8px; right: -8px; width: 30px; height: 30px; border-radius: 50%; border: 2px solid #fff; background: var(--ink); color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: var(--shadow-sm); }
.bk-thumb-x::after { content: ""; position: absolute; inset: -8px; }
.bk-thumb-x svg { width: 14px; height: 14px; }
.bk-add { display: grid; place-content: center; justify-items: center; gap: 4px; border: 2px dashed var(--line-2); background: #fff; color: var(--blue); font-size: .8rem; font-weight: 700; text-align: center; cursor: pointer; transition: border-color var(--t-fast), background var(--t-fast); }
.bk-add svg { width: 22px; height: 22px; }
.bk-add:hover { border-color: var(--blue); background: #f5f9ff; }
.bk-add:focus-within { outline: 3px solid var(--teal); outline-offset: 2px; }
.bk-add.is-busy { pointer-events: none; animation: bkPulse 1s ease-in-out infinite alternate; }
.bk-photo-max { margin: 8px 0 0; font-size: .8rem; color: var(--muted); }

/* when and where */
.bk-when { padding-top: 4px; }
.bk-when-grid { display: grid; gap: 20px; margin-top: 12px; }
@media (min-width: 980px) { .bk-when-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 28px; } .bk-loc { grid-column: 1 / -1; } }
.bk-day { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.bk-opt-btn { min-height: 48px; padding: 10px 18px; border-radius: var(--pill); border: 1.5px solid var(--line); background: #fff; color: var(--ink); font-weight: 700; font-size: .9rem; cursor: pointer; transition: all var(--t-fast); }
.bk-opt-btn:hover { border-color: var(--blue-500); }
.bk-opt-btn[aria-pressed="true"] { background: var(--blue); border-color: var(--blue); color: #fff; }
.bk-date { position: relative; flex: 1 1 170px; min-width: 0; }
.bk-date svg { position: absolute; left: 13px; top: 50%; translate: 0 -50%; width: 19px; height: 19px; color: var(--muted); pointer-events: none; }
.bk-slots { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bk-slot > span { display: grid; justify-items: center; gap: 2px; width: 100%; height: 100%; padding: 10px 6px; border-radius: 16px; text-align: center; }
.bk-slot > span svg { width: 18px; height: 18px; color: var(--blue); }
.bk-slot b { font-size: .88rem; }
.bk-slot small { font-size: .74rem; font-weight: 500; color: var(--muted); }
.bk-slot input:checked + span svg, .bk-slot input:checked + span small { color: #fff; }
.bk-loc-in { position: relative; }
.bk-loc-in svg { position: absolute; left: 14px; top: 50%; translate: 0 -50%; width: 19px; height: 19px; color: var(--muted); pointer-events: none; }
.bk-form .field .bk-loc-in input[type=text] { padding-left: 42px; }
.bk-private { display: flex; align-items: flex-start; gap: 8px; margin: 10px 0 0; padding: 9px 12px; border-radius: 12px; background: var(--teal-bg); color: var(--teal-ink); font-size: .84rem; font-weight: 600; line-height: 1.4; }
.bk-private svg { flex: none; width: 16px; height: 16px; margin-top: 1px; }

/* footer */
.bk-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding-top: 18px; border-top: 1px solid var(--line); }
.bk-submit { min-height: 54px; padding-inline: 28px; font-size: 1rem; }
.bk-free { display: flex; align-items: center; gap: 7px; margin: 0; font-size: .86rem; color: var(--muted); }
.bk-free svg { flex: none; width: 17px; height: 17px; color: var(--teal-ink); }
@media (max-width: 599px) { .bk-submit { width: 100%; } .bk-head .cat-ic { display: none; } }

/* ---------- "Added" confirmation in the grid ---------- */
.bk-added { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; padding: 16px 18px; border-radius: 22px; background: linear-gradient(135deg, #e9fbf3, #eef6ff); border: 1px solid #bfeedb; outline: none; }
.bk-added.pop-in { animation: bkIn .45s var(--ease) both; }
.bk-added-ic { flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--teal); color: var(--blue-deep); }
.bk-added-ic svg { width: 22px; height: 22px; stroke-width: 3; }
.bk-added-copy { flex: 1 1 220px; min-width: 0; }
.bk-added-copy strong { display: block; color: var(--ink); font-size: 1.02rem; }
.bk-added-copy p { margin: 2px 0 0; font-size: .9rem; color: var(--text); }
.bk-added .bk-x { background: transparent; border-color: transparent; }
@media (max-width: 599px) { .bk-added { position: relative; padding-right: 54px; } .bk-added .btn { flex: 1 1 100%; } .bk-added .bk-x { position: absolute; top: 8px; right: 8px; } }

/* ---------- sticky "N services selected" bar ---------- */
.bk-bar { position: fixed; z-index: 55; left: 12px; right: 12px; bottom: calc(12px + var(--safe-b)); display: flex; justify-content: center; pointer-events: none; animation: bkBar .5s var(--ease) both; }
.bk-bar-in { pointer-events: auto; width: min(640px, 100%); display: flex; align-items: center; gap: 12px; min-height: 64px; padding: 9px 9px 9px 12px; border-radius: 22px; background: var(--grad-dark); color: #fff; box-shadow: 0 18px 40px -14px rgba(0, 21, 51, .65), 0 2px 6px rgba(0, 21, 51, .2); }
.bk-bar-in:hover { color: #fff; }
.bk-bar-ic { position: relative; flex: none; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: rgba(255, 255, 255, .1); }
.bk-bar-ic svg { width: 22px; height: 22px; }
.bk-bar-ic b { position: absolute; top: -6px; right: -6px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center; background: var(--teal); color: var(--blue-deep); font-size: .78rem; font-weight: 800; border: 2px solid #0a2a5c; }
.bk-bar-t { flex: 1; min-width: 0; font-weight: 700; font-size: .9rem; line-height: 1.2; }
.bk-bar-go { flex: none; display: inline-flex; align-items: center; gap: 6px; min-height: 46px; padding: 10px 16px; border-radius: 16px; background: linear-gradient(120deg, #2ee29a, var(--teal)); color: var(--blue-deep); font-weight: 800; font-size: .9rem; white-space: nowrap; transition: transform var(--t-fast) var(--ease); }
.bk-bar-go svg { width: 18px; height: 18px; transition: transform var(--t) var(--ease); }
.bk-bar-in:hover .bk-bar-go svg { transform: translateX(3px); }
@media (max-width: 400px) { .bk-bar-in { gap: 10px; } .bk-bar-t { font-size: .84rem; } .bk-bar-go { padding: 10px 12px; font-size: .84rem; } }
body.bk-bar-on { padding-bottom: 84px; }
body.bk-bar-on .wa-float { bottom: calc(160px + var(--safe-b)); }
body.bk-bar-on .to-top { bottom: calc(96px + var(--safe-b)); }

/* ---------- category page: "get prices" card ---------- */
.cat-book h3 { margin-bottom: 14px; }
.cat-book-steps { list-style: none; margin: 0 0 20px; padding: 0; display: grid; gap: 12px; }
.cat-book-steps li { display: flex; align-items: flex-start; gap: 10px; font-weight: 600; color: var(--ink); line-height: 1.4; }
.cat-book-steps span { flex: none; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: var(--blue-bg); color: var(--blue-ink); font-size: .82rem; font-weight: 800; }
.cat-book-free { display: flex; align-items: center; gap: 7px; margin: 12px 0 0; }
.cat-book-free svg { flex: none; width: 17px; height: 17px; color: var(--teal-ink); }

@keyframes bkIn { from { opacity: 0; transform: translateY(10px) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes bkBar { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes bkPulse { from { opacity: 1; } to { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .bk-panel { transition: none; } .bk-block.bk-in, .bk-thumb, .bk-added.pop-in, .bk-bar { animation: none; } }

.bk-bar-t small { font-size: inherit; }

/* Small phones: the cart icon already shows the count, so give the button the room (long Telugu/Hindi labels). */
@media (max-width: 480px) {
  .bk-bar-t { display: none; }
  .bk-bar-go { flex: 1; justify-content: center; text-align: center; }
}
body.bk-bar-on .sticky-cta { display: none; }

/* Cart: how far to send the requirement */
.cart-radius { border: 0; margin: 4px 0 14px; padding: 12px; border-radius: 14px; background: var(--bg-soft); }
.cart-radius legend { float: left; width: 100%; padding: 0; margin-bottom: 8px; font-size: .86rem; font-weight: 800; color: var(--ink); }
.cart-radius-opts { clear: both; display: grid; grid-template-columns: repeat(6, 1fr); gap: 5px; }
.cart-radius-opts label { position: relative; cursor: pointer; }
.cart-radius-opts input { position: absolute; opacity: 0; inset: 0; cursor: pointer; }
.cart-radius-opts span { display: grid; place-items: center; min-height: 40px; border-radius: 10px; border: 1px solid var(--line-2); background: #fff; font-size: .8rem; color: var(--text); transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast); }
.cart-radius-opts b { font-size: .95rem; color: inherit; }
.cart-radius-opts input:checked + span { background: var(--ink); border-color: var(--ink); color: #fff; }
.cart-radius-opts input:focus-visible + span { outline: 3px solid rgba(0, 115, 227, .35); outline-offset: 2px; }
.cart-radius small { display: block; margin-top: 8px; font-size: .78rem; color: var(--muted); }

/* "Your request will go only to …" */
.to-banner { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 0 0 18px; padding: 14px 16px; border-radius: 16px; background: linear-gradient(120deg, #e8f1fd, #e6faf2); border: 1px solid #cfe2fb; }
.to-banner[hidden] { display: none; }
.to-banner-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--blue); color: #fff; }
.to-banner-ic svg { width: 20px; height: 20px; }
.to-banner p { flex: 1 1 220px; margin: 0; font-size: .95rem; color: var(--text); }
.to-banner strong { color: var(--ink); }

/* Parts and tools page */
.parts { display: grid; gap: 20px; align-items: start; }
.parts[hidden] { display: none; }
@media (min-width: 960px) { .parts { grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; } .parts-side { position: sticky; top: calc(var(--header-h) + 24px); } }
.parts-form { display: grid; gap: 16px; padding: clamp(18px, 3vw, 28px); }
.parts-h { margin: 0; font-size: clamp(1.2rem, 1rem + .8vw, 1.5rem); }
.parts-form .field { margin: 0; }
.parts-form label .opt { font-weight: 500; color: var(--muted); }
.parts-form input[type=text], .parts-form input[type=number], .parts-form textarea { width: 100%; }
.parts-two { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.parts-form .cart-radius { margin: 0; }
.parts-how { padding: 20px; }
.parts-for { display: flex; gap: 10px; align-items: flex-start; margin: 14px 0 0; padding: 12px; border-radius: 12px; background: var(--bg-soft); font-size: .86rem; color: var(--text); }
.parts-for svg { flex: none; width: 20px; height: 20px; color: var(--teal-ink, #0b6b4a); }
.hero-parts { margin: 14px 0 0; }
.parts-form .bk-loc-in input[type=text] { padding-left: 42px; }
.parts-form textarea { min-height: 96px; }
.hero-parts .btn { white-space: normal; text-align: left; max-width: 100%; }

/* ---- styles/pages/05-find.css ---- */
/* =========================================================
   FIND A PROFESSIONAL (find.html)
   Phone first: title + area switch, category rail, map, and a
   draggable bottom sheet with the list. Desktop (≥1024px): list
   panel on the left, map on the right, full height.
   ========================================================= */
.find-page .announce, .find-page .wa-float { display: none; }
.fp-sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.fp-app svg.u, .pf-dialog svg.u { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.fp-app { --fp-h: calc(100vh - var(--header-h) - 2 * var(--island-gap)); position: relative; display: flex; flex-direction: column; height: var(--fp-h); min-height: 540px; background: #fff; overflow: hidden; }
@supports (height: 100svh) { .fp-app { --fp-h: calc(100svh - var(--header-h) - 2 * var(--island-gap)); } }

/* ---------- top: title + where ---------- */
.fp-head { position: relative; z-index: 3; background: #fff; padding: 2px max(var(--gutter), env(safe-area-inset-left)) 0; flex: none; }
.fp-bar { display: grid; gap: 8px; }
.fp-title-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fp-h1 { font-size: 1.32rem; letter-spacing: -.025em; line-height: 1.15; margin: 0; }
.fp-sample-tag { display: inline-flex; align-items: center; gap: 5px; flex: none; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--warn); background: var(--warn-bg); border: 1px solid #f3dfbd; padding: 4px 9px; border-radius: var(--pill); }
.fp-sample-tag svg.i { width: 13px; height: 13px; }

.fp-where { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; background: var(--bg-soft); border: 1px solid var(--line); border-radius: 14px; }
.fp-where-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; min-width: 0; padding: 6px 8px; border: 0; border-radius: 10px; background: transparent; color: var(--text); font: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; transition: background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast); }
.fp-where-btn span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fp-where-btn svg.i { width: 17px; height: 17px; flex: none; color: var(--muted); transition: color var(--t-fast); }
.fp-where-btn:hover { color: var(--ink); }
.fp-where-btn[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(0, 35, 89, .08), 0 4px 12px -4px rgba(0, 35, 89, .18); }
.fp-where-btn[aria-pressed="true"] svg.i { color: var(--blue); }
.fp-where-btn[data-city="me"][aria-pressed="true"] { background: var(--blue); color: #fff; }
.fp-where-btn[data-city="me"][aria-pressed="true"] svg.i { color: #fff; }
.fp-where-btn[aria-busy="true"] svg.i { animation: spin 1s linear infinite; }
@media (max-width: 399px) { .fp-where-btn:not([data-city="me"]) svg.i { display: none; } .fp-where-btn { padding: 6px 4px; } }

/* ---------- category rail (like Ola's vehicle types) ---------- */
.fp-rail-wrap { position: relative; margin: 0 calc(-1 * max(var(--gutter), env(safe-area-inset-left))); }
.fp-rail { display: flex; gap: 4px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; scrollbar-width: none; padding: 8px max(var(--gutter), env(safe-area-inset-left)) 8px; scroll-padding: 0 var(--gutter); }
.fp-rail::-webkit-scrollbar { display: none; }
.fp-chip { position: relative; flex: none; min-width: 74px; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 7px 9px 8px; border: 1.5px solid transparent; border-radius: 16px; background: transparent; color: var(--text); font: inherit; cursor: pointer; scroll-snap-align: start; transition: background var(--t-fast), border-color var(--t-fast), color var(--t-fast), transform var(--t-fast) var(--ease); -webkit-tap-highlight-color: transparent; }
.fp-chip:hover { background: var(--bg-soft); }
.fp-chip:active { transform: scale(.96); }
.fp-chip-ic { position: relative; width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--bg-soft); transition: background var(--t-fast), box-shadow var(--t-fast); }
.fp-chip-ic .cat-ic.sm { width: 38px; height: 38px; border-radius: 11px; }
.fp-all-ic { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: var(--grad-brand); color: #fff; }
.fp-all-ic svg.i { width: 20px; height: 20px; }
.fp-chip-t { font-size: .74rem; font-weight: 700; line-height: 1.15; text-align: center; white-space: nowrap; }
.fp-chip-n { position: absolute; top: -5px; right: -7px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 10px; background: var(--teal); color: var(--blue-deep); font-size: .66rem; font-weight: 800; line-height: 19px; text-align: center; box-shadow: 0 0 0 2px #fff; }
.fp-chip-n:empty { display: none; }
.fp-chip.is-zero .fp-chip-n { background: var(--line-2); color: var(--muted); }
.fp-chip[aria-checked="true"] { background: var(--blue-bg); border-color: var(--blue); color: var(--blue-deep); }
.fp-chip[aria-checked="true"] .fp-chip-ic { background: #fff; box-shadow: 0 6px 14px -6px rgba(0, 115, 227, .55); }
.fp-chip[aria-checked="true"] .fp-chip-t { font-weight: 800; }
.fp-chip:focus-visible { outline: 3px solid var(--blue-500); outline-offset: 1px; }
.fp-rail-nav { display: none; }

/* ---------- map ---------- */
.fp-stage { position: relative; flex: 1 1 auto; min-height: 0; background: #e9eef5; }
.fp-map { position: absolute; inset: 0; z-index: 0; isolation: isolate; background:
  linear-gradient(rgba(0, 35, 89, .04) 1px, transparent 1px) 0 0 / 32px 32px,
  linear-gradient(90deg, rgba(0, 35, 89, .04) 1px, transparent 1px) 0 0 / 32px 32px, #eaf0f7; }
.fp-map-msg { position: absolute; z-index: 1; left: 50%; top: 28%; translate: -50% -50%; display: inline-flex; align-items: center; gap: 10px; max-width: calc(100% - 32px); padding: 12px 16px; background: #fff; border-radius: 14px; box-shadow: var(--shadow); font-size: .88rem; font-weight: 600; color: var(--ink); }
.fp-map-msg[hidden] { display: none; }
.fp-map-msg.is-error { align-items: flex-start; }
.fp-map-msg.is-error svg.i { color: var(--blue); width: 22px; height: 22px; margin-top: 2px; }
.fp-map-msg.is-error strong { display: block; }
.fp-map-msg.is-error span { display: block; font-weight: 500; color: var(--muted); font-size: .84rem; }
.fp-spin { width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid var(--blue-bg); border-top-color: var(--blue); animation: spin .8s linear infinite; }
.fp-recenter { position: absolute; z-index: 2; right: 12px; top: 40px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: #fff; color: var(--blue); display: grid; place-items: center; box-shadow: 0 6px 18px -6px rgba(0, 35, 89, .4), 0 0 0 1px rgba(0, 35, 89, .06); cursor: pointer; transition: transform var(--t-fast) var(--ease); }
.fp-recenter:hover { transform: scale(1.06); }
.fp-recenter svg.i { width: 22px; height: 22px; }
.fp-app.map-off .fp-recenter { display: none; }

/* Leaflet bits — tiles slightly muted so the pins stand out */
.fp-map .leaflet-tile-pane { filter: saturate(.55) brightness(1.04) contrast(.94); }
.fp-map .leaflet-control-attribution { font-size: 10px; background: rgba(255, 255, 255, .85); border-radius: 0 0 0 8px; }
.fp-map .leaflet-top.leaflet-right .leaflet-control-attribution { margin: 0; }
.fp-map .leaflet-control-zoom { border: 0; box-shadow: var(--shadow); border-radius: 12px; overflow: hidden; }
.fp-map .leaflet-control-zoom a { width: 38px; height: 38px; line-height: 38px; color: var(--ink); }
.fp-map .leaflet-container, .fp-map.leaflet-container { font-family: var(--font); }
.fp-pin-wrap { background: none; border: 0; }
.fp-pin { position: relative; display: block; width: 36px; height: 44px; transform-origin: 50% 100%; transition: transform .25s var(--ease-spring); }
.fp-pin-b { position: absolute; left: 0; top: 0; width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(140deg, var(--tone), var(--tone-ink)); color: #fff; border: 2.5px solid #fff; box-shadow: 0 6px 14px -4px rgba(0, 35, 89, .55); }
.fp-pin::after { content: ""; position: absolute; left: 50%; top: 30px; width: 12px; height: 12px; translate: -50% 0; rotate: 45deg; background: var(--tone-ink); border-right: 2.5px solid #fff; border-bottom: 2.5px solid #fff; border-radius: 0 0 3px 0; z-index: -1; }
.fp-pin-b svg.i { width: 17px; height: 17px; stroke-width: 2.2; }
.fp-pin-wrap:hover .fp-pin { transform: scale(1.1); }
.fp-pin-wrap.is-active .fp-pin { transform: scale(1.28); }
.fp-pin-wrap.is-active .fp-pin-b { box-shadow: 0 0 0 4px rgba(0, 115, 227, .25), 0 10px 22px -6px rgba(0, 35, 89, .6); }
.fp-pin-wrap:focus-visible { outline: none; }
.fp-pin-wrap:focus-visible .fp-pin-b { outline: 3px solid var(--blue-500); outline-offset: 2px; }
.fp-me { position: relative; display: block; width: 22px; height: 22px; border-radius: 50%; background: var(--blue); border: 3.5px solid #fff; box-shadow: 0 2px 8px rgba(0, 35, 89, .45); }
.fp-me::before { content: ""; position: absolute; inset: -14px; border-radius: 50%; background: rgba(0, 115, 227, .22); animation: fpPulse 2.2s ease-out infinite; z-index: -1; }
@keyframes fpPulse { 0% { transform: scale(.35); opacity: 1; } 100% { transform: scale(1.4); opacity: 0; } }
.fp-me-wrap { background: none; border: 0; }
.leaflet-tooltip.fp-tip { font-family: var(--font); font-weight: 700; font-size: .8rem; color: var(--ink); border: 0; border-radius: 10px; padding: 6px 10px; box-shadow: var(--shadow); }

/* ---------- results sheet (phone: bottom sheet) ---------- */
.fp-sheet { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; height: var(--sheet-h, 48%); display: flex; flex-direction: column; background: #fff; border-radius: 24px 24px 0 0; box-shadow: 0 -1px 0 rgba(0, 35, 89, .06), 0 -14px 34px -14px rgba(0, 35, 89, .35); transition: height .38s var(--ease); will-change: height; }
.fp-sheet.is-dragging { transition: none; }
.fp-grip { flex: none; display: grid; place-items: center; width: 100%; height: 26px; border: 0; background: transparent; cursor: grab; touch-action: none; padding: 0; }
.fp-grip i { width: 44px; height: 5px; border-radius: 3px; background: var(--line-2); transition: background var(--t-fast), width var(--t-fast); }
.fp-grip:hover i, .fp-grip:focus-visible i { background: var(--blue); width: 52px; }
.fp-sheet-head { flex: none; padding: 0 max(var(--gutter), env(safe-area-inset-left)) 10px; touch-action: none; cursor: grab; border-bottom: 1px solid transparent; transition: border-color var(--t-fast); }
.fp-app[data-sheet-state="full"] .fp-sheet-head { border-bottom-color: var(--line); }
.fp-list-title { font-size: 1.08rem; font-weight: 800; color: var(--ink); letter-spacing: -.015em; line-height: 1.25; }
.fp-count { margin-top: 2px; font-size: .84rem; color: var(--muted); }
.fp-count b { color: var(--ink); font-weight: 800; }
.fp-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; position: relative; padding: 10px max(var(--gutter), env(safe-area-inset-left)) calc(20px + var(--safe-b)); }
.fp-notice { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 12px; padding: 9px 12px; border-radius: 12px; background: var(--warn-bg); border: 1px solid #f3dfbd; color: var(--warn); font-size: .8rem; line-height: 1.45; }
.fp-notice svg.i { width: 16px; height: 16px; margin-top: 1px; }
.fp-notice strong { color: inherit; }
.fp-list { display: grid; gap: 12px; }

/* card */
.fp-card { position: relative; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 14px; box-shadow: var(--shadow-xs); cursor: pointer; transition: border-color var(--t-fast), box-shadow var(--t) var(--ease), transform var(--t) var(--ease); scroll-margin: 12px; }
.fp-card[hidden] { display: none; }
@media (hover: hover) { .fp-card:hover { border-color: var(--line-2); box-shadow: var(--shadow); } }
.fp-card.is-active { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0, 115, 227, .14), var(--shadow); }
.fp-card:focus { outline: none; }
.fp-card:focus-visible { outline: 3px solid var(--blue-500); outline-offset: 2px; }
.fp-card-top { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 12px; align-items: start; }
.fp-av { position: relative; flex: none; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(140deg, var(--tone), var(--tone-ink)); color: #fff; font-weight: 800; font-size: 1.02rem; letter-spacing: .02em; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25), 0 6px 14px -8px rgba(0, 35, 89, .6); }
.fp-av.lg { width: 84px; height: 84px; font-size: 1.7rem; border: 4px solid #fff; box-shadow: 0 10px 26px -10px rgba(0, 35, 89, .55); }
.fp-av-dot { position: absolute; right: 1px; bottom: 1px; width: 13px; height: 13px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 2.5px #fff; }
.fp-av.lg .fp-av-dot { width: 18px; height: 18px; right: 2px; bottom: 2px; }
.fp-name { font-size: 1rem; line-height: 1.25; margin: 1px 0 2px; letter-spacing: -.01em; }
.fp-sub { font-size: .8rem; color: var(--muted); line-height: 1.35; }
.fp-dotsep { margin: 0 5px; }
.fp-cat { display: flex; align-items: center; gap: 6px; margin-top: 5px; font-size: .76rem; font-weight: 700; color: var(--tone-ink); line-height: 1.25; }
.fp-cat .cat-ic.xs { width: 20px; height: 20px; border-radius: 6px; }
.fp-dist { grid-column: 1 / -1; justify-self: start; position: relative; display: inline-flex; align-items: center; gap: 5px; margin-top: 8px; padding: 6px 11px 6px 8px; border: 0; border-radius: var(--pill); background: var(--bg-tint); color: var(--blue-deep); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background var(--t-fast); }
.fp-dist::before { content: ""; position: absolute; inset: -7px -4px; }
.fp-dist svg.i { width: 15px; height: 15px; color: var(--blue); }
.fp-dist b { font-weight: 800; }
.fp-dist:hover { background: var(--blue-bg); }
@media (min-width: 400px) { .fp-card-top { grid-template-columns: auto minmax(0, 1fr) auto; } .fp-dist { grid-column: auto; margin-top: 0; } }
.fp-skills { display: flex; flex-wrap: wrap; margin-top: 10px; font-size: .84rem; color: var(--text); line-height: 1.45; }
.fp-skills span + span::before { content: "·"; margin: 0 6px; color: var(--muted); }
.fp-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin-top: 8px; font-size: .8rem; color: var(--muted); }
.fp-meta b { color: var(--ink); font-weight: 800; }
.fp-rate { display: inline-flex; align-items: center; gap: 4px; }
.fp-rate svg.i { width: 15px; height: 15px; color: #f5a623; fill: #f5a623; }
.fp-muted { color: var(--muted); }
.fp-avail { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
.fp-avail i { width: 8px; height: 8px; border-radius: 50%; background: var(--line-2); }
.fp-avail.on { color: #15803d; }
.fp-avail.on i { background: #22c55e; box-shadow: 0 0 0 3px rgba(34, 197, 94, .18); }
.fp-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.fp-badge { font-size: .7rem; padding: 4px 9px 4px 7px; }
.fp-badge svg.i { width: 13px; height: 13px; }
.fp-badge.b-skill { background: var(--teal-bg); color: var(--teal-ink); }
.fp-badge.b-business { background: var(--green-bg); color: var(--green-ink); }
.fp-badge.b-background { background: #eef0f6; color: var(--ink); }
.fp-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.fp-actions .btn { min-height: 44px; padding: 9px 10px; white-space: normal; line-height: 1.15; }
.fp-actions .btn svg.i { width: 17px; height: 17px; }

/* empty + footer */
.fp-empty { text-align: center; padding: 8px 10px 18px; }
.fp-empty[hidden] { display: none; }
.fp-empty-ic { width: 60px; height: 60px; margin: 0 auto 12px; border-radius: 18px; display: grid; place-items: center; background: var(--bg-tint); color: var(--blue); }
.fp-empty-ic svg.i { width: 26px; height: 26px; }
.fp-empty h3 { font-size: 1.06rem; margin-bottom: 6px; }
.fp-empty p { font-size: .9rem; color: var(--muted); max-width: 40ch; margin: 0 auto 16px; }
.fp-empty-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.fp-empty-actions .btn { min-height: 44px; }
.fp-radius { text-align: center; margin: 16px 0; font-size: .78rem; }
.fp-join { display: grid; grid-template-columns: auto 1fr; gap: 10px 12px; align-items: center; padding: 16px; border-radius: 18px; background: var(--grad-dark); color: #c5d0ea; font-size: .84rem; line-height: 1.45; }
.fp-join strong { display: block; color: #fff; font-size: .95rem; margin-bottom: 2px; }
.fp-join-ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: rgba(4, 202, 127, .14); color: var(--teal-300); }
.fp-join-ic svg.i { width: 24px; height: 24px; }
.fp-join .btn { grid-column: 1 / -1; min-height: 44px; }

/* ---------- desktop: list left, map right ---------- */
@media (min-width: 1024px) {
  .fp-app { display: grid; grid-template-columns: minmax(400px, 460px) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); min-height: 600px; background: #fff; }
  .fp-head { grid-column: 1; grid-row: 1; padding: 10px 24px 0; }
  .fp-h1 { font-size: 1.7rem; }
  .fp-rail-wrap { margin: 0 -24px; }
  .fp-rail { padding: 10px 24px 10px; scroll-padding: 0 24px; scroll-behavior: smooth; }
  .fp-rail-wrap::before, .fp-rail-wrap::after { content: ""; position: absolute; top: 0; bottom: 0; width: 28px; z-index: 1; pointer-events: none; }
  .fp-rail-wrap::before { left: 0; background: linear-gradient(90deg, #fff 20%, rgba(255, 255, 255, 0)); }
  .fp-rail-wrap::after { right: 0; background: linear-gradient(-90deg, #fff 20%, rgba(255, 255, 255, 0)); }
  .fp-rail-nav { position: absolute; top: 50%; z-index: 2; display: grid; place-items: center; width: 34px; height: 34px; margin-top: -17px; border-radius: 50%; border: 1px solid var(--line); background: #fff; color: var(--ink); box-shadow: var(--shadow-sm); cursor: pointer; transition: opacity var(--t-fast), transform var(--t-fast); }
  .fp-rail-nav:hover { color: var(--blue); transform: scale(1.06); }
  .fp-rail-nav.prev { left: 6px; } .fp-rail-nav.next { right: 6px; }
  .fp-rail-nav.prev svg { rotate: 90deg; } .fp-rail-nav.next svg { rotate: -90deg; }
  .fp-rail-nav[data-off] { opacity: 0; pointer-events: none; }
  .fp-sheet { position: relative; grid-column: 1; grid-row: 2; height: auto !important; border-radius: 0; box-shadow: none; transition: none; border-top: 1px solid var(--line); }
  .fp-grip { display: none; }
  .fp-sheet-head { padding: 14px 24px 10px; cursor: auto; touch-action: auto; }
  .fp-list-title { font-size: 1.15rem; }
  .fp-scroll { padding: 4px 24px 24px; background: linear-gradient(#fff, var(--bg-soft) 140px); }
  .fp-stage { grid-column: 2; grid-row: 1 / span 2; margin: 0 var(--island-gap) var(--island-gap) 0; border-radius: 22px; overflow: hidden; box-shadow: inset 0 0 0 1px rgba(0, 35, 89, .06); }
  .fp-recenter { top: 16px; right: 16px; }
  .fp-map .leaflet-control-attribution { border-radius: 8px 0 0 0; }
}
@media (min-width: 1440px) { .fp-app { grid-template-columns: 500px minmax(0, 1fr); } }

/* ---------- digital profile (modal / phone sheet) ---------- */
.pf-dialog { padding: 0; border: 0; background: transparent; width: 100%; max-width: 100%; max-height: 100%; margin: auto 0 0; color: var(--text); overflow: visible; }
.pf-dialog::backdrop { background: rgba(0, 21, 51, .55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.pf-dialog[open] { animation: pfUp .38s var(--ease) both; }
@keyframes pfUp { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.pf-shell { display: flex; flex-direction: column; max-height: min(92vh, 92dvh); background: #fff; border-radius: 24px 24px 0 0; overflow: hidden; box-shadow: var(--shadow-lg); }
.pf-topbar { position: absolute; z-index: 3; right: 12px; top: 12px; }
.pf-sample { position: absolute; z-index: 1; left: 16px; top: 18px; display: inline-flex; align-items: center; gap: 6px; font-size: .72rem; font-weight: 800; letter-spacing: .03em; color: var(--warn); background: rgba(255, 247, 234, .95); padding: 5px 10px; border-radius: var(--pill); }
.pf-sample svg.i { width: 13px; height: 13px; }
.pf-close { width: 44px; height: 44px; border-radius: 50%; border: 0; display: grid; place-items: center; background: rgba(255, 255, 255, .95); color: var(--ink); box-shadow: var(--shadow-sm); cursor: pointer; }
.pf-close:hover { color: var(--blue); }
.pf-close svg.i { width: 20px; height: 20px; }
.pf-shell { position: relative; }
.pf-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; }
.pf-foot { flex: none; display: grid; grid-template-columns: auto 1fr; gap: 8px; padding: 12px 16px calc(12px + var(--safe-b)); border-top: 1px solid var(--line); background: #fff; }
.pf-foot .btn { min-height: 48px; }

.pf { padding: 0 18px 22px; }
.pf[hidden] { display: none; }
.pf-cover { position: relative; height: 112px; margin: 0 -18px; overflow: hidden; background: radial-gradient(420px 180px at 85% 0%, rgba(255, 255, 255, .22), transparent 60%), linear-gradient(130deg, var(--tone-ink), var(--blue-deep) 85%); }
.pf-cover::before { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .16) 1.2px, transparent 1.3px); background-size: 16px 16px; mask-image: linear-gradient(100deg, transparent 20%, #000); -webkit-mask-image: linear-gradient(100deg, transparent 20%, #000); }
.pf-cover-ic { position: absolute; right: -14px; bottom: -26px; color: rgba(255, 255, 255, .16); }
.pf-cover-ic svg.i { width: 150px; height: 150px; stroke-width: 1.3; }
.pf-head { display: flex; align-items: flex-start; gap: 14px; position: relative; }
.pf-head .fp-av.lg { margin-top: -42px; }
.pf-id { min-width: 0; padding-top: 10px; }
.pf-name { font-size: 1.35rem; line-height: 1.2; margin: 0 0 4px; }
.pf-owner, .pf-where { display: flex; align-items: center; gap: 6px; font-size: .84rem; color: var(--muted); line-height: 1.4; }
.pf-owner { color: var(--text); font-weight: 600; }
.pf-owner svg.i, .pf-where svg.i { width: 15px; height: 15px; }
.pf-where .cat-ic.xs { width: 18px; height: 18px; border-radius: 5px; }
.pf-badges { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-top: 14px; font-size: .8rem; }
.pf-badges .fp-badge { font-size: .74rem; padding: 5px 10px 5px 8px; }
.pf-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.pf-stat { display: grid; gap: 2px; padding: 12px 10px; text-align: center; border-radius: 14px; background: var(--bg-soft); border: 1px solid var(--line); font-size: .74rem; color: var(--muted); line-height: 1.3; }
.pf-stat b { display: inline-flex; align-items: center; justify-content: center; gap: 3px; font-size: 1.3rem; font-weight: 800; color: var(--ink); letter-spacing: -.02em; line-height: 1.1; }
.pf-stat b svg.i { width: 17px; height: 17px; color: #f5a623; fill: #f5a623; }
.pf-block { margin-top: 20px; }
.pf-block h3 { display: flex; align-items: center; gap: 8px; font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); margin: 0 0 10px; }
.pf-block h3 svg.i { width: 16px; height: 16px; color: var(--tone-ink); }
.pf-bio { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--text); }
.pf-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.pf-tags li { display: inline-flex; align-items: center; gap: 5px; padding: 7px 12px; border-radius: var(--pill); background: var(--tone-bg); color: var(--tone-ink); font-size: .82rem; font-weight: 700; }
.pf-block:nth-of-type(3) .pf-tags li, .pf-block:nth-of-type(4) .pf-tags li { background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 600; }
.pf-rating { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; padding: 14px; border: 1px solid var(--line); border-radius: 16px; }
.pf-rating-big { display: grid; justify-items: center; gap: 4px; text-align: center; }
.pf-rating-big b { font-size: 2.2rem; line-height: 1; font-weight: 800; color: var(--ink); letter-spacing: -.03em; }
.pf-rating-big .small { font-size: .74rem; }
.pf-stars { position: relative; display: inline-block; font-size: 15px; line-height: 1; letter-spacing: 1px; color: var(--line-2); }
.pf-stars::before { content: "★★★★★"; }
.pf-stars::after { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--r); overflow: hidden; color: #f5a623; white-space: nowrap; }
.pf-bars { list-style: none; margin: 0; padding: 0; display: grid; gap: 5px; }
.pf-bars li { display: grid; grid-template-columns: 28px 1fr 36px; align-items: center; gap: 8px; font-size: .74rem; color: var(--muted); }
.pf-bar-k { font-weight: 700; color: var(--ink); }
.pf-bar-k i { font-style: normal; color: #f5a623; margin-left: 2px; }
.pf-bar { height: 7px; border-radius: 4px; background: var(--bg-soft); overflow: hidden; }
.pf-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, #f7b733, #f5a623); }
.pf-bar-v { text-align: right; }
.pf-link { padding: 16px; border-radius: 18px; background: linear-gradient(160deg, var(--bg-tint), #fff); border: 1px solid #d6e7fb; }
.pf-link h3 svg.i { color: var(--blue); }
.pf-link-row { display: flex; gap: 8px; }
.pf-link-url { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; min-height: 44px; padding: 8px 12px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; font-size: .86rem; font-weight: 700; line-height: 1.35; color: var(--blue-deep); overflow-wrap: anywhere; user-select: all; }
.pf-link-row .btn { min-height: 44px; flex: none; }
.pf-link-why { margin: 10px 0 0; font-size: .84rem; color: var(--text); line-height: 1.55; }

@media (min-width: 640px) {
  .pf-dialog { width: min(620px, calc(100% - 40px)); margin: auto; max-height: calc(100% - 40px); }
  .pf-shell { border-radius: 26px; max-height: min(88vh, 860px); }
  .pf { padding: 0 28px 26px; }
  .pf-cover { height: 140px; margin: 0 -28px; }
  .pf-head .fp-av.lg { margin-top: -46px; }
  .pf-name { font-size: 1.55rem; }
  .pf-foot { padding: 14px 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .fp-sheet, .fp-pin, .fp-card { transition: none; }
  .fp-me::before, .pf-dialog[open] { animation: none; }
}

/* Google Maps pins (AdvancedMarkerElement): name label on hover / when selected */
.fp-gpin { position: relative; cursor: pointer; }
.fp-gtip { position: absolute; left: 50%; bottom: calc(100% + 6px); translate: -50% 0; white-space: nowrap; font: 700 .8rem/1.2 var(--font); color: var(--ink); background: #fff; border-radius: 10px; padding: 6px 10px; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transition: opacity .15s; }
.fp-gpin:hover .fp-gtip, .fp-gpin.is-active .fp-gtip { opacity: 1; }
.fp-gpin.is-active { z-index: 2; }

/* ---------- Professionals / Shops switch, radius, shops, ask forms ---------- */
.fp-mode { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 14px; background: var(--blue-bg, #e8f1fd); }
.fp-mode-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border: 0; border-radius: 10px; background: transparent; color: var(--blue-ink, #0a4a8f); font: inherit; font-size: .9rem; font-weight: 800; cursor: pointer; transition: background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast); }
.fp-mode-btn svg.i { width: 18px; height: 18px; }
.fp-mode-btn:hover { background: rgba(255, 255, 255, .6); }
.fp-mode-btn[aria-pressed="true"] { background: var(--blue); color: #fff; box-shadow: 0 6px 14px -8px rgba(0, 115, 227, .8); }
.fp-mode-btn[data-mode="shop"][aria-pressed="true"] { background: linear-gradient(140deg, #5fbf3d, #3d8f22); box-shadow: 0 6px 14px -8px rgba(77, 160, 47, .8); }
.fp-radius-row { display: flex; align-items: center; gap: 6px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.fp-radius-row::-webkit-scrollbar { display: none; }
.fp-radius-l { flex: none; font-size: .8rem; font-weight: 800; color: var(--muted); margin-right: 2px; }
.fp-radius-btn { flex: 1 0 auto; min-height: 36px; padding: 4px 10px; border-radius: 999px; border: 1px solid var(--line-2); background: #fff; color: var(--text); font: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast); }
.fp-radius-btn b { font-weight: 800; }
.fp-radius-btn:hover { border-color: var(--blue); color: var(--blue); }
.fp-radius-btn[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: #fff; }

.fp-av-shop { border-radius: 14px; background: linear-gradient(140deg, #6fcf4d, #3d8f22); }
.fp-av-shop svg.i { width: 26px; height: 26px; }
.fp-av-shop.lg svg.i { width: 40px; height: 40px; }
.fp-av-shop.lg { border-radius: 22px; }
.fp-estd, .pf-estd { display: inline-flex; align-items: center; gap: 4px; padding: 1px 8px; border-radius: 999px; background: #fff4dc; color: #8a5a00; font-size: .72rem; font-weight: 800; letter-spacing: .04em; }
.pf-estd { padding: 4px 10px; font-size: .78rem; }
.fp-cats { display: flex; align-items: center; gap: 4px; margin-top: 5px; font-size: .76rem; font-weight: 700; color: var(--green-ink, #3d7a22); }
.fp-cats .cat-ic.xs { width: 20px; height: 20px; border-radius: 6px; }
.fp-cats > span { margin-left: 4px; }
.pf-radius b { color: var(--ink); }
.pf-shop-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--blue); cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.pf-linked-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pf-linked { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 14px; background: var(--bg-soft); border: 1px solid var(--line); }
.pf-linked .fp-av { width: 42px; height: 42px; font-size: .9rem; }
.pf-linked-main { flex: 1; min-width: 0; display: grid; }
.pf-linked-main strong { color: var(--ink); font-size: .92rem; line-height: 1.3; }
.pf-linked-main small { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; color: var(--muted); font-size: .76rem; }
.pf-linked-main small svg.i { width: 13px; height: 13px; color: #f5a524; fill: #f5a524; }
.pf-linked .btn { flex: none; }
.pf-ask { padding: 16px; border-radius: 18px; background: linear-gradient(180deg, var(--bg-tint, #f2f7ff), #fff); border: 1px solid var(--line); }
.pf-ask-why { margin: 0 0 12px; font-size: .88rem; color: var(--muted); line-height: 1.45; }
.pf-ask-form { display: grid; gap: 8px; }
.pf-ask-form label { font-weight: 700; font-size: .9rem; color: var(--ink); }
.pf-ask-form textarea { width: 100%; min-height: 84px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--line-2); font: inherit; font-size: .92rem; resize: vertical; background: #fff; }
.pf-ask-form textarea:focus { outline: 3px solid rgba(0, 115, 227, .2); border-color: var(--blue); }
.pf-ask-form[hidden], .pf-ask-done[hidden] { display: none; }
.pf-ask-done { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px; border-radius: 14px; background: var(--teal-bg, #e3f9ef); color: var(--teal-ink, #0b6b4a); font-size: .9rem; }
.pf-ask-done > svg.i { width: 22px; height: 22px; flex: none; }
.pf-ask-done > div { flex: 1; min-width: 160px; }
.pf-foot [data-pf-ask][hidden] { display: none; }
.pf-ask-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.pf-ask-btns .btn { flex: 1 1 180px; }
/* Search any place in India */
.fp-place { position: relative; display: flex; gap: 6px; align-items: center; }
.fp-place > svg.i { position: absolute; left: 12px; width: 18px; height: 18px; color: var(--muted); pointer-events: none; }
.fp-place input { flex: 1; min-width: 0; min-height: 42px; padding: 0 12px 0 38px; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; font: inherit; font-size: .9rem; color: var(--ink); }
.fp-place input:focus { outline: 3px solid rgba(0, 115, 227, .2); border-color: var(--blue); }
.fp-place .btn { min-height: 42px; padding-inline: 16px; }
.fp-place .btn[aria-busy="true"] { opacity: .6; }
.fp-empty-join { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 10px; font-size: .88rem; color: var(--text); text-align: left; }
.fp-empty-join svg { flex: none; width: 18px; height: 18px; color: var(--teal-ink, #0b6b4a); margin-top: 2px; }

/* Map / List toggle */
.fp-sheet-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 10px; align-items: center; }
.fp-sheet-head > .fp-list-title, .fp-sheet-head > .fp-count { grid-column: 1; }
.fp-view { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; gap: 2px; padding: 3px; border-radius: 12px; background: var(--bg-soft); border: 1px solid var(--line); }
.fp-view-btn { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 11px; border: 0; border-radius: 9px; background: transparent; color: var(--text); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }
.fp-view-btn svg.i { width: 16px; height: 16px; }
.fp-view-btn[aria-pressed="true"] { background: var(--ink); color: #fff; }
@media (min-width: 1024px) {
  .fp-app.is-list { grid-template-columns: minmax(0, 1fr); }
  .fp-app.is-list .fp-stage { display: none; }
  .fp-app.is-list .fp-head, .fp-app.is-list .fp-sheet { grid-column: 1; }
  .fp-app.is-list .fp-head { padding-inline: max(24px, calc((100% - 1320px) / 2)); }
  .fp-app.is-list .fp-sheet-head, .fp-app.is-list .fp-scroll { padding-inline: max(24px, calc((100% - 1320px) / 2)); }
  .fp-app.is-list .fp-list { grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); }
}
@media (min-width: 1024px) { .fp-app.is-list :is(.fp-mode, .fp-where, .fp-place, .fp-radius-row) { max-width: 760px; } }

/* ---- styles/pages/06-dashboard.css ---- */
/* =========================================================
   Dashboard (dashboard.html) — customer, professional and
   shop owner views. Phone first (360px), then desktop.
   ========================================================= */
.dash { position: relative; isolation: isolate; overflow: hidden; padding: clamp(18px, 4vw, 44px) 0 clamp(56px, 7vw, 96px);
  background: linear-gradient(180deg, #f2f6ff 0, #f7f9fd 420px, #fff 100%); min-height: calc(100vh - var(--header-h)); min-height: calc(100dvh - var(--header-h)); }
.dash .hero-mesh { bottom: auto; height: 560px; }
.dash-app { display: grid; gap: clamp(16px, 2.4vw, 24px); }
.dash-wait { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 40vh; color: var(--muted); font-weight: 600; }
.dash-spin { width: 22px; height: 22px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--blue); animation: dzspin .8s linear infinite; }
@keyframes dzspin { to { transform: rotate(360deg); } }

/* ---------- Avatars, chips, ratings ---------- */
.dz-avatar { --tone: var(--blue); --tone-bg: var(--blue-bg); flex: none; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
  font-weight: 800; font-size: .95rem; letter-spacing: .02em; color: #fff; background: linear-gradient(135deg, var(--tone), color-mix(in srgb, var(--tone) 55%, #002359)); box-shadow: 0 6px 14px -8px color-mix(in srgb, var(--tone) 80%, transparent); }
.dz-avatar.xl { width: 76px; height: 76px; font-size: 1.6rem; box-shadow: 0 0 0 4px #fff, 0 14px 30px -12px rgba(0, 35, 89, .45); }
.dz-sample { display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 999px; font-size: .72rem; font-weight: 800; letter-spacing: .02em;
  color: #8f5304; background: #fff4dc; box-shadow: inset 0 0 0 1px rgba(240, 169, 42, .35); white-space: nowrap; }
.dz-sample svg { width: 12px; height: 12px; }
.dz-rating { display: inline-flex; align-items: center; gap: 4px; font-size: .86rem; color: var(--muted); }
.dz-rating svg { width: 15px; height: 15px; color: #f0a92a; fill: #f0a92a; }
.dz-rating strong { color: var(--ink); }
.req-status { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 999px; font-size: .78rem; font-weight: 800; white-space: nowrap; }
.req-status svg { width: 14px; height: 14px; stroke-width: 2.6; }
.st-wait { background: #fff4dc; color: #8f5304; }
.st-quotes, .st-ok { background: var(--teal-bg); color: var(--teal-ink); }
.st-sent { background: var(--blue-bg); color: var(--blue-ink); }

/* ---------- Top bar: greeting, role switcher, logout ---------- */
.dash-top { display: grid; gap: 16px; }
.dash-hello { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.dash-me { width: 56px; height: 56px; font-size: 1.25rem; box-shadow: 0 0 0 4px #fff, 0 12px 26px -12px rgba(0, 35, 89, .5); }
.dash-hello-text { flex: 1; min-width: 0; }
.dash-kicker { margin: 0; font-size: .82rem; font-weight: 700; color: var(--muted); }
.dash-title { font-size: clamp(1.45rem, 1.1rem + 1.8vw, 2.3rem); margin: 0; line-height: 1.15; overflow-wrap: anywhere; }
.dash-title .dash-name { background: var(--grad-brand); -webkit-background-clip: text; background-clip: text; color: transparent; }
.dash-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0 0; font-size: .86rem; color: var(--muted); }
.dz-demo-chip, .dz-live-chip { display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px; border-radius: 999px; font-size: .76rem; font-weight: 800; }
.dz-demo-chip { background: #fff4dc; color: #8f5304; box-shadow: inset 0 0 0 1px rgba(240, 169, 42, .4); }
.dz-live-chip { background: var(--teal-bg); color: var(--teal-ink); }
.dz-demo-chip svg, .dz-live-chip svg { width: 13px; height: 13px; }
.dash-logout { min-height: 44px; }
.dash-logout svg { width: 17px; height: 17px; }
@media (max-width: 559px) { .dash-logout { width: 100%; } }

.dash-switch { background: #fff; border-radius: 20px; padding: 12px; box-shadow: var(--shadow-card); }
.dash-switch-label { margin: 0 4px 8px; font-size: .8rem; font-weight: 700; color: var(--muted); }
.dash-seg { display: flex; gap: 6px; background: var(--bg-soft); padding: 5px; border-radius: 16px; }
.dash-seg-btn { flex: 1 1 0; min-width: 0; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 8px 10px; border: 0; border-radius: 12px;
  background: transparent; color: var(--muted); font: inherit; font-weight: 800; font-size: .9rem; cursor: pointer; transition: background var(--t-fast), color var(--t-fast), box-shadow var(--t-fast); }
.dash-seg-btn svg { width: 20px; height: 20px; flex: none; }
.dash-seg-btn:hover { color: var(--ink); }
.dash-seg-btn[aria-pressed="true"] { background: #fff; color: var(--tone-ink); box-shadow: 0 1px 2px rgba(0, 35, 89, .06), 0 6px 16px -8px rgba(0, 35, 89, .3); }
.dash-seg-btn[aria-pressed="true"] svg { color: var(--tone); }
.dash-seg-btn:focus-visible { outline: 3px solid var(--teal); outline-offset: 2px; }
@media (min-width: 760px) {
  .dash-top { grid-template-columns: 1fr auto; align-items: center; }
  .dash-switch { display: flex; align-items: center; gap: 12px; padding: 8px 8px 8px 16px; }
  .dash-switch-label { margin: 0; white-space: nowrap; }
  .dash-seg-btn { padding: 8px 16px; }
}

/* ---------- Panels and cards ---------- */
.dash-panel { display: grid; gap: clamp(16px, 2.4vw, 24px); min-width: 0; animation: fadeUp .45s var(--ease) both; }
.dash-card { background: #fff; border-radius: 22px; padding: clamp(16px, 3vw, 28px); box-shadow: var(--shadow-card); min-width: 0; }
.dash-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-bottom: 14px; }
.dash-head h2 { display: flex; align-items: center; gap: 10px; flex: 1 1 auto; margin: 0; font-size: clamp(1.12rem, 1rem + .6vw, 1.4rem); letter-spacing: -.015em; }
.dash-head-ic { width: 36px; height: 36px; flex: none; border-radius: 11px; display: grid; place-items: center; background: var(--bg-tint); color: var(--blue); }
.dash-head-ic svg { width: 19px; height: 19px; }
.dash-sub { flex: 1 1 100%; margin: 2px 0 0; font-size: .92rem; color: var(--muted); }
.dash-head-btn { min-height: 44px; }
@media (max-width: 559px) { .dash-head-btn { display: none; } }
.dash-loading { color: var(--muted); font-size: .92rem; }
.dash-empty { text-align: center; padding: 26px 16px; border: 1.5px dashed var(--line-2); border-radius: 18px; background: var(--bg-soft); }
.dash-empty-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; margin: 0 auto 10px; background: #fff; color: var(--blue); box-shadow: var(--shadow-sm); }
.dash-empty-ic svg { width: 24px; height: 24px; }
.dash-empty strong { display: block; color: var(--ink); font-size: 1.02rem; }
.dash-empty p { margin: 4px auto 14px; max-width: 420px; font-size: .92rem; color: var(--muted); }
.dash-empty p:last-child { margin-bottom: 0; }
.dash-cols { display: grid; gap: clamp(16px, 2.4vw, 24px); }
@media (min-width: 900px) { .dash-cols { grid-template-columns: 1fr 1fr; } }

/* ---------- Customer: quick actions ---------- */
.dash-actions { display: grid; gap: 10px; }
@media (min-width: 760px) { .dash-actions { grid-template-columns: repeat(3, 1fr); gap: 16px; } }
.dash-action { display: flex; align-items: center; gap: 14px; min-height: 76px; padding: 14px 16px; border-radius: 20px; background: #fff; color: var(--ink); box-shadow: var(--shadow-card);
  transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease); }
.dash-action:hover { transform: translateY(-3px); box-shadow: var(--shadow-card-hover); color: var(--ink); }
.dash-action-ic { width: 48px; height: 48px; flex: none; border-radius: 15px; display: grid; place-items: center; background: var(--tone-bg); color: var(--tone-ink); }
.dash-action-ic svg { width: 24px; height: 24px; }
.dash-action-text { flex: 1; min-width: 0; display: grid; gap: 1px; }
.dash-action-text strong { font-size: 1rem; line-height: 1.3; }
.dash-action-text small { font-size: .84rem; color: var(--muted); line-height: 1.4; }
.dash-action-text small span { font-weight: 800; color: var(--tone-ink); }
.dash-action-arr { width: 18px; height: 18px; flex: none; color: var(--tone); transition: transform var(--t) var(--ease); }
.dash-action:hover .dash-action-arr { transform: translateX(3px); }

/* ---------- Customer: requests and quotes ---------- */
.req-list { display: grid; gap: 12px; }
.req-list:not(:empty) { margin-bottom: 14px; }
.req-card { border: 1px solid var(--line); border-radius: 18px; padding: clamp(14px, 2.4vw, 20px); background: #fff; min-width: 0; }
.req-card.is-sample { background: linear-gradient(180deg, #fbfcff, #fff); }
.req-top { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.req-title { flex: 1 1 180px; min-width: 0; }
.req-title h3 { margin: 0; font-size: 1.06rem; }
.req-meta { margin: 2px 0 0; font-size: .84rem; color: var(--muted); }
.req-details { margin: 12px 0 0; font-size: .95rem; }
.req-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 12px; }
.req-when { display: inline-flex; align-items: center; gap: 6px; font-size: .86rem; color: var(--muted); }
.req-when svg { width: 16px; height: 16px; flex: none; }
.req-items { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.req-items li { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 12px; background: var(--bg-soft); font-size: .92rem; }
.req-items small { color: var(--muted); font-size: .84rem; }
.req-items .req-item-details { display: block; margin-top: 2px; }

.quote-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin: 18px 0 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.quote-bar p { margin: 0; font-size: .9rem; color: var(--muted); }
.quote-bar p strong { color: var(--ink); }
.quote-bar .btn { min-height: 44px; }
.quote-bar .btn[aria-pressed="true"] { border-color: var(--blue); color: var(--blue); background: var(--bg-tint); }
.quotes { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.quote { display: grid; gap: 10px; padding: 16px; border-radius: 16px; border: 1px solid var(--line); background: #fff; min-width: 0; }
.quote .badges { margin: 0; }
.quote-pro { display: flex; align-items: center; gap: 12px; }
.quote-who { flex: 1; min-width: 0; display: grid; }
.quote-who strong { color: var(--ink); line-height: 1.3; }
.quote-who > span:not(.dz-rating) { font-size: .82rem; color: var(--muted); }
.quote-tag { display: none; align-self: flex-start; padding: 4px 9px; border-radius: 999px; font-size: .7rem; font-weight: 800; background: var(--blue-bg); color: var(--blue-ink); white-space: nowrap; }
.quote-price { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--bg-soft); }
.quote-price span { font-size: .84rem; font-weight: 700; color: var(--muted); }
.quote-price strong { font-size: 1.4rem; color: var(--ink); letter-spacing: -.02em; }
.quote-k { display: block; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: var(--muted); }
.quote-incl p { margin: 2px 0 0; font-size: .92rem; }
.quote-time { display: flex; align-items: center; gap: 8px; margin: 0; font-size: .9rem; }
.quote-time svg { width: 17px; height: 17px; color: var(--teal-ink); flex: none; }
.quote-time strong { color: var(--ink); }
.quote-btns { display: flex; gap: 8px; }
.quote-btns .btn { flex: 1; min-height: 46px; }
.quote-btns svg { width: 17px; height: 17px; }
@media (min-width: 900px) { .quotes { grid-template-columns: repeat(3, 1fr); } .quote-btns { margin-top: auto; } .quote { grid-template-rows: auto auto auto 1fr auto auto; } }
/* Compare: show highlight tags; on phones the cards sit side by side and swipe. */
.quotes.is-compare .quote-tag { display: inline-block; }
.quotes.is-compare .quote { border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(0, 115, 227, .08); }
@media (max-width: 899px) {
  .quotes.is-compare { grid-auto-flow: column; grid-auto-columns: 84%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; overscroll-behavior-x: contain; }
  .quotes.is-compare .quote { scroll-snap-align: start; }
}

/* ---------- Professional / shop: digital profile ---------- */
.pro-grid { display: grid; gap: clamp(16px, 2.4vw, 24px); align-items: start; }
.pro-main, .pro-side { display: grid; gap: clamp(16px, 2.4vw, 24px); min-width: 0; }
@media (min-width: 960px) { .pro-grid { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); } }
.dprofile { position: relative; background: #fff; border-radius: 24px; overflow: hidden; box-shadow: var(--shadow-card); }
.dprofile-cover { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; height: 104px; padding: 14px 16px;
  background: radial-gradient(420px 160px at 90% 0%, rgba(4, 202, 127, .55), transparent 70%), radial-gradient(300px 140px at 0% 100%, rgba(103, 199, 67, .35), transparent 70%), linear-gradient(120deg, #0073e3 0%, #0058b8 45%, #002359 100%); }
.dprofile-cover::after { content: ""; position: absolute; inset: 0; background-image: radial-gradient(rgba(255, 255, 255, .16) 1px, transparent 1.2px); background-size: 16px 16px; mask-image: linear-gradient(90deg, transparent, #000 60%); -webkit-mask-image: linear-gradient(90deg, transparent, #000 60%); pointer-events: none; }
.shop .dprofile-cover { background: radial-gradient(420px 160px at 90% 0%, rgba(0, 115, 227, .45), transparent 70%), linear-gradient(120deg, #04ca7f 0%, #0b9b6a 45%, #002359 100%); }
.dprofile-label { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; padding: 6px 12px; border-radius: 999px; font-size: .8rem; font-weight: 800; color: #fff;
  background: rgba(255, 255, 255, .14); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .25); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.dprofile-label svg { width: 16px; height: 16px; }
.dprofile-cover .dz-sample { position: relative; z-index: 1; }
.dprofile-body { padding: 0 clamp(16px, 3vw, 28px) clamp(18px, 3vw, 28px); display: grid; gap: 14px; }
.dprofile-id { display: flex; align-items: flex-end; gap: 14px; margin-top: -38px; position: relative; z-index: 1; }
.dprofile-id > div { min-width: 0; padding-bottom: 2px; }
.dprofile-id h2 { margin: 0; font-size: clamp(1.3rem, 1.1rem + 1vw, 1.7rem); overflow-wrap: anywhere; }
.dprofile-id p { margin: 0; font-size: .9rem; color: var(--muted); font-weight: 600; }
.dprofile-id .badges { margin: 4px 0 0; }
.dprofile-av { position: relative; flex: none; }
/* Only the avatar overlaps the cover; the name sits on white below it. */
.dprofile-id { align-items: flex-start; margin-top: 0; }
.dprofile-id .dprofile-av { margin-top: -38px; }
.dprofile-id > div { padding: 10px 0 0; }
.dprofile-tick { position: absolute; right: -2px; bottom: 2px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: var(--teal); box-shadow: 0 0 0 3px #fff; }
.dprofile-tick svg { width: 14px; height: 14px; stroke-width: 3; }
.dprofile .badges { margin: 0; }
.dprofile-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin: 0; }
.dprofile-stats div { padding: 10px; border-radius: 14px; background: var(--bg-soft); text-align: center; min-width: 0; }
.dprofile-stats dt { font-size: .74rem; font-weight: 700; color: var(--muted); }
.dprofile-stats dd { margin: 2px 0 0; display: flex; align-items: center; justify-content: center; gap: 4px; font-size: 1.15rem; font-weight: 800; color: var(--ink); white-space: nowrap; }
.dprofile-stats dd svg { width: 16px; height: 16px; color: #f0a92a; fill: #f0a92a; }
.dprofile-stats dd small { font-size: .75rem; color: var(--muted); font-weight: 600; }
.dprofile-row h3 { margin: 0 0 8px; font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--muted); }
.dz-tags { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.dz-tags li { display: inline-flex; align-items: center; gap: 5px; padding: 6px 12px; border-radius: 999px; font-size: .84rem; font-weight: 700; color: var(--ink); background: #fff; box-shadow: inset 0 0 0 1px var(--line-2); }
.dz-tags svg { width: 14px; height: 14px; color: var(--teal-ink); }
.dprofile-reach { display: flex; gap: 12px; align-items: flex-start; padding: 14px; border-radius: 16px; background: linear-gradient(120deg, rgba(4, 202, 127, .12), rgba(0, 115, 227, .08)); }
.dprofile-reach p { margin: 0; font-size: .92rem; }
.dprofile-reach strong { display: block; color: var(--ink); font-size: 1rem; line-height: 1.4; margin-bottom: 2px; }
.dprofile-reach-ic { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; background: #fff; color: var(--teal-ink); box-shadow: var(--shadow-sm); }
.dprofile-reach-ic svg { width: 21px; height: 21px; }
.dprofile-body > .btn { justify-self: start; }
.dz-link { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 10px 10px 10px 14px; border-radius: 16px; border: 1.5px dashed var(--line-2); background: var(--bg-soft); }
.dz-link-ic { color: var(--blue); display: grid; } .dz-link-ic svg { width: 18px; height: 18px; }
.dz-link-url { flex: 1 1 160px; min-width: 0; font-weight: 800; color: var(--ink); font-size: .95rem; overflow-wrap: anywhere; }
.dz-link-btns { display: flex; gap: 8px; flex: 1 1 auto; justify-content: flex-end; }
.dz-link-btns .btn { min-height: 44px; }
.dz-link-btns svg { width: 16px; height: 16px; }
@media (max-width: 479px) { .dz-link-btns { flex-basis: 100%; } .dz-link-btns .btn { flex: 1; } }
.shop-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.shop-facts li { display: flex; align-items: center; gap: 8px; font-size: .92rem; font-weight: 600; color: var(--ink); }
.shop-facts svg { width: 17px; height: 17px; color: var(--teal-ink); flex: none; }
.shop-edit { justify-self: start; min-height: 44px; }
.shop-edit svg { width: 16px; height: 16px; }

/* ---------- Professional: side cards ---------- */
.dash-side .dash-head { margin-bottom: 10px; }
.dash-side .dash-head h2 { font-size: 1.1rem; }
.avail { padding: 6px 8px 6px 18px; }
.avail-row { display: flex; align-items: center; gap: 14px; min-height: 64px; cursor: pointer; }
.avail-text { flex: 1; display: grid; }
.avail-text strong { color: var(--ink); font-size: 1.02rem; }
.avail-text small { font-size: .84rem; color: var(--muted); line-height: 1.4; }
.switch { appearance: none; -webkit-appearance: none; flex: none; position: relative; width: 56px; height: 32px; margin: 0 8px 0 0; border-radius: 999px; background: var(--line-2); cursor: pointer; transition: background var(--t-fast); }
.switch::after { content: ""; position: absolute; top: 3px; left: 3px; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(0, 35, 89, .25); transition: transform .3s var(--ease-spring); }
.switch:checked { background: var(--teal); }
.switch:checked::after { transform: translateX(24px); }
.switch:focus-visible { outline: 3px solid var(--blue-500); outline-offset: 3px; }
.meter { display: flex; align-items: center; gap: 12px; }
.meter strong { font-size: 1.5rem; color: var(--ink); letter-spacing: -.02em; }
.meter-bar { flex: 1; height: 10px; border-radius: 99px; background: var(--bg-soft); box-shadow: inset 0 0 0 1px var(--line); overflow: hidden; }
.meter-bar i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, #0073e3, #04ca7f); }
.dash-side .dash-sub { margin: 10px 0 6px; }
.dz-steps { list-style: none; margin: 0; padding: 0; display: grid; }
.dz-steps li { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 4px 0; border-top: 1px solid var(--line); font-size: .92rem; }
.dz-steps li:first-child { border-top: 0; }
.dz-steps-dot { width: 22px; height: 22px; flex: none; border-radius: 50%; display: grid; place-items: center; border: 1.5px dashed var(--line-2); color: #fff; }
.dz-steps li.is-done .dz-steps-dot { background: var(--teal); border: 0; }
.dz-steps-dot svg { width: 13px; height: 13px; stroke-width: 3; }
.dz-steps-text { flex: 1; color: var(--ink); font-weight: 600; }
.dz-steps li.is-done .dz-steps-text { color: var(--muted); font-weight: 500; }
.dz-steps-btn { min-height: 44px; padding: 8px 12px; color: var(--blue); }
.earn { display: flex; gap: 14px; align-items: flex-start; background: linear-gradient(135deg, #002359, #0058b8); color: #dbe8ff; }
.earn strong { color: #fff; font-size: 1.05rem; line-height: 1.35; }
.earn p { margin: 4px 0 0; font-size: .9rem; color: #c6d8f5; }
.earn-ic { width: 44px; height: 44px; flex: none; border-radius: 14px; display: grid; place-items: center; background: linear-gradient(135deg, #04ca7f, #67c743); color: #fff; box-shadow: 0 10px 20px -10px rgba(4, 202, 127, .9); }
.earn-ic svg { width: 22px; height: 22px; }

/* ---------- Professional: opportunities ---------- */
.opps { display: grid; gap: 12px; }
@media (min-width: 900px) { .opps:not(.sent-list) { grid-template-columns: repeat(3, 1fr); align-items: start; } }
.opp { display: grid; border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; min-width: 0; }
.opp-photo { position: relative; height: 96px; display: grid; place-items: center; background: repeating-linear-gradient(135deg, #f2f6fc 0 12px, #eef3fa 12px 24px); }
.opp-photo > span:last-child { position: absolute; left: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px; border-radius: 999px; font-size: .74rem; font-weight: 800; color: var(--ink); background: rgba(255, 255, 255, .92); box-shadow: var(--shadow-xs); }
.opp-photo svg { width: 14px; height: 14px; }
.opp-body { padding: 14px 16px 16px; display: grid; gap: 8px; min-width: 0; }
.opp-top { display: flex; justify-content: space-between; gap: 8px; margin: 0; font-size: .76rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--teal-ink); }
.opp-ago { color: var(--muted); font-weight: 600; text-transform: none; letter-spacing: 0; }
.opp h3 { margin: 0; font-size: 1.06rem; }
.opp-details { margin: 0; font-size: .92rem; }
.opp-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; font-size: .86rem; color: var(--ink); font-weight: 600; }
.opp-facts li { display: flex; align-items: center; gap: 7px; }
.opp-facts svg { width: 16px; height: 16px; color: var(--muted); flex: none; }
.opp-beyond { display: flex; gap: 8px; align-items: flex-start; margin: 0; padding: 8px 10px; border-radius: 12px; font-size: .82rem; font-weight: 600; color: var(--teal-ink); background: var(--teal-bg); }
.opp-beyond svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.opp-open { min-height: 46px; margin-top: 4px; }
.opp-open svg { width: 16px; height: 16px; }
.opp-form { display: grid; gap: 0; margin-top: 4px; padding: 12px; border-radius: 14px; background: var(--bg-soft); animation: fadeUp .35s var(--ease) both; }
.opp-form .field { margin-top: 10px; } .opp-form .field:first-child { margin-top: 0; }
.opp-form .field textarea { min-height: 76px; }
.opp-form .field input, .opp-form .field select, .opp-form .field textarea { background: #fff; }
.opp-form-btns { margin-top: 12px; gap: 8px; }
.opp-form-btns .btn { min-height: 46px; flex: 1; }
.opp-sent { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 2px 0 0; padding: 10px 12px; border-radius: 12px; background: var(--bg-tint); font-size: .9rem; }
.opp-sent > svg { width: 18px; height: 18px; color: var(--blue); stroke-width: 2.6; flex: none; }
.opp-sent > span:not(.req-status) { flex: 1 1 160px; }
.opp-sent strong { color: var(--ink); }
/* Sent quotations: compact row (photo strip hidden). */
.opp.is-sent { grid-template-columns: 1fr; }
.opp.is-sent .opp-photo, .opp.is-sent .opp-details, .opp.is-sent .opp-beyond { display: none; }
@media (min-width: 700px) { .opp.is-sent .opp-body { grid-template-columns: 1fr 1fr; align-items: center; column-gap: 20px; } .opp.is-sent .opp-top, .opp.is-sent h3 { grid-column: 1; } .opp.is-sent .opp-facts { grid-column: 1; } .opp.is-sent .opp-sent { grid-column: 2; grid-row: 1 / span 3; } }

/* ---------- Shop: stats, inbox, lists ---------- */
.dz-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dz-stats li { border-radius: 16px; background: var(--tone-bg); min-width: 0; }
/* Each stat card is a button that opens the shop profile or jumps to its section. */
.dz-stat-btn { position: relative; display: grid; gap: 2px; justify-items: start; width: 100%; height: 100%; padding: 14px; border: 0; border-radius: 16px; background: none; text-align: left; font: inherit; color: inherit; cursor: pointer; transition: transform var(--t-fast), box-shadow var(--t-fast); }
.dz-stat-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.dz-stat-btn:active { transform: scale(.98); }
.dz-stat-btn:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.dz-stat-go { position: absolute; top: 14px; right: 14px; width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--tone-ink); }
.dz-stat-go svg { width: 14px; height: 14px; }
/* Section reached from a stat card: brief highlight. */
.dash-card.is-flash { animation: dzFlash 1.6s var(--ease); }
@keyframes dzFlash { 0%, 40% { box-shadow: 0 0 0 3px var(--blue), var(--shadow); } 100% { box-shadow: var(--shadow-sm); } }
.dz-stat-ic { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; background: #fff; color: var(--tone-ink); margin-bottom: 6px; }
.dz-stat-ic svg { width: 18px; height: 18px; }
.dz-stats strong { font-size: 1.6rem; line-height: 1.1; color: var(--ink); letter-spacing: -.02em; }
.dz-stat-label { font-size: .84rem; font-weight: 700; color: var(--ink); line-height: 1.3; }
.dz-stats small { font-size: .76rem; color: var(--tone-ink); font-weight: 700; }
.inbox { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.inbox-item { display: grid; grid-template-columns: auto 1fr; gap: 10px 12px; padding: 14px; border-radius: 16px; border: 1px solid var(--line); background: #fff; }
.inbox-item.is-unread { background: linear-gradient(90deg, rgba(0, 115, 227, .05), #fff 60%); border-color: rgba(0, 115, 227, .25); }
.inbox-body { min-width: 0; }
.inbox-top { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin: 0; }
.inbox-top strong { color: var(--ink); }
.inbox-who { font-size: .8rem; font-weight: 700; color: var(--teal-ink); }
.inbox-time { margin-left: auto; font-size: .78rem; color: var(--muted); }
.inbox-item.is-unread .inbox-top strong::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 6px; border-radius: 50%; background: var(--blue); vertical-align: middle; }
.inbox-text { margin: 4px 0 0; font-size: .93rem; }
.inbox-reply { grid-column: 1 / -1; justify-self: stretch; min-height: 44px; }
.inbox-reply svg { width: 16px; height: 16px; }
@media (min-width: 640px) { .inbox-item { grid-template-columns: auto 1fr auto; align-items: center; } .inbox-reply { grid-column: auto; justify-self: end; } }
.dz-list { list-style: none; margin: 0 0 14px; padding: 0; display: grid; }
.dz-list li { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 8px 0; border-top: 1px solid var(--line); }
.dz-list li:first-child { border-top: 0; }
.dz-list-main { flex: 1; min-width: 0; display: grid; }
.dz-list-main strong { color: var(--ink); font-size: .96rem; line-height: 1.3; }
.dz-list-main small { font-size: .82rem; color: var(--muted); }
.dz-list-add { min-height: 44px; width: 100%; }
.dz-list-add svg { width: 16px; height: 16px; }

/* ---------- Login: test accounts ---------- */
.test-accts { margin-top: 22px; padding: 16px; border-radius: 20px; background: linear-gradient(180deg, #fffaf0, #fff6e5); box-shadow: inset 0 0 0 1.5px rgba(240, 169, 42, .35); }
.test-accts-h { display: flex; align-items: center; gap: 8px; margin: 0; color: #8f5304; }
.test-accts-h svg { width: 18px; height: 18px; }
.test-accts-h strong { color: #6b3f02; font-size: 1rem; }
.test-accts .small { margin: 4px 0 12px; }
.test-accts ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.test-accts li { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 12px; border-radius: 14px; background: #fff; box-shadow: var(--shadow-xs); }
.test-ic { width: 40px; height: 40px; flex: none; border-radius: 12px; display: grid; place-items: center; background: var(--tone-bg); color: var(--tone-ink); }
.test-ic svg { width: 21px; height: 21px; }
.test-who { flex: 1 1 120px; display: grid; line-height: 1.3; }
.test-who strong { color: var(--ink); }
.test-who span { font-size: .86rem; color: var(--muted); letter-spacing: .03em; }
.test-accts .btn { min-height: 44px; }
@media (max-width: 400px) { .test-accts li .btn { flex: 1 1 100%; } }
.login-hint { display: flex; gap: 8px; align-items: flex-start; margin: 16px 0 0; padding: 10px 12px; border-radius: 12px; font-size: .9rem; background: #fff4dc; color: #6b3f02; }
.login-hint svg { width: 17px; height: 17px; flex: none; margin-top: 3px; }
#login-hint-sms { background: var(--bg-tint); color: var(--blue-ink); }
#login-otp .err-msg { margin: 8px 0 12px; font-weight: 600; }
#login-otp [data-login-go] { margin-top: 12px; }
#login-otp .err-msg:not([hidden]) + [data-login-go] { margin-top: 0; }
.login-change { display: flex; margin: 8px auto 0; min-height: 44px; }

/* "Hello," is its own translatable unit; keep it heading-sized. */
.dash-hello { font-size: inherit; font-weight: inherit; }
.dash-title { color: var(--ink); font-weight: 800; letter-spacing: -.03em; text-wrap: balance; }

/* ---------- Accept / Reject, profile links, linking with shops ---------- */
.pro-link { background: none; border: 0; padding: 0; font: inherit; font-weight: 700; color: var(--ink); text-align: left; cursor: pointer; line-height: 1.3; text-decoration: underline; text-decoration-color: rgba(0, 115, 227, .35); text-underline-offset: 3px; transition: color .2s, text-decoration-color .2s; }
.pro-link:hover, .pro-link:focus-visible { color: var(--blue); text-decoration-color: var(--blue); }
.quote-btns { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.quote-btns .btn { min-height: 44px; }
.btn-reject:hover, .btn-reject:focus-visible { background: #fdecec; border-color: #e5a3a3; color: #b42318; box-shadow: none; }
[data-decision].is-accepted [data-decide="accept"], [data-decision].is-accepted [data-decide="reject"],
[data-decision].is-rejected [data-decide="accept"], [data-decision].is-rejected [data-decide="reject"] { display: none; }
.quote.is-accepted { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(4, 202, 127, .14); }
.quote.is-rejected > :not(.decision-msg):not(.quote-btns), .link-req.is-rejected > :not(.decision-msg) { opacity: .45; }
.decision-msg { display: flex; align-items: center; gap: 8px; margin: 0; padding: 9px 12px; border-radius: 12px; font-size: .86rem; font-weight: 600; line-height: 1.35; }
.decision-msg[hidden] { display: none; }
.decision-msg svg { width: 16px; height: 16px; flex: none; }
.decision-msg span { flex: 1; }
.decision-msg.is-ok { background: var(--teal-bg); color: var(--teal-ink); }
.decision-msg.is-no { background: #fdecec; color: #a12a1f; }
.decision-undo { background: none; border: 0; padding: 4px 6px; font: inherit; font-weight: 800; color: inherit; text-decoration: underline; cursor: pointer; }
.link-h { display: flex; align-items: center; gap: 8px; margin: 18px 0 10px; font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.link-h:first-child { margin-top: 4px; }
.link-count { min-width: 22px; height: 22px; padding: 0 7px; border-radius: 999px; display: inline-grid; place-items: center; background: var(--blue); color: #fff; font-size: .72rem; letter-spacing: 0; }
.link-reqs { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.link-req { display: grid; gap: 10px; padding: 14px; border-radius: 16px; border: 1px solid var(--line); background: var(--bg-soft); }
.link-req.is-accepted { background: #fff; border-color: var(--teal); }
.link-req-top { display: flex; align-items: center; gap: 12px; }
.link-req-top .dz-list-main { flex: 1; min-width: 0; display: grid; }
.link-req-note { margin: 0; font-size: .9rem; color: var(--text); }
.link-req-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.link-req-btns .btn { flex: 1 1 120px; min-height: 42px; }
.link-shop-ic { flex: none; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--green-bg, #ecf8e6); color: var(--green-ink, #3d7a22); }
.link-shop-ic svg { width: 22px; height: 22px; }
.link-send label { display: block; font-weight: 700; font-size: .9rem; margin-bottom: 6px; color: var(--ink); }
.link-send-row { display: flex; flex-wrap: wrap; gap: 8px; }
.link-send select { flex: 1 1 220px; min-height: 46px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line-2); background: #fff; font: inherit; color: var(--ink); }
.link-send .btn { min-height: 46px; }
.link-cols { margin-top: 0; }

/* ---------- Shop: customer requests and nearby requirements; quotes; service distance ---------- */
.biz-reqs { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 900px) { .biz-reqs { grid-template-columns: repeat(2, 1fr); } }
.biz-req { display: grid; gap: 10px; align-content: start; padding: 16px; border-radius: 16px; border: 1px solid var(--line); background: #fff; }
.biz-req.is-quoted { border-color: var(--teal); }
.biz-req.is-rejected > :not(.decision-msg) { opacity: .45; }
.biz-req-top { display: flex; align-items: center; gap: 12px; }
.biz-req-main { flex: 1; min-width: 0; }
.biz-req-who { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0; color: var(--ink); line-height: 1.3; }
.biz-req-who .req-status { font-size: .7rem; padding: 3px 8px; }
.biz-req .req-meta { margin: 2px 0 0; }
.biz-req-text { margin: 0; font-size: .92rem; color: var(--text); }
.biz-req-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.biz-req-btns .btn { flex: 1 1 110px; min-height: 42px; }
.biz-req-btns .btn[hidden], .is-rejected [data-iq-open], .is-quoted [data-iq-open] { display: none; }
.iq { display: grid; gap: 10px; padding: 12px; border-radius: 14px; background: var(--bg-soft); }
.iq[hidden] { display: none; }
.iq-row { display: grid; gap: 4px; }
.iq label { font-size: .84rem; font-weight: 700; color: var(--ink); }
.iq input[type=text], .iq input[type=number] { width: 100%; min-height: 44px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--line-2); font: inherit; background: #fff; }
.iq .input-prefix input { border-radius: 0 10px 10px 0; }
.iq-btns { display: flex; gap: 8px; }
.iq-btns .btn { min-height: 42px; }
.radius-pick { min-height: 34px; padding: 0 8px; border-radius: 10px; border: 1px solid var(--line-2); background: #fff; font: inherit; font-size: .84rem; font-weight: 700; color: var(--ink); margin-left: 6px; }
.shop-facts b, .dprofile-radius b { color: var(--ink); }
.dprofile-radius { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.dprofile-radius h3 { flex-basis: 100%; }
.dprofile-radius p { margin: 0; font-size: .9rem; color: var(--text); }
.quote-chat-hint { margin: 0; font-size: .8rem; color: var(--muted); text-align: center; }
.quote-chat-hint[hidden] { display: none; }
.quote-btns .btn:disabled { opacity: .5; cursor: not-allowed; }

/* ---------- Parts and tools ---------- */
@media (min-width: 760px) { .dash-actions { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .dash-actions { grid-template-columns: repeat(4, 1fr); } }
.parts-list { display: grid; gap: 12px; margin-bottom: 12px; }
.parts-list:empty { display: none; }
.part-card .req-top { align-items: center; }
.part-replies { margin-top: 12px; }
.part-reply { display: grid; gap: 10px; padding: 14px; border-radius: 16px; border: 1px solid var(--line); background: var(--bg-soft); }
.part-reply.is-accepted { background: #fff; border-color: var(--teal); }
.part-reply.is-rejected > :not(.decision-msg) { opacity: .45; }
.part-reply-top { display: flex; align-items: center; gap: 12px; }
.part-reply-top .dz-list-main { flex: 1; min-width: 0; display: grid; }
.part-price { flex: none; font-size: 1.25rem; color: var(--ink); letter-spacing: -.02em; }
.part-item { margin: 0; font-size: 1rem; color: var(--ink); }
.part-qty { color: var(--muted); font-weight: 600; font-size: .9rem; }
.part-who { font-size: .76rem; font-weight: 700; color: var(--teal-ink, #0b6b4a); }
.part-when { margin: 0; }
.part-thumbs { display: flex; gap: 8px; flex-wrap: wrap; }
.part-thumbs img { width: 64px; height: 64px; border-radius: 10px; object-fit: cover; border: 1px solid var(--line); }
/* New customer requests (posted after the dashboard was last opened) */
.opp.is-new:not(.is-sent), .biz-req.is-new:not(.is-quoted) { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(0, 115, 227, .12); }
.opp.is-new .opp-photo > span:last-child { background: var(--blue); color: #fff; }
.req-quotes { margin: 12px 0; }

/* ---------- My jobs: chat, work done, ratings ---------- */
.jobs { display: grid; gap: 12px; }
.jobs:empty { display: none; }
.jobs-empty { margin: 0; color: var(--muted); font-size: .92rem; }
.jobs-score { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0 0 12px; font-size: .92rem; color: var(--text); }
.job { display: grid; gap: 12px; padding: 16px; border-radius: 16px; border: 1px solid var(--line); background: #fff; }
.job-wait { border-color: #f0c36b; box-shadow: 0 0 0 3px rgba(240, 169, 42, .14); }
.job-done { background: var(--bg-soft); }
.job-top { display: flex; align-items: flex-start; gap: 12px; }
.job-main { flex: 1; min-width: 0; }
.job-main h3 { margin: 0; font-size: 1.02rem; }
.job-main .req-meta { margin: 2px 0 0; }
.job-status { flex: none; padding: 4px 10px; border-radius: 999px; font-size: .74rem; font-weight: 800; white-space: nowrap; }
.job-status.st-live { background: var(--blue-bg); color: var(--blue-ink, #0a4a8f); }
.job-status.st-wait { background: #fff4dc; color: #8a5a00; }
.job-status.st-done { background: var(--teal-bg); color: var(--teal-ink); }
.job-ask { margin: 0; padding: 10px 12px; border-radius: 12px; background: #fff4dc; color: #6b4600; font-size: .9rem; }
.job-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.job-btns .btn { flex: 1 1 140px; min-height: 42px; }
.job-unread { margin-left: 6px; }
.job-unread { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: #e5484d; color: #fff; font-size: .72rem; display: grid; place-items: center; }
.job-rate { display: grid; gap: 8px; padding: 14px; border-radius: 14px; background: var(--bg-soft); }
.job-rate h4 { margin: 0 0 2px; font-size: .95rem; }
.job-rate textarea { width: 100%; min-height: 64px; padding: 10px 12px; border-radius: 10px; border: 1px solid var(--line-2); font: inherit; font-size: .92rem; background: #fff; }
.job-rate .btn { justify-self: start; min-height: 42px; }
.stars-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; }
.stars-l { font-size: .9rem; font-weight: 600; color: var(--ink); }
.stars-pick { display: inline-flex; gap: 2px; }
.stars-pick button { width: 36px; height: 36px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 8px; background: transparent; cursor: pointer; }
.stars-pick button:focus-visible { outline: 3px solid rgba(0, 115, 227, .35); }
.stars-pick svg, .stars-show svg { width: 26px; height: 26px; fill: #d5dbe6; transition: fill .15s; }
.stars-pick button.on svg, .stars-show i.on svg { fill: #f5a524; }
.stars-show { display: inline-flex; gap: 1px; vertical-align: middle; }
.stars-show svg { width: 17px; height: 17px; }
.stars-show i { display: inline-flex; }
.job-ratings { display: grid; gap: 6px; font-size: .9rem; }
.job-ratings p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.job-ratings q { color: var(--muted); }

.chat-dialog { padding: 0; border: 0; border-radius: 20px; width: min(520px, calc(100% - 24px)); max-height: min(680px, calc(100% - 24px)); box-shadow: var(--shadow-lg); }
.chat-dialog::backdrop { background: rgba(0, 21, 51, .5); }
.chat-shell { display: flex; flex-direction: column; height: min(640px, calc(100dvh - 48px)); }
.chat-top { display: flex; align-items: flex-start; gap: 10px; padding: 16px 18px 10px; border-bottom: 1px solid var(--line); }
.chat-top > div { flex: 1; min-width: 0; }
.chat-top h2 { margin: 0; font-size: 1.1rem; }
.chat-sub { margin: 2px 0 0; font-size: .84rem; color: var(--muted); }
.chat-x { flex: none; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line); background: #fff; cursor: pointer; font-size: 1rem; }
.chat-safe { margin: 0; padding: 8px 18px; font-size: .78rem; color: var(--muted); background: var(--bg-soft); }
.chat-log { flex: 1; min-height: 0; overflow-y: auto; list-style: none; margin: 0; padding: 14px 18px; display: flex; flex-direction: column; gap: 8px; }
.msg { max-width: 80%; padding: 8px 12px; border-radius: 14px; font-size: .92rem; }
.msg p { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
.msg time { display: block; margin-top: 2px; font-size: .7rem; opacity: .7; }
.msg.me { align-self: flex-end; background: var(--blue); color: #fff; border-bottom-right-radius: 4px; }
.msg.them { align-self: flex-start; background: var(--bg-soft); color: var(--ink); border-bottom-left-radius: 4px; }
.msg-empty { margin: auto; text-align: center; color: var(--muted); font-size: .88rem; max-width: 32ch; }
.chat-form { display: flex; gap: 8px; padding: 12px 18px calc(12px + var(--safe-b)); border-top: 1px solid var(--line); }
.chat-form input { flex: 1; min-width: 0; min-height: 44px; padding: 0 12px; border-radius: 12px; border: 1px solid var(--line-2); font: inherit; }
.chat-form .btn { min-height: 44px; }

.req-cats { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 8px 0 0; font-size: .86rem; color: var(--muted); }
.tag-cat { padding: 2px 9px; border-radius: 999px; background: var(--blue-bg); color: var(--blue-ink, #0a4a8f); font-weight: 700; font-size: .78rem; }

.req-card.is-expired { opacity: .8; }
.req-status.st-expired { background: #fdecec; color: #a12a1f; }
.req-repost { margin-top: 10px; }

/* ---------- Account-only dashboard ---------- */
.acct-list { display: grid; gap: 10px; margin: 0; }
@media (min-width: 700px) { .acct-list { grid-template-columns: 1fr 1fr; } }
.acct-list div { padding: 12px 14px; border-radius: 14px; background: var(--bg-soft); border: 1px solid var(--line); min-width: 0; }
.acct-list dt { font-size: .78rem; font-weight: 700; color: var(--muted); margin-bottom: 2px; }
.acct-list dd { margin: 0; font-weight: 700; color: var(--ink); display: flex; align-items: center; gap: 6px; word-break: break-word; }
.acct-list dd svg { width: 16px; height: 16px; color: var(--teal-ink); }
.acct-app h2 { display: flex; align-items: center; gap: 10px; font-size: 1.15rem; margin: 0 0 6px; }
.acct-app h2 svg { width: 20px; height: 20px; color: var(--blue); }
.acct-app p { margin: 0 0 14px; color: var(--text); }
.dash-panel { display: grid; gap: clamp(16px, 2.4vw, 24px); }
.dash-panel[hidden] { display: none; }

/* ---- styles/pages/07-journey.css ---- */
/* =========================================================
   How it works — journey roads (customers / professionals / businesses).
   Phones: a vertical road on the left. Desktop: a horizontal road.
   --p (0–1) is the filled share of the road, set by 10-journey.js.
   ========================================================= */
.jr { position: relative; --p: 0; --dot: 56px; margin: 8px auto 0; max-width: 1080px; padding: 8px 0 4px; }
.jr-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; position: relative; z-index: 1; }
.jr-step { position: relative; display: grid; grid-template-columns: var(--dot) 1fr; column-gap: 16px; align-items: center; padding: 12px 14px 12px 0; }
.jr-step > strong { grid-column: 2; font-size: 1.05rem; color: var(--ink); line-height: 1.25; transition: color .3s; }
.jr-line { grid-column: 2; color: var(--muted); font-size: .92rem; line-height: 1.35; }
.jr-dot { grid-row: 2 / span 2; grid-column: 1; position: relative; width: var(--dot); height: var(--dot); border-radius: 18px; border: 0; cursor: pointer;
  display: grid; place-items: center; background: #fff; color: var(--muted); box-shadow: 0 0 0 1px var(--line), var(--shadow-xs);
  transition: background .35s var(--ease), color .35s, transform .35s var(--ease-spring), box-shadow .35s; }
.jr-dot svg.i { width: 24px; height: 24px; }
.jr-n { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; display: grid; place-items: center;
  font-size: .7rem; font-weight: 800; background: #fff; color: var(--muted); box-shadow: 0 0 0 1px var(--line); transition: background .35s, color .35s; }
.jr-stage { grid-column: 1 / -1; justify-self: start; font-size: .7rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--teal-ink, #0b7a55); margin: 4px 0 6px; }
.jr-stage-gap { display: none; }

/* Lit stops */
.jr-step.on .jr-dot { background: linear-gradient(140deg, var(--blue), #0059b3); color: #fff; box-shadow: 0 10px 22px -10px rgba(0, 115, 227, .7); }
.jr-step.on .jr-n { background: #04CA7F; color: #fff; box-shadow: 0 0 0 2px #fff; }
.jr-step.now .jr-dot { transform: scale(1.1); box-shadow: 0 0 0 6px rgba(0, 115, 227, .15), 0 14px 26px -10px rgba(0, 115, 227, .75); }
.jr-step.now > strong { color: var(--blue); }

/* The road: vertical on phones */
.jr-track { position: absolute; left: calc(var(--dot) / 2 - 2px); top: 52px; bottom: 64px; width: 4px; border-radius: 4px; background: repeating-linear-gradient(180deg, #d6e2f3 0 10px, transparent 10px 18px); }
.jr-fill { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg, var(--blue), #04CA7F); transform-origin: top; transform: scaleY(var(--p)); transition: transform .5s var(--ease); }

/* Finish flag */
.jr-finish { display: flex; align-items: center; gap: 10px; width: max-content; margin: 10px 0 0; padding: 10px 18px 10px 12px; border-radius: 999px; font-weight: 800; color: #0b6b4a;
  background: #e6faf2; box-shadow: 0 0 0 1px #bdeed9; opacity: .45; transform: scale(.96); transition: opacity .4s, transform .4s var(--ease-spring); }
.jr-finish svg.i { width: 20px; height: 20px; padding: 3px; border-radius: 50%; background: #04CA7F; color: #fff; box-sizing: content-box; }
.jr.done .jr-finish { opacity: 1; transform: none; }

/* Roads without stage labels: the dot sits beside the title and its line */
.jr-plain .jr-dot { grid-row: 1 / span 2; }
.jr-plain .jr-track { top: 40px; }
.jr-line { text-wrap: pretty; }

/* Desktop: horizontal road, six stops in a row */
@media (min-width: 980px) {
  .jr { --dot: 64px; padding-top: 26px; }
  .jr-steps { grid-template-columns: repeat(var(--n), 1fr); gap: 10px; }
  .jr-step { grid-template-columns: 1fr; justify-items: center; text-align: center; row-gap: 6px; padding: 0 6px; }
  .jr-step > strong, .jr-line { grid-column: 1; }
  .jr-step > strong { min-height: 2.5em; align-self: start; }
  .jr-steps { align-items: start; }
  .jr-dot { grid-row: auto; margin: 4px 0 8px; }
  .jr-stage { justify-self: center; margin: 0 0 6px; height: 1.2em; }
  .jr-stage-gap { display: block; visibility: hidden; }
  .jr-track { left: calc(100% / var(--n) / 2); right: calc(100% / var(--n) / 2); top: calc(26px + 1.2em + 6px + 4px + var(--dot) / 2 - 2px + 8px); bottom: auto; width: auto; height: 4px;
    background: repeating-linear-gradient(90deg, #d6e2f3 0 12px, transparent 12px 20px); }
  .jr-fill { transform-origin: left; transform: scaleX(var(--p)); background: linear-gradient(90deg, var(--blue), #04CA7F); }
  .jr-finish { margin: 26px auto 0; }
}
@media (prefers-reduced-motion: reduce) { .jr-dot, .jr-fill, .jr-finish { transition: none; } }
/* The finish badge never wider than the screen */
.jr-finish { max-width: 100%; white-space: normal; }
/* Laptop and wider: each stage label spans its two steps (Discover 1–2, Connect 3–4, Complete 5–6),
   centred over the pair with a thin line on both sides, instead of sitting over the first step only. */
@media (min-width: 980px) {
  .jr-step { position: relative; }
  .jr-stage:not(.jr-stage-gap) {
    justify-self: start; position: relative; z-index: 2;
    width: calc(200% + 34px); margin-left: -6px;            /* this step + the gap + the next step */
    display: flex; align-items: center; gap: 10px; white-space: nowrap;
  }
  .jr-stage:not(.jr-stage-gap)::before, .jr-stage:not(.jr-stage-gap)::after {
    content: ""; flex: 1; height: 2px; border-radius: 2px; background: linear-gradient(90deg, rgba(4, 202, 127, .15), rgba(4, 202, 127, .55));
  }
  .jr-stage:not(.jr-stage-gap)::after { background: linear-gradient(90deg, rgba(4, 202, 127, .55), rgba(4, 202, 127, .15)); }
}

/* ---- styles/pages/08-visual-audiences.css ---- */
/* =========================================================
   Audience pages (customers / professionals / businesses) — visual-first.
   Prefix: av-. Builds on the visual kit (09-visual.css) and journey roads (07-journey.css).
   ========================================================= */

/* ---------- Stats strip overlapping the photo hero ---------- */

/* ---------- Layout helpers ---------- */
.av-narrow { max-width: 900px; margin: 0 auto; }
.av-split { display: grid; gap: clamp(28px, 4vw, 64px); align-items: center; }
.av-split .section-head { margin-bottom: 22px; }
@media (min-width: 900px) { .av-split { grid-template-columns: 1fr 1fr; } }
@media (max-width: 899px) { .av-split.rev > .av-art { order: 2; } }
.av-art { display: grid; place-items: center; min-width: 0; }

/* skeleton bars inside illustrations */
.av-bar { display: block; height: 10px; width: 100%; border-radius: 6px; background: #e3e8f2; }
.av-bar.m { width: 72%; } .av-bar.s { width: 46%; }

/* ---------- Icon chips (who it's for / who can join) ---------- */
.av-chips { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 980px; }
.av-chips li { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 6px 18px 6px 6px; border-radius: 999px; background: #fff;
  box-shadow: 0 0 0 1px var(--line), var(--shadow-xs); font-weight: 700; font-size: .95rem; color: var(--ink); transition: transform .3s var(--ease), box-shadow .3s; }
.av-chips li:hover { transform: translateY(-3px); box-shadow: 0 0 0 1px transparent, var(--shadow); }
.av-chips svg.i { flex: none; width: 36px; height: 36px; padding: 8px; box-sizing: border-box; border-radius: 50%; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); }
.av-chips li:nth-child(3n+2) svg.i { background: linear-gradient(140deg, #2ee29a, #04a56a); }
.av-chips li:nth-child(3n) svg.i { background: linear-gradient(140deg, #86d866, #4ea72f); }
.av-chips.glass li { background: rgba(255, 255, 255, .1); color: #fff; box-shadow: 0 0 0 1px rgba(255, 255, 255, .22); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
@media (max-width: 420px) { .av-chips li { font-size: .88rem; padding-right: 14px; } }

/* ---------- Compact icon points (label only, icon beside) ---------- */
.ipts.av-compact .ipt { flex-direction: row; align-items: center; gap: 12px; padding: 14px; }
.ipts.av-compact .ipt-ic { flex: none; width: 44px; height: 44px; border-radius: 14px; }
.ipts.av-compact .ipt-ic svg.i { width: 22px; height: 22px; }
.ipts.av-compact .ipt strong { font-size: .95rem; }
@media (max-width: 400px) { .ipts.av-compact .ipt { flex-direction: column; align-items: flex-start; } }

/* ---------- Dark sections ---------- */
.av-dark .section-head .lead { color: #c5d0ea; }
.av-dark .section-head.center, .av-road .section-head.center { margin-left: auto; margin-right: auto; }
.av-note { display: flex; align-items: center; gap: 10px; margin: 18px 0 0; padding: 12px 16px; border-radius: 16px; background: rgba(4, 202, 127, .12); box-shadow: 0 0 0 1px rgba(111, 242, 187, .3); color: #e8eefc; font-weight: 600; font-size: .95rem; }
.av-note svg.i { flex: none; width: 22px; height: 22px; color: #6ff2bb; }

/* ---------- Quotation illustration ---------- */
.av-quote { position: relative; width: min(320px, 100%); display: grid; gap: 14px; padding: 24px; border-radius: 24px; background: #fff; box-shadow: var(--shadow-lg); transform: rotate(-3deg); }
.av-quote-h { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-weight: 800; color: var(--ink); }
.av-quote-h svg.i { width: 34px; height: 34px; padding: 7px; box-sizing: border-box; border-radius: 10px; background: var(--blue-bg); color: var(--blue); }
.av-quote-total { display: flex; align-items: center; gap: 10px; margin: 8px 0 0; padding-top: 14px; border-top: 2px dashed var(--line); }
.av-quote-total svg.i { width: 22px; height: 22px; color: var(--ink); }
.av-quote-total .av-bar { height: 16px; background: linear-gradient(90deg, var(--blue), #04CA7F); }
.av-stamp { position: absolute; right: -14px; bottom: 26px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 12px; border: 2px solid #04CA7F; background: #e6faf2;
  color: #0b6b4a; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; transform: rotate(8deg); box-shadow: var(--shadow); }
.av-stamp svg.i { width: 16px; height: 16px; }

/* ---------- Phone chat illustration ---------- */
.av-phone { position: relative; width: min(270px, 82vw); aspect-ratio: 9 / 17; display: flex; flex-direction: column; gap: 12px; padding: 18px 14px; border-radius: 38px;
  background: #f5f8fc; border: 10px solid #0b1a3a; box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 0 0 1px rgba(255, 255, 255, .08); }
.av-phone-top { align-self: center; display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 8px; padding: 7px 14px; border-radius: 999px; background: #e6faf2; color: #0b6b4a; font-weight: 800; font-size: .82rem; }
.av-phone-top svg.i { width: 16px; height: 16px; }
.av-bub { display: grid; gap: 7px; margin: 0; padding: 12px 14px; border-radius: 18px; max-width: 78%; }
.av-bub.in { align-self: flex-start; background: #fff; border-bottom-left-radius: 6px; box-shadow: var(--shadow-sm); width: 70%; }
.av-bub.out { align-self: flex-end; background: linear-gradient(140deg, var(--blue), #0059b3); border-bottom-right-radius: 6px; width: 60%; }
.av-bub.out .av-bar { background: rgba(255, 255, 255, .55); }
.av-bub.pic { width: 46%; aspect-ratio: 4 / 3; place-items: center; background: linear-gradient(140deg, #dfe8f6, #c8d6ec); }
.av-bub.pic svg.i { width: 28px; height: 28px; color: #6b7d9c; }
.av-typing { align-self: flex-start; display: inline-flex; gap: 5px; padding: 12px 14px; border-radius: 16px; background: #fff; box-shadow: var(--shadow-sm); margin-top: auto; }
.av-typing i { width: 7px; height: 7px; border-radius: 50%; background: #9aa8c0; }

/* ---------- Two tiles (problem / our role) ---------- */
.av-duo { display: grid; gap: 16px; }
@media (min-width: 760px) { .av-duo { grid-template-columns: 1fr 1fr; gap: 20px; } }
.av-tile { padding: clamp(22px, 3vw, 32px); border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px var(--line), var(--shadow-sm); }
.av-tile h2 { font-size: clamp(1.25rem, 1rem + 1vw, 1.6rem); margin: 14px 0 8px; }
.av-tile p { margin: 0 0 10px; }
.av-tile-ic { width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, #ff8a65, #e5322d); }
.av-tile-ic.alt { background: linear-gradient(140deg, var(--blue), #002359); }
.av-tile-ic svg.i { width: 26px; height: 26px; }

/* ---------- Professional profile card over photo ---------- */
.av-photo-art { position: relative; width: 100%; max-width: 520px; margin: 0 auto; padding-bottom: 56px; }
.av-photo-art .photo { margin: 0; }
.av-profile { position: absolute; left: 12px; right: 12px; bottom: 0; max-width: 340px; display: grid; grid-template-columns: auto 1fr; gap: 12px 14px; align-items: center;
  padding: 16px; border-radius: 22px; background: rgba(255, 255, 255, .96); box-shadow: 0 30px 60px -24px rgba(0, 35, 89, .55); }
@media (min-width: 900px) { .av-profile { left: auto; right: -24px; } }
.av-avatar { position: relative; width: 56px; height: 56px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, #04CA7F, var(--blue)); }
.av-avatar > svg.i { width: 28px; height: 28px; }
.av-avatar i { position: absolute; right: -2px; bottom: -2px; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; background: #04CA7F; color: #fff; box-shadow: 0 0 0 3px #fff; }
.av-avatar i svg.i { width: 12px; height: 12px; }
.av-profile-body { display: grid; gap: 7px; }
.av-stars { display: flex; gap: 2px; color: #f0a92a; }
.av-stars svg.i { width: 16px; height: 16px; fill: currentColor; }
.av-pills { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 899px) { .av-photo-art .photo { --ratio: 4/3 !important; } }
.av-pill { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; justify-self: start; padding: 6px 12px; border-radius: 999px; background: var(--blue-bg); color: var(--blue-ink); font-weight: 800; font-size: .76rem; }
.av-pill.teal { background: var(--teal-bg); color: var(--teal-ink); }
.av-pill svg.i { width: 14px; height: 14px; }

/* ---------- "Is it free?" ---------- */
.av-free { display: grid; gap: 24px; align-items: center; justify-items: center; text-align: center; padding: clamp(28px, 5vw, 56px); border-radius: 30px; color: #e8eefc;
  background: radial-gradient(600px 300px at 15% 0%, rgba(4, 202, 127, .35), transparent 60%), linear-gradient(150deg, #002359, #003b8f 60%, #0a6a63); box-shadow: 0 30px 60px -30px rgba(0, 35, 89, .8); }
@media (min-width: 760px) { .av-free { grid-template-columns: auto 1fr; text-align: left; justify-items: start; gap: 40px; } }
.av-free h2 { color: #fff; margin-bottom: 10px; }
.av-free h2 em { background: none; color: #6ff2bb; -webkit-text-fill-color: #6ff2bb; }
.av-free-lead { font-size: clamp(1.05rem, 1rem + .4vw, 1.25rem); font-weight: 600; margin: 0 0 14px; color: #fff; }
.av-free-small { display: flex; align-items: center; gap: 10px; margin: 0; color: #b9c6e4; font-size: .95rem; }
.av-free-small svg.i { flex: none; width: 20px; height: 20px; color: #6ff2bb; }
.av-ring { width: 150px; height: 150px; border-radius: 50%; display: grid; place-items: center; background: conic-gradient(#04CA7F, #67C743, #0073E3, #04CA7F); padding: 10px; box-sizing: border-box; }
.av-ring b { width: 100%; height: 100%; border-radius: 50%; display: grid; place-items: center; background: #002359; color: #fff; font-size: 2.6rem; font-weight: 800; letter-spacing: -.04em; }

/* ---------- Radar (business visibility) ---------- */
.av-radar { position: relative; width: min(400px, 100%); aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, #eaf8f0 0%, #f2f7ff 60%, transparent 71%); }
.av-radar > i { position: absolute; inset: 0; margin: auto; border-radius: 50%; border: 2px dashed #cfe0f5; }
.av-radar .av-ring1 { width: 34%; height: 34%; border-color: #bfe9cf; }
.av-radar .av-ring2 { width: 66%; height: 66%; }
.av-radar .av-ring3 { width: 98%; height: 98%; }
.av-radar .av-sweep { width: 98%; height: 98%; border: 0; background: conic-gradient(from 0deg, rgba(4, 202, 127, .28), transparent 22%); }
.av-shop { position: absolute; inset: 0; margin: auto; width: 76px; height: 76px; border-radius: 24px; display: grid; place-items: center; color: #fff;
  background: linear-gradient(140deg, #86d866, #3c8a22); box-shadow: 0 0 0 8px rgba(103, 199, 67, .18), 0 18px 30px -12px rgba(60, 138, 34, .8); }
.av-shop svg.i { width: 36px; height: 36px; }
.av-dot { position: absolute; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 50%; display: grid; place-items: center; color: #fff; box-shadow: 0 0 0 4px #fff, var(--shadow); }
.av-dot svg.i { width: 20px; height: 20px; }
.av-dot.n1, .av-dot.n2, .av-dot.n3 { background: var(--blue); }
.av-dot.f1, .av-dot.f2, .av-dot.f3, .av-dot.f4 { background: #04CA7F; width: 34px; height: 34px; margin: -17px 0 0 -17px; }
.av-dot.n1 { left: 50%; top: 21%; } .av-dot.n2 { left: 76%; top: 62%; } .av-dot.n3 { left: 25%; top: 62%; }
.av-dot.f1 { left: 9%; top: 32%; } .av-dot.f2 { left: 88%; top: 22%; } .av-dot.f3 { left: 66%; top: 95%; } .av-dot.f4 { left: 16%; top: 84%; }
.av-legend { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.av-legend li { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--ink); padding: 6px 16px 6px 6px; border-radius: 999px; background: #fff; box-shadow: 0 0 0 1px var(--line); }
.av-key { width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; color: #fff; }
.av-key svg.i { width: 16px; height: 16px; }
.av-key.n { background: var(--blue); } .av-key.f { background: #04CA7F; }

/* ---------- Photo-backed dark section ---------- */
.av-photo-sec { position: relative; }
.av-photo-sec > .container { position: static; }
.av-photo-bg { position: absolute; inset: 0; z-index: -1; }
.av-photo-bg img { width: 100%; height: 100%; object-fit: cover; opacity: .28; }
.av-photo-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 35, 89, .7), rgba(0, 21, 51, .85)); }

/* ---------- Docs note + price board ---------- */
.av-docs { display: flex; align-items: center; justify-content: center; gap: 10px; max-width: 640px; margin: 28px auto 0; font-size: .92rem; color: var(--muted); text-align: left; }
.av-docs svg.i { flex: none; width: 20px; height: 20px; color: var(--green-ink); }
.av-price { list-style: none; margin: 0; padding: 10px; display: grid; gap: 6px; border-radius: 26px; background: #fff; box-shadow: var(--shadow-lg); }
.av-price li { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; padding: 14px; border-radius: 18px; }
.av-price li + li { border-top: 1px solid var(--line); border-radius: 0; }
.av-price-ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--green-bg); color: var(--green-ink); }
.av-price-ic svg.i { width: 22px; height: 22px; }
.av-price-k { font-weight: 700; color: var(--ink); }
.av-price b { padding: 7px 12px; border-radius: 999px; font-size: .85rem; background: #f0f3f8; color: var(--muted); white-space: nowrap; }
.av-price b.ok { background: #e6faf2; color: #0b6b4a; }
@media (max-width: 400px) { .av-price li { grid-template-columns: auto 1fr; } .av-price b { grid-column: 2; justify-self: start; } }

/* ---------- Micro-animations (motion-safe only) ---------- */
@media (prefers-reduced-motion: no-preference) {
  .av-quote { animation: float 7s ease-in-out infinite; }
  .av-stamp { animation: pop .6s var(--ease-spring) 1s both; }
  .av-typing i { animation: blink 1.2s infinite; }
  .av-typing i:nth-child(2) { animation-delay: .15s; } .av-typing i:nth-child(3) { animation-delay: .3s; }
  .av-radar .av-sweep { animation: spin 6s linear infinite; }
  .av-dot { animation: av-pulse 2.8s ease-in-out infinite; animation-delay: calc(var(--d, 0) * 1s); }
  .av-dot.n2 { --d: .4; } .av-dot.n3 { --d: .8; } .av-dot.f1 { --d: 1.2; } .av-dot.f2 { --d: 1.6; } .av-dot.f3 { --d: 2; } .av-dot.f4 { --d: 2.4; }
  .av-ring { animation: spin 14s linear infinite; }
  .av-ring b { animation: spin 14s linear infinite reverse; }
  .av-profile { animation: float 8s ease-in-out 1s infinite; }
}
@keyframes av-pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.12); } }
.av-mt { margin-top: clamp(20px, 3vw, 32px); }

/* ---------- Audience roads: spacing ---------- */
@media (min-width: 980px) {
  .av-road .jr { padding-top: 0; }
  .av-road .jr-track { top: calc(4px + var(--dot) / 2 - 2px); }
}
@media (max-width: 640px) {
  .av-phone { width: min(230px, 70vw); aspect-ratio: 9 / 15; }
}

/* Step 6 value strip under the business road */
.av-step6 { max-width: 980px; margin: clamp(22px, 3vw, 34px) auto 0; }
.av-step6-h { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 6px 10px; text-align: center; margin: 0 0 16px; color: var(--muted); font-size: 1rem; }
.av-step6-h strong { color: var(--ink); font-size: 1.12rem; }
.av-step6-n { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-weight: 800; font-size: .9rem; color: #fff; background: linear-gradient(140deg, #86d866, #4ea72f); }
/* Professionals page: the electrician stands on the right of a wide photo; keep him (and his face) in the tall frame. */
.av-photo-art .photo-frame img { object-position: 74% 30%; }

/* ---- styles/pages/08-visual-home.css ---- */
/* =========================================================
   Home — visual-first layer: icon points, swipe cards,
   versus badge, photo category tiles. Motion: transform/opacity
   only, one-shot on reveal, off for prefers-reduced-motion.
   ========================================================= */

/* ---------- Problem: one punchy line per view ---------- */
.pv-copy .lead { font-size: clamp(1.05rem, 1rem + .4vw, 1.25rem); color: var(--text); margin-bottom: 18px; }
/* Only the active card shows its sub-line; the others stay one-line titles (heights stay stable). */
.pv-tab-text { grid-template-rows: auto 0fr; gap: 0; transition: grid-template-rows .45s var(--ease); }
.pv-tab-text > span { min-height: 0; overflow: hidden; opacity: 0; transition: opacity .35s; }
.pv-tab[aria-selected="true"] .pv-tab-text { grid-template-rows: auto 1fr; }
.pv-tab[aria-selected="true"] .pv-tab-text > span { opacity: 1; padding-top: 4px; }
.pv-tab { align-items: center; }
@media (min-width: 641px) and (max-width: 899px) { .pv-photo .photo-frame { aspect-ratio: 16/10; } }

/* ---------- Ecosystem: swipeable audience cards with icon points ---------- */
.eco-swipe { margin-top: clamp(20px, 3vw, 32px); }
.eco-card { height: 100%; }
.eco-card .audience-body { padding: 0 20px 22px; }
.eco-card h3 { margin-bottom: 12px; }
.eco-pts { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; flex: 1; align-content: start; }
.eco-pts li { display: flex; align-items: center; gap: 12px; font-weight: 600; font-size: .95rem; line-height: 1.3; color: var(--ink); }
.eco-ic { flex: none; width: 36px; height: 36px; border-radius: 12px; display: grid; place-items: center; background: var(--tone-bg); color: var(--tone-ink); transition: transform .35s var(--ease-spring); }
.eco-ic svg { width: 18px; height: 18px; }
.eco-card:hover .eco-ic { transform: scale(1.08); }
.eco-card .btn { align-self: stretch; justify-content: center; min-height: 44px; }
.swipe-hint { display: flex; justify-content: center; align-items: center; gap: 8px; margin: 4px 0 0; font-size: .8rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted); }
.swipe-hint svg { width: 16px; height: 16px; color: var(--blue); animation: hintNudge 1.4s var(--ease) 3; }
@keyframes hintNudge { 0%, 100% { transform: none; } 50% { transform: translateX(6px); } }
@media (min-width: 900px) { .swipe-hint { display: none; } }

/* ---------- Difference: the usual way vs D-ARETOZ ---------- */
.diff .section-head { margin-bottom: clamp(20px, 3vw, 32px); }
.diff-wrap { position: relative; max-width: 980px; margin: 0 auto; }
.diff-vs { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 50%; display: grid; place-items: center; z-index: 1;
  font-weight: 800; font-size: .9rem; letter-spacing: .04em; color: #fff; background: linear-gradient(140deg, #0073e3, #04ca7f); box-shadow: 0 0 0 5px #fff, 0 12px 26px -10px rgba(0, 35, 89, .6);
  transition: transform .5s var(--ease-spring) .35s; }
.js .diff-vs { transform: scale(0); }
.js .vs.in + .diff-vs { transform: none; }
.diff .vs-col { padding: clamp(20px, 2.6vw, 28px); }
.diff .vs li { font-size: clamp(.92rem, .88rem + .2vw, 1.02rem); }
@media (max-width: 759px) { .diff .vs-new { padding-top: 34px; } .diff .vs-old { padding-bottom: 30px; } }

/* ---------- Zero commission: tighter, numbers first ---------- */
.zr-who strong { margin-bottom: 0; }
.zr-who span { font-size: .92rem; color: var(--muted); }
.zero-row .zr-val { min-width: 96px; }
.zr-val b { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); }
@media (max-width: 520px) { .zero-row { flex-wrap: nowrap; } .zero-row .zr-val { width: auto; min-width: 76px; } }
.zero-stats dd { font-weight: 600; }

/* ---------- Services: photo tiles for every category ---------- */
.svc-preview .section-head { margin-bottom: 18px; }
.svc-search { max-width: 720px; margin: 0 auto clamp(20px, 3vw, 32px); }
.svc-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
@media (min-width: 560px) { .svc-tiles { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 760px) { .svc-tiles { grid-template-columns: repeat(5, 1fr); gap: 14px; } }
/* Laptops and up: 5 big tiles a row — 14 categories + "Didn't find?" = 3 rows of 5. */
@media (min-width: 1180px) { .svc-tiles { grid-template-columns: repeat(5, 1fr); gap: 18px; } .svc-tiles .svc-tile { aspect-ratio: 1 / 1.1; border-radius: 22px; } .svc-tiles .svc-name { left: 16px; right: 16px; bottom: 16px; font-size: 1.08rem; } .svc-tiles .svc-name .cat-ic { width: 44px; height: 44px; border-radius: 12px; } .svc-tiles .svc-more-ic { width: 60px; height: 60px; } }
.svc-tile { position: relative; display: block; aspect-ratio: 4/5; border-radius: 18px; overflow: hidden; isolation: isolate; background: #e9eef6; color: #fff; box-shadow: var(--shadow-sm); transition: transform .35s var(--ease), box-shadow .35s; }
.svc-tile img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s var(--ease); }
.svc-tile::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(0, 21, 51, .9) 0%, rgba(0, 21, 51, .35) 48%, rgba(0, 21, 51, 0) 72%); }
.svc-tile:hover { transform: translateY(-4px); box-shadow: var(--shadow-lg); color: #fff; }
.svc-tile:hover img { transform: scale(1.07); }
.svc-name { position: absolute; left: 10px; right: 10px; bottom: 10px; display: grid; gap: 8px; justify-items: start; font-weight: 700; font-size: .86rem; line-height: 1.22; }
.svc-name .cat-ic { width: 34px; height: 34px; border-radius: 10px; box-shadow: 0 0 0 2px rgba(255, 255, 255, .85); }
.svc-tile:hover .cat-ic { transform: scale(1.1) rotate(-4deg); }
.svc-name > span:last-child { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* 15th tile fills the last row on 3- and 5-column grids; on the 7-column desktop grid a text link replaces it. */
.svc-more { background: linear-gradient(150deg, #0073e3, #002359 70%, #04694a); }
.svc-more::before { display: none; }
.svc-more-ic { position: absolute; left: 50%; top: 38%; translate: -50% -50%; width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .14); box-shadow: 0 0 0 1px rgba(255, 255, 255, .3); transition: transform .35s var(--ease-spring); }
.svc-more-ic svg { width: 22px; height: 22px; }
.svc-more:hover .svc-more-ic { transform: rotate(90deg) scale(1.08); }
.svc-more .svc-name { gap: 2px; font-weight: 600; }
.svc-more .svc-name b { color: var(--mint); font-weight: 800; }
.svc-preview .services-foot { margin-top: clamp(22px, 3vw, 32px); }

/* ---------- How it works: short captions sit tight under photos ---------- */
.hiw-section .ps-body p { font-weight: 600; color: var(--text); }

/* ---------- Trust: short lines read as captions ---------- */
.trust-layers .bento-tile p { font-size: .94rem; }

/* ---------- Motion safety ---------- */
@media (prefers-reduced-motion: reduce) {
  .swipe-hint svg { animation: none; }
  .js .diff-vs { transform: none; transition: none; }
  .pv-tab-text, .pv-tab-text > span { transition: none; }
  .svc-tile, .svc-tile img, .eco-ic { transition: none; }
}

/* ---------- Trust tiles: icon + title, with a faint layer number (CSS counter, decorative) ---------- */
.trust-layers .bento { counter-reset: layer; }
.trust-layers .bento-tile { counter-increment: layer; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: 18px; }
.trust-layers .bento-tile::after { content: "0" counter(layer); position: absolute; right: 16px; top: 8px; font-size: clamp(2.6rem, 2rem + 2vw, 3.6rem); font-weight: 800; letter-spacing: -.04em; color: transparent; background: linear-gradient(140deg, #6ff2bb, #4da3ff); -webkit-background-clip: text; background-clip: text; opacity: .9; pointer-events: none; }
.trust-layers .bento-tile h3 { margin: 0; font-size: clamp(1.05rem, 1rem + .3vw, 1.2rem); }
.trust-layers .bento-tile .cat-ic.trust { margin-bottom: 0; width: 60px; height: 60px; }
@media (max-width: 639px) {
  .trust-layers .bento { grid-template-columns: 1fr 1fr; gap: 12px; }
  .trust-layers .bento-photo { grid-column: 1 / -1; min-height: 300px; }
  .trust-layers .bento-tile { padding: 16px; gap: 14px; }
  .trust-layers .bento-tile .cat-ic.trust { width: 48px; height: 48px; }
  .trust-layers .bento-tile::after { font-size: 2.2rem; right: 10px; }
  .trust-layers .bento-tile h3 { font-size: .98rem; }
}

/* ---------- Phones: compact tiles and stats so sections stay one or two thumbs tall ---------- */
.eco-swipe, .swipe.eco-swipe { scroll-padding-inline: var(--gutter); }
@media (max-width: 559px) {
  .svc-tiles { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .svc-tile { aspect-ratio: 1 / 1.08; border-radius: 14px; }
  .svc-name { left: 7px; right: 7px; bottom: 7px; gap: 5px; font-size: .74rem; }
  .svc-name .cat-ic { width: 26px; height: 26px; border-radius: 8px; }
  .svc-more-ic { width: 38px; height: 38px; }
  .zero-stats { gap: 10px; }
  .zero-stats .stat { padding: 14px; }
  .zero-stats .stat-ic { width: 32px; height: 32px; margin-bottom: 8px; }
  .zero-stats dd { margin-top: 4px; font-size: .84rem; }
  .zero-feature { min-height: 340px; }
}

/* Multi-role preview: skeleton bars give way to the row text on phones. */
@media (max-width: 559px) { .role-rows .sk { display: none; } }

/* How it works: swipe the three steps on phones, three across from tablet up. */
@media (min-width: 560px) and (max-width: 899px) { .hiw .photo-steps { grid-template-columns: repeat(3, 1fr); gap: 14px; } .hiw .ps-body { padding: 34px 16px 20px; } .hiw .ps-body h3 { font-size: 1.1rem; } .hiw .ps-num { left: 16px; } }
@media (max-width: 559px) {
  .hiw .photo-steps { grid-auto-flow: column; grid-auto-columns: min(78%, 300px); gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); scrollbar-width: none;
    margin: 0 calc(var(--gutter) * -1); padding: 4px var(--gutter) 14px; }
  .hiw .photo-steps::-webkit-scrollbar { display: none; }
  .hiw .photo-step { scroll-snap-align: start; }
}

/* Small phones: ecosystem card buttons may wrap instead of clipping. */
.ecosystem .swipe-item .btn { white-space: normal; text-align: center; }

/* ---- styles/pages/08-visual-platform.css ---- */
/* =========================================================
   Visual-first platform, company and service pages
   (how-it-works, trust-safety, about, app, services hub hero,
   category pages, faq, contact). Prefix: .vp-
   ========================================================= */

/* ---------- shared bits ---------- */
.vp-gap { margin-top: clamp(40px, 6vw, 72px); }
.vp-subhead { margin-bottom: 22px; }
.vp-subhead h3 { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2rem); }
.vp-minihead { text-align: center; font-size: 1.15rem; margin: clamp(28px, 4vw, 40px) 0 16px; color: var(--ink); }
.vp-note { text-align: center; color: var(--muted); margin: 18px auto 0; max-width: 60ch; }
.vp-callout { max-width: 860px; margin-left: auto; margin-right: auto; }

/* Promise pills (hero) */
.vp-pills { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.vp-pills li { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 8px 14px 8px 10px; border-radius: var(--pill); background: #fff; border: 1px solid var(--line); color: var(--ink); font-weight: 700; font-size: .88rem; box-shadow: var(--shadow-xs); }
.vp-pills svg.i { width: 22px; height: 22px; padding: 4px; border-radius: 50%; box-sizing: border-box; background: var(--teal); color: #fff; flex: none; }
.page-hero.has-bg .vp-pills li { background: rgba(0, 21, 51, .5); border-color: rgba(255, 255, 255, .22); color: #fff; backdrop-filter: blur(6px); text-shadow: none; }
.page-hero .vp-pills + .hero-meta { margin-top: 14px; }
.vp-steps { counter-reset: vps; }
.vp-steps li { position: relative; }
@media (min-width: 640px) { .vp-steps li:not(:last-child)::after { content: ''; position: absolute; right: -8px; top: 50%; width: 8px; height: 2px; background: rgba(255, 255, 255, .5); } }

/* Flow: three connected steps */
.vp-flow { list-style: none; margin: 0 0 clamp(24px, 4vw, 40px); padding: 0; display: grid; gap: 12px; position: relative; }
.vp-flow li { position: relative; display: grid; grid-template-columns: 52px 1fr; grid-template-rows: auto auto; column-gap: 14px; align-items: center; background: #fff; border-radius: 20px; padding: 14px 16px; box-shadow: 0 0 0 1px var(--line), var(--shadow-xs); }
.vp-flow-ic { grid-row: span 2; width: 52px; height: 52px; border-radius: 16px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); box-shadow: 0 10px 20px -12px rgba(0, 115, 227, .8); }
.vp-flow li:nth-child(2) .vp-flow-ic { background: linear-gradient(140deg, #2ee29a, #04a56a); }
.vp-flow li:nth-child(3) .vp-flow-ic { background: linear-gradient(140deg, #86d866, #4ea72f); }
.vp-flow-ic svg.i { width: 24px; height: 24px; }
.vp-flow strong { color: var(--ink); font-size: 1.02rem; align-self: end; }
.vp-flow li > span:last-child { color: var(--muted); font-size: .88rem; align-self: start; }
.vp-flow li:not(:last-child)::after { content: ''; position: absolute; left: 41px; bottom: -13px; width: 2px; height: 14px; background: linear-gradient(var(--blue), var(--teal)); }
@media (min-width: 760px) {
  .vp-flow { grid-template-columns: repeat(3, 1fr); gap: 28px; }
  .vp-flow li { grid-template-columns: 1fr; text-align: center; justify-items: center; row-gap: 6px; padding: 22px 18px; }
  .vp-flow-ic { grid-row: auto; margin-bottom: 6px; }
  .vp-flow li:not(:last-child)::after { left: auto; right: -27px; top: 50%; bottom: auto; width: 26px; height: 2px; background: linear-gradient(90deg, var(--blue), var(--teal)); }
}
.js .vp-flow[data-reveal] li { opacity: 0; transform: translateY(10px); transition: opacity .45s var(--ease), transform .45s var(--ease); transition-delay: calc(var(--i, 0) * 140ms + .1s); }
.js .vp-flow[data-reveal].in li { opacity: 1; transform: none; }

/* ---------- trust & safety ---------- */
.vp-badge { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px; background: #fff; border-radius: 20px; box-shadow: 0 0 0 1px var(--line), var(--shadow-xs); transition: transform .3s var(--ease), box-shadow .3s; }
.vp-badge:hover { transform: translateY(-4px); box-shadow: 0 0 0 1px transparent, var(--shadow); }
.vp-badge p { margin: 0; font-size: .92rem; color: var(--muted); line-height: 1.4; }
@media (min-width: 900px) { #verification .swipe-c4 .swipe-track { grid-template-columns: repeat(4, 1fr); } }

.vp-rate { display: grid; gap: 14px; align-items: center; max-width: 960px; margin: 0 auto; }
@media (min-width: 760px) { .vp-rate { grid-template-columns: 1fr auto 1fr; gap: 20px; } }
.vp-rate-side { background: #fff; border-radius: 24px; padding: 20px; box-shadow: 0 0 0 1px var(--line), var(--shadow); }
.vp-rate-h { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; }
.vp-rate-h strong { color: var(--ink); font-size: 1.08rem; }
.vp-rate-ic { width: 44px; height: 44px; border-radius: 14px; display: grid; place-items: center; background: var(--blue-bg); color: var(--blue); }
.vp-rate-side.tone-teal .vp-rate-ic { background: var(--teal-bg); color: var(--teal-ink); }
.vp-rate-ic svg.i { width: 22px; height: 22px; }
.vp-stars { display: flex; gap: 2px; color: #f5b301; margin: 6px 0 12px; }
.vp-stars svg.i { width: 18px; height: 18px; fill: currentColor; }
.vp-rate-side ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vp-rate-side li { font-size: .84rem; font-weight: 700; padding: 6px 11px; border-radius: var(--pill); background: var(--blue-bg); color: var(--blue-ink); }
.vp-rate-side.tone-teal li { background: var(--teal-bg); color: var(--teal-ink); }
.vp-rate-swap { justify-self: center; display: flex; flex-direction: column; gap: 2px; width: 54px; height: 54px; border-radius: 50%; align-items: center; justify-content: center; color: #fff; background: linear-gradient(140deg, var(--blue), var(--teal)); box-shadow: var(--shadow-glow); transform: rotate(90deg); }
@media (min-width: 760px) { .vp-rate-swap { transform: none; } }
.vp-rate-swap svg.i { width: 18px; height: 18px; }
.vp-rate-swap svg.flip { transform: scaleX(-1); }
.js .vp-rate[data-reveal] .vp-rate-side li { opacity: 0; transform: scale(.85); transition: opacity .35s var(--ease), transform .35s var(--ease); transition-delay: calc(var(--i, 0) * 70ms + .25s); }
.js .vp-rate[data-reveal].in .vp-rate-side li { opacity: 1; transform: none; }
@media (prefers-reduced-motion: no-preference) { .vp-rate.in .vp-rate-swap { animation: vp-spin 1.2s var(--ease) .3s 1 both; } }
@keyframes vp-spin { from { rotate: -180deg; } to { rotate: 0deg; } }

.vp-tags { list-style: none; margin: 0 auto; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; max-width: 760px; }
.vp-tags li { font-size: .86rem; font-weight: 700; padding: 8px 14px; border-radius: var(--pill); background: var(--bg-soft); border: 1px solid var(--line); color: var(--ink); }
.vp-fraud { display: flex; align-items: center; gap: 12px; max-width: 560px; margin: 18px auto 0; padding: 14px 18px; border-radius: 18px; background: linear-gradient(140deg, #002359, #003b8f); color: #e8eefc; }
.vp-fraud svg.i { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 12px; background: rgba(255, 255, 255, .12); color: #6ff2bb; box-sizing: border-box; }
.vp-fraud p { margin: 0; font-size: .95rem; color: #c9d6f2; }
.vp-fraud strong { color: #fff; }

.vp-role { list-style: none; margin: 8px 0 18px; padding: 0; display: grid; gap: 12px; }
.vp-role li { display: flex; gap: 12px; align-items: flex-start; color: var(--text); line-height: 1.45; }
.vp-role svg.i { flex: none; width: 32px; height: 32px; padding: 7px; border-radius: 10px; background: var(--blue-bg); color: var(--blue); box-sizing: border-box; }

/* ---------- about ---------- */
.vp-name { display: inline-flex; align-items: center; gap: 12px; padding: 10px 16px; border-radius: 18px; background: rgba(0, 21, 51, .5); border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(6px); color: #fff; }
.vp-name i { font-style: normal; font-weight: 800; font-size: 1.3rem; color: var(--teal-300); }
.vp-name-part { display: flex; flex-direction: column; line-height: 1.1; }
.vp-name-part b { font-family: var(--serif); font-size: 1.5rem; font-weight: 700; }
.vp-name-part small { font-size: .74rem; color: #c9d6f2; margin-top: 3px; }

.vp-converge { max-width: 980px; margin: 0 auto; }
.vp-gaps { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
@media (min-width: 760px) { .vp-gaps { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.vp-gaps li { display: grid; grid-template-columns: 48px 1fr; column-gap: 14px; align-items: center; padding: 16px; border-radius: 20px; background: var(--bg-soft); box-shadow: 0 0 0 1px var(--line); }
.vp-gaps strong { color: var(--ink); align-self: end; }
.vp-gaps li > span:last-child { color: var(--muted); font-size: .9rem; align-self: start; }
.vp-gap-ic { grid-row: span 2; width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; background: #fff; color: #8592a6; box-shadow: 0 0 0 1px var(--line); }
.vp-gap-ic svg.i { width: 24px; height: 24px; }
@media (min-width: 760px) { .vp-gaps li { grid-template-columns: 1fr; justify-items: center; text-align: center; row-gap: 6px; padding: 22px 18px; } .vp-gap-ic { grid-row: auto; margin-bottom: 4px; } }
.vp-join { position: relative; text-align: center; padding-top: 44px; }
.vp-join-lines { position: absolute; top: 0; left: 50%; width: min(66%, 640px); height: 44px; transform: translateX(-50%); }
.vp-join-lines i { position: absolute; top: 0; bottom: 0; width: 2px; background: linear-gradient(transparent, var(--blue)); left: 50%; }
@media (min-width: 760px) {
  .vp-join-lines i:nth-child(1) { left: 0; width: 50%; background: none; border-left: 2px solid var(--line-2); border-bottom: 2px solid var(--line-2); border-bottom-left-radius: 22px; height: 22px; }
  .vp-join-lines i:nth-child(3) { left: 50%; width: 50%; background: none; border-right: 2px solid var(--line-2); border-bottom: 2px solid var(--line-2); border-bottom-right-radius: 22px; height: 22px; }
}
.vp-join p { display: inline-flex; flex-direction: column; align-items: center; gap: 6px; margin: 0; padding: 22px clamp(22px, 5vw, 48px); border-radius: 26px; background: linear-gradient(150deg, #002359, #003b8f 60%, #0a6a63); color: #fff; box-shadow: 0 24px 50px -28px rgba(0, 35, 89, .8); }
.vp-join-logo { font-weight: 800; font-size: 1.5rem; letter-spacing: -.02em; }
.vp-join-logo b { color: var(--teal-300); }
.vp-join strong { font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem); color: #e8eefc; }

.vp-letter blockquote { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); }

.vp-road { list-style: none; margin: 0; padding: 0; display: grid; gap: 26px; position: relative; }
.vp-road::before { content: ''; position: absolute; left: 25px; top: 26px; bottom: 26px; width: 2px; background: repeating-linear-gradient(var(--blue) 0 6px, transparent 6px 12px); }
.vp-road li { position: relative; display: flex; align-items: center; gap: 16px; }
.vp-road-ic { flex: none; width: 52px; height: 52px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); box-shadow: 0 0 0 6px var(--bg-soft), 0 10px 20px -12px rgba(0, 115, 227, .8); }
.vp-road li:nth-child(2) .vp-road-ic { background: linear-gradient(140deg, #2ee29a, #04a56a); }
.vp-road li:nth-child(3) .vp-road-ic { background: linear-gradient(140deg, #86d866, #4ea72f); }
.vp-road-ic svg.i { width: 24px; height: 24px; }
.vp-road small { display: block; font-size: .74rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--blue); }
.vp-road strong { font-size: 1.12rem; color: var(--ink); }
.vp-road li:first-child .vp-road-ic::after { content: ''; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid var(--blue); opacity: 0; }
@media (prefers-reduced-motion: no-preference) { .vp-road li:first-child .vp-road-ic { position: relative; } .vp-road li:first-child .vp-road-ic::after { animation: vp-ping 2.4s ease-out infinite; } }
@keyframes vp-ping { 0% { transform: scale(.9); opacity: .7; } 100% { transform: scale(1.5); opacity: 0; } }
.vp-motto { text-align: center; margin: clamp(28px, 4vw, 40px) 0 0; font-size: clamp(1.05rem, .95rem + .5vw, 1.3rem); }

/* ---------- app ---------- */
.vp-ready { position: relative; overflow: hidden; margin-top: clamp(28px, 4vw, 44px); padding: clamp(22px, 4vw, 36px); border-radius: 28px; background: linear-gradient(150deg, #002359, #003b8f 60%, #0a6a63); color: #fff; display: grid; gap: 18px; box-shadow: 0 24px 50px -28px rgba(0, 35, 89, .8); }
.vp-ready h3 { color: #fff; margin: 0; font-size: clamp(1.3rem, 1.1rem + .8vw, 1.7rem); }
.vp-ready ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vp-ready li { display: flex; align-items: center; gap: 12px; font-weight: 600; color: #e8eefc; }
.vp-ready-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: #6ff2bb; }
.vp-ready-ic svg.i { width: 20px; height: 20px; }
.vp-ready .btn { justify-self: start; }
@media (min-width: 900px) { .vp-ready { grid-template-columns: auto 1fr auto; align-items: center; gap: 28px; } .vp-ready ol { grid-template-columns: repeat(3, 1fr); } }

.vp-rolecard { display: flex; flex-direction: column; gap: 10px; padding: 22px; border-radius: 24px; background: #fff; box-shadow: 0 0 0 1px var(--line), var(--shadow-sm); color: var(--text); text-decoration: none; transition: transform .3s var(--ease), box-shadow .3s; min-height: 100%; }
.vp-rolecard:hover { transform: translateY(-5px); box-shadow: 0 0 0 1px transparent, var(--shadow-lg); }
.vp-rolecard-ic { width: 60px; height: 60px; border-radius: 18px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); }
.vp-rolecard.tone-teal .vp-rolecard-ic { background: linear-gradient(140deg, #2ee29a, #04a56a); }
.vp-rolecard.tone-green .vp-rolecard-ic { background: linear-gradient(140deg, #86d866, #4ea72f); }
.vp-rolecard-ic svg.i { width: 30px; height: 30px; }
.vp-rolecard h3 { margin: 6px 0 0; color: var(--ink); }
.vp-rolecard p { margin: 0; color: var(--muted); flex: 1; }
.vp-rolecard-go { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 800; color: var(--blue); }
.vp-rolecard.tone-teal .vp-rolecard-go { color: var(--teal-ink); }
.vp-rolecard.tone-green .vp-rolecard-go { color: var(--green-ink); }
.vp-rolecard-go svg.i { width: 18px; height: 18px; transition: transform .25s var(--ease); }
.vp-rolecard:hover .vp-rolecard-go svg.i { transform: translateX(4px); }

/* ---------- category pages ---------- */
.vp-svcs { list-style: none; margin: 18px 0 16px; padding: 0; display: grid; gap: 10px; }
.vp-svc { display: flex; align-items: center; gap: 14px; min-height: 64px; padding: 12px 16px 12px 12px; border-radius: 18px; background: #fff; box-shadow: 0 0 0 1px var(--line), var(--shadow-xs); color: var(--ink); text-decoration: none; transition: transform .25s var(--ease), box-shadow .25s; }
.vp-svc:hover { transform: translateX(4px); box-shadow: 0 0 0 1px var(--blue), var(--shadow); }
.vp-svc .cat-ic { flex: none; }
.vp-svc-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.vp-svc-t strong { font-size: 1.02rem; }
.vp-svc-t small { color: var(--muted); font-size: .82rem; }
.vp-svc-go { flex: none; width: 20px; height: 20px; color: var(--blue); transition: transform .25s var(--ease); }
.vp-svc:hover .vp-svc-go { transform: translateX(3px); }

/* ---------- faq ---------- */
.vp-topics .chip { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; }
.vp-topics .chip svg.i { flex: none; width: 18px; height: 18px; color: var(--blue); }
.vp-topics .chip[aria-pressed="true"] svg.i { color: var(--teal-300); }
.vp-faq-ic { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: linear-gradient(140deg, var(--blue), #0059b3); box-shadow: 0 10px 20px -12px rgba(0, 115, 227, .8); }
.vp-faq-ic svg.i { width: 20px; height: 20px; }
.faq-group:nth-child(3n+2) .vp-faq-ic { background: linear-gradient(140deg, #2ee29a, #04a56a); }
.faq-group:nth-child(3n) .vp-faq-ic { background: linear-gradient(140deg, #86d866, #4ea72f); }

@media (prefers-reduced-motion: reduce) {
  .js .vp-flow[data-reveal] li, .js .vp-rate[data-reveal] .vp-rate-side li { opacity: 1; transform: none; transition: none; }
}

/* Swipe rows on these pages: snap cards to the gutter, not the screen edge */
#verification .swipe, .vp-roles .swipe { scroll-padding-inline: var(--gutter); }
.vp-pills-note { margin-top: 14px; }

/* How it works: the three photo steps swipe on phones */
@media (max-width: 899px) {
  .vp-hiw-steps .photo-steps { grid-auto-flow: column; grid-auto-columns: min(78%, 340px); grid-template-columns: none; gap: 14px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter); margin: 0 calc(var(--gutter) * -1); padding: 4px var(--gutter) 18px; scrollbar-width: none; }
  .vp-hiw-steps .photo-steps::-webkit-scrollbar { display: none; }
  .vp-hiw-steps .photo-step { scroll-snap-align: start; }
}
@media (max-width: 420px) { .vp-pills li { font-size: .82rem; min-height: 36px; padding: 6px 12px 6px 8px; } }

/* ---- styles/pages/95-laptop-fit.css ---- */
/* =========================================================
   Screen fit: on laptops/desktops the whole page scales with the
   window HEIGHT (--fit, set by a tiny script in <head>: height / 800,
   between 0.82 and 1). Short laptop screens get exactly the "zoom out"
   visitors used to do by hand, so a section fits one screen at 100%.
   Phones, tablets and tall monitors stay at 1. The map page is excluded
   (map libraries need an unscaled page).
   ========================================================= */
@media (min-width: 1024px) {
  body:not([data-page="find"]) { zoom: var(--fit, 1); }
}
/* The menu bar and the announcement bar keep their full size (client request):
   undo the page zoom on them, and give the rest of the page the header height in
   its own zoomed units so heroes still sit right under the bar. */
@media (min-width: 1024px) {
  body:not([data-page="find"]) { --header-h: calc(74px / var(--fit, 1)); }
  body:not([data-page="find"]) .site-header, body:not([data-page="find"]) .announce { zoom: calc(1 / var(--fit, 1)); --header-h: 74px; }
}
/* Keep a small gap at both sides so the floating bar never touches the screen edges. */
@media (min-width: 1024px) { .site-header .container.nav { max-width: min(1360px, calc(100% - 32px)); } }
/* Short laptop screens: less empty space above and below each section,
   so content sections fit one screen instead of spilling over. */
@media (min-width: 1024px) and (max-height: 820px) {
  :root { --section: 60px; }
  .section-head { margin-bottom: 26px; }
  .section.tight-top { padding-top: 28px; }
}
/* Tallest sections, compact on short laptop screens so each fits one screen. */
@media (min-width: 1024px) and (max-height: 820px) {
  .zero-feature { min-height: 360px; }
  .zero-row { padding: 14px 18px; }
  .svc-preview .services-foot { margin-top: 18px; }
  .vp-flow li { padding-block: 14px; }
  .vp-badge { padding-block: 12px; }
}
@media (min-width: 1024px) and (max-height: 820px) {
  .section-head { margin-bottom: 22px; }
  .vp-flow { margin-bottom: 20px; }
  .vp-flow li { padding-block: 10px; }
  .vp-flow-ic { margin-bottom: 2px; }
  .vp-badge { gap: 6px; padding: 12px 16px; }
  #verification .swipe-track { gap: 12px; }
}

/* Client feedback (cards looked small): the home page's key sections use a wider
   layout on laptops/desktops, with larger cards, text and icons. */
@media (min-width: 1100px) {
  :is(.role-strip, .ecosystem, .svc-preview, .duo-section) > .container { max-width: 1440px; }
  body .role-grid { gap: 24px; }
  body .role-card { padding: 34px 32px; gap: 20px; min-height: 300px; }
  body .role-card .role-ic { width: 80px; height: 80px; border-radius: 22px; }
  body .role-card .role-ic svg { width: 40px; height: 40px; }
  body .role-card .h3 { font-size: 1.45rem; }
  body .role-card p { font-size: 1.05rem; line-height: 1.55; }
  body .role-card-actions .btn { min-height: 48px; font-size: .98rem; }
  body .eco-swipe .swipe-track { gap: 24px; }
  body .eco-card .audience-media { aspect-ratio: 16 / 10; }
  body .eco-card .audience-body { padding: 0 28px 28px; }
  body .eco-card h3 { font-size: 1.5rem; margin-bottom: 16px; }
  body .eco-pts { gap: 14px; margin-bottom: 24px; }
  body .eco-pts li { font-size: 1.08rem; }
  body .eco-ic { width: 44px; height: 44px; }
  body .eco-ic svg { width: 22px; height: 22px; }
  body .eco-card .btn { min-height: 52px; font-size: 1rem; }
  body .svc-tiles { gap: 18px; }
  body .svc-tile { border-radius: 20px; }
}

/* ---- styles/pages/96-screens.css ---- */
/* =========================================================
   Screen-size tuning: tablets, small laptops and large screens.
   ========================================================= */

/* Role cards: three columns are too tight on tablets, so each card
   becomes a row (icon | text | buttons) until there is room for 3. */
@media (min-width: 760px) and (max-width: 1099px) {
  .role-grid { grid-template-columns: 1fr; gap: 14px; }
  .role-card { display: grid; grid-template-columns: auto 1fr 220px; align-items: center; gap: 22px; }
  .role-card-actions { flex-direction: column; margin-top: 0; }
  .role-card-actions .btn { flex: none; width: 100%; min-width: 0; }
}

/* Two-column grids: a lone third card spans the full row as a
   side-by-side card instead of sitting alone at half width. */
@media (min-width: 640px) and (max-width: 959px) {
  .g3 > :last-child:nth-child(odd) { grid-column: 1 / -1; }
  .audience-grid > .audience:last-child:nth-child(odd) { flex-direction: row; }
  .audience-grid > .audience:last-child:nth-child(odd) .audience-media { flex: 0 0 46%; aspect-ratio: auto; }
  .audience-grid > .audience:last-child:nth-child(odd) .audience-ic { margin-top: 0; }
}

/* Location chip sits at the top, clear of the language card below it. */
.lang-visual .photo-chip { top: 18px; bottom: auto; }

/* ---- styles/pages/97-performance.css ---- */
/* =========================================================
   Smoothness: keep scrolling at 60fps on phones and laptops.
   ========================================================= */

/* Skip rendering work for sections that are off-screen until they come near. */
main > .section:not(:first-child), main > .role-strip, .site-footer { content-visibility: auto; contain-intrinsic-size: auto 900px; }

/* Blurred background orbs: GPU-composited, and static on touch devices
   (animating 70px blurs is the biggest cost on phones). */
.aurora i, .hero-mesh i, .cta-orbs i { will-change: transform; transform: translateZ(0); }
@media (hover: none), (max-width: 1023px) {
  .aurora i, .hero-mesh i, .cta-orbs i { animation: none; filter: blur(48px); }
  .announce::after { animation: none; }
  .photo-chip, .hero-panel, .hp-card, .cat-hero-art::before { animation: none; }
  /* frosted-glass blur is expensive while scrolling; use solid tints instead */
  .btn-glass, .note-inline, .pill, .hero-trust, .page-hero.has-bg .btn-outline, .page-hero.has-bg .note-inline,
  .trust-layers .bento-tile, .zf-label, .zf-link, .store, .lang-card, .photo-chip { backdrop-filter: none; -webkit-backdrop-filter: none; }
  .btn-glass { background: rgba(255, 255, 255, .14); }
  .trust-layers .bento-tile { background: rgba(255, 255, 255, .07); }
}

/* Hero slideshow: only the visible slide animates; images are composited. */
.hero-slide { will-change: opacity; }
.hero-slide.is-active img { will-change: transform; }
.hero-slide:not(.is-active) img { animation: none; }

/* Smooth in-page jumps without fighting the floating header. */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ---- styles/pages/98-premium.css ---- */
/* =========================================================
   Premium finish — site-wide refinement layer (loads late).
   Typography rhythm, contrast, surfaces, spacing.
   ========================================================= */

/* ---------- Typography: less cramped, higher contrast ---------- */
:root {
  --text: #2c3a55;
  --muted: #4d5a74;
  --line: #e6ebf3;
  --shadow-card: 0 1px 2px rgba(0, 35, 89, .04), 0 8px 24px -12px rgba(0, 35, 89, .14), 0 0 0 1px rgba(0, 35, 89, .05);
  --shadow-card-hover: 0 2px 4px rgba(0, 35, 89, .05), 0 24px 48px -18px rgba(0, 35, 89, .28), 0 0 0 1px rgba(0, 115, 227, .10);
}
body { font-size: 16.5px; line-height: 1.7; color: var(--text); }
h1 { letter-spacing: -.028em; line-height: 1.08; }
h2 { letter-spacing: -.022em; line-height: 1.14; font-weight: 800; }
h3, .h3 { letter-spacing: -.01em; }
.hero-title { letter-spacing: -.03em !important; line-height: 1.06 !important; }
.lead { color: var(--muted); font-weight: 500; line-height: 1.75; }
.section-head .lead { max-width: 680px; }
.section-head.center .lead { margin-left: auto; margin-right: auto; }
.feature p, .card p, .q-card p, .bento-tile p, .ps-body p, .cat p, .role-card p, .zero-row p { color: var(--muted); }
.small { color: #5b6882; }

/* ---------- Section labels: soft pill chips ---------- */
.eyebrow {
  gap: 8px; padding: 6px 14px 6px 10px; border-radius: 999px;
  background: linear-gradient(90deg, rgba(0, 115, 227, .10), rgba(4, 202, 127, .10));
  color: #0059b3; font-size: .72rem; letter-spacing: .12em; margin-bottom: 18px;
  box-shadow: inset 0 0 0 1px rgba(0, 115, 227, .12);
}
.eyebrow::before { width: 7px; height: 7px; border-radius: 50%; background: linear-gradient(135deg, #0073e3, #04ca7f); }
:is(.section.dark, .page-hero.has-bg, .app-card, .hero, .zero-panel) .eyebrow {
  background: rgba(255, 255, 255, .10); color: #b8f5da; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .18);
}

/* ---------- Section rhythm ---------- */
.section { padding: clamp(36px, 4.2vw, 60px) 0; }
.section.soft { background: linear-gradient(180deg, #f6f9fd 0%, #f2f6fc 100%); }
.section-head { margin-bottom: clamp(32px, 4.5vw, 56px); }
.section-head h2 { font-size: clamp(1.85rem, 1.25rem + 2.2vw, 2.9rem); }

/* ---------- Surfaces: borderless cards with layered soft shadow ---------- */
.card, .step, .q-card, .gl, .stage, .zero-row, .stat, .photo-step, .audience, .role-card, .cat, .policy-card, .pn, details.qa, .form-card, .bento-tile:not(.trust-layers .bento-tile) {
  border-color: transparent !important;
  box-shadow: var(--shadow-card);
}
.card:hover, .step:hover, .q-card:hover, .gl:hover, .zero-row:hover, .stat:hover, .photo-step:hover, .audience:hover, .role-card:hover, .cat:hover, a.card:hover, .pn:hover {
  box-shadow: var(--shadow-card-hover);
}
.card, .q-card, .role-card, .stat, .zero-row, .gl, .stage { border-radius: 22px; }
.card.feature { padding: clamp(24px, 2.6vw, 32px); }
.feature h3, .q-card h3, .role-card .h3, .bento-tile h3 { font-size: 1.16rem; margin-bottom: 8px; }
details.qa { border-radius: 18px; }
details.qa[open] { box-shadow: var(--shadow-card-hover); }
.form-card { border-radius: 28px; }

/* card top accent that appears on hover */
.card.feature, .role-card, .q-card { position: relative; overflow: hidden; }
.card.feature::after, .role-card::after, .q-card::after {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px;
  background: linear-gradient(90deg, #0073e3, #04ca7f, #67c743);
  transform: scaleX(0); transform-origin: left; transition: transform .6s var(--ease);
}
.card.feature:hover::after, .role-card:hover::after, .q-card:hover::after { transform: scaleX(1); }

/* ---------- Photos: crisp ring + deeper shadow ---------- */
.photo-frame, .bento-photo, .zero-feature, .cat-media, .audience-media, .ps-media { background: #e9eef6; }
.photo-frame { box-shadow: 0 30px 60px -28px rgba(0, 35, 89, .38), 0 0 0 1px rgba(0, 35, 89, .06); }

/* ---------- Buttons: fuller, more tactile ---------- */
.btn { font-weight: 700; letter-spacing: -.005em; }
.btn-primary { background: linear-gradient(135deg, #1a8cff 0%, #0073e3 45%, #0058b8 100%); box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 10px 24px -10px rgba(0, 115, 227, .75); }
.btn-primary:hover { box-shadow: 0 1px 0 rgba(255, 255, 255, .25) inset, 0 16px 32px -12px rgba(0, 115, 227, .85); }
.btn-outline { border-color: #cfd9e8; }

/* ---------- Header ---------- */
.brand-logo { height: 46px; }
.nav-link { font-weight: 600; color: #1d2d4f; }

/* ---------- Home details ---------- */
.role-card { padding: 28px; gap: 18px; }
.role-strip .tagline { margin-top: 28px; }
.q-card { padding: 22px 24px; }
.cat-body h3 { font-size: 1.06rem; }
.cat li { background: #f1f5fb; color: #25365a; }
.stat dt { font-size: clamp(2.2rem, 1.6rem + 2vw, 3rem); }
.zero-row strong, .audience-body h3 { color: var(--ink); }
.photo-steps { gap: 28px; }
.ps-body h3 { font-size: 1.35rem; }

/* ---------- Footer ---------- */
.site-footer { background: linear-gradient(180deg, #002359 0%, #001533 100%); }
.foot-h { color: #8df5c6; }
.site-footer a:hover { color: #fff; }

/* ---------- Mobile tuning ---------- */
@media (max-width: 640px) {
  body { font-size: 16px; }
  .section { padding: 36px 0; }
  .card.feature, .role-card { padding: 22px; }
  .eyebrow { font-size: .68rem; }
}
.hero-copy { max-width: 840px; }
.foot-logo { display: inline-block; margin-bottom: 16px; }
.foot-logo img { width: 220px; height: auto; display: block; }
@media (max-width: 640px) { .foot-logo img { width: 190px; } }

/* Mobile readability + comfortable tap targets */
@media (max-width: 767px) {
  .eyebrow { font-size: .75rem; letter-spacing: .1em; }
  .link-arrow { min-height: 44px; padding: 8px 0; }
  .services-foot .small a, .check a, .contact-side .link-arrow { display: inline-block; padding: 8px 0; }
  .related-head .link-arrow { padding: 10px 0; }
}
@media (max-width: 767px) { .dd-label { font-size: .75rem; } }
.zero-row .ic-tile.zr-ic { width: 58px; height: 58px; border-radius: 16px; }
.role-card-actions .btn { min-width: fit-content; }

/* Pages whose first section runs under the floating header need that space added back
   (these rules load last so page-level padding doesn't override them). */
.auth { padding-top: calc(clamp(28px, 5vw, 64px) + var(--header-h) + 28px); }
.notfound { padding-top: calc(clamp(56px, 8vw, 110px) + var(--header-h) + 28px); }
@media (min-width: 1000px) { .auth-intro { top: calc(var(--header-h) + 48px); } }

/* Readable line length on wide screens */
.measure, .role-card p { max-width: 72ch; }

/* ---- styles/pages/99-accent.css ---- */
/* =========================================================
   Heading accent words (<em> inside headings)
   Same bold typeface as the heading with a brand gradient fill.
   On dark / photo backgrounds a solid light tint (a gradient would
   let the readability text-shadow show through). Loaded last.
   ========================================================= */
:is(h1, h2, .h3x) em {
  font-family: inherit;
  font-style: normal;
  font-weight: 800;
  letter-spacing: inherit;
  color: var(--blue);
  background: linear-gradient(100deg, #1a8cff 0%, #0073e3 50%, #04ca7f 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

:is(.section.dark, .page-hero.has-bg, .app-card, .cta-band, .notfound, .hero) :is(h1, h2, .h3x) em,
.hero-title em .w > span {
  background: none;
  color: #6ff2bb;
  -webkit-text-fill-color: #6ff2bb;
}

/* taglines: drop the script look, keep them as clean emphasis lines */
.tagline, .foot-tagline, .letter figcaption {
  font-family: var(--font) !important;
  font-style: normal !important;
  font-weight: 700;
  letter-spacing: -.01em;
}
.role-strip .tagline { font-size: clamp(1.1rem, .95rem + .6vw, 1.4rem); color: var(--blue); }
.foot-tagline { font-size: 1rem !important; }

/* =========================================================
   Hero photo framing: keep heads in frame on wide, short heroes
   ========================================================= */
@keyframes kenburnsSoft { from { transform: scale(1.06); } to { transform: scale(1); } }
.ph-bg img { object-position: 50% 22%; transform-origin: 50% 20%; animation-name: kenburnsSoft; }
.hero-slide img { object-position: 55% 22%; transform-origin: 50% 20%; transform: scale(1.06); }
.hero-slide.is-active img { animation-name: kenburnsSoft; }
@media (max-width: 1099px) { .hero-slide img { object-position: 62% 18%; } }
@media (max-width: 767px) { .ph-bg img { object-position: 58% 15%; } }
