/* ==========================================================================
   GP and Me — 2026 redesign
   Design tokens and components. Loaded after main.min.css so it overrides.
   ========================================================================== */

:root{
  --gm-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --gm-black:#000000;
  --gm-ink:#1d1d1f;
  --gm-ink-2:#6e6e73;
  --gm-ink-3:#86868b;
  --gm-white:#ffffff;
  --gm-grey-bg:#f5f5f7;
  --gm-line:#d2d2d7;
  --gm-line-soft:#e8e8ed;
  --gm-blue:#0071e3;
  --gm-blue-hover:#0077ed;
  --gm-blue-dark:#0a84ff;
  --gm-green:#0a7d4b;
  --gm-wrap:1120px;
}

/* --------------------------------------------------------------------------
   Base
   -------------------------------------------------------------------------- */
body.gm{
  background:var(--gm-white);
  color:var(--gm-ink);
  font-family:var(--gm-sans);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.gm a{color:inherit;text-decoration:none}
.gm a:focus-visible,.gm button:focus-visible,.gm summary:focus-visible{
  outline:2px solid var(--gm-blue);outline-offset:3px;border-radius:4px;
}
.gm img,.gm svg{max-width:100%}
.gm-wrap{max-width:var(--gm-wrap);margin:0 auto;padding:0 24px}
.gm-skip{position:absolute;left:-9999px}
.gm-skip:focus{left:24px;top:12px;background:var(--gm-ink);color:#fff;padding:10px 18px;border-radius:100px;z-index:400}

/* --------------------------------------------------------------------------
   Typography
   -------------------------------------------------------------------------- */
.gm h1,.gm h2,.gm h3,.gm h4{font-weight:600;letter-spacing:-0.024em;line-height:1.1;margin:0}
.gm h1{font-size:clamp(40px,6vw,72px);letter-spacing:-0.04em}
.gm h2{font-size:clamp(30px,4.4vw,50px);letter-spacing:-0.032em}
.gm h3{font-size:20px}
.gm h4{font-size:16px}
.gm-lede{color:var(--gm-ink-2);font-size:clamp(17px,1.9vw,20px);line-height:1.55;max-width:58ch}
.gm-dim{color:var(--gm-ink-3);font-size:15px}
.gm-kicker{color:var(--gm-blue);font-size:15px;font-weight:600;margin-bottom:14px}

.gm-sec-head{max-width:720px;margin:0 auto 52px;text-align:center}
.gm-sec-head h2{margin-bottom:18px}
.gm-sec-head .gm-lede{margin:0 auto}

/* --------------------------------------------------------------------------
   Header — black bar over the hero
   -------------------------------------------------------------------------- */
.gm-nav{background:var(--gm-black);position:relative;z-index:120}
.gm-nav-in{display:flex;align-items:center;justify-content:space-between;height:56px;gap:24px}
.gm-logo{font-size:20px;font-weight:600;letter-spacing:-0.03em;color:#fff;display:inline-flex;align-items:center;gap:2px}
.gm-logo em{color:var(--gm-blue-dark);font-style:normal}
.gm-nav-links{display:flex;gap:24px;font-size:14px;color:#c7c7cc;align-items:center;list-style:none;margin:0;padding:0}
.gm-nav-links li{margin:0;position:relative}
.gm-nav-links a{color:#c7c7cc}
.gm-nav-links a:hover{color:#fff}
.gm-burger{display:none;background:none;border:0;color:#fff;font-family:inherit;font-size:15px;cursor:pointer;padding:6px 0}

/* dropdown */
.gm-nav-links .menu-item-has-children>a::after{
  content:"";display:inline-block;width:7px;height:7px;margin-left:7px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
}
.gm-nav-links .sub-menu,.gm-dropdown{
  display:none;position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:#fff;border-radius:16px;box-shadow:0 14px 44px rgba(0,0,0,.22);
  padding:10px;min-width:290px;list-style:none;margin:0;z-index:130;
  /* 16px transparent bridge so the pointer can travel from the menu item to
     the panel without the panel closing (owner, 17 Sep 2026) */
  border-top:16px solid transparent;background-clip:padding-box;
}
.gm-nav-links li:hover>.sub-menu,.gm-nav-links li:focus-within>.sub-menu,
.gm-dropdown.is-open{display:block}
.gm-nav-links .sub-menu li{margin:0}
.gm-nav-links .sub-menu a,.gm-dropdown a{
  display:flex;align-items:center;gap:10px;color:var(--gm-ink);font-size:15px;
  padding:10px 14px;border-radius:10px;white-space:nowrap;
}
.gm-nav-links .sub-menu a:hover,.gm-dropdown a:hover{background:var(--gm-grey-bg);color:var(--gm-blue)}
.gm-dropdown svg{opacity:.6;flex-shrink:0}
.gm-dd-sep{height:1px;background:var(--gm-line-soft);margin:8px 14px}

/* Small in-row Book now button (sporting medicals table, 17 Sep 2026) */
.gm .gm-btn-mini{
  display:inline-block;margin-top:8px;padding:6px 14px;border-radius:100px;
  background:var(--gm-blue);color:#fff;font-size:13px;font-weight:500;white-space:nowrap;
}
.gm .gm-btn-mini:hover{background:var(--gm-blue-dark);text-decoration:none}

/* --------------------------------------------------------------------------
   Utility bar (Book / phone / WhatsApp) — ALWAYS visible (owner, 16 Sep 2026)
   Desktop: fixed at the top from the first screen; body is padded so the bar
   never covers the black navigation. Mobile: fixed bottom bar (see the
   max-width:900px block).
   -------------------------------------------------------------------------- */
.gm-util{
  position:fixed;top:0;left:0;right:0;z-index:300;
  background:rgba(255,255,255,0.94);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid var(--gm-line-soft);
  transform:none;
}
.gm-util.is-visible{transform:none}
/* Desktop order (owner, 17 Sep 2026): black menu bar with the logo on top,
   the Book / phone / WhatsApp bar directly underneath it, links centred.
   Both stay fixed as you scroll. Nav sits above the bar so its drop-downs
   open over it. */
@media (min-width:901px){
  .gm-nav{position:fixed;top:0;left:0;right:0;z-index:310;transition:transform .25s ease}
  .gm-util{top:56px;transition:transform .25s ease}
  body.gm{padding-top:100px}
  html{scroll-padding-top:112px}
  /* Option 2 (owner, 17 Sep 2026): scrolling down tucks the menu bar away and
     the Book bar slides up to the very top; scrolling up brings the menu back.
     Class toggled in footer.php. */
  body.gm-nav-hidden .gm-nav{transform:translateY(-100%)}
  body.gm-nav-hidden .gm-util{transform:translateY(-56px)}
}
@media (min-width:901px) and (prefers-reduced-motion:reduce){
  .gm-nav,.gm-util{transition:none}
}
.gm-util-in{display:flex;align-items:center;justify-content:center;height:44px;gap:20px}
.gm-util-logo{display:none}
.gm-util-links{display:flex;gap:34px;font-size:15px;align-items:center;justify-content:center}
.gm-util-links a{color:var(--gm-blue);display:inline-flex;align-items:center;gap:6px}
.gm-util-links a:hover{text-decoration:underline}
.gm-util-links svg{width:8px;height:13px;fill:currentColor;flex-shrink:0}

/* --------------------------------------------------------------------------
   Buttons
   -------------------------------------------------------------------------- */
.gm-btn{
  display:inline-block;font-size:16px;font-weight:500;padding:13px 28px;
  border-radius:100px;font-family:inherit;cursor:pointer;border:1px solid transparent;
  transition:background .2s,color .2s;text-align:center;
}
.gm-btn-blue{background:var(--gm-blue);color:#fff}
.gm-btn-blue:hover{background:var(--gm-blue-hover);color:#fff}
.gm-btn-outline{background:transparent;color:var(--gm-blue);border-color:var(--gm-blue)}
.gm-btn-outline:hover{background:rgba(0,113,227,.06)}
.gm-on-black .gm-btn-blue{background:var(--gm-blue-dark)}
.gm-on-black .gm-btn-outline{color:#fff;border-color:#5a5a5e}
.gm-on-black .gm-btn-outline:hover{background:#1a1a1c}
.gm-link{color:var(--gm-blue);font-size:16px}
.gm-link:hover{text-decoration:underline}
.gm-on-black .gm-link{color:var(--gm-blue-dark)}
.gm-cta-end{margin-top:52px;text-align:center;display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap}

/* --------------------------------------------------------------------------
   Sections
   -------------------------------------------------------------------------- */
.gm-section{padding:100px 0}
.gm-band{background:var(--gm-grey-bg)}
.gm-on-black{background:var(--gm-black);color:#fff}
/* 18 Sep 2026: the grey used on black was too faint to read. */
.gm-on-black .gm-lede{color:#e2e2e6}
.gm-on-black .gm-crumb{color:#c7c7cc}
.gm-on-black .gm-crumb a{color:#fff}
.gm-on-black .gm-dim{color:#c7c7cc}
.gm-on-black p{color:#e2e2e6}
.gm-on-black h1,.gm-on-black h2,.gm-on-black h3{color:#fff}
.gm-on-black .gm-dim{color:#86868b}

/* Hero */
.gm-hero{background:var(--gm-black);color:#fff;padding:80px 0 0;text-align:center}
.gm-hero.gm-hero-page{padding:72px 0 80px}
.gm-hero .gm-lede{color:#a1a1a6;margin:22px auto 34px}
.gm-crumb{font-size:14px;color:#6e6e73;margin-bottom:26px}
.gm-crumb a:hover{color:#fff}
.gm-hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.gm-hero-link{margin-bottom:78px}

/* Stats / facts strip */
.gm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding:34px 0;border-top:1px solid #1f1f21}
.gm-stat-n{font-size:27px;font-weight:600;letter-spacing:-0.025em}
.gm-stat-l{color:#6e6e73;font-size:13px;margin-top:4px}
.gm-facts{background:#111113;color:#fff;padding:26px 0}
.gm-facts-in{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;text-align:center}
.gm-fact-n{font-size:20px;font-weight:600;letter-spacing:-0.02em}
.gm-fact-l{color:#86868b;font-size:13px;margin-top:3px}

/* Dark strip */
.gm-strip{background:#111113;color:#fff;border-top:1px solid #1f1f21}
.gm-strip-in{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;flex-wrap:wrap}
.gm-strip h3{font-size:19px;margin-bottom:5px}
.gm-strip p{color:#a1a1a6;font-size:15px;margin:0}

/* --------------------------------------------------------------------------
   Grids, tiles and cards
   -------------------------------------------------------------------------- */
.gm-grid{display:grid;gap:20px}
.gm-g2{grid-template-columns:repeat(2,1fr)}
.gm-g3{grid-template-columns:repeat(3,1fr)}
.gm-g4{grid-template-columns:repeat(4,1fr)}

.gm-card{background:#fff;border:1px solid var(--gm-line-soft);border-radius:20px;padding:32px}
.gm-card h3{margin-bottom:8px}
.gm-card p{color:var(--gm-ink-2);font-size:15px;line-height:1.55;margin:0 0 10px}
.gm-card p:last-child{margin-bottom:0}
.gm-card-link{color:var(--gm-blue);font-size:15px;display:inline-block;margin-top:16px}
.gm-card-link:hover{text-decoration:underline}

.gm-tile{
  border-radius:22px;padding:34px 30px;border:1px solid rgba(0,0,0,.05);
  display:flex;flex-direction:column;transition:transform .2s;
}
a.gm-tile:hover{transform:translateY(-3px)}
.gm-tile h3{margin-bottom:10px;font-size:22px}
.gm-tile p{color:var(--gm-ink-2);font-size:15px;line-height:1.55;flex:1;margin:0}
.gm-tile-go{color:var(--gm-blue);font-size:15px;font-weight:500;margin-top:18px}

/* Pastel fades — cycle in order across a grid */
.gm-t1{background:linear-gradient(180deg,#DCEBFF 0%,#FFFFFF 100%)}
.gm-t2{background:linear-gradient(180deg,#D9F2EC 0%,#FFFFFF 100%)}
.gm-t3{background:linear-gradient(180deg,#EBE4FB 0%,#FFFFFF 100%)}
.gm-t4{background:linear-gradient(180deg,#FFE3E0 0%,#FFFFFF 100%)}
.gm-t5{background:linear-gradient(180deg,#FDE6F1 0%,#FFFFFF 100%)}
.gm-t6{background:linear-gradient(180deg,#FFF0D9 0%,#FFFFFF 100%)}
.gm-t7{background:linear-gradient(180deg,#E2F0D9 0%,#FFFFFF 100%)}
.gm-t8{background:linear-gradient(180deg,#DEEEF5 0%,#FFFFFF 100%)}
.gm-t9{background:linear-gradient(180deg,#F2E8DC 0%,#FFFFFF 100%)}
.gm-t10{background:linear-gradient(180deg,#E4E7FB 0%,#FFFFFF 100%)}
.gm-t11{background:linear-gradient(180deg,#FFEAD9 0%,#FFFFFF 100%)}
.gm-t12{background:linear-gradient(180deg,#DBF0F5 0%,#FFFFFF 100%)}
.gm-pastel-blue{background:linear-gradient(180deg,#DCEBFF 0%,#FFFFFF 100%)}
.gm-pastel-green{background:linear-gradient(180deg,#D9F2E4 0%,#FFFFFF 100%)}

/* --------------------------------------------------------------------------
   Price rows
   -------------------------------------------------------------------------- */
.gm-plist{max-width:820px;margin:0 auto}
.gm-pgroup{margin-bottom:56px}
.gm-pgroup:last-child{margin-bottom:0}
.gm-pgroup h3{margin-bottom:6px}
.gm-pgroup-sub{color:var(--gm-ink-3);font-size:15px;margin-bottom:14px}
.gm-prow{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:19px 0;border-bottom:1px solid var(--gm-line-soft)}
.gm-prow:first-of-type{border-top:1px solid var(--gm-line)}
.gm-pname{font-size:17px;font-weight:500}
.gm-psub{color:var(--gm-ink-3);font-size:14px;margin-top:3px;font-weight:400}
.gm-pval{font-size:22px;font-weight:600;white-space:nowrap;text-align:right}
.gm-pval small{display:block;font-size:13px;font-weight:400;color:var(--gm-ink-3);margin-top:3px}
.gm-inc{color:var(--gm-green);font-size:16px;font-weight:600;white-space:nowrap}
.gm-pna{font-size:15px;font-weight:400;color:var(--gm-ink-3);max-width:220px;text-align:right}

/* --------------------------------------------------------------------------
   Tables — stack into cards on mobile
   -------------------------------------------------------------------------- */
.gm-tbl{width:100%;border-collapse:collapse}
.gm-tbl th{text-align:left;font-size:14px;font-weight:600;color:var(--gm-ink-3);padding:0 16px 14px 0;border-bottom:1px solid var(--gm-line)}
.gm-tbl th:last-child{text-align:right;padding-right:0}
.gm-tbl td{padding:22px 16px 22px 0;border-bottom:1px solid var(--gm-line-soft);vertical-align:top;font-size:15px;color:var(--gm-ink-2)}
.gm-tbl td:last-child{text-align:right;padding-right:0;white-space:nowrap}
.gm-tbl .gm-row-title{font-size:17px;font-weight:600;color:var(--gm-ink);display:block;margin-bottom:6px;letter-spacing:-0.01em}
.gm-tbl .gm-row-native{display:block;color:var(--gm-ink-3);font-size:14px;margin-bottom:8px;font-style:italic}
.gm-tbl .gm-row-price{font-size:20px;font-weight:600;color:var(--gm-ink)}

/* --------------------------------------------------------------------------
   Steps
   -------------------------------------------------------------------------- */
.gm-steps{margin-top:22px}
.gm-step{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid rgba(0,0,0,.07);font-size:15px;color:var(--gm-ink-2)}
.gm-step:last-child{border-bottom:0}
.gm-step b{color:var(--gm-ink);font-weight:600}

/* --------------------------------------------------------------------------
   Team
   -------------------------------------------------------------------------- */
.gm-person{display:flex;gap:22px;align-items:flex-start}
.gm-avatar{
  width:78px;height:78px;border-radius:50%;background:#e8f1fd;color:var(--gm-blue);
  flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:600;letter-spacing:-0.02em;overflow:hidden;
}
.gm-avatar img{width:100%;height:100%;object-fit:cover}
.gm-creds{color:var(--gm-ink-3);font-size:14px;margin-top:5px}
.gm-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.gm-pill{background:#eef5ff;color:#0057b0;font-size:13px;font-weight:500;padding:5px 13px;border-radius:100px}

/* --------------------------------------------------------------------------
   Location pills
   -------------------------------------------------------------------------- */
.gm-loc-links{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px}
.gm-loc-links a{
  display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--gm-line);
  color:var(--gm-ink);font-size:15px;padding:9px 18px;border-radius:100px;
  transition:border-color .2s,color .2s;
}
.gm-loc-links a:hover{border-color:var(--gm-blue);color:var(--gm-blue)}
.gm-loc-links svg{flex-shrink:0;opacity:.75}
.gm-loc-legend{display:flex;gap:22px;justify-content:center;align-items:center;flex-wrap:wrap;margin-top:18px;color:var(--gm-ink-3);font-size:14px}
.gm-loc-legend span{display:inline-flex;align-items:center;gap:7px}

/* --------------------------------------------------------------------------
   Reviews
   -------------------------------------------------------------------------- */
.gm-rating{text-align:center}
.gm-rating-n{font-size:72px;font-weight:600;letter-spacing:-0.04em;line-height:1}
.gm-stars{display:flex;gap:3px;justify-content:center;margin:16px 0 12px}
.gm-star{width:28px;height:28px;background:#00b67a;display:flex;align-items:center;justify-content:center;border-radius:2px}

/* --------------------------------------------------------------------------
   FAQ
   -------------------------------------------------------------------------- */
.gm-faq{max-width:860px;margin:0 auto}
.gm-faq details{border-bottom:1px solid var(--gm-line)}
.gm-faq summary{
  padding:22px 0;cursor:pointer;font-size:17px;font-weight:500;list-style:none;
  display:flex;justify-content:space-between;gap:20px;align-items:center;
}
.gm-faq summary::-webkit-details-marker{display:none}
.gm-faq summary::after{content:"+";color:var(--gm-blue);font-size:24px;line-height:1;font-weight:400}
.gm-faq details[open] summary::after{content:"\2013"}
.gm-faq details p{color:var(--gm-ink-2);font-size:15px;padding-bottom:24px;max-width:72ch;margin:0}

/* --------------------------------------------------------------------------
   Alert box — used for PEP and other urgent signposting
   -------------------------------------------------------------------------- */
.gm-alert{background:#FFF4F2;border:1px solid #F0C4BC;border-radius:22px;padding:32px 30px}
.gm-alert h3{font-size:20px;margin-bottom:10px}
.gm-alert p{color:var(--gm-ink-2);font-size:16px;margin:0 0 12px}
.gm-alert p:last-child{margin-bottom:0}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */
.gm-footer{background:var(--gm-grey-bg);padding:64px 0 40px;font-size:14px;color:var(--gm-ink-2)}
.gm-foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1fr;gap:28px;padding-bottom:40px;border-bottom:1px solid var(--gm-line)}
.gm-foot-grid h4{font-size:14px;margin-bottom:14px;color:var(--gm-ink)}
.gm-foot-grid ul{list-style:none;margin:0;padding:0}
.gm-foot-grid li{margin-bottom:9px}
.gm-foot-grid a:hover{color:var(--gm-blue)}
.gm-legal{padding-top:28px;color:var(--gm-ink-3);font-size:13px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (min-width:901px) and (max-width:1080px){
  .gm-g4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .gm-nav-links{
    display:none;position:absolute;top:56px;left:0;right:0;background:#000;
    flex-direction:column;align-items:stretch;gap:0;padding:6px 24px 22px;
    border-bottom:1px solid #262628;
  }
  .gm-nav-links.is-open{display:flex}
  .gm-nav-links>li>a{padding:14px 0;font-size:17px;border-bottom:1px solid #1a1a1c;display:block}
  .gm-burger{display:block}
  .gm-nav-links .sub-menu,.gm-dropdown{
    position:static;transform:none;background:transparent;box-shadow:none;
    padding:6px 0 10px;min-width:0;
  }
  .gm-nav-links .sub-menu a,.gm-dropdown a{color:#a1a1a6;padding:11px 0 11px 6px}
  .gm-nav-links .sub-menu a:hover,.gm-dropdown a:hover{background:transparent}
  .gm-dd-sep{margin:8px 0;background:#1a1a1c}

  .gm-g2,.gm-g3,.gm-g4{grid-template-columns:1fr}
  .gm-stats{grid-template-columns:repeat(2,1fr);gap:28px}
  .gm-facts-in{grid-template-columns:repeat(2,1fr);gap:26px}
  .gm-section{padding:76px 0}
  .gm-hero{padding-top:64px}
  .gm-hero-cta .gm-btn{width:100%}
  .gm-hero-link{margin-bottom:56px}
  .gm-foot-grid{grid-template-columns:1fr 1fr}
  .gm-strip-in{flex-direction:column;align-items:flex-start;gap:16px}
  .gm-util-links{gap:12px;font-size:13px;flex-wrap:nowrap;width:100%;justify-content:space-between}
  .gm-util-links a{white-space:nowrap;gap:4px}
  .gm-util-links svg{width:6px;height:10px}
  .gm-util-in{padding-left:16px;padding-right:16px}
  .gm-util-logo{display:none}
  .gm-util-in{justify-content:space-around}

  /* Utility bar becomes a fixed bottom action bar on mobile */
  .gm-util{
    top:auto;bottom:0;transform:none;
    border-bottom:0;border-top:1px solid var(--gm-line-soft);
    background:rgba(255,255,255,0.94);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .gm-util.is-visible{transform:none}
  .gm-util-in{height:auto;padding:0;gap:0}
  .gm-util-links{
    display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:0;width:100%;font-size:13px;
  }
  .gm-util-links a{
    flex-direction:column;justify-content:center;gap:4px;min-height:56px;
    padding:10px 4px;text-align:center;font-weight:500;line-height:1.25;
    border-right:1px solid var(--gm-line-soft);
  }
  .gm-util-links a:last-child{border-right:0}
  .gm-util-links svg{width:16px;height:16px;transform:rotate(-90deg)}
  body.gm{padding-bottom:64px}
  /* WPVibe preview only: its banner is fixed at bottom:0 (z-index 999999)
     and would cover the bar. Lift the bar above it. No effect on the live site. */
  body.wpvibe-preview-active .gm-util,
  body:has(#wpvibe-preview-banner) .gm-util{bottom:50px}
  body.gm.wpvibe-preview-active,
  body.gm:has(#wpvibe-preview-banner){padding-bottom:120px !important}
  .gm-person{flex-direction:column;gap:16px}
  .gm-prow{flex-direction:column;gap:8px}
  .gm-pval,.gm-pna{text-align:left;max-width:none}

  /* tables become stacked cards */
  .gm-tbl thead{position:absolute;left:-9999px}
  .gm-tbl tr{display:block;border-bottom:1px solid var(--gm-line);padding:20px 0}
  .gm-tbl td{display:block;border:0;padding:0;text-align:left !important}
  .gm-tbl td:last-child{text-align:left;margin-top:10px}
}

@media (prefers-reduced-motion:reduce){
  .gm *{transition:none !important}
  html{scroll-behavior:auto}
}

/* --------------------------------------------------------------------------
   Button colour fix — 10 September 2026
   `.gm a{color:inherit}` on line 34 has specificity 0-1-1, which beats
   `.gm-btn-blue{color:#fff}` at 0-1-0. Buttons therefore inherited the
   surrounding text colour: white on the black hero, but near-black on every
   white and grey section. Outline buttons lost their blue the same way.
   These three rules raise the specificity enough to win.
   -------------------------------------------------------------------------- */
.gm a.gm-btn-blue{color:#fff}
.gm a.gm-btn-outline{color:var(--gm-blue)}
.gm-on-black a.gm-btn-outline{color:#fff}

/* Black menu bar: all text white (owner, 17 Sep 2026). `.gm a{color:inherit}`
   was pulling the dark body colour onto the logo and links, so only the blue
   "+" showed. Drop-down panels are white, so their links stay dark. */
.gm .gm-nav{color:#fff}
.gm .gm-nav a.gm-logo{color:#fff}
.gm .gm-nav a.gm-logo em{color:var(--gm-blue-dark)}
.gm .gm-nav .gm-nav-links > li > a{color:#fff}
.gm .gm-nav .gm-nav-links > li > a:hover{color:#c7c7cc}
.gm .gm-nav .gm-nav-links .menu-item-has-children > a::after{border-color:#fff}
.gm .gm-nav .gm-nav-links .sub-menu a{color:var(--gm-ink)}
.gm .gm-nav .gm-nav-links .sub-menu a:hover{color:var(--gm-blue)}
.gm .gm-nav .gm-burger{color:#fff}
@media (max-width:900px){
  .gm .gm-nav .gm-nav-links .sub-menu a{color:#c7c7cc}
  .gm .gm-nav .gm-nav-links .sub-menu a:hover{color:#fff}
}

/* --------------------------------------------------------------------------
   17 Sep 2026 (owner): picture navigation across the blood test pages,
   and homepage-style pastel fades on the blood tests hub tiles.
   Markup: template-parts/gm-blood-nav.php (called from header.php).
   -------------------------------------------------------------------------- */
.gm-bnav{background:#fff;border-bottom:1px solid var(--gm-line-soft)}
.gm-bnav-in{
  display:flex;gap:6px;overflow-x:auto;justify-content:safe center;
  max-width:1280px;margin:0 auto;padding:16px 20px 14px;
  scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.gm-bnav-in::-webkit-scrollbar{display:none}
.gm .gm-bnav-item{
  flex:0 0 auto;width:88px;display:flex;flex-direction:column;align-items:center;gap:8px;
  padding:4px 2px;text-align:center;scroll-snap-align:start;text-decoration:none;
}
.gm-bnav-ic{
  width:54px;height:54px;border-radius:17px;display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(0,0,0,.07);transition:transform .2s ease,box-shadow .2s ease;
}
.gm-bnav-ic svg{width:26px;height:26px;fill:none;stroke:var(--gm-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.gm-bnav-l{font-size:12.5px;font-weight:500;line-height:1.25;color:var(--gm-ink-2)}
.gm-bnav-item:hover .gm-bnav-ic{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.08)}
.gm-bnav-item:hover .gm-bnav-l{color:var(--gm-ink)}
.gm-bnav-item.is-current .gm-bnav-ic{background:var(--gm-ink);border-color:var(--gm-ink)}
.gm-bnav-item.is-current .gm-bnav-ic svg{stroke:#fff}
.gm-bnav-item.is-current .gm-bnav-l{color:var(--gm-ink);font-weight:600}
@media (max-width:900px){
  .gm-bnav-in{justify-content:flex-start;padding:12px 16px 10px}
  .gm .gm-bnav-item{width:78px}
  .gm-bnav-ic{width:48px;height:48px;border-radius:15px}
}

/* Hub (page 371): the five screening profiles as a grid of faded tiles */
.gm-profiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gm-profiles .gm-card{margin:0 !important;border-radius:22px;border:1px solid rgba(0,0,0,.05);scroll-margin-top:80px}
#general-well-person{background:linear-gradient(180deg,#DCEBFF 0%,#FFFFFF 100%)}
#well-person-plus{background:linear-gradient(180deg,#D9F2EC 0%,#FFFFFF 100%)}
#well-man{background:linear-gradient(180deg,#E4E7FB 0%,#FFFFFF 100%)}
#senior-female{background:linear-gradient(180deg,#FDE6F1 0%,#FFFFFF 100%)}
#senior-male{background:linear-gradient(180deg,#FFF0D9 0%,#FFFFFF 100%)}
.gm-profiles .gm-price{display:block;font-size:22px;font-weight:600;letter-spacing:-0.02em;margin-top:6px}
@media (max-width:1000px){.gm-profiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.gm-profiles{grid-template-columns:1fr}}

/* Hub: the 13 test cards, cycling the homepage fades */
.page-id-371 a.gm-card{border-radius:22px;border:1px solid rgba(0,0,0,.05);background:linear-gradient(180deg,#DCEBFF 0%,#FFFFFF 100%)}
.page-id-371 a.gm-card:nth-child(6n+2){background:linear-gradient(180deg,#D9F2EC 0%,#FFFFFF 100%)}
.page-id-371 a.gm-card:nth-child(6n+3){background:linear-gradient(180deg,#EBE4FB 0%,#FFFFFF 100%)}
.page-id-371 a.gm-card:nth-child(6n+4){background:linear-gradient(180deg,#FFE3E0 0%,#FFFFFF 100%)}
.page-id-371 a.gm-card:nth-child(6n+5){background:linear-gradient(180deg,#FFF0D9 0%,#FFFFFF 100%)}
.page-id-371 a.gm-card:nth-child(6n+6){background:linear-gradient(180deg,#E2F0D9 0%,#FFFFFF 100%)}
.page-id-371 .gm-band a.gm-card:nth-child(4n+1){background:linear-gradient(180deg,#EBE4FB 0%,#FFFFFF 100%)}
.page-id-371 .gm-band a.gm-card:nth-child(4n+2){background:linear-gradient(180deg,#DBF0F5 0%,#FFFFFF 100%)}
.page-id-371 .gm-band a.gm-card:nth-child(4n+3){background:linear-gradient(180deg,#FFEAD9 0%,#FFFFFF 100%)}
.page-id-371 .gm-band a.gm-card:nth-child(4n+4){background:linear-gradient(180deg,#E4E7FB 0%,#FFFFFF 100%)}

/* --------------------------------------------------------------------------
   Sexual health pages: pink highlights (owner, 17 Sep 2026)
   The screens section carries a lot of detail, so headings are coloured to
   make it scannable: bright pink for the STD wording and the same-day test
   names, Apple blue for the screen cards, pink for the early detection card.
   -------------------------------------------------------------------------- */
.gm-pink{color:#FF2D87}
.gm-on-black .gm-pink{color:#FF5CA3}
.page-template-page-sexual-health-php .gm-card h3{color:var(--gm-blue)}
.gm-card-pink{border-color:rgba(255,45,135,.35) !important}
.page-template-page-sexual-health-php .gm-card-pink h3{color:#FF2D87}
.gm-card-pink .gm-flag{
  display:inline-block;background:#FF2D87;color:#fff;font-size:12px;font-weight:600;
  border-radius:100px;padding:3px 11px;margin-bottom:10px;
}

/* --------------------------------------------------------------------------
   Blog posts (single.php), 18 Sep 2026
   -------------------------------------------------------------------------- */
.gm-article{max-width:740px}
.gm-byline{display:flex;align-items:center;gap:14px;padding-bottom:22px;margin-bottom:28px;border-bottom:1px solid var(--gm-line-soft)}
.gm-byline .gm-avatar{width:48px;height:48px;border-radius:50%;background:var(--gm-grey-bg);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:16px;flex-shrink:0}
.gm-byline-name{font-weight:600;margin:0;font-size:16px}
.gm-byline-creds{margin:2px 0 0;font-size:14px;color:var(--gm-ink-2)}
.gm-byline-date{margin:2px 0 0;font-size:13px;color:var(--gm-ink-3)}
.gm-article-img{margin:0 0 28px}
.gm-article-img img{width:100%;height:auto;border-radius:22px;display:block}
.gm-prose{font-size:18px;line-height:1.65;color:var(--gm-ink-2)}
.gm-prose h2{font-size:clamp(24px,3vw,30px);letter-spacing:-0.02em;color:var(--gm-ink);margin:38px 0 14px}
.gm-prose h3{font-size:20px;color:var(--gm-ink);margin:28px 0 10px}
.gm-prose p{margin:0 0 18px}
.gm-prose ul,.gm-prose ol{margin:0 0 20px;padding-left:22px}
.gm-prose li{margin-bottom:8px}
.gm-prose strong{color:var(--gm-ink)}
.gm-prose a{color:var(--gm-blue)}
.gm-prose img{max-width:100%;height:auto;border-radius:16px}
.gm-prose table{width:100%;border-collapse:collapse;margin:0 0 24px;font-size:16px}
.gm-prose th,.gm-prose td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--gm-line-soft)}
.gm-prose th{color:var(--gm-ink);font-weight:600}
.gm-article-note{margin-top:36px;padding:22px 24px;border-radius:18px;background:var(--gm-grey-bg)}
.gm-article-note p{margin:0;font-size:15px;color:var(--gm-ink-2)}

/* --------------------------------------------------------------------------
   A-Z of blood tests (page-a-z-blood-tests.php), 17 Sep 2026
   -------------------------------------------------------------------------- */
.gm-az-tools{max-width:900px;margin:0 auto 34px;text-align:center}
.gm-az-sr{position:absolute;left:-9999px}
.gm-az-search input{
  width:100%;max-width:560px;font:inherit;font-size:17px;padding:14px 22px;
  border:1px solid var(--gm-line-soft);border-radius:100px;background:#fff;color:var(--gm-ink);
}
.gm-az-search input:focus{outline:2px solid var(--gm-blue);outline-offset:2px}
.gm-az-letters{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:18px}
.gm .gm-az-letters a{
  display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border-radius:12px;background:#fff;border:1px solid var(--gm-line-soft);
  font-size:15px;font-weight:600;color:var(--gm-ink);
}
.gm .gm-az-letters a:hover{border-color:var(--gm-blue);color:var(--gm-blue)}
.gm-az-none{margin-top:18px;color:var(--gm-ink-2)}
.gm-az-list{display:grid;gap:20px;max-width:1000px;margin:0 auto}
.gm-az-group{border-radius:22px;border:1px solid rgba(0,0,0,.05);padding:26px 30px 14px;scroll-margin-top:120px}
.gm .gm-az-letter{font-size:34px;letter-spacing:-0.03em;margin:0 0 10px}
.gm-az-row{
  display:grid;grid-template-columns:minmax(0,1fr) 110px 120px;gap:16px;align-items:baseline;
  padding:12px 0;border-top:1px solid rgba(0,0,0,.06);
}
.gm-az-row[hidden],.gm-az-group[hidden]{display:none}
.gm-az-name{font-size:15px;font-weight:500;color:var(--gm-ink);line-height:1.4}
.gm-az-detail{display:block;font-size:13px;font-weight:400;color:var(--gm-ink-3);margin-top:3px}
.gm-az-price{font-size:15px;font-weight:600;color:var(--gm-ink);text-align:right;white-space:nowrap}
.gm-az-days{font-size:14px;color:var(--gm-ink-2);text-align:right}
@media (max-width:640px){
  .gm-az-group{padding:22px 20px 10px}
  .gm-az-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 14px}
  .gm-az-days{grid-column:1 / -1;text-align:left;font-size:13px}
}
