/* ==========================================================================
   Grit Blueprint -- Contact page styles  (contact/template-contact.php)
   All selectors scoped under body.gb-contact-tpl: collision-proof + gap-proof.
   Layers: header offset, base components (scoped), page-specific layer.
   ========================================================================== */

/* Header offset for the transparent sticky Elementor header (130 / 120 / 100) */
body.gb-contact-tpl { --gb-header-h: 130px; }
@media (max-width:920px){ body.gb-contact-tpl { --gb-header-h: 120px; } }
@media (max-width:760px){ body.gb-contact-tpl { --gb-header-h: 100px; } }
body.gb-contact-tpl #content,
body.gb-contact-tpl .site-content { padding-top:0 !important; margin-top:0 !important; }
body.gb-contact-tpl .gb-app { margin-top: calc(-1 * var(--gb-header-h)) !important; }
body.gb-contact-tpl section.f-hero { padding-top: calc(var(--gb-header-h) + 40px) !important; }
@media (max-width:760px){ body.gb-contact-tpl section.f-hero { padding-top: calc(var(--gb-header-h) + 24px) !important; } }
body.gb-contact-tpl #book { scroll-margin-top: calc(var(--gb-header-h) + 12px); }
body.gb-contact-tpl .gb-app *,
body.gb-contact-tpl .gb-app *::before,
body.gb-contact-tpl .gb-app *::after { box-sizing: border-box; }
body.gb-contact-tpl .gb-app img { max-width: 100%; height: auto; }

/* ----- Base components used by this page (scoped) ----- */
body.gb-contact-tpl .display, body.gb-contact-tpl .h2, body.gb-contact-tpl .h3, body.gb-contact-tpl h2, body.gb-contact-tpl h3 {text-wrap:balance;}
body.gb-contact-tpl .lead {text-wrap:pretty;}
body.gb-contact-tpl .wrap {max-width:1240px;margin:0 auto;padding:0 40px;}
body.gb-contact-tpl .wrap-narrow {max-width:960px;margin:0 auto;padding:0 40px;}
body.gb-contact-tpl section {position:relative;scroll-margin-top:90px;}
body.gb-contact-tpl .sec {padding:var(--sec-pad,104px) 0;}
body.gb-contact-tpl .sec-sm {padding:72px 0;}
body.gb-contact-tpl .dark {background:var(--gb-navy-900);color:#fff;}
body.gb-contact-tpl .navy {background:var(--gb-navy-800);color:#fff;}
body.gb-contact-tpl .deep {background:var(--gb-navy-900);color:#fff;}
body.gb-contact-tpl .paper {background:var(--gb-paper);color:var(--fg1);}
body.gb-contact-tpl .white {background:#fff;color:var(--fg1);}
body.gb-contact-tpl .bluewash {background:linear-gradient(160deg,#0E1E36 0%,#15407a 45%,#0a6fb0 100%);color:#fff;}
body.gb-contact-tpl .eyebrow {
  font-family:var(--font-sans);font-weight:700;font-size:13px;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gb-pink);
  margin:0 0 20px;display:inline-flex;align-items:center;gap:11px;
}
body.gb-contact-tpl .eyebrow.center {justify-content:center;}
body.gb-contact-tpl .display {
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:.92;letter-spacing:.005em;margin:0;
  font-size:clamp(42px,6.4vw,96px);
}
body.gb-contact-tpl .h2 {
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:.96;letter-spacing:.01em;margin:0;
  font-size:clamp(32px,4.2vw,52px);
}
body.gb-contact-tpl .h3 {
  font-family:var(--font-display);font-weight:700;text-transform:uppercase;
  line-height:1.0;letter-spacing:.015em;margin:0;font-size:clamp(22px,2.4vw,30px);
}
body.gb-contact-tpl .lead {font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--fg2);}
body.gb-contact-tpl .measure {max-width:62ch;}
body.gb-contact-tpl .pink, body.gb-contact-tpl .accent-pink {color:var(--gb-pink);}
body.gb-contact-tpl .accent-blue {color:var(--gb-blue-500);}
body.gb-contact-tpl .dark .display, body.gb-contact-tpl .navy .display, body.gb-contact-tpl .deep .display, body.gb-contact-tpl .bluewash .display, body.gb-contact-tpl .cta-band .display, body.gb-contact-tpl .dark .h2, body.gb-contact-tpl .dark .h3, body.gb-contact-tpl .navy .h2, body.gb-contact-tpl .navy .h3, body.gb-contact-tpl .deep .h2, body.gb-contact-tpl .deep .h3, body.gb-contact-tpl .bluewash .h2, body.gb-contact-tpl .bluewash .h3, body.gb-contact-tpl .dark h1, body.gb-contact-tpl .dark h2, body.gb-contact-tpl .dark h3, body.gb-contact-tpl .dark h4, body.gb-contact-tpl .navy h1, body.gb-contact-tpl .navy h2, body.gb-contact-tpl .navy h3, body.gb-contact-tpl .navy h4, body.gb-contact-tpl .deep h1, body.gb-contact-tpl .deep h2, body.gb-contact-tpl .deep h3, body.gb-contact-tpl .bluewash h1, body.gb-contact-tpl .bluewash h2, body.gb-contact-tpl .bluewash h3, body.gb-contact-tpl .cta-band h2 {color:#fff;}
body.gb-contact-tpl .dark .lead, body.gb-contact-tpl .navy .lead, body.gb-contact-tpl .deep .lead, body.gb-contact-tpl .cta-band .lead {color:var(--fg-on-dark-2);}
body.gb-contact-tpl .bluewash .lead {color:rgba(255,255,255,.84);}
body.gb-contact-tpl .dark .accent-blue, body.gb-contact-tpl .navy .accent-blue, body.gb-contact-tpl .deep .accent-blue, body.gb-contact-tpl .bluewash .accent-blue {color:var(--gb-blue-300);}
body.gb-contact-tpl .btn {
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-sans);font-weight:700;font-size:14px;letter-spacing:.08em;
  text-transform:uppercase;border:none;border-radius:var(--radius-pill);
  padding:16px 30px;min-height:48px;cursor:pointer;white-space:nowrap;
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),background var(--dur),border-color var(--dur),color var(--dur);
}
body.gb-contact-tpl .btn svg {width:17px;height:17px;}
body.gb-contact-tpl .btn:active {transform:translateY(1px);}
body.gb-contact-tpl .btn-pink {background:var(--gb-pink);color:#fff;box-shadow:var(--shadow-pink-glow);}
body.gb-contact-tpl .btn-pink:hover {box-shadow:0 16px 40px -10px rgba(255,24,148,.6);transform:translateY(-2px);}
body.gb-contact-tpl .btn-pink:active {background:var(--gb-pink-600);}
body.gb-contact-tpl .btn-blue {background:var(--gb-blue-500);color:#fff;box-shadow:var(--shadow-blue-glow);}
body.gb-contact-tpl .btn-blue:hover {background:var(--gb-blue-700);transform:translateY(-2px);}
body.gb-contact-tpl .btn-white {background:#fff;color:var(--gb-navy);}
body.gb-contact-tpl .btn-white:hover {background:#eef2f7;transform:translateY(-2px);}
body.gb-contact-tpl .btn-outline {background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.45);}
body.gb-contact-tpl .btn-outline:hover {border-color:#fff;background:rgba(255,255,255,.08);}
body.gb-contact-tpl .btn-outline-navy {background:transparent;color:var(--gb-navy);border:1.5px solid rgba(24,53,94,.3);}
body.gb-contact-tpl .btn-outline-navy:hover {border-color:var(--gb-navy);background:rgba(24,53,94,.05);}
body.gb-contact-tpl .btn-lg {padding:19px 38px;font-size:15px;min-height:56px;}
body.gb-contact-tpl .btn-sm {padding:11px 20px;font-size:12.5px;min-height:44px;}
body.gb-contact-tpl .dark .textlink, body.gb-contact-tpl .navy .textlink, body.gb-contact-tpl .deep .textlink, body.gb-contact-tpl .bluewash .textlink {color:var(--gb-blue-300);}
body.gb-contact-tpl .dark .textlink:hover, body.gb-contact-tpl .navy .textlink:hover, body.gb-contact-tpl .deep .textlink:hover, body.gb-contact-tpl .bluewash .textlink:hover {color:var(--gb-pink);}
body.gb-contact-tpl .bp-grid::before {
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(120% 90% at 50% 0%, transparent 38%, rgba(14,30,54,.92) 92%),
    linear-gradient(rgba(83,140,196,.10) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,rgba(83,140,196,.10) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(rgba(83,140,196,.22) 1px,transparent 1px) 0 0/104px 104px,
    linear-gradient(90deg,rgba(83,140,196,.22) 1px,transparent 1px) 0 0/104px 104px;
}
body.gb-contact-tpl .bp-grid > * {position:relative;z-index:1;}
body.gb-contact-tpl .hero-cta {display:flex;gap:18px;flex-wrap:wrap;margin-top:36px;}
body.gb-contact-tpl .sec-head {max-width:760px;margin-bottom:52px;}
body.gb-contact-tpl .sec-head.center {margin-left:auto;margin-right:auto;text-align:center;}
body.gb-contact-tpl .sec-head .lead {margin-top:18px;}
body.gb-contact-tpl .grid-2 {display:grid;grid-template-columns:1fr 1fr;gap:24px;}
body.gb-contact-tpl .grid-3 {display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
body.gb-contact-tpl .grid-4 {display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
body.gb-contact-tpl .card {background:#fff;border:1px solid var(--gb-line);border-radius:18px;
  transition:transform var(--dur) var(--ease-out),box-shadow var(--dur) var(--ease-out),border-color var(--dur);}
body.gb-contact-tpl .card.hov:hover {transform:translateY(-5px);box-shadow:var(--shadow-card-hover);border-color:transparent;}
body.gb-contact-tpl .dark .card, body.gb-contact-tpl .navy .card, body.gb-contact-tpl .deep .card, body.gb-contact-tpl .bluewash .card {background:var(--gb-navy-700);
  border-color:rgba(255,255,255,.12);box-shadow:0 24px 60px -30px rgba(0,0,0,.5);}
body.gb-contact-tpl .pillar {padding:32px 28px 30px;position:relative;overflow:hidden;}
body.gb-contact-tpl .pillar .picon {width:48px;height:48px;border-radius:12px;background:rgba(255,24,148,.12);
  display:flex;align-items:center;justify-content:center;color:var(--gb-pink);margin-bottom:20px;}
body.gb-contact-tpl .pillar .picon svg {width:24px;height:24px;}
body.gb-contact-tpl .dark .pillar .picon, body.gb-contact-tpl .navy .pillar .picon, body.gb-contact-tpl .deep .pillar .picon {background:rgba(255,24,148,.16);color:var(--gb-pink);}
body.gb-contact-tpl .pillar h4 {font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;
  margin:0 0 10px;letter-spacing:.02em;color:inherit;}
body.gb-contact-tpl .pillar p {font-size:15.5px;line-height:1.6;margin:0;color:var(--fg2);}
body.gb-contact-tpl .dark .pillar p, body.gb-contact-tpl .navy .pillar p, body.gb-contact-tpl .deep .pillar p {color:#fff;}
body.gb-contact-tpl .pillar .pnum {position:absolute;top:18px;right:22px;font-family:var(--font-display);font-size:34px;
  font-weight:700;color:var(--gb-pink);}
body.gb-contact-tpl .dark .pillar .pnum, body.gb-contact-tpl .navy .pillar .pnum, body.gb-contact-tpl .deep .pillar .pnum {color:var(--gb-pink);}
body.gb-contact-tpl .dark .check .cd, body.gb-contact-tpl .navy .check .cd, body.gb-contact-tpl .deep .check .cd {color:var(--fg-on-dark-2);}
body.gb-contact-tpl .white .member .mname, body.gb-contact-tpl .paper .member .mname {color:var(--gb-navy);}
body.gb-contact-tpl .white .member .mbio, body.gb-contact-tpl .paper .member .mbio {color:var(--fg2);}
body.gb-contact-tpl .faq-grid {display:grid;grid-template-columns:.7fr 1.3fr;gap:56px;align-items:start;}
body.gb-contact-tpl .faq-list {border-top:1px solid var(--gb-line);}
body.gb-contact-tpl .faq-item {border-bottom:1px solid var(--gb-line);}
body.gb-contact-tpl .faq-q {display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;
  background:none;border:none;cursor:pointer;padding:24px 4px;text-align:left;min-height:44px;}
body.gb-contact-tpl .faq-q .qtext {font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;
  color:var(--gb-navy);letter-spacing:.03em;line-height:1.12;}
body.gb-contact-tpl .faq-q .qico {flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--gb-line);
  display:flex;align-items:center;justify-content:center;color:var(--gb-navy);
  transition:background var(--dur),color var(--dur),border-color var(--dur),transform var(--dur);}
body.gb-contact-tpl .faq-q .qico svg {width:16px;height:16px;}
body.gb-contact-tpl .faq-item.open .qico {background:var(--gb-pink);border-color:var(--gb-pink);color:#fff;transform:rotate(45deg);}
body.gb-contact-tpl .faq-a {display:grid;grid-template-rows:0fr;transition:grid-template-rows .34s var(--ease-out);}
body.gb-contact-tpl .faq-a p {overflow:hidden;min-height:0;font-size:15px;line-height:1.65;color:var(--fg2);margin:0;padding:0 4px;max-width:64ch;}
body.gb-contact-tpl .faq-item.open .faq-a {grid-template-rows:1fr;}
body.gb-contact-tpl .faq-item.open .faq-a p {padding-bottom:26px;}
body.gb-contact-tpl .cta-band {position:relative;overflow:hidden;text-align:center;padding:120px 0;
  background:var(--gb-ombre);}
body.gb-contact-tpl .cta-band::before {content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(130% 125% at 50% 45%, transparent 52%, rgba(14,30,55,.45) 100%),
    linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px) 0 0/26px 26px,
    linear-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0/104px 104px,
    linear-gradient(90deg,rgba(255,255,255,.09) 1px,transparent 1px) 0 0/104px 104px;}
body.gb-contact-tpl .cta-band > * {position:relative;z-index:1;}
body.gb-contact-tpl .cta-band .display {font-size:clamp(40px,5.2vw,72px);color:#fff;}
body.gb-contact-tpl .cta-band .lead {color:var(--fg-on-dark-2);max-width:600px;margin:22px auto 36px;}
body.gb-contact-tpl .cta-band .hero-cta {justify-content:center;}
body.gb-contact-tpl .cta-band .watermark-mark {opacity:.05;right:-120px;top:50%;transform:translateY(-50%);width:520px;}
body.gb-contact-tpl .reveal {opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out);}
body.gb-contact-tpl .reveal.in {opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
body.gb-contact-tpl .reveal {opacity:1;transform:none;transition:none;}
}
@media(max-width:1080px){
body.gb-contact-tpl .grid-4 {grid-template-columns:repeat(2,1fr);}
}
@media(max-width:920px){
body.gb-contact-tpl .hero-cta {justify-content:center;}
body.gb-contact-tpl .faq-grid, body.gb-contact-tpl .grid-3, body.gb-contact-tpl .grid-2 {grid-template-columns:1fr;gap:40px;}
}
@media(max-width:760px){
body.gb-contact-tpl .sec {padding:56px 0;}
body.gb-contact-tpl .sec-sm {padding:40px 0;}
body.gb-contact-tpl .sec-head {margin-bottom:32px;}
body.gb-contact-tpl .wrap, body.gb-contact-tpl .wrap-narrow {padding:0 20px;}
body.gb-contact-tpl .grid-4 {grid-template-columns:1fr 1fr;}
body.gb-contact-tpl .hero-cta .btn {flex:1 1 auto;}
body.gb-contact-tpl .grid-3.swipe {
    display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;
    scroll-snap-type:x mandatory;scroll-padding-left:20px;gap:14px;
    margin:0 -20px;padding:4px 20px 18px;-webkit-overflow-scrolling:touch;
    scrollbar-width:thin;scrollbar-color:var(--gb-pink) rgba(140,150,170,.22);
  }
body.gb-contact-tpl .grid-3.swipe > * {flex:0 0 84%;scroll-snap-align:start;min-width:0;}
body.gb-contact-tpl .swipe::-webkit-scrollbar {height:5px;}
body.gb-contact-tpl .swipe::-webkit-scrollbar-thumb {background:var(--gb-pink);border-radius:99px;}
body.gb-contact-tpl .swipe::-webkit-scrollbar-track {background:rgba(140,150,170,.22);border-radius:99px;}
body.gb-contact-tpl .cta-band {padding:80px 0;}
}

/* ----- Page-specific layer ----- */
body.gb-contact-tpl .reveal.in {opacity:1 !important;transform:none !important;}
body.gb-contact-tpl section.f-hero {position:relative;overflow:hidden;padding-top:54px;padding-bottom:76px;
    background:linear-gradient(118deg,#0E1E36 0%,#163B6E 42%,#0F5C97 76%,#0092D6 118%);}
body.gb-contact-tpl section.f-hero::after {content:"";position:absolute;inset:0;pointer-events:none;
    background:radial-gradient(60% 60% at 84% 36%,rgba(0,146,214,.30),transparent 70%),
      linear-gradient(rgba(173,216,255,.05) 1px,transparent 1px) 0 0/30px 30px,
      linear-gradient(90deg,rgba(173,216,255,.05) 1px,transparent 1px) 0 0/30px 30px;}
body.gb-contact-tpl .f-hero-grid {position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:50px;align-items:start;}
body.gb-contact-tpl .f-hero .eyebrow {margin-bottom:18px;color:#fff;display:inline-flex;align-items:center;gap:11px;}
body.gb-contact-tpl .f-hero .eyebrow::before {content:"";width:26px;height:2px;background:var(--gb-pink);display:inline-block;}
body.gb-contact-tpl h1.f-h1 {font-size:clamp(40px,4.7vw,66px);line-height:.94;letter-spacing:.005em;margin:0 0 22px;color:#fff;text-transform:uppercase;font-family:var(--font-display);font-weight:700;}
body.gb-contact-tpl h1.f-h1 .pink {color:var(--gb-pink);}
body.gb-contact-tpl .f-hero .lead {font-size:clamp(16px,1.2vw,18px);line-height:1.55;color:rgba(255,255,255,.88);max-width:46ch;}
body.gb-contact-tpl .f-hero .lead b {color:#fff;font-weight:700;}
body.gb-contact-tpl .reassure {list-style:none;margin:26px 0 0;padding:24px 0 0;border-top:1px solid rgba(255,255,255,.14);display:flex;flex-direction:column;gap:13px;}
body.gb-contact-tpl .reassure li {display:flex;gap:12px;align-items:flex-start;font-size:15px;font-weight:700;color:#fff;line-height:1.35;}
body.gb-contact-tpl .reassure li svg {flex:none;width:19px;height:19px;color:var(--gb-pink);margin-top:1px;}
body.gb-contact-tpl .scope-note {margin-top:20px;font-size:13.5px;color:rgba(255,255,255,.74);line-height:1.5;}
body.gb-contact-tpl .scope-note b {color:var(--gb-blue-300);font-weight:700;}
body.gb-contact-tpl .hero-direct {margin-top:22px;display:flex;flex-wrap:wrap;gap:10px 24px;}
body.gb-contact-tpl .hero-direct a {display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700;color:#fff;transition:color var(--dur);}
body.gb-contact-tpl .hero-direct a svg {width:17px;height:17px;color:var(--gb-pink);}
body.gb-contact-tpl .hero-direct a:hover {color:var(--gb-blue-300);}
body.gb-contact-tpl .book-shell {display:flex;flex-direction:column;}
body.gb-contact-tpl .book-card {background:#fff;border-radius:20px;box-shadow:0 36px 80px -34px rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.2);overflow:hidden;}
body.gb-contact-tpl .book-head {padding:22px 24px 0;}
body.gb-contact-tpl .tabs {display:flex;gap:6px;background:var(--gb-paper);border:1px solid var(--gb-line);border-radius:999px;padding:5px;}
body.gb-contact-tpl .tab {flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 14px;border-radius:999px;cursor:pointer;border:none;background:transparent;
    font-family:var(--font-sans);font-weight:800;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--gb-ink-2);transition:all var(--dur) var(--ease-out);}
body.gb-contact-tpl .tab svg {width:16px;height:16px;}
body.gb-contact-tpl .tab.on {background:var(--gb-pink);color:#fff;box-shadow:var(--shadow-pink-glow);}
body.gb-contact-tpl .tab:not(.on):hover {color:var(--gb-navy);}
body.gb-contact-tpl .panel {display:none;}
body.gb-contact-tpl .panel.on {display:block;}
body.gb-contact-tpl .book-body {padding:20px 24px 26px;}
body.gb-contact-tpl .cal-intro {font-size:13px;color:var(--fg2);margin:0 0 14px;font-weight:600;display:flex;align-items:center;gap:8px;}
body.gb-contact-tpl .cal-intro svg {width:16px;height:16px;color:var(--gb-pink);}
body.gb-contact-tpl .cal-intro b {color:var(--gb-navy);}
body.gb-contact-tpl .meetings-iframe-container {min-width:300px;min-height:582px;border-radius:12px;overflow:hidden;}
body.gb-contact-tpl .meetings-iframe-container iframe {width:100% !important;min-height:582px;border:0;}
body.gb-contact-tpl .cal-fallback {padding:50px 28px;text-align:center;color:var(--fg2);font-size:14px;line-height:1.6;}
body.gb-contact-tpl .cal-fallback a {color:var(--gb-pink);font-weight:700;}
body.gb-contact-tpl .trust-strip {text-align:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:rgba(255,255,255,.6);font-weight:700;margin-top:16px;line-height:1.7;}
body.gb-contact-tpl .trust-strip b {color:rgba(255,255,255,.84);}
body.gb-contact-tpl .fc-h {font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:22px;letter-spacing:.02em;color:var(--gb-navy);margin:0 0 4px;}
body.gb-contact-tpl .fc-s {font-size:13px;color:var(--fg2);margin:0 0 18px;line-height:1.5;}
body.gb-contact-tpl .fld-label {font-size:11.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gb-ink-3);display:block;margin-bottom:7px;}
body.gb-contact-tpl .fld-label b {color:var(--gb-pink);}
body.gb-contact-tpl .chips {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
body.gb-contact-tpl .chip {font-size:12px;font-weight:700;letter-spacing:.01em;color:var(--gb-ink-2);background:var(--gb-paper);border:1px solid var(--gb-line);border-radius:999px;padding:8px 14px;cursor:pointer;transition:all var(--dur) var(--ease-out);user-select:none;}
body.gb-contact-tpl .chip:hover {border-color:var(--gb-pink);color:var(--gb-navy);}
body.gb-contact-tpl .chip.on {background:var(--gb-pink);border-color:var(--gb-pink);color:#fff;box-shadow:var(--shadow-pink-glow);}
body.gb-contact-tpl .form-row {display:grid;grid-template-columns:1fr 1fr;gap:14px;}
body.gb-contact-tpl .form-field {display:flex;flex-direction:column;margin-bottom:16px;}
body.gb-contact-tpl .form-field input, body.gb-contact-tpl .form-field textarea {font-family:var(--font-sans);font-size:15px;color:var(--gb-navy);background:var(--gb-paper);border:1px solid var(--gb-line);border-radius:var(--radius-input);padding:12px 14px;width:100%;transition:border-color var(--dur),box-shadow var(--dur);}
body.gb-contact-tpl .form-field textarea {resize:vertical;min-height:92px;line-height:1.5;}
body.gb-contact-tpl .form-field input:focus, body.gb-contact-tpl .form-field textarea:focus {outline:none;border-color:var(--gb-blue-500);box-shadow:0 0 0 3px rgba(0,146,214,.18);}
body.gb-contact-tpl .form-field input::placeholder, body.gb-contact-tpl .form-field textarea::placeholder {color:#9aa7bc;}
body.gb-contact-tpl .consent {display:flex;gap:10px;align-items:flex-start;margin:2px 0 18px;}
body.gb-contact-tpl .consent input {margin-top:3px;width:16px;height:16px;flex:none;accent-color:var(--gb-pink);}
body.gb-contact-tpl .consent label {font-size:11.5px;color:var(--fg3);line-height:1.55;}
body.gb-contact-tpl form .btn {width:100%;}
body.gb-contact-tpl .form-confirm {display:none;text-align:center;padding:26px 8px;}
body.gb-contact-tpl .form-confirm.show {display:block;}
body.gb-contact-tpl .fc-check {width:56px;height:56px;border-radius:50%;background:var(--gb-pink);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:#fff;box-shadow:var(--shadow-pink-glow);}
body.gb-contact-tpl .fc-check svg {width:27px;height:27px;}
body.gb-contact-tpl .form-confirm h3 {font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:25px;color:var(--gb-navy);margin:0 0 10px;}
body.gb-contact-tpl .form-confirm p {font-size:14px;color:var(--fg2);margin:0 0 20px;line-height:1.6;}
body.gb-contact-tpl .expect-foot {display:flex;align-items:center;justify-content:center;gap:14px 24px;flex-wrap:wrap;margin-top:42px;}
body.gb-contact-tpl .expect-note {font-size:15px;color:var(--fg2);font-weight:600;}
body.gb-contact-tpl .expect-note a {color:var(--gb-blue-700);font-weight:800;text-decoration:underline;text-underline-offset:3px;}
body.gb-contact-tpl .expect-note a:hover {color:var(--gb-pink);}
body.gb-contact-tpl .who-grid {display:grid;grid-template-columns:.82fr 1.18fr;gap:48px;align-items:center;}
body.gb-contact-tpl .who-photo {aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:linear-gradient(160deg,#1f568f,#0E1E36);border:1px solid rgba(255,255,255,.14);box-shadow:0 30px 70px -34px rgba(0,0,0,.6);}
body.gb-contact-tpl .who-photo img {width:100%;height:100%;object-fit:cover;object-position:center top;}
body.gb-contact-tpl .who-bio {margin-top:18px;}
body.gb-contact-tpl .who-bio strong {color:#fff;font-weight:700;}
body.gb-contact-tpl .who-quote {margin:28px 0 0;padding:24px 26px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-left:3px solid var(--gb-pink);border-radius:0 14px 14px 0;}
body.gb-contact-tpl .who-quote p {font-size:clamp(16px,1.5vw,19px);line-height:1.5;color:#fff;margin:0 0 16px;font-weight:600;}
body.gb-contact-tpl .who-quote p .pink {color:var(--gb-pink);}
body.gb-contact-tpl .who-quote .by {display:flex;align-items:center;gap:13px;}
body.gb-contact-tpl .who-quote .by .av {width:44px;height:44px;border-radius:50%;overflow:hidden;flex:none;background:rgba(255,24,148,.15);border:2px solid rgba(255,255,255,.18);}
body.gb-contact-tpl .who-quote .by .av img {width:100%;height:100%;object-fit:cover;object-position:top;}
body.gb-contact-tpl .who-quote .by .nm {font-weight:800;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:#fff;}
body.gb-contact-tpl .who-quote .by .rl {font-size:12px;color:var(--fg-on-dark-2);margin-top:2px;}
body.gb-contact-tpl .soc-row {display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
body.gb-contact-tpl .soc-pill {display:inline-flex;align-items:center;gap:10px;padding:13px 22px;border:1px solid var(--gb-line);border-radius:999px;background:#fff;cursor:pointer;transition:all var(--dur) var(--ease-out);}
body.gb-contact-tpl .soc-pill:hover {border-color:var(--gb-pink);transform:translateY(-2px);box-shadow:var(--shadow-card);}
body.gb-contact-tpl .soc-pill svg {width:19px;height:19px;color:var(--gb-navy);}
body.gb-contact-tpl .soc-pill span {font-family:var(--font-sans);font-weight:800;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--gb-navy);}
body.gb-contact-tpl .pod-wrap {max-width:720px;margin:0 auto 44px;}
body.gb-contact-tpl .pod-title {font-family:var(--font-display);text-transform:uppercase;font-weight:700;font-size:18px;letter-spacing:.02em;color:var(--gb-navy);text-align:center;margin:0 0 16px;display:flex;align-items:center;justify-content:center;gap:10px;}
body.gb-contact-tpl .pod-title svg {width:18px;height:18px;color:var(--gb-pink);}
body.gb-contact-tpl .pod-frame {background:#fff;border:1px solid var(--gb-line);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden;}
body.gb-contact-tpl .pod-frame iframe {display:block;width:100%;border:0;}
body.gb-contact-tpl .soc-groups {display:flex;flex-wrap:wrap;gap:30px 56px;justify-content:center;}
body.gb-contact-tpl .soc-group {display:flex;flex-direction:column;align-items:center;gap:14px;}
body.gb-contact-tpl .soc-glabel {font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gb-ink-3);display:flex;align-items:center;gap:9px;}
body.gb-contact-tpl .soc-glabel::before, body.gb-contact-tpl .soc-glabel::after {content:"";width:18px;height:1px;background:var(--gb-line);}
body.gb-contact-tpl .cta-band {background:linear-gradient(158deg,#0E1E36 0%,#143b73 52%,#0a6fb0 100%);}
body.gb-contact-tpl .cta-band .lead {color:rgba(255,255,255,.92);}
body.gb-contact-tpl .cta-band .lead b {color:#fff;font-weight:700;}
@media(max-width:960px){
body.gb-contact-tpl .f-hero-grid, body.gb-contact-tpl .who-grid {grid-template-columns:1fr;gap:38px;}
body.gb-contact-tpl .f-hero-copy {text-align:center;}
body.gb-contact-tpl .f-hero-copy .eyebrow, body.gb-contact-tpl .hero-direct {justify-content:center;}
body.gb-contact-tpl .f-hero .lead, body.gb-contact-tpl .scope-note {margin-left:auto;margin-right:auto;}
body.gb-contact-tpl .reassure {max-width:400px;margin-left:auto;margin-right:auto;}
body.gb-contact-tpl .who-photo {max-width:340px;margin:0 auto;order:-1;}
}
@media(max-width:760px){
body.gb-contact-tpl section.f-hero {padding-top:38px;padding-bottom:54px;}
body.gb-contact-tpl .meetings-iframe-container,body.gb-contact-tpl .meetings-iframe-container iframe {min-height:560px;}
body.gb-contact-tpl .book-body {padding:18px 18px 22px;}
body.gb-contact-tpl .book-head {padding:18px 18px 0;}
body.gb-contact-tpl .form-row {grid-template-columns:1fr;gap:0;}
}

/* Consent checkboxes: pink box, white check (overrides native + theme defaults) */
body.gb-contact-tpl .consent input[type="checkbox"]{
  -webkit-appearance:none !important; -moz-appearance:none !important; appearance:none !important;
  width:18px; height:18px; flex:none; margin:2px 0 0; padding:0;
  border:1.5px solid var(--gb-line); border-radius:5px; background:#fff !important;
  cursor:pointer; position:relative; display:inline-block; vertical-align:top;
  transition:background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
body.gb-contact-tpl .consent input[type="checkbox"]:hover{ border-color:var(--gb-pink); }
body.gb-contact-tpl .consent input[type="checkbox"]:checked{
  background:var(--gb-pink) !important; border-color:var(--gb-pink) !important;
}
body.gb-contact-tpl .consent input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:5px; top:2px; width:5px; height:9px;
  border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg);
}
body.gb-contact-tpl .consent input[type="checkbox"]:focus-visible{
  outline:2px solid var(--gb-blue-500); outline-offset:2px;
}

/* Hero reassurance checks: thin pink check glyphs only -- never a filled or
   rounded box. Hardened with !important against the live mobile layer / theme
   icon styling that was turning these SVGs into pink rounded tiles. */
body.gb-contact-tpl .reassure li svg{
  width:19px !important; height:19px !important; min-width:0 !important; min-height:0 !important;
  flex:0 0 auto !important;
  background:none !important; background-color:transparent !important;
  border:0 !important; border-radius:0 !important; padding:0 !important; box-shadow:none !important;
  color:var(--gb-pink) !important; fill:none !important; stroke:currentColor !important;
  vertical-align:middle;
}

/* Hero copy stays LEFT-aligned on stacked (<=960px) layouts, matching desktop.
   Overrides the default mobile centering for the hero column only (the
   "Who you'll talk to" photo keeps its centered stacked treatment). */
@media (max-width:960px){
  body.gb-contact-tpl .f-hero-copy { text-align:left; }
  body.gb-contact-tpl .f-hero-copy .eyebrow,
  body.gb-contact-tpl .hero-direct { justify-content:flex-start; }
  body.gb-contact-tpl .f-hero .lead,
  body.gb-contact-tpl .scope-note { margin-left:0; margin-right:0; }
  body.gb-contact-tpl .reassure { margin-left:0; margin-right:0; }
}
