/* ==========================================================================
   Venture Revenue — stylesheet
   Fonts: Bricolage Grotesque (display) + Work Sans (body) + Tektur (logo
   mark only), all bundled locally under assets/fonts/ (SIL Open Font
   License — see the accompanying *-OFL.txt files)
   ========================================================================== */

@font-face{font-family:'Bricolage Grotesque';src:url('../fonts/BricolageGrotesque-Variable.ttf') format('truetype-variations');font-weight:200 800;font-style:normal;font-display:swap;}
@font-face{font-family:'Work Sans';src:url('../fonts/WorkSans-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Work Sans';src:url('../fonts/WorkSans-Italic.ttf') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'Tektur';src:url('../fonts/Tektur-Variable.ttf') format('truetype-variations');font-weight:400 900;font-style:normal;font-display:swap;}

:root{
  --navy-950:#0a1130;
  --navy-900:#0f1b45;
  --navy-800:#152352;
  --navy-700:#1c2e66;
  --navy-600:#2a3f80;
  --blue-600:#2b62d9;
  --blue-500:#3d7ce8;
  --blue-400:#7bb0f0;
  --blue-100:#e4edfc;

  --bg:#ffffff;
  --bg-soft:#f5f6fb;
  --bg-soft-2:#eef0f8;
  --surface:#ffffff;
  --text:#0e1330;
  --text-muted:#5b6178;
  --text-on-navy:#eef0fb;
  --text-on-navy-muted:#a9b0d0;
  --border:#e3e5f0;
  --border-on-navy:rgba(255,255,255,0.12);

  --navy:var(--navy-900);
  --navy-deep:var(--navy-950);
  --blue:var(--blue-500);

  --shadow-sm:0 2px 8px rgba(15,27,69,0.06);
  --shadow-md:0 12px 32px rgba(15,27,69,0.10);
  --shadow-lg:0 24px 60px rgba(15,27,69,0.16);

  --radius-sm:12px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-pill:999px;

  --font-display:'Bricolage Grotesque',-apple-system,'Segoe UI',sans-serif;
  --font-body:'Work Sans',-apple-system,'Segoe UI',sans-serif;
  --font-logo:'Tektur','Bricolage Grotesque',sans-serif;

  --maxw:1280px;
  color-scheme:light;
}

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:400;
  margin:0;
  color:var(--text);
  text-wrap:balance;
  letter-spacing:-0.01em;
}
p{margin:0;}
:focus-visible{outline:2.5px solid var(--blue-500);outline-offset:3px;border-radius:4px;}
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 20px;}}

/* Rounded, inset "panel" sections — sit on the white page with a visible
   gutter on both sides instead of running edge-to-edge. */
.panel-shell{padding:56px 0;}
.panel{
  background:var(--navy-900);color:var(--text-on-navy);
  border-radius:36px;padding:72px 56px;
}
@media (max-width:900px){.panel{padding:56px 32px;border-radius:28px;}}
@media (max-width:640px){.panel-shell{padding:40px 0;}.panel{padding:44px 22px;border-radius:22px;}}

.accent{color:var(--blue-500);}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-body);
  font-size:12.5px;font-weight:400;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--blue-600);
}
.eyebrow::before{
  content:"";width:7px;height:7px;border-radius:50%;
  background:var(--blue-500);flex:none;
}
.eyebrow.on-navy{color:var(--blue-400);}
.eyebrow.on-navy::before{background:var(--blue-400);}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 26px;border-radius:var(--radius-pill);
  font-family:var(--font-body);font-weight:400;font-size:15px;
  border:1.5px solid transparent;white-space:nowrap;
  transition:transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--blue-500);color:#fff;box-shadow:0 10px 24px rgba(61,124,232,0.28);}
.btn-primary:hover{background:var(--blue-600);box-shadow:0 14px 30px rgba(43,98,217,0.36);}
.btn-navy{background:var(--navy-900);color:#fff;}
.btn-navy:hover{background:var(--navy-800);}
.btn-outline{background:transparent;color:var(--text);border-color:var(--border);}
.btn-outline:hover{border-color:var(--navy-900);}
.btn-outline.on-navy{color:#fff;border-color:var(--border-on-navy);}
.btn-outline.on-navy:hover{border-color:#fff;}
.btn-ghost-white{background:#fff;color:var(--navy-900);}
.btn-ghost-white:hover{background:var(--blue-100);}
.btn-sm{padding:10px 18px;font-size:13.5px;}

.arrow-btn{
  width:46px;height:46px;border-radius:50%;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--blue-500);color:#fff;border:none;
  transition:transform 220ms cubic-bezier(.2,.8,.2,1), background-color 220ms ease;
}
.arrow-btn svg{width:18px;height:18px;}
:is(a,button):hover > .arrow-btn,.arrow-btn:hover{transform:rotate(45deg);background:var(--navy-900);}


/* ================= HEADER ================= */
/* "Liquid glass" floating pill — translucent + blurred so it always shows
   a frosted version of whatever scrolls underneath it. header.js toggles
   .on-dark on <header> when a navy panel is passing behind the pill, which
   swaps the custom properties below so the glass, text and buttons all
   flip from light-on-white to light-text-on-dark automatically. */
header{position:sticky;top:16px;z-index:50;}
.header-pill{
  position:relative;
  --hp-bg:rgba(255,255,255,0.55);
  --hp-border:rgba(15,27,69,0.10);
  --hp-text:var(--navy-900);
  --hp-text-muted:var(--text-muted);
  --hp-hover-bg:rgba(15,27,69,0.06);
  --hp-chip-bg:rgba(15,27,69,0.05);
  --hp-chip-border:rgba(15,27,69,0.12);
  --hp-cta-bg:var(--navy-900);
  --hp-cta-text:#fff;
  --hp-highlight:rgba(255,255,255,0.7);
  --hp-shadow:0 1px 2px rgba(15,27,69,0.06), 0 12px 28px rgba(15,27,69,0.10);

  background:var(--hp-bg);
  border:1px solid var(--hp-border);
  border-radius:999px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:8px 8px 8px 22px;
  backdrop-filter:blur(20px) saturate(180%);
  -webkit-backdrop-filter:blur(20px) saturate(180%);
  box-shadow:inset 0 1px 0 var(--hp-highlight), var(--hp-shadow);
  color:var(--hp-text);
  transition:background-color 480ms ease, border-color 480ms ease, box-shadow 480ms ease, color 480ms ease;
}
header.on-dark .header-pill{
  --hp-bg:rgba(10,17,48,0.5);
  --hp-border:rgba(255,255,255,0.14);
  --hp-text:#fff;
  --hp-text-muted:var(--text-on-navy-muted);
  --hp-hover-bg:rgba(255,255,255,0.10);
  --hp-chip-bg:rgba(255,255,255,0.10);
  --hp-chip-border:rgba(255,255,255,0.18);
  --hp-cta-bg:#fff;
  --hp-cta-text:var(--navy-900);
  --hp-highlight:rgba(255,255,255,0.18);
  --hp-shadow:0 1px 2px rgba(0,0,0,0.2), 0 12px 28px rgba(0,0,0,0.3);
}

.logo{
  font-family:var(--font-logo);font-weight:700;
  font-size:21px;letter-spacing:0.06em;padding:0 2px;
  color:var(--hp-text);text-shadow:0 0 20px rgba(61,124,232,0.35);
}

nav.primary-nav{display:flex;align-items:center;gap:2px;}
nav.primary-nav a{
  padding:10px 16px;border-radius:999px;
  font-size:14px;font-weight:400;color:var(--hp-text-muted);
  transition:color 160ms ease, background-color 160ms ease;
}
nav.primary-nav a:hover{color:var(--hp-text);background:var(--hp-hover-bg);}

.header-actions{display:flex;align-items:center;gap:8px;}
.header-cta{
  padding:11px 22px;font-size:14px;
  background:var(--hp-cta-bg);color:var(--hp-cta-text);
  transition:background-color 480ms ease, color 480ms ease, transform 180ms ease, box-shadow 180ms ease;
}
.nav-mobile-actions{display:none;}
.icon-btn{
  width:40px;height:40px;border-radius:50%;flex:none;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--hp-chip-bg);color:var(--hp-text);border:1px solid var(--hp-chip-border);
  transition:background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.icon-btn:hover{background:var(--blue-500);border-color:var(--blue-500);color:#fff;}
.icon-btn svg{width:17px;height:17px;}
.menu-toggle{
  display:none;width:40px;height:40px;border-radius:50%;
  align-items:center;justify-content:center;
  background:var(--hp-chip-bg);border:1px solid var(--hp-chip-border);color:var(--hp-text);
}
.menu-toggle svg{width:19px;height:19px;}

@media (max-width:960px){
  nav.primary-nav{
    display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;
    background:var(--surface);border-radius:20px;box-shadow:var(--shadow-lg);
    flex-direction:column;align-items:stretch;gap:2px;padding:10px;
    max-height:calc(100vh - 100px);overflow-y:auto;
  }
  nav.primary-nav.open{display:flex;}
  nav.primary-nav a{padding:12px 16px;width:100%;border-radius:12px;color:var(--text);}
  nav.primary-nav a:hover{background:var(--bg-soft);color:var(--text);}
  .menu-toggle{display:inline-flex;}
}

/* Small phones: the logo + phone icon + CTA + hamburger no longer fit on
   one row, so drop the phone/CTA from the pill and surface them inside
   the dropdown instead. */
@media (max-width:480px){
  .icon-btn{display:none;}
  .header-actions .header-cta{display:none;}
  nav.primary-nav .nav-mobile-actions{
    display:flex;flex-direction:column;gap:10px;
    margin-top:8px;padding:14px 16px 4px;border-top:1px solid var(--border);
  }
  nav.primary-nav .nav-mobile-actions .nav-mobile-phone{
    display:flex;align-items:center;gap:10px;
    font-size:14.5px;font-weight:400;color:var(--text);
  }
  nav.primary-nav .nav-mobile-actions .nav-mobile-phone svg{width:17px;height:17px;flex:none;color:var(--blue-500);}
  nav.primary-nav .nav-mobile-actions .btn{width:100%;}
}

/* ================= HERO ================= */
.hero{background:var(--bg);}
.hero-top{
  display:flex;align-items:center;justify-content:space-between;
  gap:40px;flex-wrap:wrap;padding:56px 0 44px;
}
.hero-top h1{
  flex:1 1 480px;max-width:660px;
  font-size:clamp(2.4rem, 4.4vw, 3.6rem);line-height:1.08;
}
.hero-cta{flex:0 0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.btn-pair{display:flex;align-items:center;gap:8px;}
.arrow-btn-navy{background:var(--navy-900);}
:is(a,button):hover > .arrow-btn-navy,.arrow-btn-navy:hover{background:var(--blue-500);}

.hero-photo-bleed{
  position:relative;width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
}
.hero-photo{width:100%;aspect-ratio:2.5/1;object-fit:cover;}

.hero-stats{margin-top:-70px;position:relative;z-index:2;padding-bottom:56px;}
.hero-stats-row{
  display:grid;
  grid-template-columns:minmax(140px,1fr) minmax(190px,1.35fr) minmax(90px,0.7fr) minmax(210px,1.5fr) minmax(210px,1.5fr);
  gap:18px;align-items:stretch;
}

.stat-explore{
  background:rgba(255,255,255,0.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-radius:var(--radius-md);padding:22px;
  display:flex;flex-direction:column;justify-content:center;gap:10px;
}
.stat-explore-title{font-family:var(--font-display);font-weight:400;font-size:24px;color:var(--text);}
.stat-explore-link{
  display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:400;color:var(--text-muted);width:fit-content;
}
.stat-explore-link svg{width:12px;height:12px;}

.stat-card{
  background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:20px;
  box-shadow:var(--shadow-md);
  display:flex;flex-direction:column;gap:10px;
}
.stat-icon{
  width:36px;height:36px;border-radius:10px;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:var(--bg-soft-2);color:var(--navy-900);
}
.stat-icon svg{width:18px;height:18px;}
.stat-label{font-size:13px;color:var(--text-muted);font-weight:400;}
.stat-num{font-family:var(--font-display);font-weight:400;font-size:26px;line-height:1.1;color:var(--text);}
.stat-num-row{display:flex;align-items:center;justify-content:space-between;gap:10px;}

.stat-decorative{
  background:var(--navy-900);border-radius:var(--radius-md);
  color:var(--blue-400);display:flex;align-items:center;justify-content:center;padding:20px;
}
.stat-decorative-mark{
  display:block;width:100%;min-height:2.8em;
  font-family:var(--font-display);font-weight:500;
  font-size:18px;line-height:1.4;letter-spacing:0.02em;
  color:#fff;text-align:center;
}

.avatar-cluster{display:flex;}
.avatar-cluster img{
  width:26px;height:26px;border-radius:50%;border:2px solid var(--surface);
  object-fit:cover;background:var(--bg-soft-2);margin-left:-8px;
}
.avatar-cluster img:first-child{margin-left:0;}

@media (max-width:1100px){
  .hero-photo{aspect-ratio:16/10;}
  .hero-stats-row{grid-template-columns:repeat(2,1fr);}
  .stat-decorative{display:none;}
  .hero-stats{margin-top:24px;}
}
@media (max-width:640px){.hero-top{padding:40px 0 32px;gap:24px;}}
@media (max-width:560px){.hero-stats-row{grid-template-columns:1fr;}}

/* ================= INTRO ================= */
.intro{padding:96px 0;background:var(--bg);}
.intro-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:end;}
.intro h2{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.16;}
.intro-side p{color:var(--text-muted);font-size:15.5px;}
.intro-side{display:flex;flex-direction:column;gap:22px;align-items:flex-start;}
@media (max-width:800px){.intro-grid{grid-template-columns:1fr;}.intro-side{align-items:flex-start;}}

/* ================= SERVICES ================= */
.services-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px;flex-wrap:wrap;}
.services-head h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.6rem);max-width:600px;}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.service-card{
  background:rgba(255,255,255,0.05);
  border:1px solid var(--border-on-navy);
  border-radius:var(--radius-md);
  padding:22px;display:flex;flex-direction:column;gap:34px;
  transition:transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}
.service-card:hover{transform:translateY(-6px);background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.24);}
.service-tile{
  width:100%;aspect-ratio:16/11;border-radius:16px;
  display:flex;align-items:center;justify-content:center;
  background:var(--navy-600);
}
.service-tile svg{width:34px;height:34px;color:#fff;}
.service-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;}
.service-foot h3{color:#fff;font-size:16.5px;line-height:1.28;font-weight:400;font-family:var(--font-display);}

@media (max-width:980px){.services-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.services-grid{grid-template-columns:1fr;}}

/* ================= VALUES ================= */
.values{padding:104px 0;text-align:center;}
.values-head{max-width:680px;margin:0 auto 56px;}
.values-head .eyebrow{justify-content:center;margin-bottom:16px;}
.values-head h2{font-size:clamp(1.9rem,3.4vw,2.7rem);line-height:1.18;}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;text-align:left;}
.value-card{padding:28px 6px 0;border-top:1.5px solid var(--border);}
.value-icon{
  width:52px;height:52px;border-radius:14px;margin-bottom:22px;
  background:var(--bg-soft-2);display:flex;align-items:center;justify-content:center;
  color:var(--navy-900);
}
.value-icon svg{width:24px;height:24px;}
.value-card h3{font-size:18px;margin-bottom:10px;}
.value-card p{color:var(--text-muted);font-size:14.5px;}
@media (max-width:900px){.values-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.values-grid{grid-template-columns:1fr;}}

/* ================= GET / SHOWCASE ================= */
.showcase{position:relative;padding:0 0 104px;}
.showcase-photo{position:relative;border-radius:var(--radius-lg);aspect-ratio:16/8;overflow:hidden;}
.floating-card{
  position:absolute;left:6%;background:var(--surface);
  border-radius:var(--radius-md);padding:18px 22px;
  box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:14px;
  max-width:280px;border:1px solid var(--border);
}
.floating-card.fc-1{top:12%;}
.floating-card.fc-2{top:38%;left:auto;right:6%;background:var(--navy-900);color:#fff;border:none;}
.floating-card .fc-icon{
  width:42px;height:42px;border-radius:50%;flex:none;
  background:var(--blue-500);display:flex;align-items:center;justify-content:center;color:#fff;
}
.floating-card.fc-2 .fc-icon{background:#fff;color:var(--navy-900);}
.floating-card .fc-icon svg{width:19px;height:19px;}
.floating-card .fc-title{font-family:var(--font-display);font-weight:400;font-size:15px;}
.floating-card .fc-sub{font-size:12.5px;color:var(--text-muted);margin-top:2px;}
.floating-card.fc-2 .fc-sub{color:var(--text-on-navy-muted);}
@media (max-width:700px){
  /* A fixed aspect-ratio box with overflow:hidden can't grow to fit the
     cards once they drop out of absolute positioning — let it size to
     content instead so nothing gets clipped. */
  .showcase-photo{
    aspect-ratio:auto;overflow:visible;padding:36px 20px;
    display:flex;flex-direction:column;gap:18px;
  }
  .floating-card{position:static;max-width:360px;width:100%;margin:0;}
}

/* ================= TRUST SPLIT ================= */
.trust{padding:0 0 104px;}
.trust-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:24px;}
.trust-photo{width:100%;border-radius:var(--radius-lg);aspect-ratio:5/4.4;object-fit:cover;}
.trust-panel{
  background:var(--navy-900);border-radius:var(--radius-lg);
  padding:44px 40px;color:#fff;display:flex;flex-direction:column;justify-content:center;gap:18px;
}
.trust-panel .eyebrow{color:var(--blue-400);}
.trust-panel h2{color:#fff;font-size:clamp(1.6rem,2.6vw,2.1rem);line-height:1.2;}
.trust-panel p{color:var(--text-on-navy-muted);font-size:15px;}
@media (max-width:860px){.trust-grid{grid-template-columns:1fr;}}
@media (max-width:560px){.trust-panel{padding:32px 26px;}}

/* ================= TESTIMONIALS ================= */
.testimonials{padding:0 0 104px;}
.testi-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:48px;align-items:center;}
.testi-copy h2{font-size:clamp(1.9rem,3.2vw,2.6rem);line-height:1.18;margin-top:16px;}
.testi-actions{display:flex;align-items:center;gap:18px;margin-top:28px;flex-wrap:wrap;}
.rating-pill{
  display:inline-flex;align-items:center;gap:8px;padding:9px 16px;
  border-radius:var(--radius-pill);background:var(--bg-soft-2);
  font-size:13.5px;font-weight:400;
}
.rating-pill svg{width:15px;height:15px;color:var(--blue-500);}

.testi-card{
  background:var(--navy-900);color:#fff;border-radius:var(--radius-lg);
  padding:42px;position:relative;
}
.testi-quote-mark{font-family:var(--font-display);font-size:64px;line-height:1;color:var(--blue-400);margin-bottom:6px;}
.testi-card p.quote{font-size:19px;line-height:1.55;color:#fff;font-family:var(--font-display);font-weight:300;}
.testi-person{display:flex;align-items:center;gap:14px;margin-top:30px;}
.testi-avatar{
  width:52px;height:52px;border-radius:50%;flex:none;
  object-fit:cover;background:var(--navy-700);
}
.testi-name{font-weight:400;font-size:15px;}
.testi-role{font-size:13px;color:var(--text-on-navy-muted);}
.testi-stars{display:flex;gap:3px;margin-top:6px;}
.testi-stars svg{width:14px;height:14px;color:var(--blue-400);}
@media (max-width:900px){.testi-grid{grid-template-columns:1fr;}}
@media (max-width:560px){.testi-card{padding:28px;}}

/* ================= CONTACT ================= */
.contact-grid{display:grid;grid-template-columns:1.15fr 0.85fr;gap:44px;align-items:stretch;}
.contact-head h2{color:#fff;font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.18;margin-top:16px;}
.contact-head p{color:var(--text-on-navy-muted);margin-top:14px;max-width:420px;font-size:15px;}
.contact-form{
  background:var(--surface);color:var(--text);border-radius:var(--radius-lg);
  padding:36px;margin-top:28px;box-shadow:var(--shadow-lg);
}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field label{font-size:12.5px;font-weight:400;color:var(--text-muted);}
.field input,.field select,.field textarea{
  border:1.5px solid var(--border);border-radius:12px;padding:13px 14px;
  font-family:var(--font-body);font-size:14.5px;background:var(--bg-soft);color:var(--text);
  transition:border-color 160ms ease;
}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue-500);outline:none;}
.field.full{grid-column:1/-1;}
.captcha-row{display:flex;gap:12px;align-items:center;}
.captcha-box{
  flex:1;background:var(--bg-soft-2);border-radius:10px;padding:12px 16px;
  font-family:var(--font-display);letter-spacing:0.3em;font-weight:400;font-size:14px;color:var(--text-muted);
}
.contact-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:280px;}
.contact-card-float{
  position:absolute;bottom:22px;left:22px;right:22px;
  background:var(--surface);color:var(--text);border-radius:var(--radius-md);
  padding:18px 20px;display:flex;align-items:center;gap:14px;box-shadow:var(--shadow-lg);
}
.contact-card-float .fc-icon{background:var(--blue-500);color:#fff;width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;}
.contact-card-float .fc-icon svg{width:19px;height:19px;}
@media (max-width:900px){.contact-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}}
@media (max-width:640px){.contact-form{padding:22px;}}
@media (max-width:480px){.captcha-row{flex-direction:column;align-items:stretch;}}

/* ================= FAQ ================= */
.faq{padding:104px 0;}
.faq-grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:56px;}
.faq-copy h2{font-size:clamp(1.9rem,3.2vw,2.5rem);line-height:1.2;margin-top:16px;}
.faq-copy p{color:var(--text-muted);margin-top:16px;max-width:380px;font-size:15px;}
.faq-copy .btn{margin-top:28px;}
.faq-item{border-bottom:1.5px solid var(--border);padding:22px 0;}
.faq-q{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  cursor:pointer;font-family:var(--font-display);font-weight:400;font-size:16.5px;
  list-style:none;
}
.faq-q::-webkit-details-marker{display:none;}
.faq-plus{
  width:30px;height:30px;border-radius:50%;flex:none;border:1.5px solid var(--border);
  display:flex;align-items:center;justify-content:center;position:relative;
  transition:transform 220ms ease, background-color 220ms ease, border-color 220ms ease;
}
.faq-plus svg{width:13px;height:13px;}
details[open] .faq-plus{background:var(--blue-500);border-color:var(--blue-500);color:#fff;transform:rotate(135deg);}
.faq-item p.faq-a{color:var(--text-muted);font-size:14.5px;margin-top:14px;max-width:580px;line-height:1.65;}
@media (max-width:860px){.faq-grid{grid-template-columns:1fr;}}

/* ================= FOOTER ================= */
footer{background:var(--bg);padding:24px 0 56px;}
.footer-panel{background:var(--navy-deep);color:var(--text-on-navy);border-radius:36px;padding:64px 56px 0;overflow:hidden;}
@media (max-width:900px){.footer-panel{padding:48px 32px 0;border-radius:28px;}}
@media (max-width:640px){.footer-panel{padding:36px 22px 0;border-radius:22px;}}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:64px;border-bottom:1px solid var(--border-on-navy);}
.footer-brand .logo{color:#fff;text-shadow:none;}
.footer-brand p{margin-top:18px;color:var(--text-on-navy-muted);font-size:14.5px;max-width:280px;}
.footer-col h4{color:#fff;font-size:14px;letter-spacing:0.06em;text-transform:uppercase;margin-bottom:20px;}
.footer-col ul{display:flex;flex-direction:column;gap:13px;}
.footer-col a,.footer-col li{font-size:14.5px;color:var(--text-on-navy-muted);}
.footer-col a:hover{color:#fff;}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding:26px 0;gap:16px;flex-wrap:wrap;}
.footer-bottom p{font-size:13px;color:var(--text-on-navy-muted);}
.social-row{display:flex;gap:10px;}
.social-row a{
  width:38px;height:38px;border-radius:50%;border:1px solid var(--border-on-navy);
  display:flex;align-items:center;justify-content:center;transition:background-color 160ms ease,border-color 160ms ease;
}
.social-row a:hover{background:var(--blue-500);border-color:var(--blue-500);}
.social-row svg{width:16px;height:16px;}
@media (max-width:860px){.footer-top{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-top{grid-template-columns:1fr;}.footer-brand p{max-width:none;}}

.section-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;}
