/*
Theme Name: Uncode Child
Description: Child theme for Uncode theme. Govind Raj 2026 brand layer (Classic Venture inspired).
Author: Undsgn™
Author URI: http://www.undsgn.com
Template: uncode
Version: 2.0.0
Text Domain: uncode
*/

/* =====================================================================
   1. Tokens
   ===================================================================== */
:root {
  --gr-navy: #173B63;
  --gr-navy-deep: #102B48;
  --gr-green: #173F35;
  --gr-ivory: #F7F5F0;
  --gr-sand: #E8E1D6;
  --gr-graphite: #4A4A46;
  --gr-serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --gr-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --gr-radius: 30px;      /* panels */
  --gr-radius-sm: 22px;   /* cards, photos */
  --gr-gap: 14px;         /* space around boxed panels */
  --gr-sec: 104px;        /* vertical section rhythm */
  --gr-ease: cubic-bezier(.25,.45,.4,1);
}
@media (max-width: 959px) { :root { --gr-sec: 72px; --gr-radius: 22px; } }
@media (max-width: 569px) { :root { --gr-sec: 56px; --gr-gap: 8px; } }

/* =====================================================================
   2. Base type
   ===================================================================== */
/* no global scroll-behavior: it fights Uncode's jQuery scroll animation; gr-site.js scrolls natively */
body { background: var(--gr-ivory); color: var(--gr-graphite); font-family: var(--gr-sans); -webkit-font-smoothing: antialiased; }
#home, #about, #help, #golfer, #insights, #follow, #contact { scroll-margin-top: 80px; }
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { font-family: var(--gr-serif); font-weight: 400; letter-spacing: -.02em; }
.gr-title h1, .gr-title h2, .gr-title h3, .gr-title span { font-weight: 400 !important; line-height: 1.1 !important; letter-spacing: -.02em; }
.gr-copy, .gr-copy p { font-size: 18px; line-height: 1.65; color: var(--gr-graphite); }
.gr-copy p:last-child { margin-bottom: 0; }

/* Tight, consistent stacking inside our columns (overrides Uncode's 36px gutters) */
.gr-sec .uncont > * + *, .gr-panel .uncont > * + *, .gr-hero .uncont > * + * { margin-top: 22px !important; }
.uncont > .gr-pill + * { margin-top: 14px !important; }
.uncont > .gr-title + .gr-copy { margin-top: 18px !important; }
.uncont > .gr-btns { margin-top: 30px !important; }

/* =====================================================================
   3. Section shells
   ===================================================================== */
.gr-sec > .row-parent { padding-top: var(--gr-sec) !important; padding-bottom: var(--gr-sec) !important; }
.gr-sec.gr-sec-head > .row-parent { padding-bottom: 44px !important; }
.gr-sec.gr-sec-body > .row-parent { padding-top: 0 !important; }
.gr-head-aside .uncont { display: flex; flex-direction: column; align-items: flex-start; }
.gr-aside-right .uncont { align-items: flex-end; text-align: right; }
@media (max-width: 959px) { .gr-aside-right .uncont { align-items: flex-start; text-align: left; } .gr-head-aside { margin-top: 18px; } }

/* Boxed panels: same frame as the hero (rounded, inset from the viewport edge) */
.gr-panel { background: var(--gr-ivory) !important; padding: 0 var(--gr-gap) var(--gr-gap); }
.gr-panel > .row-parent { border-radius: var(--gr-radius); overflow: hidden; padding: 0 !important; margin: 0 !important; max-width: none !important; }

/* =====================================================================
   4. Sub-heading pill (hero pattern, used by every section)
   ===================================================================== */
.vc_custom_heading_wrap.gr-pill { display: inline-block !important; width: auto !important; max-width: 100%; padding: 8px 16px; border-radius: 999px; background: rgba(23,59,99,.08); margin: 0 !important; }
.vc_custom_heading_wrap.gr-pill .heading-text, .vc_custom_heading_wrap.gr-pill h6, .vc_custom_heading_wrap.gr-pill span {
  margin: 0 !important; padding: 0 !important; background: none !important;
  font-family: var(--gr-sans) !important; font-size: 11px !important; font-weight: 600 !important; line-height: 1.4 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important; color: var(--gr-navy) !important;
}
.text-center .vc_custom_heading_wrap.gr-pill, .align_center .vc_custom_heading_wrap.gr-pill { margin-left: auto !important; margin-right: auto !important; }
/* on blue / green panels */
.gr-hero .gr-pill, .gr-panel .gr-pill { background: rgba(255,255,255,.12); }
.gr-hero .gr-pill h6, .gr-hero .gr-pill span, .gr-panel .gr-pill h6, .gr-panel .gr-pill span { color: var(--gr-sand) !important; }

/* =====================================================================
   5. Button (Classic Venture build: 17px / 700 / pill / 34px arrow disc)
   ===================================================================== */
.gr-btns { margin: 0; }
.gr-btns p { margin: 0 !important; display: flex; flex-wrap: wrap; gap: 12px; }
.gr-btn {
  --gb-bg: #E8E1D6; --gb-bg-h: #F7F5F0; --gb-txt: #173B63; --gb-txt-h: #173B63;
  --gb-ic-bg: #FFFFFF; --gb-ic-bg-h: #173B63; --gb-ic: #173B63; --gb-ic-h: #FFFFFF; --gb-border: transparent;
  display: inline-flex !important; align-items: center; justify-content: center; gap: 18px;
  font-family: var(--gr-sans); font-size: 17px; font-weight: 700; letter-spacing: -0.05em; line-height: normal; text-transform: none;
  padding: 1.25em 1.75em; border-radius: 170px; border: 1px solid var(--gb-border);
  background: var(--gb-bg); color: var(--gb-txt) !important; text-decoration: none !important; cursor: pointer; white-space: nowrap;
  transition: background .4s var(--gr-ease), color .4s var(--gr-ease), border-color .4s var(--gr-ease);
}
.gr-btn:hover { background: var(--gb-bg-h); color: var(--gb-txt-h) !important; }
.gr-btn__text { position: relative; overflow: hidden; display: flex; padding-inline-end: .075em; }
.gr-btn__text > span { display: block; transition: transform .4s var(--gr-ease); }
.gr-btn__text > span::after { content: attr(data-content); position: absolute; left: 0; bottom: -120%; transition: transform .4s var(--gr-ease); }
.gr-btn:hover .gr-btn__text > span { transform: translateY(-100%); }
.gr-btn:hover .gr-btn__text > span::after { transform: translateY(-20%); }
.gr-btn__icon { position: relative; flex: 0 0 auto; width: 2em; aspect-ratio: 1; display: flex !important; align-items: center; overflow: hidden; border-radius: 100vw; margin: -.5em 0; background: var(--gb-ic-bg) !important; transition: background .4s var(--gr-ease); }
.gr-btn:hover .gr-btn__icon { background: var(--gb-ic-bg-h) !important; }
.gr-btn__icon-in { width: 100%; aspect-ratio: 1; display: flex !important; align-items: center; justify-content: center; transition: transform .4s var(--gr-ease); }
.gr-btn:hover .gr-btn__icon-in { transform: translateX(100%); }
.gr-btn svg { width: 60%; aspect-ratio: 1; display: block; fill: var(--gb-ic) !important; transition: fill .4s var(--gr-ease); }
.gr-btn svg + svg { position: absolute; top: 20%; left: -80%; }
.gr-btn:hover svg { fill: var(--gb-ic-h) !important; }
.gr-btn--navy      { --gb-bg: #173B63; --gb-bg-h: #173F35; --gb-txt: #FFFFFF; --gb-txt-h: #FFFFFF; --gb-ic-bg: #FFFFFF; --gb-ic: #173B63; --gb-ic-bg-h: #E8E1D6; --gb-ic-h: #173F35; }
.gr-btn--ghost     { --gb-bg: transparent; --gb-bg-h: #E8E1D6; --gb-txt: #E8E1D6; --gb-txt-h: #173B63; --gb-border: rgba(232,225,214,.6); --gb-ic-bg: #E8E1D6; --gb-ic: #173B63; --gb-ic-bg-h: #173B63; --gb-ic-h: #E8E1D6; }
.gr-btn--ghostdark { --gb-bg: transparent; --gb-bg-h: #173B63; --gb-txt: #173B63; --gb-txt-h: #FFFFFF; --gb-border: #173B63; --gb-ic-bg: #173B63; --gb-ic: #FFFFFF; --gb-ic-bg-h: #FFFFFF; --gb-ic-h: #173B63; }
@media (max-width: 569px) { .gr-btn { font-size: 15px; white-space: normal; } }

/* =====================================================================
   6. Header (full width, ivory, compact "Say hello" button)
   ===================================================================== */
.menu-container, .menu-wrapper, .menu-container .navbar-main { background-color: var(--gr-ivory) !important; border: 0 !important; box-shadow: none !important; }
.menu-primary-inner > li > a { font-family: var(--gr-sans) !important; font-size: 15px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.menu-primary-inner > li:not(.gr-menu-cta) > a, .menu-primary-inner > li:not(.gr-menu-cta) > a span { color: var(--gr-graphite) !important; }
.menu-primary-inner > li:not(.gr-menu-cta) > a:hover, .menu-primary-inner > li:not(.gr-menu-cta) > a:hover span { color: var(--gr-navy) !important; }
.menu-primary-inner > li.gr-menu-cta { display: inline-flex !important; align-items: center; margin-left: 16px; }
.menu-primary-inner > li.gr-menu-cta > a.gr-btn {
  height: auto !important; min-height: 0 !important; line-height: normal !important; width: auto !important;
  font-size: 15px !important; font-weight: 700 !important; letter-spacing: -0.03em !important;
  padding: 6px 6px 6px 20px !important; gap: 14px; border-radius: 170px !important;
  background: var(--gb-bg) !important; color: var(--gb-txt) !important;
}
.menu-primary-inner > li.gr-menu-cta > a.gr-btn:hover { background: var(--gb-bg-h) !important; color: var(--gb-txt-h) !important; }
.menu-primary-inner > li.gr-menu-cta > a.gr-btn .gr-btn__icon { width: 34px !important; margin: 0 !important; }
.menu-primary-inner > li.gr-menu-cta > a.gr-btn span { padding: 0; }
.menu-primary-inner > li.gr-menu-cta > a.gr-btn::after, .menu-primary-inner > li.gr-menu-cta > a.gr-btn i { display: none !important; content: none !important; }

/* =====================================================================
   7. Hero (dark rounded panel + two vertical photo marquees)
   ===================================================================== */
.gr-hero { background: var(--gr-ivory) !important; padding: 0 var(--gr-gap) var(--gr-gap); }
.gr-hero > .row-parent { background: var(--gr-navy); border-radius: var(--gr-radius); overflow: hidden; padding: 0 !important; margin: 0 !important; max-width: none !important; min-height: calc(100vh - 104px); }
.gr-hero > .row-parent > .row-inner { min-height: calc(100vh - 104px); }
.gr-hero .gr-hero-copy { padding: 0 !important; }
.gr-hero .gr-hero-copy .uncell { padding: 40px 48px 40px 72px !important; }
.gr-hero .gr-hero-copy .uncont { padding: 0 !important; max-width: 760px; }
.gr-hero .gr-hero-copy .uncoltable { min-height: calc(100vh - 104px); }
.gr-hero .gr-hero-title h1, .gr-hero .gr-hero-title h1 span { font-size: clamp(34px, 3.7vw, 62px) !important; line-height: 1.08 !important; color: #fff; font-weight: 400 !important; letter-spacing: -.02em; }
.gr-hero .gr-hero-lead, .gr-hero .gr-hero-lead p { color: rgba(255,255,255,.88); max-width: 560px; font-size: 19px; line-height: 1.6; }
.gr-hero .gr-hero-col { position: relative; overflow: hidden; }
.gr-hero .gr-hero-col .uncoltable { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100% !important; min-height: 0 !important; }
.gr-hero .gr-hero-col .uncell, .gr-hero .gr-hero-col .uncont { height: 100%; }
.gr-hero .gr-hero-col .uncell { padding: 14px 7px !important; }
.gr-hero .gr-hero-col .t-entry-visual-cont { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-hero-mobile-img { margin-top: 34px; border-radius: var(--gr-radius-sm); overflow: hidden; }
@media (min-width: 960px) { .gr-hero-mobile-img { display: none !important; } }
@media (max-width: 959px) {
  .gr-hero > .row-parent, .gr-hero > .row-parent > .row-inner, .gr-hero .gr-hero-copy .uncoltable { min-height: 0; }
  .gr-hero .gr-hero-copy .uncell { padding: 44px 24px !important; }
}

/* =====================================================================
   8. About (image + text)
   ===================================================================== */
.gr-round-img .t-entry-visual-cont, .gr-round-img img, .gr-round-img .uncode-single-media-wrapper { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-about .gr-about-media .uncell { padding-right: 28px !important; }
.gr-about .gr-about-text .uncell { padding-left: 36px !important; }
.gr-about .gr-title { max-width: 560px; }
.gr-about .gr-copy { max-width: 560px; }
.gr-habits p { margin: 0; }
.gr-habits span { display: inline-block; font-family: var(--gr-serif); font-style: italic; font-size: 19px; color: var(--gr-navy); margin-right: 22px; position: relative; }
.gr-habits span + span::before { content: ""; position: absolute; left: -13px; top: 55%; width: 4px; height: 4px; border-radius: 50%; background: var(--gr-green); }
@media (max-width: 959px) {
  .gr-about .gr-about-media .uncell { padding-right: 0 !important; padding-bottom: 28px !important; }
  .gr-about .gr-about-text .uncell { padding-left: 0 !important; }
}

/* =====================================================================
   9. How I Help: card + photo pairs on an auto marquee
   ===================================================================== */
.gr-help .gr-copy { max-width: 440px; }
.gr-marquee { overflow: hidden; width: 100%; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 4%, #000 96%, transparent 100%); }
.gr-marquee__track { display: flex; width: max-content; animation: gr-marquee 55s linear infinite; }
.gr-marquee:hover .gr-marquee__track { animation-play-state: paused; }
.gr-marquee__group { display: flex; gap: 14px; padding-right: 14px; }
@keyframes gr-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.gr-pair { --pair: clamp(220px, 21vw, 330px); display: flex; gap: 14px; }
.gr-pair__card { width: var(--pair); height: var(--pair); box-sizing: border-box; background: #fff; border-radius: var(--gr-radius-sm); padding: 30px; display: flex; flex-direction: column; justify-content: space-between; }
.gr-pair__num { align-self: flex-start; font-family: var(--gr-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; color: var(--gr-navy); background: rgba(23,59,99,.08); padding: 8px 14px; border-radius: 999px; }
.gr-pair__title { margin: 0; font-family: var(--gr-serif); font-weight: 400; font-size: clamp(24px, 2.1vw, 34px); line-height: 1.12; letter-spacing: -.02em; color: var(--gr-navy); }
.gr-pair__img { width: var(--pair); height: var(--pair); border-radius: var(--gr-radius-sm); overflow: hidden; background: var(--gr-sand); }
.gr-pair__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--gr-ease); }
.gr-pair:hover .gr-pair__img img { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) {
  .gr-marquee { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .gr-marquee__track { animation: none; }
  .gr-marquee__group[aria-hidden="true"] { display: none; }
}

/* =====================================================================
   10. The Real Estate Golfer (two boxed navy panels)
   ===================================================================== */
.gr-golfer > .row-parent, .gr-trail > .row-parent { background: var(--gr-navy); }
.gr-golfer .gr-golfer-copy > .uncol > .uncoltable > .uncell { padding: 72px 72px 72px 64px !important; }
.gr-golfer .gr-title h2, .gr-golfer .gr-title span, .gr-trail .gr-title h3, .gr-trail .gr-title span { color: #fff !important; }
.gr-golfer .gr-copy, .gr-golfer .gr-copy p { color: rgba(255,255,255,.86); }
.gr-golfer .gr-stats { margin-top: 30px !important; }
.gr-golfer .gr-stats .uncell { padding: 0 !important; }
.gr-golfer .uncode-counter, .gr-golfer .counter-wrapper { font-family: var(--gr-serif) !important; font-size: clamp(48px, 4.6vw, 76px) !important; line-height: 1 !important; font-weight: 400 !important; color: #fff !important; letter-spacing: -.02em; }
.gr-stat-label, .gr-stat-label p { margin-top: 8px !important; font-family: var(--gr-sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-sand) !important; }
.gr-trail .gr-trail-col .uncell { padding: 80px 0 24px !important; }
.gr-trail .gr-trail-carousel { margin-top: 36px !important; }
.gr-trail .owl-carousel .t-entry-visual-cont { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-trail .owl-dots { margin-top: 18px; }
.gr-trail .gr-wall { margin-top: 28px !important; padding: 0 24px; }
.gr-trail .gr-wall .t-entry-visual-cont, .gr-trail .gr-wall .t-inside { border-radius: 16px; overflow: hidden; }
@media (max-width: 959px) {
  .gr-golfer .gr-golfer-copy > .uncol > .uncoltable > .uncell { padding: 48px 24px !important; }
  .gr-trail .gr-trail-col .uncell { padding: 56px 0 16px !important; }
  .gr-trail .gr-wall { padding: 0 12px; }
}

/* =====================================================================
   11. GR Insights cards
   ===================================================================== */
.gr-posts .tmb .t-inside { background: transparent; }
.gr-posts .tmb .t-entry-visual, .gr-posts .tmb .t-entry-visual-cont { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-posts .tmb .t-entry-text-tc { padding: 22px 4px 0 !important; background: transparent !important; }
.gr-posts .t-entry-title { margin: 0 0 10px !important; }
.gr-posts .t-entry-title, .gr-posts .t-entry-title a { font-family: var(--gr-serif) !important; font-weight: 400 !important; font-size: 26px !important; line-height: 1.2 !important; letter-spacing: -.01em; color: var(--gr-navy) !important; }
.gr-posts .t-entry p, .gr-posts .t-entry-excerpt { font-size: 16px; line-height: 1.6; color: var(--gr-graphite); }
.gr-posts .t-entry-category a, .gr-posts .tmb-term-evidence a, .gr-posts .t-cat-over-inner a { background: rgba(247,245,240,.94) !important; color: var(--gr-navy) !important; border-radius: 999px !important; padding: 7px 14px !important; font-family: var(--gr-sans); font-size: 10px !important; font-weight: 600 !important; letter-spacing: .14em; text-transform: uppercase; border: 0 !important; }
.gr-posts .t-entry-readmore, .gr-posts .t-entry-readmore a, .gr-posts .t-entry .btn-link { font-family: var(--gr-sans); font-size: 14px !important; font-weight: 700; letter-spacing: -.01em; color: var(--gr-navy) !important; text-transform: none; }
.gr-posts .tmb .t-entry hr, .gr-posts .t-entry-meta { display: none; }

/* =====================================================================
   12. Follow along (rounded tiles)
   ===================================================================== */
.gr-ig .tmb .t-entry-visual-cont, .gr-ig .tmb .t-inside { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-ig .tmb .t-overlay-icon i, .gr-ig .t-entry-visual-overlay + * i { font-size: 26px; }

/* =====================================================================
   13. Contact (boxed green panel)
   ===================================================================== */
.gr-contact > .row-parent { background: var(--gr-green); }
.gr-contact .gr-contact-copy > .uncol > .uncoltable > .uncell { padding: 80px 64px 80px 72px !important; }
.gr-contact .gr-title h2, .gr-contact .gr-title span { color: #fff !important; }
.gr-contact .gr-copy, .gr-contact .gr-copy p { color: rgba(255,255,255,.86); }
.gr-contact-lines p { margin: 0; }
.gr-contact-lines a { display: block; color: var(--gr-sand) !important; font-size: 15px; padding: 3px 0; text-decoration: none !important; border: 0 !important; }
.gr-contact-lines a:hover { color: #fff !important; }
.uncont > .gr-contact-lines { margin-top: 30px !important; }
@media (max-width: 959px) { .gr-contact .gr-contact-copy > .uncol > .uncoltable > .uncell { padding: 52px 24px !important; } }

/* =====================================================================
   14. Footer (wide, boxed navy panel, minimal type)
   ===================================================================== */
#colophon, .site-footer, footer.site-footer, .footer-content-block, .footer-content-block-inner { background: var(--gr-ivory) !important; }
.gr-footer > .row-parent { background: var(--gr-navy); }
.gr-footer .gr-footer-col > .uncol > .uncoltable > .uncell { padding: 64px 72px 30px !important; }
.gr-footer .gr-footer-logo { max-width: 210px; }
.gr-footer .gr-footer-logo img { width: 100%; height: auto; }
.gr-footer-tag, .gr-footer-tag p { margin-top: 18px !important; font-size: 14px; line-height: 1.6; color: rgba(255,255,255,.72); }
.gr-footer-label, .gr-footer-label p { font-family: var(--gr-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-sand) !important; margin: 0; }
.uncont > .gr-footer-label + .gr-footer-links { margin-top: 14px !important; }
.gr-footer-links p { margin: 0; }
.gr-footer-links a { display: block; font-size: 14px; line-height: 1.5; padding: 4px 0; color: rgba(255,255,255,.82) !important; text-decoration: none !important; border: 0 !important; }
.gr-footer-links a:hover { color: #fff !important; }
.gr-footer-base { margin-top: 48px !important; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.14); }
.gr-footer-base, .gr-footer-base p { font-size: 13px; color: rgba(255,255,255,.6); margin-bottom: 0; }
@media (max-width: 959px) {
  .gr-footer .gr-footer-col > .uncol > .uncoltable > .uncell { padding: 48px 24px 24px !important; }
  .gr-footer .gr-footer-top .wpb_column + .wpb_column { margin-top: 28px; }
}

/* golfer: static stat numbers + photo strip */
.gr-stat-num, .gr-stat-num p, .gr-stat-num span { margin: 0 !important; font-family: var(--gr-serif) !important; font-weight: 400 !important; line-height: 1 !important; letter-spacing: -.02em; color: #fff !important; }
.uncont > .gr-stat-num + .gr-stat-label { margin-top: 10px !important; }
.gr-trail .gr-wall { padding: 0 !important; margin-top: 40px !important; }
.gr-trail .gr-wall .t-entry-visual-cont { border-radius: 16px; overflow: hidden; }

/* Insights: "Read more" as a quiet text link with arrow (template style) */
.gr-posts .t-entry-readmore { margin-top: 14px !important; }
.gr-posts .t-entry-readmore .btn { background: none !important; border: 0 !important; padding: 0 !important; margin: 0 !important; box-shadow: none !important; min-width: 0; font-family: var(--gr-sans) !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: -.02em !important; text-transform: none !important; color: var(--gr-navy) !important; }
.gr-posts .t-entry-readmore .btn::after { content: "\2192"; display: inline-block; margin-left: 8px; transition: transform .3s var(--gr-ease); }
.gr-posts .t-entry-readmore .btn:hover { color: var(--gr-green) !important; }
.gr-posts .t-entry-readmore .btn:hover::after { transform: translateX(4px); }

/* Footer: align inner columns to the panel edge, keep links on one line */
.gr-footer .gr-footer-top .uncell { padding: 0 !important; }
.gr-footer-links a { white-space: nowrap; }

/* Golfer stats stay side by side on phones */
@media (max-width: 959px) {
  .gr-golfer .gr-stats .row-inner { display: flex !important; flex-wrap: nowrap; }
  .gr-golfer .gr-stats .wpb_column { width: 50% !important; float: none !important; display: block; }
  .gr-golfer .gr-stats .uncoltable, .gr-golfer .gr-stats .uncell { display: block; height: auto !important; min-height: 0 !important; }
}
@media (max-width: 959px) {
  .gr-golfer .gr-stats .uncell { vertical-align: top !important; }
  .gr-golfer .gr-stats .uncont { display: block; }
  .gr-stat-label, .gr-stat-label p { white-space: nowrap; font-size: 11px; letter-spacing: .12em; }
}
@media (max-width: 959px) {
  .gr-golfer .gr-stats .wpb_column, .gr-golfer .gr-stats .wpb_column + .wpb_column { margin-top: 0 !important; padding-top: 0 !important; }
  .gr-golfer .gr-stats .row-inner { align-items: flex-start; }
  .gr-golfer .gr-stats .uncol, .gr-golfer .gr-stats .uncoltable { margin: 0 !important; padding: 0 !important; }
  .gr-golfer .gr-stats { margin-top: 26px !important; }
}
/* stats inner row: no extra gutters, so numbers line up with the copy */
.gr-golfer .gr-stats > .row-child { padding: 0 !important; margin: 0 !important; }
.gr-golfer .gr-stats .row-inner { margin-left: 0 !important; margin-right: 0 !important; }
.gr-golfer .gr-stats .wpb_column { padding-left: 0 !important; }
@media (max-width: 959px) { .gr-golfer .gr-stats .row-inner { height: auto !important; } .gr-golfer .uncont > .gr-btns { margin-top: 28px !important; } }

/* =====================================================================
   Round 5
   ===================================================================== */
/* Header button: breathing room after the arrow */
.menu-primary-inner > li.gr-menu-cta > a.gr-btn { padding: 6px 12px 6px 22px !important; }

/* About: slightly larger photo, text centred vertically against it */
.gr-about .gr-about-media > .uncol > .uncoltable > .uncell { padding-right: 56px !important; }
.gr-about .gr-about-text > .uncol > .uncoltable > .uncell { padding-left: 0 !important; vertical-align: middle !important; }
.gr-about .gr-about-text > .uncol > .uncoltable { height: 100%; }
@media (max-width: 959px) { .gr-about .gr-about-media > .uncol > .uncoltable > .uncell { padding-right: 0 !important; } }

/* Golfer: tall panel so the photo reads in full */
.gr-golfer .gr-golfer-copy > .uncol > .uncoltable { min-height: clamp(560px, 42vw, 760px); }
@media (max-width: 959px) { .gr-golfer .gr-golfer-copy > .uncol > .uncoltable { min-height: 0; } }

/* Follow along: black panel with scattered photos (Creative Wellness "Stronger Together") */
.gr-follow > .row-parent { background: #121414; position: relative; }
.gr-follow .gr-follow-col > .uncol > .uncoltable { min-height: clamp(560px, 78vh, 820px); }
.gr-follow .gr-follow-col > .uncol > .uncoltable > .uncell { padding: 96px 24px !important; vertical-align: middle; position: relative; z-index: 2; }
.gr-follow .gr-follow-col .uncont { max-width: 820px; margin: 0 auto; position: relative; z-index: 2; }
.gr-follow .gr-follow-title h2, .gr-follow .gr-follow-title span { color: #fff !important; }
.gr-follow .gr-btns p { justify-content: center; }
.gr-mag { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; overflow: hidden; pointer-events: none; opacity: 0; transition: opacity .8s var(--gr-ease); }
.gr-mag.is-ready { opacity: 1; }
.gr-mag__item { position: absolute; display: block; border-radius: 10px; overflow: hidden; background: #1d2122; transition: transform .25s ease-out; will-change: transform; }
.gr-mag__item img { width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; display: block; }
.gr-mag-host > .row-inner { position: relative; z-index: 2; }
.gr-follow .wpb_column, .gr-follow .uncol { position: static; }
/* tables ignore min-height, so give the cell tables a height (acts as a minimum) */
.gr-follow .gr-follow-col > .uncol > .uncoltable { height: clamp(560px, 78vh, 820px); }
.gr-follow .gr-follow-col { padding: 0 !important; }
.gr-golfer .gr-golfer-copy > .uncol > .uncoltable { height: clamp(560px, 42vw, 760px); }
@media (max-width: 959px) { .gr-golfer .gr-golfer-copy > .uncol > .uncoltable { height: auto; } .gr-follow .gr-follow-col > .uncol > .uncoltable { height: 640px; } }

/* =====================================================================
   Round 6
   ===================================================================== */
/* Header "Say hello": beat Uncode's last-item rule
   (body[class*=hmenu-]:not(.hormenu-position-right) .navbar-nav-last > ul:last-child > li:last-child > a { padding-right:0 !important }) */
body[class*=hmenu-] .navbar-nav-last > ul:last-child > li.gr-menu-cta:last-child > a.gr-btn.gr-btn--header,
body[class*=hmenu-] .menu-primary-inner > li.gr-menu-cta > a.gr-btn.gr-btn--header.gr-btn {
  padding: 6px 12px 6px 22px !important; margin-right: 0 !important;
}

/* Golfer panel on brand green */
.gr-golfer > .row-parent { background: var(--gr-green) !important; }

/* Follow along: navy panel, smaller photos, wide clear centre */
.gr-follow > .row-parent { background: var(--gr-navy) !important; }
.gr-mag { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; overflow: hidden; pointer-events: none; }
.gr-mag .gr-mag__img { position: absolute; left: 0; top: 0; max-width: none !important; object-fit: cover; border-radius: 8px; transform-origin: 50% 50%; will-change: transform; user-select: none; pointer-events: none; box-shadow: 0 18px 40px -22px rgba(0,0,0,.6); }
.gr-follow .gr-follow-col .uncont { max-width: 720px; }

/* Contact: plain, centred on the page background */
.gr-contact-plain .gr-contact-col .uncont { display: flex; flex-direction: column; align-items: center; text-align: center; }
.gr-center-text, .gr-center-text p { text-align: center; }
.gr-contact-plain .gr-copy { max-width: 560px; }
.gr-contact-plain .gr-btns p { justify-content: center; }

/* =====================================================================
   Round 7
   ===================================================================== */
/* Button variants: green (contact) and Instagram gradient (follow) */
.gr-btn--green { --gb-bg: #173F35; --gb-bg-h: #173B63; --gb-txt: #FFFFFF; --gb-txt-h: #FFFFFF; --gb-ic-bg: #FFFFFF; --gb-ic: #173F35; --gb-ic-bg-h: #E8E1D6; --gb-ic-h: #173B63; }
.gr-btn--ig { --gb-txt: #FFFFFF; --gb-txt-h: #FFFFFF; --gb-ic-bg: #FFFFFF; --gb-ic: #DC2743; --gb-ic-bg-h: #FFFFFF; --gb-ic-h: #8A3AB9;
  background: linear-gradient(90deg, #F09433 0%, #E6683C 22%, #DC2743 46%, #CC2366 70%, #BC1888 100%) !important;
  background-size: 180% 100% !important; background-position: 0% 50% !important;
  transition: background-position .6s var(--gr-ease), color .4s var(--gr-ease) !important; box-shadow: 0 14px 34px -14px rgba(220,39,67,.65); }
.gr-btn--ig:hover { background-position: 100% 50% !important; }

/* Contact: everything in brand green */
.gr-contact-plain .gr-pill { background: rgba(23,63,53,.1) !important; }
.gr-contact-plain .gr-pill h6, .gr-contact-plain .gr-pill span { color: var(--gr-green) !important; }
.gr-contact-plain .gr-title h2, .gr-contact-plain .gr-title span { color: var(--gr-green) !important; }
.gr-contact-plain .gr-copy, .gr-contact-plain .gr-copy p { color: var(--gr-green) !important; opacity: .85; }

/* Follow: Instagram badge above the pill */
.gr-ig-icon p { margin: 0; display: flex; justify-content: center; }
.gr-ig-badge { width: 60px; height: 60px; border-radius: 18px; display: inline-flex; align-items: center; justify-content: center;
  background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); box-shadow: 0 16px 36px -16px rgba(214,36,159,.7); }
.gr-ig-badge svg { width: 30px; height: 30px; fill: #fff; }
.uncont > .gr-ig-icon + .gr-pill { margin-top: 22px !important; }

/* GR Insights, Classic Venture style: big light title, 5:4 rounded photos, titles under */
.gr-insights .gr-title-xl h2, .gr-insights .gr-title-xl span { font-weight: 400 !important; line-height: 1.02 !important; letter-spacing: -.03em; }
.gr-posts .tmb .t-entry-visual, .gr-posts .tmb .t-entry-visual-cont { border-radius: 28px; }
.gr-posts .tmb .t-entry-visual img { transition: transform 1s var(--gr-ease); }
.gr-posts .tmb:hover .t-entry-visual img { transform: scale(1.05); }
.gr-posts .tmb .t-entry-text-tc { padding: 26px 6px 0 !important; }
.gr-posts .t-entry-title, .gr-posts .t-entry-title a { font-size: clamp(24px, 2.1vw, 32px) !important; line-height: 1.16 !important; letter-spacing: -.02em !important; }
.gr-posts .t-entry-title a:hover { color: var(--gr-green) !important; }
.gr-posts .t-entry-category a, .gr-posts .t-cat-over-inner a { background: rgba(255,255,255,.22) !important; color: #fff !important; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
.gr-posts .t-cat-over { padding: 18px !important; }
.gr-posts .t-entry-category a, .gr-posts .t-cat-over-inner a { background: rgba(14,31,51,.55) !important; color: #fff !important; }

/* Golfer label: lime pill with deep green text */
.gr-golfer .vc_custom_heading_wrap.gr-pill { background: rgb(175, 203, 84) !important; }
.gr-golfer .gr-pill h6, .gr-golfer .gr-pill span { color: #173F35 !important; }

/* Footer: stacked GR monogram logo */
.gr-footer .gr-footer-logo { max-width: 128px; }

/* Follow: plain white Instagram glyph (the button already carries the colour) */
.gr-ig-badge { background: none !important; box-shadow: none !important; width: auto; height: auto; border-radius: 0; }
.gr-ig-badge svg { width: 40px; height: 40px; fill: #fff; }

/* Footer: Coldwell Banker badge (logo + approved wording) */
.gr-footer .gr-cb-logo { max-width: 96px; margin-top: 26px !important; }
.gr-footer .gr-cb-logo img { width: 100%; height: auto; opacity: .92; }
.gr-cb-note, .gr-cb-note p { margin-top: 10px !important; font-size: 11px; line-height: 1.5; letter-spacing: .02em; color: rgba(255,255,255,.55); max-width: 280px; }

/* =====================================================================
   Responsive layer (laptop / tablet / phone)
   ===================================================================== */
/* service card title must not inherit Uncode's h3 size */
.gr-pair__title { font-size: clamp(22px, 2.1vw, 34px) !important; line-height: 1.12 !important; }

/* Laptops (short screens): keep the hero inside the viewport */
@media (min-width: 960px) and (max-height: 760px) {
  .gr-hero .gr-hero-copy .uncell { padding-top: 28px !important; padding-bottom: 28px !important; }
  .gr-hero .gr-hero-lead { margin: 16px 0 20px !important; }
}
@media (min-width: 960px) and (max-width: 1199px) {
  .gr-hero .gr-hero-copy .uncell { padding-left: 48px !important; padding-right: 32px !important; }
  .gr-golfer .gr-golfer-copy > .uncol > .uncoltable > .uncell { padding: 56px 48px !important; }
  .gr-about .gr-about-media > .uncol > .uncoltable > .uncell { padding-right: 32px !important; }
}

/* Tablet + phone */
@media (max-width: 959px) {
  .gr-hero .gr-hero-title h1, .gr-hero .gr-hero-title h1 span { font-size: 40px !important; }
  .gr-title h2, .gr-title h2 span, .gr-title h3, .gr-title h3 span { font-size: 34px !important; line-height: 1.12 !important; }
  .gr-insights .gr-title-xl h2, .gr-insights .gr-title-xl span { font-size: 40px !important; }
  .gr-copy, .gr-copy p, .gr-hero .gr-hero-lead, .gr-hero .gr-hero-lead p { font-size: 17px !important; line-height: 1.6 !important; }
  .gr-stat-num, .gr-stat-num p, .gr-stat-num span { font-size: 48px !important; }

  /* About: text first, photo second */
  .gr-about > .row-parent > .row-inner { display: flex !important; flex-direction: column-reverse; }
  .gr-about > .row-parent > .row-inner > .wpb_column { width: 100% !important; }
  .gr-about .gr-about-media > .uncol > .uncoltable > .uncell { padding: 32px 0 0 !important; }

  /* Mobile menu: larger links, full-width button */
  .menu-container .menu-primary-inner > li:not(.gr-menu-cta) > a { font-size: 20px !important; line-height: 1.3 !important; padding-top: 12px !important; padding-bottom: 12px !important; }
  .menu-container .menu-primary-inner > li.gr-menu-cta { display: block !important; width: 100%; margin: 18px 0 8px !important; padding: 0 !important; }
  body[class*=hmenu-] .menu-primary-inner > li.gr-menu-cta > a.gr-btn.gr-btn--header.gr-btn { display: flex !important; width: 100% !important; justify-content: space-between; font-size: 17px !important; padding: 10px 10px 10px 24px !important; }
}

/* Phones */
@media (max-width: 569px) {
  .gr-hero .gr-hero-title h1, .gr-hero .gr-hero-title h1 span { font-size: 31px !important; line-height: 1.12 !important; }
  .gr-title h2, .gr-title h2 span, .gr-title h3, .gr-title h3 span { font-size: 27px !important; line-height: 1.15 !important; }
  .gr-insights .gr-title-xl h2, .gr-insights .gr-title-xl span { font-size: 32px !important; }
  .gr-copy, .gr-copy p, .gr-hero .gr-hero-lead, .gr-hero .gr-hero-lead p { font-size: 16px !important; line-height: 1.6 !important; }
  .gr-habits span { font-size: 16px; margin-right: 18px; }
  .gr-habits span + span::before { left: -11px; }
  .gr-pair { --pair: 220px; }
  .gr-pair__title { font-size: 22px !important; }
  .gr-pair__card { padding: 22px; }
  .gr-stat-num, .gr-stat-num p, .gr-stat-num span { font-size: 42px !important; }
  .gr-posts .t-entry-title, .gr-posts .t-entry-title a { font-size: 21px !important; }
  .gr-posts .t-entry p, .gr-posts .t-entry-excerpt { font-size: 15px; }
  .vc_custom_heading_wrap.gr-pill { padding: 7px 14px; }
  .vc_custom_heading_wrap.gr-pill h6, .vc_custom_heading_wrap.gr-pill span { font-size: 10px !important; letter-spacing: .14em !important; }
  .gr-btn { font-size: 15px; padding: 1.1em 1.4em; }

  /* Hero: both buttons full width */
  .gr-hero .gr-btns p { flex-direction: column; align-items: stretch; }
  .gr-hero .gr-btns .gr-btn { width: 100%; justify-content: space-between; box-sizing: border-box; }
  .gr-hero .gr-hero-copy .uncell { padding: 36px 22px !important; }

  /* Follow: photos live in bands above and below the text */
  .gr-follow .gr-follow-col > .uncol > .uncoltable { height: auto !important; }
  .gr-follow .gr-follow-col > .uncol > .uncoltable > .uncell { padding: 150px 20px 160px !important; }
  .gr-ig-badge svg { width: 34px; height: 34px; }
}

/* Footer Connect: icon + detail */
.gr-footer-connect a { display: flex !important; align-items: center; gap: 10px; }
.gr-footer-connect .gr-ico { width: 16px; height: 16px; flex: 0 0 16px; fill: var(--gr-sand); opacity: .9; }
.gr-footer-connect a:hover .gr-ico { fill: #fff; }
@media (max-width: 569px) { .gr-footer-links a { white-space: normal; } }

/* Tablet: Follow uses the photo rows too; About photo kept to a sensible size */
@media (max-width: 959px) {
  .gr-follow .gr-follow-col > .uncol > .uncoltable { height: auto !important; }
  .gr-follow .gr-follow-col > .uncol > .uncoltable > .uncell { padding: 170px 28px 180px !important; }
  .gr-about .gr-about-media .uncode-single-media, .gr-about .gr-about-media .single-wrapper { max-width: 560px !important; }
}
@media (max-width: 569px) {
  .gr-follow .gr-follow-col > .uncol > .uncoltable > .uncell { padding: 150px 20px 160px !important; }
}

/* Mobile menu (stronger than Uncode's mobile rules) */
@media (max-width: 959px) {
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li:not(.gr-menu-cta) > a,
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li:not(.gr-menu-cta) > a span {
    font-size: 20px !important; line-height: 1.3 !important; font-weight: 500 !important; letter-spacing: -0.01em !important; color: var(--gr-navy) !important;
  }
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li:not(.gr-menu-cta) > a { padding-top: 13px !important; padding-bottom: 13px !important; }
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li.gr-menu-cta {
    display: block !important; width: auto !important; margin: 22px 36px 10px !important;
  }
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li.gr-menu-cta > a.gr-btn {
    display: flex !important; width: 100% !important; box-sizing: border-box; justify-content: space-between; font-size: 17px !important; padding: 10px 10px 10px 24px !important;
  }
}
@media (max-width: 569px) {
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li.gr-menu-cta { margin: 22px 22px 10px !important; }
  html body.hmenu .main-menu-container .navbar-main .menu-primary-inner.menu-smart > li:not(.gr-menu-cta) > a { padding-left: 22px !important; padding-right: 22px !important; }
}
@media (max-width: 959px) {
  html body #menu-gr-main.menu-smart > li:not(.gr-menu-cta) > a { font-size: 20px !important; }
}

/* Footer links: clear hover colour (lime accent), icons follow */
.gr-footer-links a, .gr-footer-links a span { transition: color .25s var(--gr-ease); }
.gr-footer-links a:hover, .gr-footer-links a:hover span, .gr-footer-links a:focus-visible { color: rgb(175, 203, 84) !important; }
.gr-footer-connect .gr-ico { transition: fill .25s var(--gr-ease); }
.gr-footer-connect a:hover .gr-ico, .gr-footer-connect a:focus-visible .gr-ico { fill: rgb(175, 203, 84) !important; opacity: 1; }

/* =====================================================================
   Inner pages
   ===================================================================== */
/* Page header: navy rounded panel, centred */
.gr-pagehead > .row-parent { background: var(--gr-navy); }
.gr-pagehead .gr-pagehead-col > .uncol > .uncoltable { height: clamp(380px, 52vh, 560px); }
.gr-pagehead .gr-pagehead-col > .uncol > .uncoltable > .uncell { padding: 72px 24px !important; vertical-align: middle; }
.gr-pagehead .gr-pagehead-col .uncont { max-width: 860px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.gr-pagehead .gr-pagehead-title h1, .gr-pagehead .gr-pagehead-title span { color: #fff !important; font-weight: 400 !important; line-height: 1.05 !important; letter-spacing: -.02em; }
.gr-pagehead .gr-pagehead-lead, .gr-pagehead .gr-pagehead-lead p { color: rgba(255,255,255,.86) !important; max-width: 680px; text-align: center; }

/* Image + text split */
.gr-split .gr-split-media > .uncol > .uncoltable > .uncell { padding-right: 40px !important; }
.gr-split.gr-split--flip .gr-split-media > .uncol > .uncoltable > .uncell { padding-right: 0 !important; padding-left: 40px !important; }
.gr-split .gr-split-text > .uncol > .uncoltable > .uncell { vertical-align: middle !important; }
.gr-split .gr-split-text .gr-copy { max-width: 560px; }
.uncont > .gr-title-gap { margin-top: 40px !important; }
.gr-quad .t-entry-visual-cont, .gr-quad .t-inside, .gr-course-strip .t-entry-visual-cont, .gr-course-strip .t-inside { border-radius: var(--gr-radius-sm); overflow: hidden; }
.gr-course-strip .uncont > .gr-pill + * { margin-top: 24px !important; }

/* Card grids */
.gr-cards { display: grid; gap: 14px; grid-template-columns: repeat(3, 1fr); }
.gr-cards--golfer { grid-template-columns: repeat(4, 1fr); }
.gr-card { background: #fff; border-radius: var(--gr-radius-sm); padding: 34px 30px 32px; display: flex; flex-direction: column; min-height: 240px; transition: transform .4s var(--gr-ease), box-shadow .4s var(--gr-ease); }
.gr-card:hover { transform: translateY(-4px); box-shadow: 0 26px 50px -30px rgba(23,59,99,.35); }
.gr-card__tag { align-self: flex-start; font-family: var(--gr-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-navy); background: rgba(23,59,99,.08); padding: 8px 14px; border-radius: 999px; }
.gr-card__title { margin: auto 0 0 !important; padding-top: 40px; font-family: var(--gr-serif) !important; font-weight: 400 !important; font-size: clamp(22px, 1.9vw, 30px) !important; line-height: 1.15 !important; letter-spacing: -.02em; color: var(--gr-navy) !important; }
.gr-card__text { margin: 12px 0 0; font-size: 16px; line-height: 1.6; color: var(--gr-graphite); }
.gr-cards-sec > .row-parent { padding-top: var(--gr-sec) !important; padding-bottom: 0 !important; }

/* About: family + association cards */
.gr-duo .gr-duo-card > .uncol > .uncoltable > .uncell { border-radius: var(--gr-radius-sm); padding: 48px 44px !important; }
.gr-duo .gr-duo-card--light > .uncol > .uncoltable > .uncell { background: #fff; }
.gr-duo .gr-duo-card--navy > .uncol > .uncoltable > .uncell { background: var(--gr-navy); }
.gr-duo .gr-duo-card--navy .gr-title h3, .gr-duo .gr-duo-card--navy .gr-title span { color: #fff !important; }
.gr-duo .gr-duo-card--navy .gr-pill { background: rgba(255,255,255,.12) !important; }
.gr-duo .gr-duo-card--navy .gr-pill h6, .gr-duo .gr-duo-card--navy .gr-pill span { color: var(--gr-sand) !important; }
.gr-duo .gr-duo-card--navy .gr-cb-logo { max-width: 96px; margin-top: 26px !important; }
.gr-duo .row-inner { border-spacing: 14px 0; }

/* Progress (39 of 100) */
.gr-progress { margin-top: 28px; max-width: 520px; background: #fff; border-radius: var(--gr-radius-sm); padding: 26px 28px; }
.gr-progress__nums { display: flex; align-items: baseline; gap: 12px; }
.gr-progress__big { font-family: var(--gr-serif); font-size: 56px; line-height: 1; color: var(--gr-green); letter-spacing: -.02em; }
.gr-progress__of { font-family: var(--gr-sans); font-size: 13px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--gr-graphite); }
.gr-progress__bar { margin-top: 18px; height: 12px; border-radius: 999px; background: var(--gr-sand); overflow: hidden; }
.gr-progress__bar span { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--gr-green), rgb(175, 203, 84)); }

/* Contact page: boxes + form */
.gr-contact-boxes > .uncol > .uncoltable > .uncell { padding-right: 32px !important; }
.gr-cbox { background: #fff; border-radius: var(--gr-radius-sm); padding: 26px 28px; }
.gr-cbox h3 { margin: 0 0 6px !important; font-family: var(--gr-sans) !important; font-size: 11px !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-green) !important; }
.gr-cbox p { margin: 0 !important; font-family: var(--gr-serif); font-size: 22px; color: var(--gr-navy); }
.gr-cbox a { color: var(--gr-navy) !important; text-decoration: none !important; }
.gr-cbox a:hover { color: var(--gr-green) !important; }
.uncont > .gr-cbox, .uncont > .gr-cbox-btn { margin-top: 14px !important; }
.uncont > .gr-cbox:first-child { margin-top: 0 !important; }
.gr-form { background: #fff; border-radius: var(--gr-radius); padding: 40px; display: grid; gap: 18px; }
.gr-field { display: grid; gap: 8px; margin: 0; }
.gr-field span { font-family: var(--gr-sans); font-size: 13px; font-weight: 600; color: var(--gr-navy); }
.gr-field input, .gr-field textarea { width: 100%; box-sizing: border-box; font-family: var(--gr-sans); font-size: 16px; color: var(--gr-graphite); background: var(--gr-ivory); border: 1px solid rgba(23,59,99,.14) !important; border-radius: 14px !important; padding: 14px 16px !important; margin: 0 !important; transition: border-color .2s, box-shadow .2s; }
.gr-field input:focus, .gr-field textarea:focus { outline: none; border-color: var(--gr-navy) !important; box-shadow: 0 0 0 3px rgba(23,59,99,.12); }
.gr-form .gr-btn { justify-self: start; border: 0; }
.gr-form__hint { margin: 0; font-size: 14px; color: var(--gr-graphite); }
.gr-form__note { margin: 0; padding: 12px 16px; border-radius: 12px; font-size: 15px; }
.gr-form__note--ok { background: rgba(175,203,84,.25); color: var(--gr-green); }
.gr-form__note--err { background: #FBE9E9; color: #8A1F1F; }
.gr-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* Inner pages: tablet + phone */
@media (max-width: 959px) {
  .gr-cards, .gr-cards--golfer { grid-template-columns: repeat(2, 1fr); }
  .gr-split > .row-parent > .row-inner { display: flex !important; flex-direction: column; }
  .gr-split > .row-parent > .row-inner > .gr-split-text { order: 1; }
  .gr-split > .row-parent > .row-inner > .gr-split-media { order: 2; }
  .gr-split > .row-parent > .row-inner > .wpb_column { width: 100% !important; }
  .gr-split .gr-split-media > .uncol > .uncoltable > .uncell, .gr-split.gr-split--flip .gr-split-media > .uncol > .uncoltable > .uncell { padding: 32px 0 0 !important; }
  .gr-duo .row-inner { border-spacing: 0; }
  .gr-duo .wpb_column + .wpb_column { margin-top: 14px; }
  .gr-contact-boxes > .uncol > .uncoltable > .uncell { padding-right: 0 !important; padding-bottom: 28px !important; }
  .gr-pagehead .gr-pagehead-col > .uncol > .uncoltable { height: auto; }
  .gr-pagehead .gr-pagehead-col > .uncol > .uncoltable > .uncell { padding: 64px 22px !important; }
}
@media (max-width: 569px) {
  .gr-cards, .gr-cards--golfer { grid-template-columns: 1fr; }
  .gr-card { min-height: 0; padding: 26px 24px; }
  .gr-card__title { padding-top: 26px; font-size: 22px !important; }
  .gr-form { padding: 26px 20px; }
  .gr-duo .gr-duo-card > .uncol > .uncoltable > .uncell { padding: 32px 24px !important; }
  .gr-pagehead .gr-pagehead-title h1, .gr-pagehead .gr-pagehead-title span { font-size: 34px !important; }
  .gr-cbox p { font-size: 19px; word-break: break-word; }
}
/* 2x2 photo grid */
.gr-photos { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.gr-photos__item { margin: 0; aspect-ratio: 1; border-radius: var(--gr-radius-sm); overflow: hidden; background: var(--gr-sand); }
.gr-photos__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s var(--gr-ease); }
.gr-photos__item:hover img { transform: scale(1.04); }
/* contact form submit: neutralise theme <button> styles */
.gr-form button.gr-btn { -webkit-appearance: none; appearance: none; background: var(--gb-bg) !important; color: var(--gb-txt) !important; border: 0 !important; padding: 1.25em 1.75em !important; font-family: var(--gr-sans) !important; font-size: 17px !important; font-weight: 700 !important; line-height: normal !important; height: auto !important; width: auto !important; min-width: 0 !important; letter-spacing: -.05em !important; text-transform: none !important; box-shadow: none !important; border-radius: 170px !important; cursor: pointer; }
.gr-form button.gr-btn:hover { background: var(--gb-bg-h) !important; color: var(--gb-txt-h) !important; }
.gr-form button.gr-btn .gr-btn__text, .gr-form button.gr-btn .gr-btn__text > span { display: block !important; color: inherit !important; font: inherit !important; visibility: visible !important; opacity: 1 !important; }
@media (max-width: 569px) { .gr-form button.gr-btn { width: 100% !important; justify-content: space-between !important; font-size: 15px !important; } }

/* =====================================================================
   Single GR Insights article
   ===================================================================== */
.single-post .post-content, .single-post .post-wrapper, .single-post .post-body { overflow: visible; }
.single-post .post-content .row-container > .row { padding-top: 0 !important; }
/* header: full-bleed navy rounded panel (same frame as the page headers) */
.gr-article-head { position: relative; margin: 0 calc(50% - 50vw + var(--gr-gap)) ; background: var(--gr-navy); border-radius: var(--gr-radius); padding: clamp(64px, 8vw, 110px) 24px clamp(150px, 15vw, 210px); text-align: center; }
.gr-article-head__inner { max-width: 880px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.gr-article-back { align-self: center; margin-bottom: 26px; font-family: var(--gr-sans); font-size: 14px; font-weight: 600; color: var(--gr-sand) !important; text-decoration: none !important; opacity: .85; transition: opacity .2s; }
.gr-article-back:hover { opacity: 1; color: rgb(175, 203, 84) !important; }
.gr-article-pill { display: inline-block; padding: 8px 16px; border-radius: 999px; background: rgba(255,255,255,.12); font-family: var(--gr-sans); font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--gr-sand); }
.gr-article-pill--light { background: rgba(23,59,99,.08); color: var(--gr-navy); }
.gr-article-title { margin: 16px 0 0 !important; font-family: var(--gr-serif) !important; font-weight: 400 !important; font-size: clamp(34px, 4.4vw, 68px) !important; line-height: 1.06 !important; letter-spacing: -.02em; color: #fff !important; }
.gr-article-meta { margin: 20px 0 0 !important; font-family: var(--gr-sans); font-size: 14px; color: rgba(255,255,255,.72); }
/* featured photo overlaps the panel */
.gr-article-media { position: relative; z-index: 2; max-width: 1080px; margin: calc(-1 * clamp(110px, 12vw, 170px)) auto 0; padding: 0 var(--gr-gap); }
.gr-article-media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--gr-radius); box-shadow: 0 40px 80px -40px rgba(23,59,99,.55); }
/* body */
.gr-article-body { max-width: 720px; margin: clamp(48px, 6vw, 80px) auto 0; }
.gr-article-body, .gr-article-body p, .gr-article-body li { font-family: var(--gr-sans); font-size: 18px; line-height: 1.8; color: var(--gr-graphite); }
.gr-article-body p { margin: 0 0 1.3em; }
.gr-article-lead { font-family: var(--gr-serif) !important; font-size: clamp(22px, 2vw, 28px) !important; line-height: 1.45 !important; color: var(--gr-navy) !important; }
.gr-article-body h2, .gr-article-body h3 { font-family: var(--gr-serif); font-weight: 400; color: var(--gr-navy); letter-spacing: -.02em; line-height: 1.2; margin: 1.8em 0 .6em; }
.gr-article-body h2 { font-size: clamp(26px, 2.4vw, 36px); }
.gr-article-body h3 { font-size: clamp(22px, 2vw, 28px); }
.gr-article-body a { color: var(--gr-green); text-decoration: underline; text-underline-offset: 3px; }
.gr-article-body blockquote { margin: 1.6em 0; padding: 4px 0 4px 24px; border-left: 3px solid rgb(175, 203, 84); font-family: var(--gr-serif); font-size: 24px; line-height: 1.5; color: var(--gr-navy); }
.gr-article-body img { border-radius: var(--gr-radius-sm); }
/* more from GR Insights */
.gr-article-more { max-width: 1240px; margin: clamp(72px, 8vw, 110px) auto 0; }
.gr-article-more__head { display: flex; flex-direction: column; align-items: flex-start; margin-bottom: 30px; }
.gr-article-more__head h2 { margin: 14px 0 0 !important; font-family: var(--gr-serif) !important; font-weight: 400 !important; font-size: clamp(28px, 3vw, 44px) !important; letter-spacing: -.02em; color: var(--gr-navy) !important; }
.gr-mcards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gr-mcard { display: block; text-decoration: none !important; color: inherit; }
.gr-mcard__img { position: relative; display: block; aspect-ratio: 5 / 4; border-radius: var(--gr-radius-sm); overflow: hidden; background: var(--gr-sand); }
.gr-mcard__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1s var(--gr-ease); }
.gr-mcard:hover .gr-mcard__img img { transform: scale(1.05); }
.gr-mcard__cat { position: absolute; top: 16px; left: 16px; padding: 7px 14px; border-radius: 999px; background: rgba(14,31,51,.55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: #fff; font-family: var(--gr-sans); font-size: 10px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.gr-mcard__title { display: block; margin-top: 18px; font-family: var(--gr-serif); font-size: clamp(21px, 1.8vw, 26px); line-height: 1.2; letter-spacing: -.02em; color: var(--gr-navy); transition: color .25s; }
.gr-mcard:hover .gr-mcard__title { color: var(--gr-green); }
.gr-mcard__more { display: inline-block; margin-top: 10px; font-family: var(--gr-sans); font-size: 15px; font-weight: 700; letter-spacing: -.02em; color: var(--gr-navy); }
/* call to action */
.gr-article-cta { text-align: center; max-width: 760px; margin: clamp(80px, 9vw, 120px) auto clamp(72px, 8vw, 104px); display: flex; flex-direction: column; align-items: center; }
.gr-article-cta h2 { margin: 0 !important; font-family: var(--gr-serif) !important; font-weight: 400 !important; font-size: clamp(30px, 3.6vw, 56px) !important; line-height: 1.1 !important; letter-spacing: -.02em; color: var(--gr-green) !important; }
.gr-article-cta p { margin: 18px 0 30px !important; font-size: 18px; color: var(--gr-green); opacity: .85; }
@media (max-width: 959px) {
  .gr-mcards { grid-template-columns: repeat(2, 1fr); }
  .gr-article-head { margin: 0 calc(50% - 50vw + 8px); }
}
@media (max-width: 569px) {
  .gr-mcards { grid-template-columns: 1fr; }
  .gr-article-title { font-size: 31px !important; }
  .gr-article-body, .gr-article-body p, .gr-article-body li { font-size: 16px; }
  .gr-article-lead { font-size: 20px !important; }
  .gr-article-media img { aspect-ratio: 4 / 3; border-radius: var(--gr-radius-sm); }
  .gr-article-cta .gr-btn { width: 100%; justify-content: space-between; box-sizing: border-box; }
}
.gr-article-head { width: calc(100vw - 2 * var(--gr-gap)) !important; max-width: none !important; margin-left: calc(50% - 50vw + var(--gr-gap)) !important; margin-right: 0 !important; box-sizing: border-box; }
.gr-article-head { z-index: 1 !important; }
.gr-article-media { position: relative !important; z-index: 5 !important; }
