/*
 * GolfAI public site: shared base for index.html, privacy.html and terms.html.
 * Fonts, colour tokens, header, footer, buttons and the long-form legal styles live here;
 * the homepage sections are in home.css. The look follows the app (web/src/design.css):
 * deep forest green, warm paper, charcoal ink and a restrained gold.
 * Rules of the house: no text under 12px, text contrast of at least 4.5:1, one visible focus style.
 */
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:'Instrument Serif';src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
/* Until Instrument Serif arrives, Georgia stands in at about the same width, so the headings do not reflow when it swaps in. */
@font-face{font-family:'Instrument Serif Fallback';src:local('Georgia');font-style:normal;size-adjust:74%}
@font-face{font-family:'Instrument Serif Fallback';src:local('Georgia Italic'),local('Georgia-Italic');font-style:italic;size-adjust:77%}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-regular.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
@font-face{font-family:Manrope;src:url('/assets/fonts/manrope-semibold.woff2') format('woff2');font-style:normal;font-weight:600 800;font-display:swap}
:root{
  /* The App's own values (web/src/design.css --lux-*), so screens and pages read as one product. */
  --forest:#194f3b;--forest-deep:#10291f;--ivory:#f1f2e9;--paper:#fffef8;--ink:#1c3028;--muted:#5c6a60;
  --gold:#c5a46d;--gold-soft:#f1e7d2;--gold-ink:#7a5c2a;--sage:#e7efdf;--line:#dfe5d9;--line-strong:#cbd5c8;
  --field-line:#7d8579;--danger:#9b3f31;--on-dark:#f2f6e9;--on-dark-muted:#b4c6b9;--mint:#9fdec7;
  --night:#081b13;--night-panel:#10271d;--night-raised:#1a3427;--lime:#d8f36a;--lime-hover:#e4f78f;--lime-ink:#10291f;--forest-hover:#215f4d;--on-dark-eyebrow:#c6dfbd;--coral:#ff8a73;--good:#79d8a8;
  --focus:#28735b;--radius:16px;--radius-lg:24px;--gutter:clamp(20px,5vw,64px);
  --shadow-1:0 1px 2px rgba(16,43,35,.025),0 7px 22px rgba(16,43,35,.035);
  --shadow-2:0 2px 6px rgba(16,43,35,.05),0 22px 48px rgba(16,43,35,.12);
  --serif:'Instrument Serif','Instrument Serif Fallback','Iowan Old Style','Palatino Linotype',Georgia,serif;
  --sans:Manrope,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;
  /* Earlier names, still used by the legal block below. */
  --sage-line:var(--line);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;font-synthesis:none}
body{margin:0;background:var(--ivory);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%}
img{height:auto}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
p,h1,h2,h3,h4{margin:0}
h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1.08}
h3{font-weight:600;line-height:1.3}
[hidden]{display:none!important}
::selection{background:var(--gold-soft);color:var(--forest-deep)}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:4px}
.on-dark{--focus:#d8f36a}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.section-wrap{max-width:calc(1200px + 2*var(--gutter));margin-inline:auto;padding-inline:var(--gutter)}
.eyebrow{font-size:13px;line-height:1.4;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-ink)}
.skip-link{position:fixed;top:8px;left:16px;z-index:100;transform:translateY(-200%);background:var(--forest-deep);color:var(--on-dark);padding:12px 18px;border-radius:10px;font-weight:600}
.skip-link:focus{transform:none}

/* Header */
.site-header{position:relative;z-index:50;display:flex;align-items:center;gap:12px 28px;min-height:68px;padding:10px var(--gutter);background:var(--ivory);border-bottom:1px solid var(--line-strong)}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:26px;line-height:1;font-weight:600;letter-spacing:-.04em;color:var(--forest-deep)}
.brand svg{width:22px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.brand-ai{font-weight:400;color:var(--gold-ink)}
.site-header nav{display:flex;flex-wrap:wrap;gap:4px 6px;margin-left:auto}
.site-header nav a{padding:10px 12px;border-radius:999px;font-size:15px;font-weight:600;color:var(--ink)}
.site-header nav a:hover{background:var(--gold-soft)}
.site-header nav a[aria-current]{box-shadow:inset 0 -2px 0 var(--gold-ink);border-radius:0}

/* Buttons */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:10px 24px;border:1.5px solid transparent;border-radius:999px;font-size:16px;line-height:1.25;font-weight:600;text-align:center;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.button-gold{background:var(--gold);color:var(--forest-deep)}
.button-gold:hover{background:#d5b883}
.button-forest{background:var(--forest);color:var(--on-dark)}
.button-forest:hover{background:var(--forest-deep)}
.button-outline{border-color:currentColor;background:transparent}
.button-outline:hover{background:rgba(197,164,109,.18)}
.button:disabled{opacity:.6;cursor:not-allowed}
.button-small{min-height:44px;padding:8px 18px;font-size:15px}

/* Footer */
.site-footer{max-width:none;background:var(--forest-deep);color:var(--on-dark);padding-top:44px;padding-bottom:32px;--focus:#f1e7d2}
.site-footer .brand{color:var(--on-dark)}
.site-footer .brand-ai{color:var(--gold)}
.footer-top,.footer-bottom,.footer-note{max-width:1200px;margin-inline:auto}
.footer-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding-bottom:28px}
.footer-top>p{font-size:15px;color:var(--on-dark-muted)}
.footer-top>div{margin-left:auto;display:flex;flex-wrap:wrap;gap:4px 8px;font-size:15px;font-weight:600}
.footer-top>div a{padding:10px 12px;border-radius:999px}
.footer-top>div a:hover{background:rgba(245,242,234,.12)}
.footer-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:22px;border-top:1px solid rgba(245,242,234,.22);font-size:14px;color:var(--on-dark-muted)}
.footer-bottom p{font-size:14px}
.footer-bottom>span:last-child{font-size:13px;letter-spacing:.08em}
.footer-note{margin-top:18px;font-size:13px;line-height:1.6;color:var(--on-dark-muted)}

@media(max-width:760px){
  body{font-size:16px}
  .brand{font-size:24px}
  .footer-top>div{margin-left:0;width:100%}
  .footer-top>div a{padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Legal pages (privacy.html, terms.html). They load this file only and no script. */
.site-header .legal-nav{justify-content:flex-end}
@media(max-width:420px){
  .site-header{column-gap:12px}
  .site-header .legal-nav{gap:4px 0}
  .site-header .legal-nav a{padding:10px 8px}
}
.legal{max-width:calc(760px + 2*var(--gutter));padding-top:44px;padding-bottom:84px;overflow-wrap:break-word}
.legal p,.legal li,.legal dd,.legal dt,.legal td,.legal th{color:#2f4238}
.legal p{margin:0 0 14px;max-width:70ch}
.legal h1{font-size:clamp(40px,6vw,58px);line-height:1.05;margin:12px 0 14px}
.legal h2{font-size:clamp(27px,3.2vw,33px);line-height:1.15;letter-spacing:-.01em;margin:46px 0 14px;padding-top:28px;border-top:1px solid var(--line-strong)}
.legal h3{font-size:18px;margin:26px 0 8px}
.legal ul,.legal ol{margin:0 0 16px;padding-left:22px;max-width:70ch}
.legal li{margin-bottom:7px}
.legal li>ul,.legal li>ol{margin:7px 0 0}
.legal dl{margin:0 0 16px;max-width:70ch}
.legal dt{font-weight:600;margin-top:13px}
.legal dd{margin:3px 0 0}
.legal a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.legal a:hover{color:var(--gold-ink)}
.legal strong{font-weight:600;color:var(--ink)}
.legal code{font-size:.92em}
.legal-draft{background:#fbe6bd;border:1px solid #b9791a;border-left-width:6px;border-radius:6px;color:#452e05;padding:14px 18px;margin-bottom:34px;font-size:15px;line-height:1.6;font-weight:600}
.legal .legal-draft{color:#452e05}
.legal .legal-draft span{display:block;font-weight:400}
.legal .legal-version{font-size:14px;font-weight:600;letter-spacing:.02em}
.legal .legal-lead{font-size:19px;line-height:1.6;color:var(--ink)}
mark.todo{background:#ffe07a;color:#3a2b00;padding:1px 4px;border-radius:3px;font-weight:600;font-size:.93em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.legal-todo,.legal-toc{margin:28px 0;padding:20px 22px 8px;border-radius:var(--radius)}
.legal-todo{border:1px dashed #a98a2c;background:#fbf5df}
.legal-toc{background:#ebe7da}
.legal .legal-box-title{font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.12em;line-height:1.5;text-transform:uppercase;margin:0 0 12px;padding:0;border:0}
.legal-todo ul,.legal-toc ol{font-size:15px;max-width:none}
.legal-todo ul{columns:2;column-gap:34px;list-style:none;padding-left:0}
.legal-toc ol{columns:2;column-gap:34px}
.legal-todo li,.legal-toc li{break-inside:avoid;margin-bottom:6px}
.legal-option{border:1px solid #a3b096;border-left:5px solid var(--forest);border-radius:6px;background:#ecefe0;padding:20px 22px 8px;margin:22px 0}
.legal .legal-option>h3:first-child{margin-top:0;font-size:17px}
.legal-option h4{font-size:16px;font-weight:600;line-height:1.4;margin:20px 0 6px}
.legal-table{margin:18px 0 22px;overflow-x:auto;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper)}
.legal-table table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.55}
.legal-table th,.legal-table td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line-strong)}
.legal-table thead th{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;background:#ebe7da;white-space:nowrap}
.legal-table tbody th{font-weight:600;min-width:150px}
.legal-table tr:last-child>*{border-bottom:0}
@media(max-width:760px){
  .legal{padding-top:30px;padding-bottom:60px}
  .legal h2{margin-top:38px;padding-top:24px}
  .legal-todo ul,.legal-toc ol{columns:1}
  .legal-todo,.legal-toc,.legal-option{padding:17px 16px 6px}
  .legal-table{overflow:visible;border:0;background:none}
  .legal-table table,.legal-table tbody,.legal-table tr,.legal-table th,.legal-table td{display:block}
  .legal-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .legal-table tr{border:1px solid var(--line-strong);border-radius:10px;background:var(--paper);margin-bottom:12px;padding:12px 14px}
  .legal-table th,.legal-table td{padding:0;border:0}
  .legal-table tbody th{font-size:16px;min-width:0;margin-bottom:6px}
  .legal-table td{margin-top:8px}
  .legal-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
}
@media print{
  .skip-link,.site-header,.site-footer{display:none}
  body{background:#fff;font-size:11pt}
  .legal{max-width:none;padding:0}
  .legal p,.legal ul,.legal ol,.legal dl{max-width:none}
  .legal h2,.legal h3{break-after:avoid}
  .legal-option,.legal-todo,.legal-table tr{break-inside:avoid}
  .legal-table{overflow:visible}
  .legal-draft{border:2px solid #000;background:none}
  mark.todo{background:none;border:1px solid #000}
  .legal a[href^="http"]::after{content:" (" attr(href) ")";font-size:.9em}
}
