/* =========================================================
   ONE TOUCH RELOCATION — site redesign
   Design tokens + shared components
   v2: brand colors from logo, lighter background, single readable typeface
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,400;0,500;0,600;0,700;0,800;1,500&display=swap');

:root{
  color-scheme: light;
  --paper:        #faf8f3;
  --surface:      #f2ede3;
  --surface-hi:   #ffffff;
  --ink:          #262427;
  --ink-2:        #5c585d;
  --ink-3:        #8d898e;
  --line:         #e7e1d4;
  --line-strong:  #d8d0bd;

  --red:          #e41e26;
  --red-ink:      #ffffff;
  --red-wash:     #fcebec;
  --red-deep:     #b8151c;

  --charcoal:      #504d50;
  --charcoal-ink:  #ffffff;
  --charcoal-wash: #eeedee;

  --shadow: 0 1px 2px rgba(20,18,20,.05), 0 10px 26px -16px rgba(20,18,20,.14);
}

/* This site is intentionally always light, regardless of the visitor's
   device or browser theme setting. No dark mode is applied. */

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;
  font-size:17px;
  line-height:1.65;
  overflow-x:hidden;
}
@media (prefers-reduced-motion:reduce){ *{ animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }

h1,h2,h3,h4{ font-family:"Inter", ui-sans-serif, system-ui, sans-serif; font-weight:700; color:var(--ink); text-wrap:balance; margin:0; letter-spacing:-0.015em; }
a{ color:inherit; }
p{ margin:0 0 16px; max-width:62ch; }
.prose > *:last-child{ margin-bottom:0; }
img,svg{ display:block; max-width:100%; }
:focus-visible{ outline:2.5px solid var(--red); outline-offset:3px; border-radius:3px; }

.wrap{ max-width:1180px; margin:0 auto; padding:0 28px; }
.wrap-narrow{ max-width:800px; margin:0 auto; padding:0 28px; }

.eyebrow{
  font-size:13px;
  font-weight:600;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--red);
  display:inline-flex;
  align-items:center;
  gap:9px;
}
.eyebrow::before{ content:""; width:20px; height:2px; background:var(--red); display:inline-block; border-radius:2px; }
.eyebrow.teal{ color:var(--charcoal); } .eyebrow.teal::before{ background:var(--charcoal); }

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; gap:9px;
  font-size:14.5px; font-weight:600; letter-spacing:.005em;
  padding:13px 22px; border-radius:10px;
  text-decoration:none; border:1.5px solid transparent;
  cursor:pointer; white-space:nowrap;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}
.btn:hover{ transform:translateY(-1px); }
.btn-primary{ background:var(--red); color:var(--red-ink); }
.btn-primary:hover{ background:var(--red-deep); }
.btn-ghost{ background:transparent; border-color:var(--line-strong); color:var(--ink); }
.btn-ghost:hover{ border-color:var(--ink-3); }
.btn-arrow::after{ content:"→"; font-weight:700; }

/* ============ HEADER / NAV ============ */
.site-header{
  position:sticky; top:0; z-index:40;
  background:color-mix(in srgb, var(--paper) 94%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.site-header .bar{ display:flex; align-items:center; justify-content:space-between; padding:8px 28px; max-width:1180px; margin:0 auto; gap:20px; }
.wordmark{ display:flex; align-items:center; text-decoration:none; flex:none; }
.wordmark img{ height:72px; width:auto; display:block; }

nav.main-nav{ display:flex; align-items:center; gap:2px; flex:1; justify-content:center; flex-wrap:nowrap; }
nav.main-nav > a, nav.main-nav .has-dropdown > a{
  font-size:13.5px; font-weight:500; letter-spacing:.005em; white-space:nowrap;
  padding:9px 10px; border-radius:8px; text-decoration:none; color:var(--ink-2);
  cursor:pointer; list-style:none; display:flex; align-items:center; gap:6px;
}
nav.main-nav > a:hover, nav.main-nav .has-dropdown > a:hover{ color:var(--ink); background:var(--surface); }
nav.main-nav .has-dropdown > a::after{ content:"⌄"; font-size:11px; }
nav.main-nav .has-dropdown:hover > a::after, nav.main-nav .has-dropdown:focus-within > a::after{ content:"⌃"; }
nav.main-nav .has-dropdown{ position:relative; }
.dropdown{
  position:absolute; top:calc(100% + 10px); left:50%; transform:translateX(-50%);
  background:var(--surface-hi); border:1px solid var(--line); border-radius:14px;
  box-shadow:var(--shadow); padding:10px; min-width:280px; z-index:50;
  display:none;
}
nav.main-nav .has-dropdown:hover .dropdown, nav.main-nav .has-dropdown:focus-within .dropdown{ display:block; }
.dropdown::before{ content:""; position:absolute; top:-10px; left:0; right:0; height:10px; }
.dropdown .view-all{ display:block; margin-top:4px; padding:10px 12px; border-top:1px solid var(--line); font-size:13px; font-weight:600; color:var(--red); text-decoration:none; border-radius:9px; }
.dropdown .view-all:hover{ background:var(--surface); }
.dropdown a{
  display:flex; flex-direction:column; gap:1px; padding:10px 12px; border-radius:9px;
  text-decoration:none; color:var(--ink);
}
.dropdown a:hover{ background:var(--surface); }
.dropdown a .t{ font-weight:600; font-size:14px; }
.dropdown a .d{ font-size:12px; color:var(--ink-3); }
.header-cta{ display:flex; align-items:center; gap:10px; flex:none; }
.header-cta .tel{ font-size:13px; color:var(--ink-2); text-decoration:none; display:none; }
@media (min-width:860px){ .header-cta .tel{ display:inline; } }
@media (max-width:1060px){ nav.main-nav{ display:none; } }
@media (max-width:1060px) and (min-width:981px){ .header-cta .tel{ display:none; } }

/* ---- mobile menu (pure CSS, checkbox-driven) ---- */
.menu-toggle{ display:none; }
.hamburger{
  display:none; flex:none; width:40px; height:40px; border-radius:10px;
  border:1px solid var(--line-strong); background:var(--surface-hi);
  align-items:center; justify-content:center; cursor:pointer;
}
.hamburger span, .hamburger span::before, .hamburger span::after{
  content:""; display:block; width:18px; height:2px; background:var(--ink); position:relative; transition:transform .15s ease, opacity .15s ease;
}
.hamburger span::before{ position:absolute; top:-6px; }
.hamburger span::after{ position:absolute; top:6px; }
@media (max-width:1060px){ .hamburger{ display:flex; } }

.mobile-nav{
  display:none; flex-direction:column; gap:2px;
  max-width:1180px; margin:0 auto; padding:0 28px 18px;
}
.mobile-nav a, .mobile-nav .mn-group-label{
  font-size:14.5px; text-decoration:none; color:var(--ink);
  padding:12px 4px; border-top:1px solid var(--line);
}
.mobile-nav .mn-group-label{ color:var(--ink-3); font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; border-top:1px solid var(--line); padding-top:16px; font-weight:600; }
.mobile-nav a.sub{ padding-left:16px; color:var(--ink-2); }
.menu-toggle:checked ~ .mobile-nav{ display:flex; }
.menu-toggle:checked ~ .bar .hamburger span{ background:transparent; }
.menu-toggle:checked ~ .bar .hamburger span::before{ transform:rotate(45deg); top:0; }
.menu-toggle:checked ~ .bar .hamburger span::after{ transform:rotate(-45deg); top:0; }

/* ============ HERO ============ */
.hero{ position:relative; padding:60px 0 52px; border-bottom:1px solid var(--line); overflow:hidden; }
.hero-grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:48px; align-items:center; }
@media (max-width:900px){ .hero-grid{ grid-template-columns:1fr; } }
.hero h1{ font-size:clamp(32px,4.8vw,52px); line-height:1.08; margin-top:16px; }
.hero .dek{ margin-top:18px; font-size:18px; color:var(--ink-2); max-width:46ch; }
.hero .cta-row{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; }
.page-hero{ padding:44px 0 38px; border-bottom:1px solid var(--line); }
.page-hero h1{ font-size:clamp(28px,4.2vw,40px); margin-top:14px; max-width:22ch; }
.page-hero .dek{ margin-top:16px; font-size:16.5px; color:var(--ink-2); max-width:58ch; }

/* ============ INDIA MAP MOTIF (static, locations only) ============ */
.network{ position:relative; aspect-ratio:480/520; width:100%; max-width:380px; margin:0 auto; }
.network svg{ position:absolute; inset:0; width:100%; height:100%; }
.india-outline{ fill:var(--surface); stroke:var(--line-strong); stroke-width:1.5; }
.city-label{ font-size:10.5px; fill:var(--ink-2); font-family:"Inter",sans-serif; font-weight:500; }
.city-dot{ fill:var(--charcoal); }
.city-dot.hub{ fill:var(--red); }

/* ============ WORLD MAP MOTIF (flights arriving into India) ============ */
.world-network{ position:relative; aspect-ratio:900/420; width:100%; max-width:760px; margin:0 auto; }
.world-network svg{ position:absolute; inset:0; width:100%; height:100%; }
.world-outline{ fill:var(--surface); stroke:var(--line-strong); stroke-width:1; }
.city-label.origin{ font-size:11.5px; }
.city-dot.origin{ fill:var(--charcoal); }
.plane path{ fill:var(--red); }
@media (prefers-reduced-motion:reduce){ .plane{ display:none; } }

/* ============ SECTIONS ============ */
section{ padding:58px 0; border-bottom:1px solid var(--line); }
section:last-of-type{ border-bottom:none; }
section.tight{ padding:40px 0; }
section.on-surface{ background:var(--surface); }
.section-head{ max-width:62ch; margin-bottom:32px; }
.section-head h2{ font-size:clamp(24px,3.2vw,30px); margin-top:10px; }
.section-head .dek{ margin-top:12px; color:var(--ink-2); font-size:16px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }

/* ============ TRACK SPLIT (two-audience selector) ============ */
.track-split{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
@media (max-width:760px){ .track-split{ grid-template-columns:1fr; } }
.track-card{
  position:relative; border-radius:16px; padding:30px 26px; min-height:200px;
  display:flex; flex-direction:column; justify-content:flex-end; gap:9px;
  text-decoration:none; overflow:hidden; border:1px solid var(--line);
  transition:transform .18s ease;
}
.track-card:hover{ transform:translateY(-3px); }
.track-card.red{ background:var(--red); color:var(--red-ink); border-color:transparent; }
.track-card.teal{ background:var(--charcoal); color:var(--charcoal-ink); border-color:transparent; }
.track-card .tk-eyebrow{ font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; opacity:.82; }
.track-card h3{ color:inherit; font-size:24px; }
.track-card .tk-dek{ opacity:.9; font-size:14.5px; max-width:34ch; }
.track-card .tk-arrow{ position:absolute; top:24px; right:26px; font-size:20px; opacity:.75; }

/* ============ STAT ROW ============ */
.stat-row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.stat{ background:var(--surface-hi); padding:20px 18px; }
.stat .n{ font-size:28px; font-weight:800; color:var(--red); line-height:1.1; letter-spacing:-0.01em; }
.stat .n.long{ font-size:19px; letter-spacing:0; line-height:1.2; }
.stat .l{ margin-top:10px; font-size:13px; color:var(--ink-2); line-height:1.4; }

/* ============ PILLAR / SERVICE CARDS ============ */
.pillar-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
@media (max-width:980px){ .pillar-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .pillar-grid{ grid-template-columns:1fr; } }
.pillar{ background:var(--surface-hi); padding:24px 22px; display:flex; flex-direction:column; gap:9px; text-decoration:none; color:var(--ink); transition:background .15s ease; }
.pillar:hover{ background:var(--surface); }
.pillar .num{ font-size:12px; color:var(--ink-3); font-weight:600; }
.pillar h3{ font-size:16.5px; }
.pillar p{ font-size:13.5px; color:var(--ink-2); margin:0; }
.pillar .go{ margin-top:auto; font-size:12.5px; font-weight:600; color:var(--red); }
.pillar.featured{ background:var(--red-wash); }

/* ============ CITY GRID ============ */
.city-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:12px; overflow:hidden; }
@media (max-width:760px){ .city-grid{ grid-template-columns:repeat(2,1fr); } }
.city{ background:var(--surface-hi); padding:18px 18px; }
.city .name{ font-weight:600; font-size:15px; }
.city .tag{ font-size:11px; color:var(--charcoal); text-transform:uppercase; letter-spacing:.05em; margin-top:4px; font-weight:600; }
.city .d{ font-size:13px; color:var(--ink-2); margin-top:7px; }

/* ============ TESTIMONIALS ============ */
.quote-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
@media (max-width:760px){ .quote-grid{ grid-template-columns:1fr; } }
.quote-card{ background:var(--surface-hi); border:1px solid var(--line); border-radius:14px; padding:24px 22px; display:flex; flex-direction:column; gap:14px; }
.quote-card .q{ font-size:16px; font-weight:500; line-height:1.45; color:var(--ink); }
.quote-card .who{ font-size:12px; color:var(--ink-3); text-transform:uppercase; letter-spacing:.03em; font-weight:600; }

/* ============ CLIENT WORDMARK STRIP ============ */
.client-strip{ display:flex; flex-wrap:wrap; gap:14px 32px; align-items:center; }
.client-strip span{ font-weight:700; font-size:15px; color:var(--ink-3); letter-spacing:.01em; }

/* ============ CLIENT LOGO GRID ============ */
.logo-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:14px; }
.logo-tile{ background:var(--surface-hi); border:1px solid var(--line); border-radius:12px; padding:16px; min-height:80px; display:flex; align-items:center; justify-content:center; }
.logo-tile img{ max-width:100%; max-height:42px; width:auto; height:auto; object-fit:contain; }
.logo-note{ margin-top:16px; font-size:13px; color:var(--ink-3); }

/* ============ TIMELINE / PROCESS ============ */
.process{ display:flex; flex-direction:column; }
.p-step{ display:grid; grid-template-columns:56px 1fr; gap:18px; padding:20px 0; border-top:1px solid var(--line); }
.p-step:first-child{ border-top:none; }
.p-step .idx{ font-size:22px; font-weight:800; color:var(--line-strong); }
.p-step h4{ font-size:16px; }
.p-step p{ margin-top:6px; font-size:14px; color:var(--ink-2); }

/* ============ FINDING / DETAIL BLOCKS (service pages) ============ */
.detail-grid{ display:flex; flex-direction:column; gap:26px; }
.detail{ display:grid; grid-template-columns:190px 1fr; gap:24px; padding-bottom:26px; border-bottom:1px solid var(--line); }
.detail:last-child{ border-bottom:none; padding-bottom:0; }
@media (max-width:700px){ .detail{ grid-template-columns:1fr; gap:10px; } }
.detail .label{ font-size:12px; font-weight:600; letter-spacing:.04em; color:var(--charcoal); text-transform:uppercase; }
.detail h3{ font-size:18px; margin-top:4px; }
.detail .body p{ font-size:15px; color:var(--ink-2); }
.detail .body ul{ margin:10px 0 0; padding-left:18px; color:var(--ink-2); font-size:14.5px; display:flex; flex-direction:column; gap:6px; }
.detail .body ul li::marker{ color:var(--red); }

/* ============ CTA BAND ============ */
.cta-band{ background:var(--surface); border:1px solid var(--line); color:var(--ink); border-radius:18px; padding:46px 40px; display:flex; align-items:center; justify-content:space-between; gap:28px; flex-wrap:wrap; }
.cta-band h2{ color:inherit; font-size:clamp(21px,2.8vw,27px); max-width:16ch; }
.cta-band .dek{ color:var(--ink-2); margin-top:8px; max-width:40ch; font-size:14.5px; }
.cta-band .btn-primary{ background:var(--red); }

/* ============ FOOTER ============ */
footer.site-footer{ padding:50px 0 34px; }
.foot-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:32px; }
@media (max-width:760px){ .foot-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .foot-grid{ grid-template-columns:1fr; } }
.foot-col h5{ font-size:11.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-3); margin-bottom:14px; font-weight:700; }
.foot-col a{ display:block; text-decoration:none; color:var(--ink-2); font-size:14px; padding:4px 0; }
.foot-col a:hover{ color:var(--ink); }
.foot-col p{ font-size:14px; color:var(--ink-2); margin-bottom:6px; }
.foot-col img{ height:96px; width:auto; margin-bottom:12px; }
.foot-bottom{ margin-top:36px; padding-top:20px; border-top:1px solid var(--line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12.5px; color:var(--ink-3); }

/* ============ FORM MOCK (contact) ============ */
.form-mock{ background:var(--surface-hi); border:1px solid var(--line); border-radius:16px; padding:26px; display:flex; flex-direction:column; gap:14px; }
.form-mock label{ font-size:11.5px; font-weight:600; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-3); display:block; margin-bottom:6px; }
.form-mock input, .form-mock textarea, .form-mock select{
  width:100%; border:1px solid var(--line-strong); background:var(--paper); color:var(--ink);
  border-radius:9px; padding:11px 13px; font-family:inherit; font-size:14.5px;
}
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
@media (max-width:520px){ .form-row{ grid-template-columns:1fr; } }

/* ============ PULL-QUOTE BAND ============ */
.quote-band{ background:var(--surface); }
.quote-band blockquote{
  margin:0; font-weight:600;
  font-size:clamp(21px,3.1vw,28px); line-height:1.4; color:var(--ink);
  max-width:30ch; text-wrap:balance;
}
.quote-band .attr{ margin-top:20px; font-size:13px; color:var(--ink-3); font-weight:500; }
.quote-band .mark{ color:var(--red); font-size:40px; line-height:0; position:relative; top:16px; font-weight:800; }

/* ============ FAQ ACCORDION ============ */
.faq{ display:flex; flex-direction:column; border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); padding:4px 0; }
.faq summary{
  list-style:none; cursor:pointer; padding:18px 2px; display:flex; justify-content:space-between; align-items:center; gap:20px;
  font-weight:600; font-size:16px; color:var(--ink);
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:19px; color:var(--red); flex:none; transition:transform .15s ease; font-weight:400; }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq .a{ padding:0 2px 20px; color:var(--ink-2); font-size:14.5px; max-width:64ch; }

/* ============ NAMED-PERSON CARDS (about page) ============ */
.team-wrap{ display:flex; flex-direction:column; gap:18px; }

/* Featured profile (Raj): photo + full bio */
.person-featured{
  display:grid; grid-template-columns:230px 1fr; gap:32px; align-items:start;
  background:var(--surface-hi); border:1px solid var(--line); border-radius:16px; padding:30px;
}
@media (max-width:700px){ .person-featured{ grid-template-columns:1fr; } }
.person-featured .pf-photo{ width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:12px; display:block; background:var(--surface); }
@media (max-width:700px){ .person-featured .pf-photo{ max-width:230px; margin:0 auto; } }
.person-featured .pf-badge{ display:inline-block; font-size:11px; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:.05em; background:var(--red-wash); padding:4px 10px; border-radius:20px; margin-bottom:10px; }
.person-featured .pname{ font-weight:700; font-size:21px; }
.person-featured .prole{ font-size:13px; color:var(--charcoal); text-transform:uppercase; letter-spacing:.03em; margin-top:4px; font-weight:600; }
.person-featured .pf-bio p{ margin-top:12px; font-size:14.5px; color:var(--ink-2); line-height:1.6; }
.person-featured .pmail{ margin-top:14px; font-size:13px; color:var(--ink-2); text-decoration:none; display:inline-block; }

/* Smaller, photo-less cards (Pradeep, Tanya) */
.person-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
@media (max-width:620px){ .person-grid{ grid-template-columns:1fr; } }
.person{ background:var(--surface-hi); padding:24px 22px; }
.person .initial{ width:42px; height:42px; border-radius:50%; background:var(--red-wash); color:var(--red); display:flex; align-items:center; justify-content:center; font-weight:700; font-size:15px; }
.person .pname{ margin-top:14px; font-weight:700; font-size:15.5px; }
.person .prole{ font-size:12px; color:var(--charcoal); text-transform:uppercase; letter-spacing:.03em; margin-top:3px; font-weight:600; }
.person .pmail{ margin-top:12px; font-size:13px; color:var(--ink-2); text-decoration:none; display:block; }

/* ============ STORY (about page) ============ */
.story{ display:flex; flex-direction:column; gap:0; }

/* ============ MISC ============ */
.pill-tag{ display:inline-flex; align-items:center; gap:6px; font-size:11.5px; font-weight:600; padding:5px 11px; border-radius:999px; background:var(--charcoal-wash); color:var(--charcoal); }
.lede{ font-size:18px; color:var(--ink-2); max-width:58ch; }
.two-col{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
@media (max-width:820px){ .two-col{ grid-template-columns:1fr; } }
.badge-row{ display:flex; gap:10px; flex-wrap:wrap; margin-top:18px; }
.badge{ font-size:12.5px; font-weight:500; padding:6px 12px; border:1px solid var(--line-strong); border-radius:999px; color:var(--ink-2); }

/* ============ WHATSAPP FLOAT ============ */
.wa-float{
  position:fixed; right:22px; bottom:22px; z-index:500;
  width:58px; height:58px; border-radius:50%;
  background:#25D366; color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 20px rgba(0,0,0,.22);
  transition:transform .15s ease, box-shadow .15s ease;
}
.wa-float svg{ width:30px; height:30px; }
.wa-float:hover{ transform:scale(1.07); box-shadow:0 8px 26px rgba(0,0,0,.28); }
@media (max-width:620px){
  .wa-float{ right:16px; bottom:16px; width:52px; height:52px; }
  .wa-float svg{ width:27px; height:27px; }
}

/* ============ SERVICE FINDER (homepage quiz) ============ */
.finder-box{
  max-width:480px; margin:0 auto; background:var(--surface-hi);
  border:1px solid var(--line); border-radius:14px; padding:22px 22px;
  box-shadow:var(--shadow);
}
.finder-step{ display:flex; flex-direction:column; gap:13px; }
.finder-q{ font-size:15px; font-weight:600; text-align:center; }
.finder-opts{ display:flex; flex-direction:column; gap:7px; }
.finder-opt{
  font-family:inherit; text-align:left; font-size:13px; font-weight:500;
  color:var(--ink); background:var(--surface); border:1px solid var(--line-strong);
  border-radius:9px; padding:10px 14px; cursor:pointer; transition:background .15s ease, border-color .15s ease;
}
.finder-opt:hover{ background:var(--red-wash); border-color:var(--red); }
.finder-result{ text-align:center; align-items:center; }
.finder-tag{
  font-size:10px; font-weight:700; color:var(--red); text-transform:uppercase;
  letter-spacing:.06em; background:var(--red-wash); padding:4px 10px; border-radius:20px;
}
.finder-result h3{ font-size:17px; margin:0; }
.finder-result p{ color:var(--ink-2); font-size:13px; max-width:40ch; margin:0; }
.finder-result-actions{ display:flex; gap:10px; flex-wrap:wrap; justify-content:center; margin-top:2px; }
.finder-result-actions .btn{ padding:10px 16px; font-size:13.5px; }
.finder-foot{ display:flex; justify-content:space-between; margin-top:2px; }
.finder-back, .finder-restart{
  font-family:inherit; background:none; border:none; cursor:pointer;
  font-size:12px; font-weight:600; color:var(--ink-3); padding:4px 2px;
}
.finder-back:hover, .finder-restart:hover{ color:var(--red); }
.finder-restart{ margin:0 auto; }
@media (max-width:620px){
  .finder-box{ padding:18px 16px; }
  .finder-q{ font-size:14.5px; }
}

/* ============ INSIGHTS / BLOG ============ */
.insight-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.insight-grid.related{ grid-template-columns:repeat(3,1fr); }
@media (max-width:760px){ .insight-grid{ grid-template-columns:1fr; } .insight-grid.related{ grid-template-columns:1fr; } }
.insight-card{ background:var(--surface-hi); padding:28px 26px; display:flex; flex-direction:column; gap:10px; text-decoration:none; color:var(--ink); transition:background .15s ease; }
.insight-card:hover{ background:var(--surface); }
.insight-card .cat{ font-size:11.5px; font-weight:700; color:var(--red); text-transform:uppercase; letter-spacing:.05em; }
.insight-card h3{ font-size:19px; margin-top:2px; }
.insight-card p{ font-size:14.5px; color:var(--ink-2); margin:0; }
.insight-card .meta{ margin-top:auto; padding-top:6px; font-size:12px; color:var(--ink-3); }
.insight-card .go{ font-size:12.5px; font-weight:600; color:var(--red); }

.article-meta{ display:flex; gap:14px; flex-wrap:wrap; align-items:center; margin-top:16px; font-size:13px; color:var(--ink-3); }
.article-meta .cat-tag{ font-size:11px; font-weight:700; color:var(--red); background:var(--red-wash); padding:4px 10px; border-radius:20px; text-transform:uppercase; letter-spacing:.05em; }

.article-body{ max-width:72ch; }
.article-body h2{ font-size:clamp(21px,2.6vw,25px); margin-top:40px; margin-bottom:14px; }
.article-body h2:first-child{ margin-top:0; }
.article-body h3{ font-size:18px; margin-top:26px; margin-bottom:10px; }
.article-body p{ max-width:none; }
.article-body ul, .article-body ol{ margin:0 0 16px; padding-left:22px; color:var(--ink); }
.article-body li{ margin-bottom:8px; max-width:62ch; }
.article-body li:last-child{ margin-bottom:0; }
.article-body strong{ font-weight:700; }
.article-body .pull{ border-left:3px solid var(--red); padding-left:18px; margin:28px 0; font-size:18.5px; font-weight:500; color:var(--ink); max-width:56ch; }
.article-body .note{ background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:16px 18px; font-size:14.5px; color:var(--ink-2); margin:0 0 16px; }
.article-body .note strong{ color:var(--ink); }
