﻿/* Golf Tipsters - "2c" redesign (Claude Design project "Golf Tipsters Redesign", Oct 2026).
   Deep green page, lime action colour, cream "scorecard" panels, Big Shoulders Display for
   headings and numbers, Work Sans for text.

   Two layers in this file:
   1. gt-* components. The redesigned pages are built from these.
   2. The legacy classes (.btn, .card, .section, tables, alerts ...) restyled onto the same
      tokens, so the pages that were not part of the redesign (Tips, Forecasts, Golfers, the
      account flow pages) still sit in the same visual system. */

:root{
  --gt-bg:#06281C;          /* page */
  --gt-bg-2:#0B3324;        /* raised panel */
  --gt-line:#0F3F2D;        /* borders, and the 2px gaps between tiles */
  --gt-line-2:#1A4C39;
  --gt-lime:#B8FF3C;
  --gt-cream:#F4F1E6;
  --gt-cream-line:#D9D3BF;
  --gt-ink:#06281C;         /* text on lime or cream */
  --gt-ink-2:#4F6658;       /* muted text on cream */
  --gt-text:#FFFFFF;
  --gt-text-2:#B5CCBF;      /* secondary text on green */
  --gt-text-3:#86A595;      /* muted text on green */
  --gt-body:#D3E0D8;        /* long-form article text */
  --gt-red:#C8202F;         /* odds on cream */
  --gt-neg:#E86A6A;         /* losses on green */
  --gt-display:'Big Shoulders Display','Arial Narrow',sans-serif;
  --gt-sans:'Work Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --gt-gutter:clamp(20px,4vw,56px);
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;min-height:100vh}
body{background:var(--gt-bg);color:var(--gt-text);font-family:var(--gt-sans);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}
::selection{background:var(--gt-lime);color:var(--gt-ink)}
a{color:inherit;text-decoration:none}
a:hover{opacity:.85}
img{max-width:100%}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--gt-lime);outline-offset:2px}

::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gt-bg)}::-webkit-scrollbar-thumb{background:var(--gt-line-2);border-radius:4px}

/* ===================================================================== */
/* 1. gt-* components                                                    */
/* ===================================================================== */

/* Layout */
.gt-wrap{max-width:1280px;margin:0 auto;padding:0 var(--gt-gutter)}
.gt-section{padding:clamp(56px,8vw,96px) 0 0}
.gt-section-b{padding-bottom:clamp(56px,8vw,96px)}
.gt-band{background:var(--gt-bg-2)}
.gt-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:clamp(28px,5vw,56px)}
.gt-split-end{align-items:end}
.gt-cols{display:flex;flex-wrap:wrap;gap:clamp(32px,5vw,64px);align-items:flex-start}
.gt-main{flex:1 1 560px;min-width:0}
.gt-aside{flex:1 1 300px;max-width:400px;position:sticky;top:96px;display:flex;flex-direction:column;gap:12px}
@media(max-width:820px){.gt-aside{position:static;max-width:none}}

/* Breadcrumbs */
.gt-crumbs{padding:24px 0 0;font-size:13px;color:var(--gt-text-3);display:flex;flex-wrap:wrap;gap:8px}
.gt-crumbs a:hover{color:var(--gt-text)}
.gt-crumbs .here{color:var(--gt-text-2)}

/* Type */
.gt-display{font-family:var(--gt-display);text-transform:uppercase}
.gt-eyebrow{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gt-lime);margin-bottom:18px}
.gt-h1,.gt-h1-xl,.gt-h2,.gt-h3{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;margin:0}
.gt-h1{font-size:clamp(52px,8vw,112px);line-height:.98}
.gt-h1-xl{font-size:clamp(60px,10vw,136px);line-height:.95}
.gt-h2{font-size:clamp(40px,5vw,64px);line-height:1.02}
.gt-h3{font-size:clamp(28px,3vw,36px);line-height:1.02;font-weight:900}
.gt-head{padding:clamp(32px,6vw,64px) 0 clamp(28px,4vw,44px)}
.gt-lead{font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:var(--gt-text-2);margin:0;text-wrap:pretty}
.gt-copy{font-size:16px;line-height:1.65;color:var(--gt-text-2)}
.gt-copy p{margin:0 0 14px}.gt-copy p:last-child{margin-bottom:0}
.gt-copy strong,.gt-lead strong{color:var(--gt-text)}
.gt-copy a{color:var(--gt-lime);font-weight:600;text-decoration:underline}
.gt-small{font-size:13px;line-height:1.6;color:var(--gt-text-3)}
.gt-lime{color:var(--gt-lime)}
.gt-neg{color:var(--gt-neg)}
.gt-muted{color:var(--gt-text-3)}

/* Buttons */
.gt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:4px;font-family:var(--gt-sans);font-weight:700;font-size:15px;padding:13px 20px;border:2px solid transparent;cursor:pointer;line-height:1.2;text-align:center}
.gt-btn:hover{opacity:.88}
.gt-btn-lime{background:var(--gt-lime);color:var(--gt-ink);border-color:var(--gt-lime)}
.gt-btn-dark{background:var(--gt-bg);color:var(--gt-lime);border-color:var(--gt-bg)}
.gt-btn-ghost{background:transparent;color:var(--gt-text);border-color:var(--gt-text-2);font-weight:600}
.gt-btn-ghost-ink{background:transparent;color:var(--gt-ink);border-color:var(--gt-ink);font-weight:600}
.gt-btn-quiet{background:transparent;color:var(--gt-text-2);border-color:var(--gt-line);font-weight:600}
/* The big display-face call to action: label left, arrow right. */
.gt-btn-big{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(22px,2.4vw,26px);letter-spacing:.01em;padding:18px 22px;border-radius:6px}
.gt-btn-block{display:flex;width:100%}
.gt-btn-display{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:22px;padding:14px 22px}
.gt-glow{box-shadow:0 0 0 6px rgba(184,255,60,.15)}
.gt-glow-cream{box-shadow:0 0 0 5px rgba(184,255,60,.25)}
.gt-btn-lime.gt-on-cream{border-color:var(--gt-ink)}

/* Chips and tags */
.gt-tag{display:inline-block;background:var(--gt-lime);color:var(--gt-ink);font-family:var(--gt-display);font-weight:800;font-size:15px;letter-spacing:.08em;text-transform:uppercase;padding:5px 10px;line-height:1.2}
.gt-tag-dark{background:var(--gt-bg);color:var(--gt-lime)}
.gt-tag-line{display:inline-block;border:2px solid var(--gt-line);font-size:13px;font-weight:600;padding:5px 10px;color:var(--gt-text-2);line-height:1.2}
.gt-tag-lime-line{display:inline-block;border:2px solid var(--gt-lime);color:var(--gt-lime);font-size:13px;font-weight:600;padding:4px 10px}
.gt-basis{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:3px 8px;border:2px solid var(--gt-text-3);color:var(--gt-text-2);line-height:1.3}
.gt-basis.ind{background:var(--gt-lime);border-color:var(--gt-lime);color:var(--gt-ink)}

/* Tile grids: 2px green gaps between flat tiles, the signature of the design. */
.gt-grid{display:grid;gap:2px;background:var(--gt-line);border:2px solid var(--gt-line)}
.gt-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gt-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gt-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.gt-grid-fit{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.gt-flexgrid{display:flex;flex-wrap:wrap;gap:2px;background:var(--gt-line);border:2px solid var(--gt-line)}
.gt-flexgrid > *{flex:1 1 190px}
.gt-tile{background:var(--gt-bg);padding:clamp(18px,2.4vw,28px)}
.gt-tile-2{background:var(--gt-bg-2);padding:clamp(16px,2vw,22px)}
.gt-tile-lime{background:var(--gt-lime);color:var(--gt-ink);padding:clamp(18px,2.4vw,22px)}
.gt-tile h3,.gt-tile-title{font-family:var(--gt-display);font-weight:800;font-size:clamp(22px,2.2vw,28px);text-transform:uppercase;line-height:1.05;margin:0 0 8px}
.gt-tile p{font-size:15px;line-height:1.55;color:var(--gt-text-2);margin:0}
@media(max-width:900px){.gt-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.gt-grid-3{grid-template-columns:1fr}}

/* Stats */
.gt-stat-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3)}
.gt-stat-value{font-family:var(--gt-display);font-weight:900;font-size:clamp(40px,5vw,56px);line-height:1.05}
.gt-stat-big{font-family:var(--gt-display);font-weight:900;font-size:clamp(56px,7vw,80px);line-height:1}
.gt-tile-lime .gt-stat-label{color:var(--gt-ink);font-weight:600}

/* Profit graph: Views/Shared/_TrackRecordChart.cshtml, drawn by wwwroot/js/track-record-chart.js.
   Home page and /australia. */
.tr-chart{margin:0 0 12px;border:2px solid var(--gt-line);background:var(--gt-bg);padding:clamp(16px,2.4vw,28px)}
.tr-chart-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 24px;flex-wrap:wrap;margin-bottom:14px}
.tr-chart-title{font-family:var(--gt-display);font-weight:800;font-size:28px;line-height:1.1;text-transform:uppercase}
.tr-chart-sub{font-size:14px;color:var(--gt-text-3)}
.tr-chart-plot{position:relative;min-height:280px}
.tr-chart-plot svg{display:block;width:100%;height:auto;overflow:visible;touch-action:pan-y}
.tr-chart-plot svg:focus{outline:none}
.tr-chart-plot svg:focus-visible{outline:3px solid var(--gt-lime);outline-offset:4px}
.tr-chart-plot .axis{font-family:var(--gt-sans);font-size:12px;fill:var(--gt-text-3);font-variant-numeric:tabular-nums}
.tr-chart-plot .end{font-family:var(--gt-sans);font-size:15px;font-weight:600;fill:var(--gt-text)}
.tr-chart-tip{position:absolute;top:0;left:0;pointer-events:none;background:var(--gt-bg-2);border:1px solid var(--gt-line-2);border-radius:6px;padding:8px 10px;font-size:13px;line-height:1.4;color:var(--gt-text-2);white-space:nowrap;box-shadow:0 6px 18px rgba(0,0,0,.35)}
.tr-chart-tip strong{display:block;font-size:17px;color:var(--gt-text)}
.tr-chart-tip.below{position:static;margin-top:10px;white-space:normal;box-shadow:none}
.tr-chart-note{font-size:13px;line-height:1.6;color:var(--gt-text-3);margin:12px 0 0}
.tr-chart-table{margin-top:10px;font-size:14px}
.tr-chart-table summary{cursor:pointer;color:var(--gt-text-2);font-weight:600}
.tr-chart-table .wrap{max-height:360px;overflow:auto;margin-top:10px;border:1px solid var(--gt-line)}
.tr-chart-table table{width:100%;border-collapse:collapse}
.tr-chart-table th,.tr-chart-table td{padding:6px 10px;text-align:left;border-bottom:1px solid var(--gt-line);color:var(--gt-text-2)}
.tr-chart-table th{position:sticky;top:0;background:var(--gt-bg-2);color:var(--gt-text);font-weight:600}
.tr-chart-table td.num,.tr-chart-table th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Boxes */
.gt-box{border:2px solid var(--gt-line);padding:20px}
.gt-panel{background:var(--gt-bg-2);border:2px solid var(--gt-line);padding:clamp(20px,3vw,28px)}
.gt-box-title{font-family:var(--gt-display);font-weight:800;font-size:24px;text-transform:uppercase;line-height:1.05;margin:0 0 6px}
.gt-callout{background:var(--gt-lime);color:var(--gt-ink);padding:24px;border-radius:6px}
.gt-callout .gt-callout-title{font-family:var(--gt-display);font-weight:900;font-size:clamp(30px,3vw,36px);line-height:1.02;text-transform:uppercase;margin:0 0 10px}
.gt-callout p{font-size:15px;line-height:1.5;margin:0 0 18px}

/* Arrow links: a bordered row with a lime arrow on the right. */
.gt-arrow-link{border:2px solid var(--gt-line);padding:20px;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:600}
.gt-arrow-link::after{content:"\2192";color:var(--gt-lime)}
.gt-link-list a{display:block;padding:10px 0;border-top:1px solid var(--gt-line);font-weight:600}

/* Cream "scorecard" panel with a dark header bar. */
.gt-cream{background:var(--gt-cream);color:var(--gt-ink);border-radius:6px;overflow:hidden}
.gt-cream-head{background:var(--gt-bg);border:2px solid var(--gt-cream);color:var(--gt-text);padding:12px 18px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;font-family:var(--gt-display);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase}
.gt-cream-head .live{color:var(--gt-lime)}
.gt-cream-row{display:grid;align-items:center;border-bottom:2px solid var(--gt-cream-line)}
.gt-cream-row:last-child{border-bottom:0}
.gt-cream-n{font-family:var(--gt-display);font-weight:800;font-size:26px;text-align:center;padding:14px 0;border-right:2px solid var(--gt-cream-line)}
.gt-cream-sub{font-size:13px;color:var(--gt-ink-2)}
.gt-odds{font-family:var(--gt-display);font-weight:800;font-size:clamp(26px,2.6vw,30px);color:var(--gt-red);line-height:1}
.gt-redact{display:inline-block;height:14px;background:var(--gt-cream-line);border-radius:2px;max-width:100%;vertical-align:middle}
.gt-cream-foot{padding:14px 18px;font-size:13px;color:var(--gt-ink-2);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.gt-cream-pad{padding:clamp(22px,3vw,32px)}
.gt-cream .gt-small{color:var(--gt-ink-2)}

/* Accordion: native <details>, so every answer stays in the HTML for readers without JS and
   for search engines. Two looks: the display-face question (FAQs) and plain text (notes). */
.gt-acc{border-top:2px solid var(--gt-line)}
.gt-acc details{border-bottom:2px solid var(--gt-line)}
.gt-acc summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;color:var(--gt-text);font-family:var(--gt-display);font-weight:800;font-size:clamp(22px,2.4vw,26px);text-transform:uppercase;line-height:1.08}
.gt-acc summary::-webkit-details-marker{display:none}
.gt-acc summary::after{content:"+";font-family:var(--gt-display);font-size:30px;color:var(--gt-lime);flex:none;line-height:1}
.gt-acc details[open] > summary::after{content:"\2212"}
.gt-acc .gt-acc-n{font-size:18px;color:var(--gt-text-3);width:28px;flex:none}
.gt-acc .gt-acc-q{display:flex;gap:16px;align-items:baseline}
.gt-acc .gt-acc-body{margin:0 0 22px;font-size:15px;line-height:1.7;color:var(--gt-text-2);max-width:900px}
.gt-acc .gt-acc-body p{margin:0 0 12px}.gt-acc .gt-acc-body p:last-child{margin:0}
.gt-acc .gt-acc-body strong{color:var(--gt-text)}
.gt-acc .gt-acc-body a{color:var(--gt-lime);text-decoration:underline}
.gt-acc-indent .gt-acc-body{margin-left:44px}
.gt-acc-plain summary{font-family:var(--gt-sans);font-weight:600;font-size:17px;text-transform:none;line-height:1.35}
.gt-acc-plain summary::after{font-size:28px}

/* Pros / cons */
.gt-pc{display:flex;gap:10px;padding:6px 0;font-size:15px;color:var(--gt-text-2)}
.gt-pc::before{font-weight:700;flex:none}
.gt-pc.pro::before{content:"+";color:var(--gt-lime)}
.gt-pc.con::before{content:"\2212";color:var(--gt-neg)}

/* Check list */
.gt-checks > div{display:flex;gap:12px;padding:12px 18px;border-top:1px solid var(--gt-line);font-size:15px}
.gt-checks > div::before{content:"\2713";color:var(--gt-lime);font-weight:700}

/* Data tables on green */
.gt-table-wrap{overflow-x:auto;border:2px solid var(--gt-line)}
.gt-table{width:100%;border-collapse:collapse}
.gt-table th{background:var(--gt-bg-2);font-family:var(--gt-display);font-weight:800;font-size:16px;letter-spacing:.08em;text-transform:uppercase;color:var(--gt-text-2);text-align:left;padding:12px 16px;white-space:nowrap;border:0}
.gt-table td{padding:11px 16px;border-top:1px solid var(--gt-line);color:var(--gt-text);font-size:15px;background:transparent}
.gt-table td.num,.gt-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.gt-table .gt-num{font-family:var(--gt-display);font-weight:800;font-size:22px}
.gt-best{display:inline-block;font-family:var(--gt-display);font-weight:800;font-size:22px;padding:2px 10px;border-radius:3px;background:var(--gt-lime);color:var(--gt-ink)}
.gt-price{display:inline-block;font-family:var(--gt-display);font-weight:800;font-size:22px;padding:2px 10px;color:var(--gt-text-2)}

/* Small meters */
.gt-meter{display:block;height:8px;background:var(--gt-line);position:relative;overflow:hidden}
.gt-meter > span{position:absolute;left:0;top:0;bottom:0;background:var(--gt-lime)}

/* Filter / toggle buttons (blog filter, account options) */
.gt-pill{border:2px solid var(--gt-line);background:transparent;color:var(--gt-text);padding:0 18px;height:44px;border-radius:4px;font-family:var(--gt-display);font-weight:800;font-size:18px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.gt-pill.on{background:var(--gt-lime);border-color:var(--gt-lime);color:var(--gt-ink)}

/* Forms on cream panels */
.gt-form{display:flex;flex-direction:column;gap:14px}
.gt-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--gt-ink)}
.gt-field-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.gt-field-row a{font-weight:600;text-decoration:underline}
.gt-input,.gt-cream input[type=email],.gt-cream input[type=password],.gt-cream input[type=text],.gt-cream input[type=number],.gt-cream select{height:50px;width:100%;border:2px solid var(--gt-cream-line);background:#fff;color:var(--gt-ink);padding:0 14px;font-size:16px;font-family:var(--gt-sans);border-radius:4px;outline:none}
.gt-input:focus,.gt-cream input:focus,.gt-cream select:focus{border-color:var(--gt-ink)}
.gt-cream input::placeholder{color:#6F8A7C}
.gt-cream label{color:var(--gt-ink)}
.gt-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.45;font-weight:400;cursor:pointer}
.gt-check input{width:20px;height:20px;margin:0;accent-color:var(--gt-ink);flex:none}
.gt-or{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--gt-ink-2);text-transform:uppercase;letter-spacing:.1em}
.gt-or::before,.gt-or::after{content:"";flex:1;height:2px;background:var(--gt-cream-line)}
.gt-error{background:#fff;border:2px solid var(--gt-red);color:var(--gt-red);padding:12px 14px;border-radius:4px;font-size:14px;font-weight:600}
.gt-notice{background:#fff;border:2px solid var(--gt-ink);color:var(--gt-ink);padding:12px 14px;border-radius:4px;font-size:14px;font-weight:600}
.gt-error ul{margin:0;padding-left:18px}
.gt-ok{color:var(--gt-lime);font-weight:600}

/* Two-way tab switch (Log in / Sign up) */
.gt-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:2px solid var(--gt-ink);border-radius:4px;overflow:hidden;margin-bottom:24px}
.gt-switch a{height:48px;display:flex;align-items:center;justify-content:center;font-family:var(--gt-display);font-weight:800;font-size:20px;letter-spacing:.06em;text-transform:uppercase;color:var(--gt-ink)}
.gt-switch a.on{background:var(--gt-ink);color:var(--gt-lime)}

/* Toggle switch styling for checkboxes on green (account delivery settings) */
.gt-toggle{display:flex;justify-content:space-between;align-items:center;gap:16px;border-top:1px solid var(--gt-line);padding:12px 0;cursor:pointer;font-size:15px}
.gt-toggle input{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;background:#2A5A47;position:relative;flex:none;cursor:pointer;margin:0;transition:background .15s}
.gt-toggle input::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--gt-bg);transition:left .15s}
.gt-toggle input:checked{background:var(--gt-lime)}
.gt-toggle input:checked::after{left:21px}
.gt-toggle small{display:block;color:var(--gt-text-3);font-size:13px}

/* Blog article frame (every Views/Blog article): head, article body, sticky aside. */
.ga-head{padding:clamp(32px,6vw,64px) 0 clamp(28px,4vw,40px);max-width:980px}
.ga-chips{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:20px}
.ga-meta{font-size:14px;color:var(--gt-text-3)}
.ga-body{padding-bottom:clamp(56px,8vw,96px)}
.gt-article{max-width:760px;margin:0;font-size:18px;line-height:1.7;color:var(--gt-body)}
.gt-article p{font-size:18px;line-height:1.7;color:var(--gt-body);margin:0 0 18px}
.gt-article p.ga-lead{font-size:clamp(18px,1.8vw,22px);line-height:1.55;color:var(--gt-text);margin:0 0 32px}
.gt-article h2{font-family:var(--gt-display);font-weight:900;font-size:clamp(34px,4vw,48px);line-height:1.02;text-transform:uppercase;color:var(--gt-text);margin:40px 0 16px}
.gt-article .ga-lead + h2{margin-top:0}
.gt-article strong{color:var(--gt-text)}
.gt-article a{color:var(--gt-lime);font-weight:600;text-decoration:underline}
.gt-article ul,.gt-article ol{list-style:none;margin:0 0 32px;padding:0;border-top:2px solid var(--gt-line)}
.gt-article li{position:relative;margin:0;padding:14px 0 14px 30px;border-bottom:1px solid var(--gt-line);font-size:17px;line-height:1.6;color:var(--gt-body)}
.gt-article ul > li::before{content:"";position:absolute;left:4px;top:23px;width:10px;height:10px;background:var(--gt-lime)}
.gt-article ol{counter-reset:ga}
.gt-article ol > li{counter-increment:ga;padding-left:48px}
.gt-article ol > li::before{content:counter(ga);position:absolute;left:0;top:12px;font-family:var(--gt-display);font-weight:900;font-size:32px;line-height:1;color:var(--gt-lime)}
.gt-article > :last-child{margin-bottom:0}
.ga-aside .gt-callout-title{font-size:34px}
.ga-aside .gt-callout-title + .gt-btn{margin-top:8px}
.ga-aside .gt-callout .gt-btn + .gt-btn{margin-top:10px}
.ga-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3);margin-bottom:10px}
.ga-related a::after{content:" \2192"}

/* Leaderboards (the UK /best-golf-tipsters and the US /best-golf-betting-picks share these). */
/* ROI at a glance */
.lb-chart{margin-bottom:28px}
.lb-chart-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:18px}
.lb-chart-title{font-family:var(--gt-display);font-weight:800;font-size:22px;letter-spacing:.06em;text-transform:uppercase;line-height:1.1;margin:0}
.lb-bars{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.lb-bar-row{display:grid;grid-template-columns:minmax(110px,200px) minmax(0,1fr) 64px;gap:12px;align-items:center}
.lb-bar-name{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-track{position:relative;height:22px}
.lb-grid{position:absolute;top:0;bottom:0;width:1px;background:var(--gt-line)}
.lb-zero{position:absolute;top:0;bottom:0;width:2px;background:var(--gt-text-3)}
.lb-bar{position:absolute;top:3px;bottom:3px;border:2px solid var(--gt-lime);background:transparent}
.lb-bar.ind{background:var(--gt-lime)}
.lb-bar.ours{background:var(--gt-cream);border-color:var(--gt-cream)}
.lb-bar.neg{border-color:var(--gt-neg)}
.lb-bar.neg.ind,.lb-bar.neg.ours{background:var(--gt-neg)}
.lb-bar-val{text-align:right;font-family:var(--gt-display);font-weight:800;font-size:22px;line-height:1;font-variant-numeric:tabular-nums}
.lb-bar-row.ours .lb-bar-name,.lb-bar-row.ours .lb-bar-val{color:var(--gt-cream)}
.lb-legend{display:flex;flex-wrap:wrap;gap:16px 28px;font-size:13px;color:var(--gt-text-2);margin-bottom:14px}
.lb-key{display:flex;align-items:center;gap:8px}
.lb-sw{width:12px;height:12px;flex:none}
.lb-sw.ind{background:var(--gt-lime)}
.lb-sw.self{border:2px solid var(--gt-text-3)}
.lb-sw.ours{background:var(--gt-cream)}

/* The leaderboard rows: joined tiles, 2px green between them */
.lb-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;background:var(--gt-line);border:2px solid var(--gt-line)}
.lb-row{display:flex;flex-wrap:wrap;background:var(--gt-bg);color:var(--gt-text)}
.lb-who{flex:1 1 340px;display:flex;gap:16px;padding:18px 20px;min-width:0}
.lb-rank{font-family:var(--gt-display);font-weight:900;font-size:40px;line-height:1;width:36px;flex:none}
.lb-id{min-width:0}
.lb-name{font-family:var(--gt-display);font-weight:800;font-size:26px;text-transform:uppercase;line-height:1.05;margin:0}
.lb-name .gt-tag{font-size:13px;padding:3px 8px;vertical-align:middle;margin-left:4px}
.lb-desc{font-size:14px;line-height:1.5;opacity:.8;margin:4px 0 8px}
.lb-note{font-size:13px;line-height:1.55;color:var(--gt-text-3);margin:8px 0 0}
.lb-note strong{color:var(--gt-text)}
.lb-note a{color:inherit;text-decoration:underline}
.lb-note.warn,.lb-note.warn strong{color:var(--gt-neg)}
.lb-review{display:block;font-size:13px;font-weight:600;margin-top:8px;text-decoration:underline}
.lb-stats{flex:2 1 520px;display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));align-items:start;padding:12px 20px 18px;gap:12px;margin:0}
/* From ~940px the stats sit beside the name block; line their labels up with the name. */
@media(min-width:940px){.lb-stats{padding-top:18px}}
.lb-stats dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.65;margin:0}
.lb-stats dd{margin:0;min-width:0}
.lb-v{font-family:var(--gt-display);font-weight:800;font-size:24px;line-height:1.1}
.lb-roi{font-family:var(--gt-display);font-weight:900;font-size:36px;line-height:1;color:var(--gt-lime)}
.lb-roi.neg{color:var(--gt-neg)}
.lb-np{color:var(--gt-text-3)}
.lb-sub{display:block;font-family:var(--gt-sans);font-size:12px;font-weight:400;line-height:1.4;color:var(--gt-text-3);margin-top:4px}
.lb-src{font-size:14px;font-weight:600;line-height:1.35}
.lb-src a{display:block;text-decoration:underline;margin-bottom:4px}

/* Golf Tipsters' own row: the cream row */
.lb-row.ours{background:var(--gt-cream);color:var(--gt-ink)}
.lb-row.ours .gt-basis{border-color:var(--gt-ink-2);color:var(--gt-ink-2)}
.lb-row.ours .lb-roi{color:var(--gt-ink)}
.lb-row.ours .lb-sub{color:var(--gt-ink-2)}

/* How to read this table */
.lb-notes-sec{padding:clamp(48px,7vw,80px) 0 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:clamp(28px,5vw,56px);align-items:start}
.lb-notes-intro{font-size:15px;line-height:1.6;color:var(--gt-text-2);margin:14px 0 0}
@media(min-width:860px){.lb-notes-side{position:sticky;top:96px}}
.lb-notes ul{margin:0 0 12px;padding-left:20px}
.lb-notes li{margin:0 0 6px}

/* UK signpost, Data Golf, small print */
.lb-uk{margin-top:clamp(48px,7vw,80px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:20px 48px;align-items:center;padding:clamp(22px,4vw,36px)}
.lb-uk-title{font-family:var(--gt-display);font-weight:900;font-size:34px;text-transform:uppercase;line-height:1;margin:0 0 12px}
.lb-uk p{font-size:15px;line-height:1.6;color:var(--gt-text-2);margin:0 0 16px}
.lb-uk p:last-of-type{margin-bottom:0}
.lb-uk .gt-btn{margin-top:16px}
.lb-dg{margin-top:12px;padding:clamp(22px,4vw,36px)}
.lb-dg .gt-h3{margin:0 0 16px}
.lb-dg .gt-copy{font-size:15px;max-width:900px}
.lb-copy{font-size:15px;line-height:1.6;color:var(--gt-text-2);max-width:820px}
.lb-copy p{margin:0 0 14px}
.lb-copy strong{color:var(--gt-text)}

/* Three settings */
.lb-sets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:12px;margin-top:24px}
.lb-set{border:2px solid var(--gt-line);background:var(--gt-bg);color:var(--gt-text);padding:24px;border-radius:6px}
.lb-set.live{border-color:var(--gt-lime);background:var(--gt-lime);color:var(--gt-ink)}
.lb-set-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.lb-set-name{font-family:var(--gt-display);font-weight:900;font-size:30px;text-transform:uppercase;line-height:1.05;margin:0}
.lb-set-tag{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:right}
.lb-set-desc{font-size:14px;line-height:1.5;opacity:.8;margin:6px 0 18px}
.lb-meters{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}
.lb-meter{display:grid;grid-template-columns:78px minmax(0,1fr);gap:10px;align-items:center;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.lb-meter > span:first-child{opacity:.7}
.lb-meter .gt-meter{height:10px}
.lb-set.live .gt-meter{background:rgba(6,40,28,.15)}
.lb-set.live .gt-meter > span{background:var(--gt-ink)}
.lb-meter .gt-meter.dd > span{background:var(--gt-neg)}
.lb-set-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:0}
.lb-set-stats dt{font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.65}
.lb-set-stats dd{margin:0;font-family:var(--gt-display);font-weight:800;font-size:28px;line-height:1.1}
.lb-set-stats dd.big{font-weight:900;font-size:40px;line-height:1}

/* Review */
.lb-review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:clamp(24px,4vw,48px);align-items:start}
.lb-review-grid .gt-copy p{margin:0 0 14px}
.gt-cream-head h3{margin:0;font:inherit;letter-spacing:inherit}
.lb-qs{margin:0}
.lb-qs > div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 18px;border-bottom:2px solid var(--gt-cream-line)}
.lb-qs dt{font-weight:600}
.lb-qs dd{margin:0;font-family:var(--gt-display);font-weight:800;font-size:22px;line-height:1.1;text-align:right}
.lb-qs-cta{padding:16px 18px}
.lb-pc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px;margin-top:24px}
.lb-pc-box{border:2px solid var(--gt-line);padding:22px}
.lb-pc-box h3{font-family:var(--gt-display);font-weight:800;font-size:24px;text-transform:uppercase;line-height:1.05;margin:0 0 10px}
.lb-pc-box ul{list-style:none;margin:0;padding:0}

/* FAQ: the question stays an h3 inside the summary */
.gt-acc summary h3{margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit}

#our-review{scroll-margin-top:90px}

@media(max-width:560px){
    .lb-bar-name{white-space:normal;font-size:13px;line-height:1.2}
    .lb-bar-row{grid-template-columns:96px minmax(0,1fr) 56px;gap:8px}
    .lb-bar-val{font-size:19px}
}

/* ===================================================================== */
/* Site chrome: nav and footer                                          */
/* ===================================================================== */
.gt-nav{position:sticky;top:0;z-index:50;background:var(--gt-bg);border-bottom:2px solid var(--gt-line)}
.gt-nav-inner{max-width:1280px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:18px var(--gt-gutter);gap:24px}
.gt-brand{font-family:var(--gt-display);font-weight:900;font-size:30px;letter-spacing:.02em;text-transform:uppercase;line-height:1;white-space:nowrap}
.gt-nav-links{display:flex;gap:30px;font-size:15px;font-weight:500;color:var(--gt-text-2)}
.gt-nav-links a{position:relative;padding:6px 0}
.gt-nav-links a:hover{color:var(--gt-text);opacity:1}
.gt-nav-links a.on{color:var(--gt-text)}
.gt-nav-links a.on::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:3px;background:var(--gt-lime)}
.gt-nav-right{display:flex;gap:18px;align-items:center;font-size:15px;font-weight:600}
.gt-nav-right .quiet{color:var(--gt-text-2)}
.gt-nav-cta{background:var(--gt-lime);color:var(--gt-ink);padding:11px 20px;border-radius:4px;font-weight:700;white-space:nowrap}
.gt-avatar{display:flex;align-items:center;gap:10px}
.gt-avatar span{width:32px;height:32px;border-radius:50%;background:var(--gt-lime);color:var(--gt-ink);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px}
.gt-signout{background:none;border:0;color:var(--gt-text-3);font-size:14px;font-weight:600;cursor:pointer;padding:0}
.gt-signout:hover{color:var(--gt-text)}
.gt-nav-mobile{display:none;align-items:center;gap:4px}
.gt-nav-mobile .gt-nav-cta{padding:0 14px;height:40px;display:flex;align-items:center;font-size:14px}
.gt-burger{width:44px;height:44px;background:none;border:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;cursor:pointer;padding:0}
.gt-burger span{width:20px;height:2px;background:#fff;transition:transform .15s,opacity .15s}
.gt-nav.open .gt-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.gt-nav.open .gt-burger span:nth-child(2){opacity:0}
.gt-nav.open .gt-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.gt-menu{display:none;background:var(--gt-bg-2);border-top:2px solid var(--gt-line);flex-direction:column;padding:4px 20px 18px;font-family:var(--gt-display);font-weight:800;font-size:26px;text-transform:uppercase;max-height:calc(100vh - 64px);overflow-y:auto}
.gt-menu > a,.gt-menu form button.gt-menu-item{padding:12px 0;border-bottom:1px solid var(--gt-line);text-align:left}
.gt-menu .lime{color:var(--gt-lime)}
.gt-menu .small{font-family:var(--gt-sans);font-size:16px;font-weight:600;text-transform:none;color:var(--gt-text-2);border-bottom:0}
.gt-menu form{margin:0}
.gt-menu form button{background:none;border:0;color:var(--gt-text-2);font-family:var(--gt-sans);font-size:16px;font-weight:600;padding:12px 0;cursor:pointer;width:100%;text-align:left}
.gt-nav.open .gt-menu{display:flex}
@media(max-width:819px){
  .gt-nav-inner{padding:10px 12px 10px 20px}
  .gt-brand{font-size:24px}
  .gt-nav-links,.gt-nav-right{display:none}
  .gt-nav-mobile{display:flex}
}
@media(min-width:820px){.gt-menu{display:none!important}}
/* Smallest phones (320px): the logo, "Start free" and the menu button were 3px too wide. */
@media(max-width:359px){.gt-nav-inner{padding-left:16px}.gt-brand{font-size:22px}.gt-nav-mobile .gt-nav-cta{padding:0 10px}}

.gt-footer{background:var(--gt-bg);border-top:2px solid var(--gt-line);color:var(--gt-text-3);font-size:14px;line-height:1.6}
.gt-footer-inner{max-width:1280px;margin:0 auto;padding:40px var(--gt-gutter) 28px}
.gt-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:32px 48px;padding-bottom:22px}
.gt-footer-brand{font-family:var(--gt-display);font-weight:900;font-size:26px;color:#fff;text-transform:uppercase;margin-bottom:8px;line-height:1.1}
.gt-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));color:var(--gt-text-2);align-content:start}
.gt-footer-links a{padding:6px 0}
.gt-footer-links a:hover{color:#fff;opacity:1}
.gt-footer h4{color:#fff;font-weight:600;font-size:14px;margin:0 0 6px}
.gt-footer strong{color:#fff}
.gt-footer a.u{text-decoration:underline}
.gt-footer-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 40px;padding-top:18px;border-top:2px solid var(--gt-line);font-size:13px}
@media(max-width:640px){.gt-footer-links a{padding:10px 0}}

/* Mobile-only sticky call to action at the foot of the screen (homepage). */
.gt-sticky-cta{display:none}
@media(max-width:819px){
  .gt-sticky-cta{display:block;position:sticky;bottom:0;z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(to top,var(--gt-bg) 70%,rgba(6,40,28,0))}
  .gt-sticky-cta a{display:flex;justify-content:space-between;align-items:center;background:var(--gt-lime);color:var(--gt-ink);height:56px;padding:0 20px;border-radius:6px;font-family:var(--gt-display);font-weight:900;font-size:24px;text-transform:uppercase}
  .gt-sticky-cta small{font-family:var(--gt-sans);font-size:13px;font-weight:600;text-transform:none}
}

/* ===================================================================== */
/* 2. Legacy classes on the new tokens                                   */
/* ===================================================================== */

.container{max-width:1280px;margin:0 auto;padding:0 var(--gt-gutter)}
.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}
.text-center{text-align:center}.text-green{color:var(--gt-lime)}
.mono{font-variant-numeric:tabular-nums;letter-spacing:0}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 22px;border-radius:4px;font-size:15px;font-weight:700;font-family:var(--gt-sans);text-decoration:none!important;border:2px solid transparent;cursor:pointer;line-height:1.2}
.btn:hover{opacity:.88}
.btn-primary{background:var(--gt-lime);color:var(--gt-ink);border-color:var(--gt-lime)}
.btn-secondary{background:transparent;color:var(--gt-text);border-color:var(--gt-text-2);font-weight:600}
.btn-sm{padding:8px 14px;font-size:13px}

/* Cards */
.card{background:transparent;border:2px solid var(--gt-line);padding:clamp(20px,3vw,28px)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}

/* Sections and simple pages */
.section{padding:56px 0}
.section h2{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(34px,4vw,48px);line-height:1.02;margin:0 0 12px}
.section .subtitle{font-size:17px;color:var(--gt-text-2);margin:0 0 32px}
.page{padding:24px 0 56px}
.page h1{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(44px,6vw,80px);line-height:.98;margin:24px 0 16px}
.page h2{font-family:var(--gt-display);font-weight:900;text-transform:uppercase}
.page h3{font-family:var(--gt-display);font-weight:800;text-transform:uppercase;font-size:24px;line-height:1.1}
.page .lead{font-size:clamp(16px,1.6vw,19px);color:var(--gt-text-2);margin:0 0 32px;line-height:1.55}
.page-hr{border:none;border-top:2px solid var(--gt-line);margin:32px 0}
.lead{color:var(--gt-text-2)}

/* Tables */
table{width:100%;border-collapse:collapse}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--gt-line)}
th{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3);font-weight:600;background:transparent;white-space:nowrap}
td{color:var(--gt-text);font-size:15px}
tbody tr:hover td{background:rgba(255,255,255,.02)}
tr.tipped td{background:rgba(184,255,60,.08)!important;border-top:1px solid rgba(184,255,60,.2);border-bottom:1px solid rgba(184,255,60,.2)}
tr.tipped td:first-child{border-left:3px solid var(--gt-lime)}
.table-wrap{border:2px solid var(--gt-line);overflow-x:auto;background:transparent}

/* Badge */
.badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:var(--gt-lime);color:var(--gt-ink);border-radius:2px;padding:2px 7px}

/* Alerts */
.alert{display:flex;align-items:flex-start;gap:10px;padding:14px 18px;font-size:15px;line-height:1.5;margin-bottom:20px;border:2px solid var(--gt-line);background:var(--gt-bg-2);color:var(--gt-text-2)}
.alert-info{border-color:var(--gt-line)}
.alert-warn{border-color:#E7C76B;color:#F1DA92}
.alert-success{border-color:var(--gt-lime);color:var(--gt-text)}
.alert-danger{border-color:var(--gt-neg);color:#F2A3A3}

/* Form elements on green */
input[type="text"],input[type="email"],input[type="password"],input[type="number"],select{padding:11px 14px;border:2px solid var(--gt-line);border-radius:4px;background:var(--gt-bg);color:var(--gt-text);font-family:inherit;font-size:16px;outline:none;width:100%}
input:focus,select:focus{border-color:var(--gt-lime)}
label{font-size:14px;font-weight:600;color:var(--gt-text-2);margin-bottom:6px;display:block}

/* Blog cards (legacy) */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:16px}
.blog-card{border:2px solid var(--gt-line);background:var(--gt-bg-2);overflow:hidden}
.blog-card-body{padding:20px}
.blog-card-body h3{margin:0 0 8px;font-family:var(--gt-display);font-weight:800;font-size:26px;line-height:1.02;text-transform:uppercase}
.blog-card-body .meta{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-lime);margin-bottom:8px}

/* FAQ (legacy) */
.faq-item{border-bottom:2px solid var(--gt-line);padding:20px 0}
.faq-item h3{font-family:var(--gt-display);font-weight:800;font-size:24px;text-transform:uppercase;line-height:1.08;color:var(--gt-text);margin:0 0 10px}
.faq-item p{margin:0;color:var(--gt-text-2);line-height:1.7}

/* Breadcrumb (legacy) */
.breadcrumb{font-size:13px;color:var(--gt-text-3);padding:0}
.breadcrumb a{color:var(--gt-text-3)}
.breadcrumb a:hover{color:var(--gt-text)}
.breadcrumb span{color:var(--gt-text-2)}

/* Event tabs (Forecasts) */
.event-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.event-tab{padding:0 16px;height:42px;display:inline-flex;align-items:center;border-radius:4px;font-family:var(--gt-display);font-weight:800;font-size:17px;letter-spacing:.06em;text-transform:uppercase;color:var(--gt-text);background:transparent;border:2px solid var(--gt-line);cursor:pointer;text-decoration:none!important}
.event-tab:hover{border-color:var(--gt-text-3)}
.event-tab.active{background:var(--gt-lime);border-color:var(--gt-lime);color:var(--gt-ink)}

/* Tips page jump links and tour bands */
.tips-jump{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:28px}
.tips-jump-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3);margin-right:2px}
.tips-jump-link{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:4px;font-size:14px;font-weight:600;color:var(--gt-text);border:2px solid var(--gt-line);text-decoration:none!important}
.tips-jump-link:hover{border-color:var(--gt-text-3)}
.tips-jump-count{font-size:12px;font-weight:700;color:var(--gt-ink);background:var(--gt-lime);border-radius:20px;padding:2px 8px}
.tips-event{margin-bottom:52px;scroll-margin-top:90px}
.tips-event + .tips-event{padding-top:40px;border-top:2px solid var(--gt-line)}
.tips-tour-band{display:inline-block;font-family:var(--gt-display);font-size:15px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gt-ink);background:var(--gt-lime);padding:5px 10px;margin-bottom:12px}

/* Live dot */
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--gt-lime);display:inline-block;flex-shrink:0}
.live-dot.pulse{animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* Article (legacy blog posts) */
article{max-width:760px;margin:0 auto 60px}
article h1{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(44px,6vw,80px);line-height:.98;margin:0 0 12px}
article .meta{color:var(--gt-text-3);font-size:14px;margin-bottom:32px}
article p{font-size:17px;line-height:1.7;color:var(--gt-body);margin:0 0 20px}
article h2{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,3.6vw,44px);line-height:1.02;margin:40px 0 16px}
article h3{font-family:var(--gt-display);font-weight:800;text-transform:uppercase;font-size:24px;margin:32px 0 12px}
article a{color:var(--gt-lime);text-decoration:underline}
article ul,article ol{color:var(--gt-body)}

/* Pricing cards (legacy) */
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px;max-width:1200px;margin:0 auto;align-items:stretch}
.pricing-card{border:2px solid var(--gt-line);border-radius:6px;padding:32px;text-align:left}
.pricing-card.featured{background:var(--gt-cream);color:var(--gt-ink);border-color:var(--gt-cream)}
.pricing-card h3{font-family:var(--gt-display);font-weight:800;font-size:24px;text-transform:uppercase;margin:0 0 8px}
.pricing-card .price{font-family:var(--gt-display);font-weight:900;font-size:64px;line-height:1}
.pricing-card .price span{font-family:var(--gt-sans);font-size:15px;font-weight:400;color:var(--gt-text-3)}
.pricing-card .perks{list-style:none;padding:0;margin:20px 0;font-size:14px;line-height:2}
.pricing-card .perks li::before{content:"\2713  ";color:var(--gt-lime);font-weight:700}

/* Golfer directory + golfer pages */
.golfers-table a{color:var(--gt-text);font-weight:600}
.golfers-table a:hover{color:var(--gt-lime);opacity:1}
.golfer-nat{display:block;font-size:12px;color:var(--gt-text-3);font-weight:400;margin-top:2px}
th.num,td.num{text-align:right;font-variant-numeric:tabular-nums}
.golfer-links{display:flex;gap:16px;flex-wrap:wrap;margin:0 0 8px}
.golfer-links a{color:var(--gt-lime);text-decoration:underline}
.golfer-h2{font-family:var(--gt-display);font-weight:900;text-transform:uppercase;font-size:clamp(30px,3.6vw,44px);margin:32px 0 14px}
.golfer-record{margin:0 0 6px;}
.golfer-record-prose{color:#B5CCBF;font-size:15px;line-height:1.72;max-width:68ch;margin:14px 0 0;}

.golfer-cta{margin:36px 0 0;padding:24px;background:var(--gt-lime);color:var(--gt-ink);border-radius:6px;text-align:center}
.golfer-cta p{margin:0 0 14px}
.golfer-cta .btn-primary{background:var(--gt-bg);color:var(--gt-lime);border-color:var(--gt-bg)}
.pagedList{margin:20px 0 0;text-align:center}
.pagedList ul{list-style:none;padding:0;margin:0;display:flex;gap:6px;justify-content:center;flex-wrap:wrap}
.pagedList a,.pagedList span{display:inline-block;padding:6px 12px;border:2px solid var(--gt-line);border-radius:4px;font-size:14px;color:var(--gt-text-2)}
.pagedList .active a,.pagedList .active span{border-color:var(--gt-lime);color:var(--gt-lime)}

/* Stat tiles */
.stat-tile-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;background:var(--gt-line);border:2px solid var(--gt-line);margin-bottom:32px}
.stat-tile{background:var(--gt-bg);padding:20px 22px}
.stat-tile-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3);margin-bottom:8px}
.stat-tile-value{font-family:var(--gt-display);font-size:40px;font-weight:900;line-height:1.05;color:var(--gt-text)}
.stat-tile-value.green{color:var(--gt-lime)}
.stat-tile-value.red{color:var(--gt-neg)}
.stat-tile-sub{font-size:13px;color:var(--gt-text-3);margin-top:4px}
.recent-form-row{display:flex;gap:6px;margin-top:2px}
.recent-form-sq{width:26px;height:26px;border-radius:3px;display:grid;place-items:center;font-size:12px;font-weight:700}
.recent-form-sq.win{background:rgba(184,255,60,.16);color:var(--gt-lime)}
.recent-form-sq.loss{background:rgba(232,106,106,.14);color:var(--gt-neg)}

/* Pick badges and odds boxes (Tips page) */
.pick-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;border-radius:2px;padding:3px 8px}
.pick-badge-best{background:var(--gt-lime);color:var(--gt-ink)}
.pick-badge-value{border:2px solid var(--gt-lime);color:var(--gt-lime)}
.pick-badge-longshot{border:2px solid #E7C76B;color:#E7C76B}
/* The market a pick is for (Top 5/10/20). Deliberately the most prominent badge: placing a
   top-finish pick as an outright winner bet is a completely different, much worse wager. */
.pick-badge-market{background:var(--gt-cream);color:var(--gt-ink)}
.pick-odds-box{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;background:var(--gt-bg-2);border:2px solid var(--gt-line);border-left:4px solid var(--gt-lime);padding:16px 20px;margin-top:16px}
.pick-odds-box-label{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gt-text-3);margin-bottom:4px}
.pick-odds-box-odds{font-family:var(--gt-display);font-size:34px;font-weight:900;color:var(--gt-lime);line-height:1}
.compare-toggle{font-size:14px;font-weight:600;color:var(--gt-text-2);cursor:pointer;display:flex;align-items:center;gap:8px;user-select:none;margin-top:16px}
.compare-toggle:hover{color:var(--gt-text)}

/* Key/legend panel */
.key-panel{border:2px solid var(--gt-line);background:var(--gt-bg-2);padding:20px 22px;margin-bottom:24px}
.key-panel .key-title{font-size:15px;font-weight:600;cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px}
.key-panel .key-title:hover{color:var(--gt-lime)}
.key-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:6px 24px;padding-top:14px}
.key-item{font-size:14px;color:var(--gt-text-2);line-height:1.6}
.key-item b{color:var(--gt-text)}

/* Freshness line */
.freshness{font-size:13px;color:var(--gt-text-3);display:flex;align-items:center;gap:8px}

/* Forecast board: market tabs, click-to-expand odds, market analysis */
.tf-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.tf-note{font-size:14px;line-height:1.6;margin:0 0 14px;color:var(--gt-text-2)}
/* Rows expand to show every book's price for that market, so signal they are interactive. */
.tf-clickable{cursor:pointer}
.tf-clickable:hover{background:rgba(255,255,255,.03)}
.tf-caret{margin-left:8px;font-size:10px;color:var(--gt-text-3)}
.tf-compare-row td{background:var(--gt-bg-2);padding:12px 14px}
.tf-compare{display:flex;flex-wrap:wrap;gap:8px}
.tf-compare-item{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:4px;border:2px solid var(--gt-line);font-size:13px;color:var(--gt-text-2)}
.tf-compare-item strong{color:var(--gt-text)}
/* The best number is the one we tell members to take, so it has to be unmissable. */
.tf-compare-item.best{border-color:var(--gt-lime);background:rgba(184,255,60,.08)}
.tf-compare-item.best strong{color:var(--gt-lime)}

/* Responsive (legacy) */
@media(max-width:768px){
  .stat-tile-row{grid-template-columns:1fr 1fr}
  .hide-sm{display:none}
  .page .table-wrap th,.page .table-wrap td{padding:10px 8px}
  .pick-odds-box{flex-direction:column;align-items:flex-start}
  .section{padding:40px 0}
}
