
:root{
  --green:#07562f;
  --green-dark:#073f27;
  --ink:#12251d;
  --muted:#69766f;
  --line:#e4e8e4;
  --paper:#fffefa;
  --soft:#f4f6ef;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
.topbar{height:92px;display:flex;align-items:center;justify-content:space-between;padding:0 4.7vw;position:relative;z-index:2}
.wordmark{font-size:13px;letter-spacing:.28em;font-weight:600}
.toplinks{display:flex;gap:20px;align-items:center;font-size:12px;letter-spacing:.22em}
.toplinks span{display:block;width:1px;height:18px;background:#9da7a0}
.hero-shell{text-align:center;padding:4px 7vw 55px}
.main-logo{width:168px;height:168px;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}
.brand-lockup{color:var(--green);letter-spacing:.38em;font-size:15px;margin-top:6px}
.brand-lockup small{display:block;font-size:10px;letter-spacing:.32em;margin-top:11px}
h1{font-family:"Libre Caslon Display",serif;font-weight:400}
.hero-shell h1{font-size:clamp(56px,7.2vw,100px);line-height:.84;margin:43px auto 35px;color:var(--green-dark);letter-spacing:-.025em}
.hero-shell h1 span{display:inline-block;margin-top:.18em}
.search{max-width:820px;height:82px;background:white;border:1px solid #e7e9e5;border-radius:45px;display:flex;align-items:center;margin:0 auto;box-shadow:0 16px 35px rgba(28,54,39,.11);padding:8px 9px 8px 27px}
.search svg{width:25px;fill:none;stroke:var(--green-dark);stroke-width:1.8}
.search input{border:0;outline:0;background:transparent;flex:1;font:400 17px "DM Sans",sans-serif;padding:0 20px;color:var(--ink);min-width:0}
.search input::placeholder{color:#87918a}
.search button{width:64px;height:64px;border:0;border-radius:50%;background:var(--green);color:white;font-size:34px;font-weight:300;cursor:pointer;transition:.2s}
.search button:hover{transform:translateX(2px);background:var(--green-dark)}
.pathways{max-width:930px;margin:72px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.pathway{padding:0 14px;transition:.2s}
.pathway:hover{transform:translateY(-3px)}
.icon-circle{width:105px;height:105px;border-radius:50%;background:var(--soft);display:grid;place-items:center;margin:0 auto 13px}
.icon-circle svg{width:57px;height:57px;fill:none;stroke:var(--green-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pathway h2{font:400 31px/1 "Libre Caslon Display",serif;margin:0 0 13px;color:var(--green-dark)}
.pathway p{font-size:10px;line-height:1.7;letter-spacing:.22em;margin:0;color:#365248}
.golf-scene{height:390px;background-image:linear-gradient(to bottom,var(--paper) 0%,rgba(255,254,250,.32) 11%,rgba(255,254,250,0) 28%),url('/assets/hero-golf.jpg');background-size:cover;background-position:center;position:relative}
.scene-copy{position:absolute;left:5vw;bottom:44px;color:white;text-shadow:0 2px 12px rgba(0,0,0,.35)}
.scene-copy p{font:400 38px "Libre Caslon Display",serif;margin:0 0 10px;font-style:italic}
.scene-copy span{font-size:10px;letter-spacing:.3em}

/* Answer screen */
.answer-body{background:#fbfbf7}
.answer-topbar{height:82px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:4}
.answer-brand{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.25em;font-weight:600}
.answer-brand img{width:42px;height:42px;border-radius:50%;mix-blend-mode:multiply}
.home-link{font-size:13px;color:#506159}
.answer-wrap{max-width:950px;margin:0 auto;padding:45px 28px 80px}
.answer-search{height:66px;margin:0 0 58px;max-width:none}
.answer-search button{width:50px;height:50px;font-size:27px}
.answer-kicker{font-size:10px;letter-spacing:.28em;color:var(--green);font-weight:600;margin-bottom:16px}
.question{font-size:clamp(40px,5.4vw,70px);line-height:1.02;color:var(--green-dark);margin:0 0 24px;letter-spacing:-.018em}
.answer-lede{font:400 22px/1.55 "Libre Caslon Display",serif;color:#30483d;max-width:820px;margin:0 0 42px}
.answer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:18px 0 38px}
.answer-card{background:white;border:1px solid var(--line);border-radius:18px;padding:24px;box-shadow:0 8px 22px rgba(31,51,40,.045)}
.answer-card .eyebrow{font-size:9px;letter-spacing:.22em;color:var(--green);font-weight:600}
.answer-card h2{font:400 27px/1.1 "Libre Caslon Display",serif;margin:9px 0 9px;color:var(--green-dark)}
.answer-card p{font-size:14px;line-height:1.65;color:#5a6861;margin:0}
.answer-card .meta{margin-top:14px;padding-top:13px;border-top:1px solid var(--line);font-size:11px;color:#64726a}
.tip-box{background:#eef4eb;border-radius:18px;padding:26px 28px;margin:26px 0 42px}
.tip-box strong{display:block;color:var(--green-dark);margin-bottom:6px}
.tip-box p{margin:0;font-size:14px;line-height:1.6;color:#466052}
.followups{border-top:1px solid var(--line);padding-top:26px;margin-top:20px}
.followups h3{font:400 24px "Libre Caslon Display",serif;margin:0 0 14px}
.followups a{display:inline-block;border:1px solid #d9dfda;background:white;border-radius:22px;padding:10px 14px;margin:0 7px 7px 0;font-size:12px;color:#40564b}
.demo-note{font-size:11px;line-height:1.5;color:#8b948f;margin-top:48px}

@media (max-width:760px){
  .topbar{height:70px;padding:0 20px}
  .wordmark{font-size:10px;letter-spacing:.22em}
  .toplinks{font-size:9px;gap:10px}
  .toplinks a:first-child,.toplinks span{display:none}
  .hero-shell{padding:18px 20px 35px}
  .main-logo{width:112px;height:112px}
  .brand-lockup{font-size:11px;letter-spacing:.29em}
  .brand-lockup small{font-size:8px}
  .hero-shell h1{font-size:55px;margin:31px auto 29px}
  .search{height:65px;padding-left:19px}
  .search svg{width:21px}
  .search input{font-size:14px;padding:0 12px}
  .search button{width:49px;height:49px;font-size:27px}
  .pathways{grid-template-columns:repeat(2,1fr);gap:35px 13px;margin-top:50px}
  .icon-circle{width:82px;height:82px}
  .icon-circle svg{width:44px;height:44px}
  .pathway h2{font-size:27px}
  .pathway p{font-size:8px}
  .golf-scene{height:320px;background-position:62% center}
  .scene-copy{bottom:28px}
  .scene-copy p{font-size:29px}
  .answer-topbar{padding:0 18px}
  .answer-brand span{display:none}
  .answer-wrap{padding:30px 18px 60px}
  .answer-search{margin-bottom:42px}
  .answer-grid{grid-template-columns:1fr}
  .answer-lede{font-size:20px}
}


/* V1.1 refinements */
@media (min-width:761px){
  .hero-shell{padding-bottom:34px}
  .pathways{margin-top:54px}
  .golf-scene{margin-top:6px}
  .answer-wrap{max-width:1020px}
  .answer-grid{gap:20px}
}

@media (max-width:760px){
  .hero-shell{padding-top:8px}
  .main-logo{width:102px;height:102px}
  .brand-lockup{margin-top:2px}
  .brand-lockup small{margin-top:7px}
  .hero-shell h1{
    font-size:49px;
    line-height:.88;
    margin:24px auto 24px;
  }
  .search{height:61px}
  .pathways{
    margin-top:40px;
    gap:28px 10px;
  }
  .icon-circle{
    width:74px;
    height:74px;
    margin-bottom:10px;
  }
  .icon-circle svg{width:40px;height:40px}
  .pathway h2{font-size:24px;margin-bottom:10px}
  .pathway p{font-size:7.5px;line-height:1.55}
  .answer-wrap{padding-top:24px}
  .answer-search{margin-bottom:34px}
  .answer-kicker{margin-bottom:12px}
  .question{
    font-size:clamp(38px,11vw,52px);
    line-height:1.02;
    margin-bottom:20px;
  }
  .answer-lede{
    font-size:18px;
    line-height:1.5;
    margin-bottom:32px;
  }
  .answer-card{padding:22px}
}

/* Make the answer-page header feel like the same family as the homepage */
.answer-brand img{width:38px;height:38px}


/* V2 live answer state */
.answer-status{
  min-height:22px;
  font-size:11px;
  letter-spacing:.18em;
  color:#65766d;
  margin:0 0 12px;
  text-transform:uppercase;
}
.answer-status.loading::before{
  content:"";
  display:inline-block;
  width:8px;height:8px;border-radius:50%;
  background:var(--green);
  margin-right:9px;
  animation:hhpulse 1.15s infinite ease-in-out;
}
@keyframes hhpulse{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
.sources-section{border-top:1px solid var(--line);padding-top:26px;margin-top:34px}
.sources-section h3{font:400 24px "Libre Caslon Display",serif;margin:0 0 13px}
.sources-section a{display:block;font-size:12px;line-height:1.45;color:#426052;margin:7px 0;overflow-wrap:anywhere}
.error-box{background:#fff7ed;border:1px solid #eadfce;border-radius:16px;padding:20px;margin:18px 0 30px;font-size:14px;line-height:1.55;color:#5f564b}


/* V2.2 homepage headline refinement:
   "Everything golf. Just ask." is smaller and remains on one line. */
.hero-shell h1{
  white-space: nowrap;
  font-size: clamp(44px, 5.4vw, 76px);
  line-height: 1;
  margin-top: 30px;
  margin-bottom: 24px;
}
.hero-shell h1 span{
  display: inline;
  margin-top: 0;
}

@media (max-width:760px){
  .hero-shell h1{
    white-space: nowrap;
    font-size: clamp(31px, 8.7vw, 40px);
    line-height: 1;
    letter-spacing: -.03em;
    margin-top: 22px;
    margin-bottom: 22px;
  }
}


/* =========================================================
   V2.3 UX / READABILITY PASS
   ========================================================= */

/* Auto-expanding Ask box */
.search{
  position:relative;
  height:auto;
  min-height:72px;
  padding:8px 82px 8px 62px;
  align-items:center;
}
.search svg{
  position:absolute;
  left:27px;
  top:24px;
  flex:0 0 auto;
}
.search textarea{
  display:block;
  width:100%;
  min-width:0;
  min-height:34px;
  max-height:150px;
  resize:none;
  overflow:hidden;
  border:0;
  outline:0;
  background:transparent;
  color:var(--ink);
  padding:5px 0;
  margin:0;
  font:400 18px/1.45 "DM Sans",sans-serif;
  font-family:"DM Sans",sans-serif;
}
.search textarea::placeholder{color:#87918a}
.search button{
  position:absolute;
  right:8px;
  bottom:8px;
}
.search.is-multiline svg{top:22px}
.answer-search{
  min-height:66px;
  height:auto;
  padding-right:70px;
  padding-left:58px;
}
.answer-search svg{left:24px;top:21px}
.answer-search textarea{
  font-size:17px;
  line-height:1.42;
  padding:4px 0;
  max-height:132px;
}
.answer-search button{right:8px;bottom:8px}

/* Readability */
.answer-wrap{max-width:1040px}
.answer-kicker{
  font-size:11px;
  line-height:1.4;
  letter-spacing:.27em;
}
.question{
  font-size:clamp(43px,4.9vw,66px);
  line-height:1.03;
  max-width:930px;
}
.answer-lede{
  font-size:23px;
  line-height:1.58;
  max-width:900px;
  color:#365047;
}
.answer-card{padding:27px 28px}
.answer-card .eyebrow{font-size:10px;line-height:1.4}
.answer-card h2{font-size:30px;line-height:1.12;margin:10px 0 11px}
.answer-card p{
  font-size:16.5px;
  line-height:1.65;
  color:#4e6057;
}
.answer-card .meta{
  font-size:13px;
  line-height:1.45;
  color:#5f7067;
  margin-top:17px;
  padding-top:15px;
}
.followups h3{font-size:28px}
.followups a{
  font-size:14px;
  line-height:1.35;
  padding:11px 16px;
}
.demo-note{
  font-size:13px;
  line-height:1.6;
  color:#78857f;
}

/* Signature HH take */
.tip-box{
  display:flex;
  gap:18px;
  align-items:flex-start;
  background:#edf4e9;
  border:1px solid #dce8d6;
  padding:28px 30px;
}
.tip-mark{
  width:42px;height:42px;
  border:1.5px solid var(--green);
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  color:var(--green);
  font:600 12px/1 "DM Sans",sans-serif;
  letter-spacing:.06em;
}
.tip-box strong{
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.18em;
}
.tip-box p{
  font-size:17px;
  line-height:1.62;
  color:#365248;
  margin-top:7px;
}

/* More obvious loading state */
.answer-status{
  min-height:28px;
  font-size:12px;
  line-height:1.4;
  letter-spacing:.18em;
}
.answer-status.loading{
  display:flex;
  align-items:center;
  gap:9px;
}
.answer-status.loading::before{display:none}
.thinking-dots{
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-left:1px;
}
.thinking-dots i{
  display:block;
  width:5px;height:5px;
  border-radius:50%;
  background:var(--green);
  animation:dotbounce 1.15s infinite ease-in-out;
}
.thinking-dots i:nth-child(2){animation-delay:.15s}
.thinking-dots i:nth-child(3){animation-delay:.30s}
@keyframes dotbounce{
  0%,70%,100%{opacity:.22;transform:translateY(0)}
  35%{opacity:1;transform:translateY(-4px)}
}
.loading-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin:22px 0 40px;
}
.loading-card{
  min-height:185px;
  border:1px solid var(--line);
  border-radius:18px;
  padding:27px 28px;
  background:white;
}
.skeleton{
  border-radius:6px;
  background:linear-gradient(90deg,#eef0ec 25%,#f8f9f6 45%,#eef0ec 65%);
  background-size:220% 100%;
  animation:shimmer 1.35s infinite linear;
}
.sk-label{height:10px;width:34%;margin-bottom:20px}
.sk-title{height:26px;width:70%;margin-bottom:22px}
.sk-line{height:13px;width:100%;margin-bottom:11px}
.sk-line.short{width:72%}
@keyframes shimmer{
  from{background-position:200% 0}
  to{background-position:-20% 0}
}
.is-hidden{display:none!important}

/* Cleaner sources */
.sources-section h3{font-size:27px}
#source-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 14px;
}
.sources-section a{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:0;
  padding:11px 13px;
  border:1px solid var(--line);
  background:#fff;
  border-radius:12px;
  font-size:13px;
  line-height:1.45;
  color:#40584d;
  overflow-wrap:anywhere;
}
.sources-section a span{
  width:20px;height:20px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--soft);
  color:var(--green);
  font-size:10px;
  flex:0 0 20px;
}

/* Mobile optimization */
@media (max-width:760px){
  .search{
    min-height:62px;
    padding:8px 66px 8px 51px;
  }
  .search svg{
    left:20px;
    top:20px;
    width:22px;
  }
  .search textarea{
    font-size:16.5px;
    line-height:1.4;
    min-height:31px;
    max-height:136px;
    padding:4px 0;
  }
  .search button{
    width:48px;height:48px;
    right:7px;bottom:7px;
  }

  .answer-search{
    min-height:62px;
    margin-bottom:30px;
  }
  .answer-wrap{padding:22px 18px 58px}
  .answer-status{
    font-size:11px;
    letter-spacing:.15em;
    margin-bottom:12px;
  }
  .answer-kicker{
    font-size:10px;
    margin-bottom:12px;
  }
  .question{
    font-size:clamp(36px,9.6vw,46px);
    line-height:1.04;
    margin-bottom:21px;
  }
  .answer-lede{
    font-size:20.5px;
    line-height:1.58;
    margin-bottom:31px;
  }
  .answer-grid{
    gap:16px;
    margin-top:15px;
  }
  .answer-card{padding:24px 23px}
  .answer-card .eyebrow{font-size:10px}
  .answer-card h2{
    font-size:29px;
    line-height:1.12;
  }
  .answer-card p{
    font-size:16.5px;
    line-height:1.64;
  }
  .answer-card .meta{
    font-size:13px;
    line-height:1.45;
  }
  .tip-box{
    padding:23px 22px;
    gap:14px;
  }
  .tip-box p{font-size:16.5px}
  .tip-mark{
    width:38px;height:38px;
    flex-basis:38px;
  }
  .followups h3{font-size:27px}
  .followups a{
    font-size:14px;
    padding:11px 14px;
  }
  .loading-grid{
    grid-template-columns:1fr;
    gap:14px;
    margin-top:17px;
  }
  .loading-card{
    min-height:165px;
    padding:24px 23px;
  }
  #source-links{grid-template-columns:1fr}
  .sources-section a{font-size:13.5px}
}


/* =========================================================
   V2.3.1 SEARCH BAR FIX
   Preserve the original clean pill appearance while allowing
   the composer to grow vertically for longer questions.
   ========================================================= */

form.search{
  display:grid !important;
  grid-template-columns: 28px minmax(0,1fr) 64px !important;
  grid-template-rows: auto !important;
  column-gap:14px !important;
  align-items:center !important;
  width:100% !important;
  min-height:82px !important;
  height:auto !important;
  padding:8px 9px 8px 27px !important;
  overflow:visible !important;
}

form.search > svg{
  position:static !important;
  grid-column:1 !important;
  width:25px !important;
  height:25px !important;
  margin:0 !important;
  align-self:center !important;
}

form.search > textarea{
  appearance:none !important;
  -webkit-appearance:none !important;
  grid-column:2 !important;
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:34px !important;
  height:34px;
  max-height:150px !important;
  margin:0 !important;
  padding:4px 0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  resize:none !important;
  overflow-y:hidden;
  color:var(--ink) !important;
  font:400 18px/1.45 "DM Sans",sans-serif !important;
}

form.search > textarea::placeholder{
  color:#87918a !important;
  opacity:1 !important;
}

form.search > button{
  position:static !important;
  grid-column:3 !important;
  width:64px !important;
  height:64px !important;
  margin:0 !important;
  justify-self:end !important;
  align-self:end !important;
}

form.search.is-multiline{
  align-items:end !important;
}
form.search.is-multiline > svg{
  align-self:end !important;
  margin-bottom:19px !important;
}
form.search.is-multiline > textarea{
  padding-top:9px !important;
  padding-bottom:9px !important;
}

/* Answer-page composer stays slightly more compact */
form.answer-search{
  grid-template-columns:25px minmax(0,1fr) 50px !important;
  min-height:66px !important;
  padding:7px 8px 7px 24px !important;
  column-gap:13px !important;
}
form.answer-search > svg{
  width:22px !important;
  height:22px !important;
}
form.answer-search > textarea{
  font-size:17px !important;
  min-height:32px !important;
  height:32px;
  max-height:132px !important;
}
form.answer-search > button{
  width:50px !important;
  height:50px !important;
}

@media (max-width:760px){
  form.search{
    grid-template-columns:24px minmax(0,1fr) 50px !important;
    min-height:62px !important;
    padding:6px 7px 6px 20px !important;
    column-gap:12px !important;
  }

  form.search > svg{
    width:22px !important;
    height:22px !important;
  }

  form.search > textarea{
    width:100% !important;
    min-height:31px !important;
    height:31px;
    max-height:136px !important;
    font-size:16.5px !important;
    line-height:1.4 !important;
  }

  form.search > button{
    width:48px !important;
    height:48px !important;
  }

  form.search.is-multiline > svg{
    margin-bottom:13px !important;
  }

  form.answer-search{
    grid-template-columns:22px minmax(0,1fr) 48px !important;
    padding-left:18px !important;
  }
}


/* =========================================================
   V2.4 AESTHETIC PASS
   ========================================================= */

/* Desktop answer cards: single-column stacked, same rhythm as mobile */
.answer-grid{
  grid-template-columns:1fr !important;
  gap:18px !important;
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.answer-card{
  width:100%;
}

/* Small illustrated cue beside each result eyebrow */
.eyebrow-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:8px;
}
.result-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--soft);
  border:1px solid #dde5dc;
  color:var(--green);
}
.result-icon svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.eyebrow-row .eyebrow{
  margin:0;
}

/* Stronger, centered thinking state */
.answer-status.loading{
  display:block !important;
  width:100%;
  margin:6px auto 26px;
  min-height:88px;
  text-align:center;
  letter-spacing:normal;
}
.thinking-wrap{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  min-width:min(520px,100%);
  padding:14px 22px;
  border-radius:18px;
  background:#f4f7f1;
  border:1px solid #e0e7dc;
}
.thinking-orbit{
  width:50px;
  height:50px;
  flex:0 0 50px;
  position:relative;
  border-radius:50%;
  border:1.5px solid #cfdccf;
}
.thinking-orbit::after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  border:1px dashed #c7d4c7;
}
.thinking-ball{
  width:11px;
  height:11px;
  border-radius:50%;
  background:var(--green);
  position:absolute;
  top:-5px;
  left:19px;
  box-shadow:0 1px 4px rgba(7,86,47,.2);
  transform-origin:6px 30px;
  animation:orbitball 1.8s linear infinite;
}
@keyframes orbitball{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}
.thinking-copy{
  text-align:left;
  min-width:0;
}
.thinking-label{
  font-size:10px;
  line-height:1.2;
  font-weight:600;
  letter-spacing:.24em;
  color:var(--green);
  margin-bottom:6px;
}
.thinking-line{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  font-size:15px;
  line-height:1.45;
  letter-spacing:.03em;
  color:#52645a;
}
.thinking-dots{
  margin-left:0;
}
.answer-status.complete{
  text-align:center;
  font-size:11px;
  letter-spacing:.18em;
  margin-bottom:20px;
}

/* Give answer content a calmer stacked reading measure */
.answer-lede{
  max-width:900px;
}
.tip-box,
.followups,
.sources-section{
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}

@media (max-width:760px){
  .answer-grid{max-width:none}
  .result-icon{
    width:28px;
    height:28px;
    flex-basis:28px;
  }
  .result-icon svg{
    width:16px;
    height:16px;
  }

  .answer-status.loading{
    margin-top:2px;
    margin-bottom:22px;
  }
  .thinking-wrap{
    width:100%;
    min-width:0;
    padding:13px 15px;
    gap:13px;
    border-radius:16px;
  }
  .thinking-orbit{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
  .thinking-ball{
    width:10px;
    height:10px;
    left:16px;
    transform-origin:6px 27px;
  }
  .thinking-label{
    font-size:9px;
    letter-spacing:.2em;
  }
  .thinking-line{
    font-size:13.5px;
    line-height:1.4;
  }
}


/* =========================================================
   V2.4.1 SCRIPT TAGLINE
   ========================================================= */
.scene-copy p{
  font-family:"Allura", cursive !important;
  font-style:normal !important;
  font-size:52px !important;
  line-height:.92 !important;
  letter-spacing:.01em;
  font-weight:400 !important;
  margin:0 0 12px !important;
  transform:rotate(-2deg);
  text-shadow:0 2px 14px rgba(0,0,0,.28);
  position:relative;
  display:inline-block;
}

.scene-copy p::after{
  content:"";
  display:block;
  width:58%;
  height:2px;
  margin:7px 0 0 26%;
  background:rgba(255,255,255,.92);
  transform:rotate(-4deg);
  border-radius:2px;
  box-shadow:0 1px 5px rgba(0,0,0,.18);
}

@media (max-width:760px){
  .scene-copy p{
    font-size:43px !important;
    line-height:.95 !important;
  }
  .scene-copy p::after{
    width:54%;
    margin-left:28%;
  }
}


/* =========================================================
   V2.5 MULTILINGUAL + DYNAMIC ICONS + TIGHTER RESULTS
   ========================================================= */

/* Handwritten tagline closer to reference screenshot */
.scene-copy p{
  font-family:"Caveat","Segoe Print","Bradley Hand",cursive !important;
  font-size:47px !important;
  line-height:.9 !important;
  font-weight:500 !important;
  letter-spacing:-.01em !important;
  transform:rotate(-3deg) !important;
}
.scene-copy p::after{
  width:50% !important;
  margin-top:5px !important;
  margin-left:32% !important;
  transform:rotate(-5deg) !important;
}

/* Better CJK readability while preserving HH serif character */
body{
  font-family:"DM Sans","PingFang TC","PingFang SC","Hiragino Sans","Yu Gothic","Noto Sans CJK TC","Noto Sans CJK JP","Noto Sans CJK KR",sans-serif;
}
h1,.question,.answer-lede,.answer-card h2,.followups h3,.scene-copy p{
  font-family:"Libre Caslon Display","Songti TC","STSong","Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK TC","Noto Serif CJK JP","Noto Serif CJK KR",serif;
}
.scene-copy p{
  font-family:"Caveat","Segoe Print","Bradley Hand",cursive !important;
}

/* Tighten desktop result rhythm */
.answer-wrap{
  padding-top:34px !important;
}
.answer-search{
  margin-bottom:38px !important;
}
.answer-status.complete{
  margin-bottom:13px !important;
}
.answer-kicker{
  margin-bottom:11px !important;
}
.question{
  margin-bottom:18px !important;
}
.answer-lede{
  margin-bottom:28px !important;
}
.answer-grid{
  gap:13px !important;
  margin-top:12px !important;
  margin-bottom:28px !important;
}
.answer-card{
  padding:22px 25px !important;
  border-radius:16px !important;
}
.eyebrow-row{
  margin-bottom:5px !important;
}
.answer-card h2{
  margin-top:6px !important;
  margin-bottom:7px !important;
}
.answer-card .meta{
  margin-top:12px !important;
  padding-top:11px !important;
}
.tip-box{
  margin-top:20px !important;
  margin-bottom:30px !important;
  padding:22px 25px !important;
}
.followups{
  padding-top:21px !important;
}
.sources-section{
  padding-top:21px !important;
  margin-top:26px !important;
}

/* Dynamic icons remain subtle but visible */
.result-icon{
  background:#f2f5ef !important;
  border-color:#dce5da !important;
}
.result-icon svg{
  stroke-width:1.65 !important;
}

/* Multilingual line-height adjustments */
html:lang(zh-Hant) .answer-card p,
html:lang(zh-Hans) .answer-card p,
html:lang(ja) .answer-card p,
html:lang(ko) .answer-card p{
  line-height:1.75;
}

@media (max-width:760px){
  .scene-copy p{
    font-size:40px !important;
  }
  .answer-wrap{
    padding-top:18px !important;
  }
  .answer-search{
    margin-bottom:24px !important;
  }
  .answer-lede{
    margin-bottom:25px !important;
  }
  .answer-grid{
    gap:12px !important;
    margin-bottom:24px !important;
  }
  .answer-card{
    padding:21px 21px !important;
  }
  .tip-box{
    margin-top:17px !important;
    margin-bottom:26px !important;
    padding:21px 20px !important;
  }
}


/* =========================================================
   V2.6 CONVERSATIONAL HH
   ========================================================= */

.scene-copy > span{
  display:none !important;
}

/* Card-level Learn more */
.learn-more{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:14px;
  font-size:13px;
  line-height:1.3;
  font-weight:600;
  color:var(--green);
  border-bottom:1px solid rgba(7,86,47,.25);
  padding-bottom:2px;
}
.learn-more:hover{
  border-bottom-color:var(--green);
}
.learn-more span{
  transition:transform .18s ease;
}
.learn-more:hover span{
  transform:translateX(3px);
}

/* Conversational follow-up assistant */
.hh-assistant{
  max-width:900px;
  margin:34px auto 28px;
  padding:26px 26px 24px;
  border:1px solid #dce5da;
  background:#f5f7f2;
  border-radius:20px;
}
.assistant-heading{
  display:flex;
  gap:15px;
  align-items:flex-start;
  margin-bottom:18px;
}
.assistant-mini-logo{
  width:44px;height:44px;
  flex:0 0 44px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1.5px solid var(--green);
  color:var(--green);
  font-size:12px;
  font-weight:600;
  letter-spacing:.05em;
  background:#fff;
}
.assistant-kicker{
  font-size:9px;
  line-height:1.3;
  letter-spacing:.22em;
  color:var(--green);
  font-weight:600;
  margin-bottom:5px;
}
.assistant-heading h3{
  font:400 27px/1.1 "Libre Caslon Display","Songti TC","Hiragino Mincho ProN","Yu Mincho",serif;
  color:var(--green-dark);
  margin:0 0 5px;
}
.assistant-heading p{
  margin:0;
  color:#65746c;
  font-size:13.5px;
  line-height:1.5;
}

.followup-composer{
  display:grid;
  grid-template-columns:minmax(0,1fr) 50px;
  align-items:end;
  gap:9px;
  padding:8px 8px 8px 18px;
  background:#fff;
  border:1px solid #dce2dc;
  border-radius:28px;
  box-shadow:0 8px 20px rgba(34,53,42,.06);
}
.followup-composer textarea{
  width:100%;
  min-height:34px;
  max-height:150px;
  resize:none;
  overflow:hidden;
  border:0;
  outline:0;
  background:transparent;
  padding:6px 0;
  color:var(--ink);
  font:400 15.5px/1.45 "DM Sans","PingFang TC","PingFang SC","Hiragino Sans","Yu Gothic",sans-serif;
}
.followup-composer textarea::placeholder{color:#89948e}
.followup-composer button{
  width:50px;height:50px;
  border:0;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:27px;
  cursor:pointer;
}
.followup-composer button:disabled{
  opacity:.45;
  cursor:default;
}
.followup-hint{
  font-size:10.5px;
  color:#8a948f;
  margin:8px 4px 0;
  text-align:right;
}

.conversation-thread{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:17px;
}
.conversation-turn{
  max-width:100%;
}
.turn-label{
  font-size:8.5px;
  letter-spacing:.2em;
  color:var(--green);
  font-weight:600;
  margin:0 0 5px 5px;
}
.conversation-turn.user{
  align-self:flex-end;
  width:min(78%,650px);
}
.conversation-turn.assistant,
.conversation-turn.loading{
  align-self:flex-start;
  width:min(92%,780px);
}
.turn-bubble{
  background:#fff;
  border:1px solid #dfe5df;
  border-radius:15px;
  padding:12px 15px;
  font-size:14.5px;
  line-height:1.55;
  color:#41564b;
}
.conversation-turn.user .turn-bubble{
  background:#eaf2e7;
  border-color:#d9e6d5;
}
.assistant-loading{
  display:flex;
  align-items:center;
  gap:8px;
  color:#627269;
}
.mini-thinking-dot{
  width:8px;height:8px;border-radius:50%;
  background:var(--green);
  animation:hhpulse 1.1s infinite;
}

.followup-answer{
  background:#fff;
  border:1px solid #dfe5df;
  border-radius:16px;
  padding:17px 18px;
}
.followup-answer h4{
  margin:0 0 8px;
  font:400 25px/1.15 "Libre Caslon Display","Songti TC","Hiragino Mincho ProN","Yu Mincho",serif;
  color:var(--green-dark);
}
.followup-lede{
  margin:0;
  font-size:15px;
  line-height:1.62;
  color:#465a50;
}
.followup-mini-cards{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:13px;
}
.followup-mini-card{
  padding:12px 13px;
  border-radius:12px;
  background:#f8faf6;
  border:1px solid #e5e9e2;
}
.mini-card-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:5px;
}
.mini-icon{
  width:25px;height:25px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#edf3e9;
  color:var(--green);
  flex:0 0 25px;
}
.mini-icon svg{
  width:14px;height:14px;
  fill:none;stroke:currentColor;stroke-width:1.65;
  stroke-linecap:round;stroke-linejoin:round;
}
.followup-mini-card strong{
  font-size:13.5px;
  color:var(--green-dark);
}
.followup-mini-card p{
  margin:0;
  font-size:13.5px;
  line-height:1.5;
  color:#586961;
}
.followup-mini-card a{
  display:inline-block;
  margin-top:7px;
  font-size:12px;
  font-weight:600;
  color:var(--green);
}
.followup-take{
  margin-top:12px;
  padding:11px 12px;
  border-left:3px solid var(--green);
  background:#eef4eb;
  color:#40564b;
  font-size:13.5px;
  line-height:1.5;
}
.followup-take strong{
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:10px;
  margin-right:5px;
}
.error-followup{
  color:#805f4d;
  background:#fff8f3;
}

/* Suggested follow-ups now act as prompts to the assistant */
.suggested-followup{
  cursor:pointer;
}

@media (max-width:760px){
  .hh-assistant{
    margin-top:27px;
    padding:20px 17px 18px;
    border-radius:17px;
  }
  .assistant-heading{
    gap:11px;
    margin-bottom:15px;
  }
  .assistant-mini-logo{
    width:38px;height:38px;
    flex-basis:38px;
    font-size:11px;
  }
  .assistant-heading h3{
    font-size:24px;
  }
  .assistant-heading p{
    font-size:12.5px;
  }
  .followup-composer{
    grid-template-columns:minmax(0,1fr) 47px;
    padding-left:14px;
  }
  .followup-composer textarea{
    font-size:15px;
  }
  .followup-composer button{
    width:47px;height:47px;
  }
  .followup-hint{
    font-size:9.5px;
  }
  .conversation-turn.user{width:88%}
  .conversation-turn.assistant,
  .conversation-turn.loading{width:100%}
  .turn-bubble{font-size:14px}
  .followup-answer h4{font-size:23px}
  .followup-lede{font-size:14.5px}
}


/* =========================================================
   V2.6.1 THIN SIGNATURE TAGLINE
   ========================================================= */
.scene-copy p{
  font-family:"Allura","Segoe Script","Snell Roundhand",cursive !important;
  font-size:50px !important;
  line-height:.86 !important;
  font-weight:400 !important;
  letter-spacing:.005em !important;
  transform:rotate(-2deg) !important;
  text-shadow:0 2px 12px rgba(0,0,0,.24) !important;
}

.scene-copy p::after{
  width:48% !important;
  height:1.5px !important;
  margin-top:7px !important;
  margin-left:34% !important;
  transform:rotate(-4deg) !important;
  background:rgba(255,255,255,.92) !important;
}

@media (max-width:760px){
  .scene-copy p{
    font-size:42px !important;
    line-height:.9 !important;
  }
  .scene-copy p::after{
    width:45% !important;
    margin-left:36% !important;
  }
}


/* =========================================================
   V2.6.2 MOBILE SEARCH — SINGLE-LINE EMPTY STATE
   ========================================================= */

@media (max-width:760px){
  html{
    -webkit-text-size-adjust:100%;
  }

  form.search{
    min-height:62px !important;
  }

  form.search > textarea{
    font-size:16px !important;
    line-height:1.35 !important;
    min-height:30px !important;
    height:30px;
    white-space:pre-wrap;
  }

  /* Empty search field stays visually single-line */
  form.search > textarea:placeholder-shown{
    height:30px !important;
    min-height:30px !important;
    max-height:30px !important;
    overflow:hidden !important;
    white-space:nowrap !important;
  }

  form.search > textarea:placeholder-shown::placeholder{
    white-space:nowrap !important;
    font-size:15.5px !important;
    letter-spacing:-.01em;
  }
}


/* =========================================================
   V2.6.3 SERIF TOP-LEFT WORDMARK
   ========================================================= */
.wordmark{
  font-family:"Libre Caslon Display","Times New Roman",serif !important;
  font-size:18px !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  color:var(--green-dark) !important;
}

@media (max-width:760px){
  .wordmark{
    font-size:16px !important;
  }
}


/* =========================================================
   V2.7 FLOATING FOLLOW-UP + SHARE PREVIEW
   ========================================================= */

/* The empty assistant block no longer occupies a large panel */
.hh-assistant{
  max-width:900px !important;
  margin:26px auto 0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  border-radius:0 !important;
}
.assistant-heading{
  display:none !important;
}
.followup-hint{
  display:none !important;
}
.conversation-thread:empty{
  display:none !important;
}

/* Leave room so fixed composer never covers the bottom content */
.answer-wrap{
  padding-bottom:150px !important;
}

/* Floating assistant composer */
.followup-composer{
  position:fixed !important;
  z-index:50;
  left:50%;
  bottom:22px;
  transform:translateX(-50%);
  width:min(760px,calc(100vw - 40px));
  display:grid !important;
  grid-template-columns:42px minmax(0,1fr) 52px !important;
  align-items:end !important;
  gap:10px !important;
  padding:8px 8px 8px 10px !important;
  border:1px solid rgba(208,218,208,.95) !important;
  border-radius:34px !important;
  background:rgba(255,255,252,.94) !important;
  box-shadow:0 14px 38px rgba(25,45,33,.18) !important;
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.floating-hh{
  width:42px;
  height:42px;
  border:1.5px solid var(--green);
  border-radius:50%;
  display:grid;
  place-items:center;
  align-self:end;
  color:var(--green);
  background:#fff;
  font-size:11px;
  font-weight:600;
  letter-spacing:.04em;
}

.followup-composer textarea{
  width:100% !important;
  min-height:36px !important;
  max-height:132px !important;
  padding:8px 0 6px !important;
  font-size:15.5px !important;
  line-height:1.42 !important;
}

.followup-composer button{
  width:52px !important;
  height:52px !important;
  align-self:end;
  box-shadow:0 4px 12px rgba(7,86,47,.14);
}

/* Follow-up turns remain in the answer document, while the composer floats */
.conversation-thread{
  margin:18px 0 8px !important;
}

/* Slightly reduce source/footer gap because the composer now floats */
.demo-note{
  margin-bottom:12px !important;
}

@media (max-width:760px){
  .answer-wrap{
    padding-bottom:125px !important;
  }

  .followup-composer{
    bottom:calc(10px + env(safe-area-inset-bottom));
    width:calc(100vw - 24px);
    grid-template-columns:38px minmax(0,1fr) 48px !important;
    gap:8px !important;
    padding:7px 7px 7px 9px !important;
    border-radius:31px !important;
  }

  .floating-hh{
    width:38px;
    height:38px;
    font-size:10px;
  }

  .followup-composer textarea{
    min-height:34px !important;
    font-size:15px !important;
    padding:7px 0 5px !important;
  }

  .followup-composer button{
    width:48px !important;
    height:48px !important;
  }
}


/* =========================================================
   V2.8 LANGUAGE AWARENESS + EXPANDABLE RESULTS
   ========================================================= */

/* Under-search multilingual cue */
.language-hint{
  display:flex;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
  gap:7px 9px;
  margin:13px auto 0;
  color:#738078;
  font-size:11px;
  line-height:1.35;
  letter-spacing:.04em;
}
.language-hint svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:var(--green);
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.language-hint > span:first-of-type{
  color:#53665b;
  font-weight:500;
}
.language-list{
  color:#7b8780;
}

/* Expanded result cards live in the same stacked grid */
.extra-results{
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  overflow:hidden;
  opacity:1;
  max-height:4000px;
  transition:max-height .4s ease, opacity .28s ease, margin .3s ease;
}
.extra-results.is-collapsed{
  max-height:0;
  opacity:0;
  margin:0;
  pointer-events:none;
}
.more-results-wrap{
  max-width:900px;
  margin:-5px auto 22px;
  text-align:center;
}
.more-results-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:9px 16px;
  border:1px solid #d9e1d8;
  border-radius:22px;
  background:#fff;
  color:#4a6054;
  font:500 13px/1.2 "DM Sans","PingFang TC","PingFang SC","Hiragino Sans","Yu Gothic",sans-serif;
  cursor:pointer;
  box-shadow:0 5px 13px rgba(30,48,37,.04);
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.more-results-btn:hover{
  transform:translateY(-1px);
  border-color:#bfcdbf;
  box-shadow:0 7px 18px rgba(30,48,37,.07);
}
.more-results-btn strong{
  display:grid;
  place-items:center;
  min-width:25px;
  height:25px;
  padding:0 7px;
  border-radius:13px;
  background:#eef3eb;
  color:var(--green);
  font-size:11px;
}
.more-results-btn i{
  font-style:normal;
  color:var(--green);
  font-size:14px;
}

/* Keep the HH Take close after expansion control */
.more-results-wrap + .tip-box{
  margin-top:0 !important;
}

@media (max-width:760px){
  .language-hint{
    margin-top:10px;
    gap:5px 7px;
    font-size:9.5px;
    letter-spacing:.02em;
  }
  .language-hint svg{
    width:13px;
    height:13px;
  }
  .language-hint > span:first-of-type{
    width:100%;
    text-align:center;
    margin-bottom:1px;
  }
  .language-list{
    white-space:nowrap;
  }

  .extra-results{
    gap:12px;
  }
  .more-results-wrap{
    margin:-3px auto 18px;
  }
  .more-results-btn{
    min-height:40px;
    font-size:12.5px;
  }
}


/* =========================================================
   V3.0 PLAY HUB + STRONGER CATEGORY ICONS
   ========================================================= */

.pathway-link{
  color:inherit;
  text-decoration:none;
}
.pathway-link:hover .icon-circle{
  transform:translateY(-3px);
  box-shadow:0 12px 24px rgba(27,50,37,.09);
}

/* Give all 4 category icons a little more weight without changing the style */
.icon-circle{
  border:1px solid #e2e6df;
  transition:transform .2s ease, box-shadow .2s ease;
}
.icon-circle svg{
  stroke-width:2.15 !important;
}
.pathway:nth-child(1) .icon-circle,
.pathway-link:nth-child(1) .icon-circle{
  background:#f0f4ed;
}

/* Play hub layout */
.play-page{
  background:#fbfaf5;
}
.play-topbar{
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(251,250,245,.93);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.play-brand{
  display:flex;
  align-items:center;
  gap:10px;
}
.play-brand img{
  width:40px;height:40px;border-radius:50%;
}
.play-hub{
  max-width:1100px;
  margin:0 auto;
  padding:38px 36px 150px;
}
.play-hero{
  text-align:center;
  max-width:760px;
  margin:0 auto 28px;
}
.play-hero-icon{
  width:92px;height:92px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#eff3ec;
  border:1px solid #dfe6dd;
  color:var(--green);
}
.play-hero-icon svg{
  width:54px;height:54px;
  fill:none;stroke:currentColor;stroke-width:2.5;
  stroke-linecap:round;stroke-linejoin:round;
}
.play-kicker,.play-section-kicker{
  font:600 10px/1.3 "DM Sans",sans-serif;
  letter-spacing:.24em;
  color:var(--green);
}
.play-hero h1{
  margin:10px 0 12px;
  font:400 clamp(48px,6vw,74px)/.98 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.play-hero p{
  margin:0 auto;
  max-width:650px;
  font-size:17px;
  line-height:1.6;
  color:#65746c;
}
.play-tabs{
  position:sticky;
  top:74px;
  z-index:20;
  display:flex;
  gap:9px;
  justify-content:center;
  flex-wrap:wrap;
  padding:12px 0 18px;
  margin-bottom:10px;
  background:linear-gradient(#fbfaf5 75%,rgba(251,250,245,0));
}
.play-tabs button{
  border:1px solid #dce3db;
  border-radius:22px;
  background:#fff;
  padding:10px 16px;
  color:#506158;
  font:500 13px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
.play-tabs button.active{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
.play-feature{
  scroll-margin-top:150px;
  border-top:1px solid #e1e5df;
  padding:28px 0 34px;
}
.section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:17px;
}
.section-heading h2{
  margin:5px 0 3px;
  font:400 36px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.section-heading p{
  margin:0;
  color:#758078;
  font-size:14px;
}
.section-action{
  border:0;
  background:transparent;
  color:var(--green);
  font:600 12px/1 "DM Sans",sans-serif;
  cursor:pointer;
  white-space:nowrap;
}
.play-card-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.play-course-card{
  display:grid;
  grid-template-columns:72px minmax(0,1fr) 22px;
  align-items:center;
  gap:13px;
  width:100%;
  text-align:left;
  border:1px solid #dfe5de;
  border-radius:16px;
  background:#fff;
  padding:10px 12px 10px 10px;
  cursor:pointer;
  min-height:94px;
  transition:transform .18s ease,box-shadow .18s ease;
}
.play-course-card:hover{
  transform:translateY(-2px);
  box-shadow:0 9px 22px rgba(30,49,37,.07);
}
.course-thumb{
  width:72px;height:72px;
  border-radius:12px;
  display:grid;
  place-items:center;
  color:white;
  font:400 30px/1 "Libre Caslon Display",serif;
  overflow:hidden;
  position:relative;
}
.course-thumb::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(7,86,47,.05),rgba(7,86,47,.48));
}
.course-thumb span{position:relative;z-index:1}
.thumb-1{background:linear-gradient(140deg,#bdcbb7,#456d54)}
.thumb-2{background:linear-gradient(140deg,#d9c8a5,#69816a)}
.thumb-3{background:linear-gradient(140deg,#a8c2c5,#3f6a59)}
.thumb-4{background:linear-gradient(140deg,#d8d0b7,#53745a)}
.course-tag{
  font:600 8px/1.25 "DM Sans",sans-serif;
  letter-spacing:.16em;
  color:var(--green);
  text-transform:uppercase;
  margin-bottom:4px;
}
.course-copy h3{
  margin:0 0 4px;
  font:400 19px/1.1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.course-copy p{
  margin:0;
  font-size:11.5px;
  color:#7b8680;
  line-height:1.35;
}
.course-arrow{
  color:var(--green);
  font-size:18px;
}
.destination-chip-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
}
.destination-chip{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) 16px;
  align-items:center;
  gap:10px;
  min-height:66px;
  border:1px solid #dfe5de;
  border-radius:15px;
  background:#fff;
  padding:9px 11px;
  text-align:left;
  cursor:pointer;
}
.destination-orb{
  width:42px;height:42px;
  border-radius:50%;
  display:grid;place-items:center;
  color:white;
  font:400 20px/1 "Libre Caslon Display",serif;
}
.orb-1{background:#557b62}.orb-2{background:#8a7e61}.orb-3{background:#54717b}.orb-4{background:#687a53}.orb-5{background:#7b665e}
.destination-chip strong{
  display:block;
  font:400 17px/1.1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.destination-chip small{
  display:block;
  margin-top:3px;
  font-size:9.5px;
  color:#7e8982;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.destination-chip i{
  color:var(--green);
  font-style:normal;
}
.play-placeholder{
  grid-column:1/-1;
  text-align:center;
  padding:30px 20px;
  border:1px dashed #ccd7cc;
  border-radius:17px;
  color:#6c7971;
}
.play-placeholder h3{
  margin:6px 0;
  font:400 23px/1.1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.play-placeholder p{
  max-width:520px;
  margin:0 auto;
  font-size:13px;
  line-height:1.5;
}
.placeholder-icon{
  width:42px;height:42px;
  margin:auto;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eef3eb;
  color:var(--green);
  font-size:20px;
}
.play-loading{
  grid-column:1/-1;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:10px;
  min-height:110px;
  color:#66766d;
}
.play-loading span{
  width:10px;height:10px;border-radius:50%;
  background:var(--green);
  animation:hhpulse 1.1s infinite;
}
.play-bottom-note{
  min-height:150px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-right:20px;
}
.play-script{
  font-family:"Allura",cursive;
  font-size:40px;
  color:var(--green);
  transform:rotate(-2deg);
}
.play-floating{
  bottom:18px !important;
}

@media (max-width:760px){
  .play-hub{
    padding:24px 18px 125px;
  }
  .play-hero-icon{
    width:78px;height:78px;
  }
  .play-hero-icon svg{
    width:46px;height:46px;
  }
  .play-hero h1{
    font-size:48px;
  }
  .play-hero p{
    font-size:15px;
  }
  .play-tabs{
    top:70px;
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
    padding-bottom:14px;
  }
  .play-tabs button{
    flex:0 0 auto;
  }
  .section-heading{
    align-items:flex-start;
  }
  .section-heading h2{
    font-size:31px;
  }
  .section-heading p{
    font-size:12.5px;
    line-height:1.45;
  }
  .play-card-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .play-course-card{
    grid-template-columns:64px minmax(0,1fr) 20px;
    min-height:86px;
  }
  .course-thumb{
    width:64px;height:64px;
  }
  .course-copy h3{
    font-size:20px;
  }
  .course-copy p{
    font-size:11.5px;
  }
  .destination-chip-grid{
    grid-template-columns:repeat(2,1fr);
    gap:8px;
  }
  .destination-chip{
    grid-template-columns:36px minmax(0,1fr) 14px;
    padding:8px 9px;
  }
  .destination-orb{
    width:36px;height:36px;
    font-size:18px;
  }
  .destination-chip strong{
    font-size:16px;
  }
  .play-script{
    font-size:34px;
  }
}


/* =========================================================
   V3.0.2 MOBILE FLOATING HH POSITION FIX
   ========================================================= */

@media (max-width:760px){
  /* Give the floating assistant breathing room above Safari's bottom toolbar. */
  .followup-composer,
  .play-floating{
    bottom:calc(30px + env(safe-area-inset-bottom)) !important;
  }

  /* Ensure the last answer content never disappears behind the floater. */
  .answer-wrap{
    padding-bottom:155px !important;
  }

  .play-hub{
    padding-bottom:155px !important;
  }
}


/* =========================================================
   V3.1 WATCH HUB
   ========================================================= */
.watch-page{background:#fbfaf5}
.watch-hub{
  max-width:1100px;
  margin:0 auto;
  padding:38px 36px 155px;
}
.watch-hero{
  text-align:center;
  max-width:760px;
  margin:0 auto 28px;
}
.watch-hero-icon{
  width:92px;height:92px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#eff3ec;
  border:1px solid #dfe6dd;
  color:var(--green);
}
.watch-hero-icon svg{
  width:53px;height:53px;
  fill:none;stroke:currentColor;stroke-width:2.35;
  stroke-linecap:round;stroke-linejoin:round;
}
.watch-hero h1{
  margin:10px 0 12px;
  font:400 clamp(48px,6vw,74px)/.98 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-hero p{
  max-width:640px;margin:0 auto;
  font-size:17px;line-height:1.6;color:#65746c;
}
.watch-live-status{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:16px;
  min-height:27px;
  color:#6d7c73;
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.watch-live-status span{
  width:8px;height:8px;border-radius:50%;
  background:var(--green);animation:hhpulse 1.1s infinite;
}
.watch-live-status.ready{color:var(--green)}
.watch-live-status.error{color:#8b6959}
.watch-tabs{top:74px}
.watch-feature{
  scroll-margin-top:150px;
  border-top:1px solid #e1e5df;
  padding:28px 0 34px;
}
.featured-watch-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:13px;
}
.featured-watch-card{
  border:1px solid #dfe5de;
  border-radius:18px;
  background:#fff;
  padding:24px;
}
.featured-watch-card.primary{
  background:#edf3e9;
  border-color:#d5e1d1;
}
.watch-badge,.watch-tour{
  font:600 9px/1.2 "DM Sans",sans-serif;
  letter-spacing:.17em;
  color:var(--green);
  text-transform:uppercase;
}
.featured-watch-card h3{
  margin:10px 0 9px;
  font:400 34px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.featured-watch-card p{
  margin:0;
  color:#506158;
  font-size:14.5px;
  line-height:1.58;
}
.watch-meta-row{
  display:flex;flex-wrap:wrap;gap:8px 16px;
  margin-top:16px;padding-top:13px;
  border-top:1px solid #dfe5dd;
  color:#66766d;font-size:11px;
}
.watch-meta-row.compact{margin-top:12px;padding-top:10px}
.featured-watch-card button,
.watch-event-card button{
  margin-top:15px;
  border:0;background:transparent;padding:0;
  color:var(--green);font:600 12px/1.2 "DM Sans",sans-serif;
  cursor:pointer;
}
.watch-event-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
}
.watch-event-card{
  border:1px solid #dfe5de;
  border-radius:16px;
  background:#fff;
  padding:18px;
}
.watch-event-top{
  display:flex;align-items:center;justify-content:space-between;gap:8px;
}
.watch-status{
  font-size:9px;color:#748178;background:#f2f5f0;
  padding:5px 7px;border-radius:9px;text-transform:uppercase;letter-spacing:.07em;
}
.watch-event-card h3{
  margin:9px 0 7px;
  font:400 24px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-event-card p{
  margin:0;color:#5a6961;font-size:13px;line-height:1.52;
}
.watch-result-list{
  display:flex;flex-direction:column;gap:8px;
}
.watch-result-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px 24px;
  gap:16px;align-items:center;
  width:100%;text-align:left;
  border:1px solid #dfe5de;border-radius:15px;background:#fff;
  padding:15px 17px;cursor:pointer;
}
.watch-result-row h3{
  margin:5px 0 3px;
  font:400 22px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-result-row p{
  margin:0;color:#748078;font-size:12px;
}
.winner-block{
  padding-left:14px;border-left:1px solid #e2e7e1;
}
.winner-block small{
  display:block;font-size:8px;letter-spacing:.15em;color:#7e8982;
}
.winner-block strong{
  display:block;margin-top:3px;font-size:13px;color:#40554a;
}
.watch-result-row i{font-style:normal;color:var(--green);font-size:18px}
.highlight-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
}
.highlight-card{
  display:grid;
  grid-template-columns:50px minmax(0,1fr) auto;
  align-items:center;gap:12px;
  border:1px solid #dfe5de;border-radius:16px;background:#fff;
  padding:13px;
}
.highlight-icon{
  width:50px;height:50px;border-radius:13px;
  display:grid;place-items:center;
  background:#edf3e9;color:var(--green);font-size:18px;
}
.highlight-copy span{
  font-size:8px;letter-spacing:.14em;color:var(--green);font-weight:600;
}
.highlight-copy h3{
  margin:4px 0 2px;
  font:400 19px/1.08 "Libre Caslon Display",serif;color:var(--green-dark);
}
.highlight-copy p{margin:0;font-size:11px;color:#7a8580}
.highlight-card button,.highlight-card a{
  border:0;background:transparent;color:var(--green);
  font:600 11px/1.2 "DM Sans",sans-serif;text-decoration:none;cursor:pointer;
}
.watch-empty{
  grid-column:1/-1;
  padding:28px;text-align:center;
  border:1px dashed #ccd7cc;border-radius:17px;
  color:#68776e;
}
.watch-empty button{
  margin-top:10px;border:0;background:transparent;color:var(--green);font-weight:600;
}
.watch-skeleton{
  min-height:190px;border-radius:18px;
  background:linear-gradient(90deg,#eef1ec 25%,#f8f9f6 45%,#eef1ec 65%);
  background-size:220% 100%;animation:shimmer 1.35s infinite linear;
}
.video-modal{
  position:fixed;z-index:100;inset:0;
  background:rgba(8,20,13,.82);
  display:grid;place-items:center;padding:24px;
}
.video-modal[hidden]{display:none}
.video-shell{
  width:min(900px,100%);aspect-ratio:16/9;
  background:#000;border-radius:15px;overflow:hidden;
}
.video-shell iframe{width:100%;height:100%;border:0}
.video-close{
  position:absolute;top:20px;right:24px;
  width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  background:rgba(255,255,255,.12);color:#fff;font-size:28px;cursor:pointer;
}

@media (max-width:760px){
  .watch-hub{padding:24px 18px 155px}
  .watch-hero-icon{width:78px;height:78px}
  .watch-hero-icon svg{width:46px;height:46px}
  .watch-hero h1{font-size:48px}
  .watch-hero p{font-size:15px}
  .featured-watch-grid{grid-template-columns:1fr}
  .featured-watch-card{padding:20px}
  .featured-watch-card h3{font-size:30px}
  .watch-event-grid{grid-template-columns:1fr}
  .watch-event-card{padding:17px}
  .watch-result-row{
    grid-template-columns:minmax(0,1fr) 22px;
    gap:10px;
  }
  .winner-block{
    grid-column:1/2;
    border-left:0;padding-left:0;
    display:flex;gap:7px;align-items:center;
  }
  .watch-result-row>i{grid-column:2;grid-row:1/3}
  .highlight-grid{grid-template-columns:1fr}
  .highlight-card{grid-template-columns:46px minmax(0,1fr) auto}
  .highlight-icon{width:46px;height:46px}
}


/* =========================================================
   V3.1.2 FAST WATCH
   ========================================================= */
.watch-live-status.cached{
  color:#65756c;
}
.watch-live-status.cached::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:#aebdaf;
  margin-right:1px;
}
.watch-empty.subtle{
  padding:18px 20px;
  font-size:12px;
  color:#8a958f;
  background:#fafbf8;
}


/* =========================================================
   V3.2 WATCH VISUAL MATCH
   ========================================================= */
.watch-v32{
  background:#fbfaf6;
}
.watch-shell-header{
  position:sticky;
  top:0;
  z-index:60;
  min-height:86px;
  display:grid;
  grid-template-columns:70px minmax(0,1fr) 70px;
  align-items:center;
  gap:10px;
  padding:9px max(24px,4vw);
  background:rgba(251,250,246,.94);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(222,228,220,.75);
}
.watch-mini-brand{
  width:48px;height:48px;
  border-radius:50%;
  display:block;
}
.watch-mini-brand img{
  width:100%;height:100%;
  border-radius:50%;
  object-fit:cover;
  mix-blend-mode:multiply;
}
.watch-hub-nav{
  display:flex;
  justify-content:center;
  gap:clamp(18px,4vw,54px);
}
.watch-hub-nav a{
  min-width:58px;
  text-align:center;
  color:#68766e;
  font-size:11px;
}
.hub-nav-icon{
  width:48px;height:48px;
  margin:0 auto 4px;
  border-radius:50%;
  display:grid;
  place-items:center;
  transition:.18s ease;
}
.hub-nav-icon svg{
  width:28px;height:28px;
  fill:none;
  stroke:var(--green-dark);
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.watch-hub-nav a.active .hub-nav-icon{
  background:#e7eee3;
  border:1px solid #dce6d8;
}
.watch-hub-nav a.active small{
  color:var(--green-dark);
  font-weight:600;
}
.watch-menu{
  justify-self:end;
  font-size:25px;
  color:var(--green-dark);
}

.watch-v32-main{
  max-width:1050px;
  margin:0 auto;
  padding:0 28px 165px;
}
.watch-v32-hero{
  min-height:286px;
  margin:0 -28px 0;
  background:
    linear-gradient(90deg,rgba(251,250,246,.98) 0%,rgba(251,250,246,.92) 32%,rgba(251,250,246,.28) 67%,rgba(251,250,246,.05) 100%),
    url('/assets/watch-hero.jpg') center/cover no-repeat;
  display:flex;
  align-items:center;
  padding:32px max(28px,7vw);
}
.watch-v32-hero-copy{
  max-width:500px;
}
.watch-v32-label{
  display:none;
}
.watch-v32-hero h1{
  margin:0 0 9px;
  font:400 clamp(62px,8vw,92px)/.88 "Libre Caslon Display",serif;
  letter-spacing:-.02em;
  color:var(--green-dark);
}
.watch-v32-hero p{
  margin:0;
  font-size:12px;
  line-height:1.8;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:#425b4f;
}
.watch-v32-hero .watch-live-status{
  margin-top:17px;
  font-size:9px;
  letter-spacing:.12em;
}

.watch-v32-tabs{
  display:flex;
  gap:8px;
  overflow-x:auto;
  padding:17px 0 20px;
  position:sticky;
  top:86px;
  z-index:45;
  background:rgba(251,250,246,.96);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  scrollbar-width:none;
}
.watch-v32-tabs::-webkit-scrollbar{display:none}
.watch-v32-tabs button{
  flex:0 0 auto;
  border:1px solid #dfe5dd;
  border-radius:24px;
  background:#fff;
  color:#54645b;
  padding:11px 18px;
  min-height:42px;
  font:500 12px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
.watch-v32-tabs button.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}

.watch-v32-section{
  scroll-margin-top:155px;
  padding:26px 0 33px;
  border-top:1px solid #e2e7e1;
}
.watch-v32-section:first-of-type{
  border-top:0;
}
.watch-v32-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.watch-v32-section-head h2{
  margin:0;
  font:400 34px/1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-section-head span{
  font-size:11px;
  color:#87928c;
}
.watch-v32-section-head button{
  border:0;
  background:transparent;
  color:var(--green);
  font:600 11px "DM Sans",sans-serif;
  cursor:pointer;
}

.watch-v32-feature-card{
  border:1px solid #dfe5de;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.watch-v32-feature-image{
  height:310px;
  background-size:cover;
  background-position:center;
  position:relative;
}
.watch-v32-feature-image::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(10,35,22,.36),rgba(10,35,22,0) 45%);
}
.watch-v32-live,
.watch-v32-today{
  position:absolute;
  left:18px;top:16px;z-index:2;
  padding:7px 10px;
  border-radius:8px;
  color:#fff;
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.08em;
}
.watch-v32-live{background:#e84141}
.watch-v32-today{background:rgba(7,86,47,.92)}
.watch-v32-tour-mark{
  position:absolute;
  left:18px;bottom:14px;z-index:2;
  color:#fff;
  font:600 10px "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.watch-v32-feature-body{
  padding:18px 20px 20px;
}
.watch-v32-feature-kicker{
  font-size:9px;
  letter-spacing:.17em;
  color:var(--green);
  font-weight:600;
}
.watch-v32-feature-body h3{
  margin:6px 0 8px;
  font:400 30px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-feature-body p{
  margin:0;
  color:#53645b;
  font-size:13.5px;
  line-height:1.55;
}
.watch-v32-detail-row{
  display:flex;
  flex-wrap:wrap;
  gap:9px 16px;
  margin-top:13px;
  padding-top:12px;
  border-top:1px solid #e4e8e3;
  color:#6d7972;
  font-size:10.5px;
}
.watch-v32-feature-body>button{
  margin-top:15px;
  padding:0;
  border:0;
  background:transparent;
  color:var(--green);
  font:600 11px "DM Sans",sans-serif;
  cursor:pointer;
}
.watch-v32-feature-body>button i{
  font-style:normal;
  margin-left:5px;
}

.watch-v32-list{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.watch-v32-row{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) 36px;
  align-items:center;
  gap:14px;
  border:1px solid #e0e5df;
  border-radius:15px;
  padding:8px;
  background:#fff;
}
.watch-v32-row-image{
  width:150px;
  height:98px;
  border-radius:10px;
  background-size:cover;
  background-position:center;
  position:relative;
  overflow:hidden;
}
.watch-v32-row-image .watch-v32-live,
.watch-v32-row-image .watch-v32-today{
  top:8px;left:8px;
  padding:5px 7px;
  font-size:8px;
}
.watch-v32-row-tour{
  font-size:8px;
  letter-spacing:.16em;
  font-weight:600;
  color:var(--green);
}
.watch-v32-row-copy h3{
  margin:4px 0 4px;
  font:400 21px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-row-copy p{
  margin:0;
  font-size:11.5px;
  line-height:1.45;
  color:#66736c;
}
.watch-v32-row-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px 12px;
  margin-top:6px;
  color:#89938e;
  font-size:9.5px;
}
.watch-v32-arrow{
  width:34px;height:44px;
  border:0;background:transparent;
  color:var(--green-dark);
  font-size:28px;
  cursor:pointer;
}

.watch-v32-upcoming{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.watch-v32-upcoming-card{
  overflow:hidden;
  border:1px solid #dfe5de;
  border-radius:15px;
  background:#fff;
  padding:0 0 14px;
  text-align:left;
  cursor:pointer;
  color:inherit;
}
.watch-v32-upcoming-image{
  height:120px;
  background-size:cover;
  background-position:center;
}
.watch-v32-upcoming-card>div:not(.watch-v32-upcoming-image){
  padding:12px 13px 0;
}
.watch-v32-upcoming-card span{
  display:block;
  font-size:8px;
  color:var(--green);
  font-weight:600;
  letter-spacing:.15em;
}
.watch-v32-upcoming-card h3{
  margin:5px 0 4px;
  font:400 21px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-upcoming-card p{
  margin:0;
  font-size:10.5px;
  color:#78837d;
}
.watch-v32-upcoming-card>i{
  display:none;
}

.watch-v32-results{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:9px;
}
.watch-v32-result-card{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 120px 20px;
  align-items:center;
  gap:11px;
  text-align:left;
  border:1px solid #dfe5de;
  border-radius:14px;
  background:#fff;
  padding:11px;
  color:inherit;
  cursor:pointer;
}
.watch-v32-result-mark{
  width:52px;height:52px;
  border-radius:13px;
  display:grid;place-items:center;
  background:#eef3ea;
  color:var(--green);
  font:600 11px "DM Sans",sans-serif;
  letter-spacing:.08em;
}
.watch-v32-result-copy>span{
  font-size:8px;letter-spacing:.14em;
  color:var(--green);font-weight:600;
}
.watch-v32-result-copy h3{
  margin:4px 0 2px;
  font:400 19px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-result-copy p{
  margin:0;
  font-size:10.5px;
  color:#78827c;
  line-height:1.35;
}
.watch-v32-winner{
  padding-left:10px;
  border-left:1px solid #e4e8e3;
}
.watch-v32-winner small{
  display:block;
  font-size:7.5px;
  letter-spacing:.13em;
  color:#909a94;
}
.watch-v32-winner strong{
  display:block;
  margin-top:3px;
  font-size:12px;
  color:#43574c;
}
.watch-v32-result-card>i{
  font-style:normal;
  font-size:23px;
  color:var(--green-dark);
}

.watch-v32-majors{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:8px;
}
.watch-v32-major-card{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 18px;
  align-items:center;
  gap:10px;
  border:1px solid #dfe5de;
  border-radius:14px;
  background:#fff;
  padding:10px;
  text-align:left;
  color:inherit;
  cursor:pointer;
}
.watch-v32-major-mark{
  width:54px;height:54px;
  border-radius:13px;
  display:grid;place-items:center;
  background:#edf3e9;
  color:var(--green);
  font:600 11px "DM Sans",sans-serif;
}
.watch-v32-major-copy strong{
  display:block;
  font:400 19px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-major-copy small{
  display:block;
  margin-top:4px;
  font-size:10px;
  color:#7a857f;
}
.watch-v32-major-card>i{
  font-style:normal;
  font-size:22px;
  color:var(--green-dark);
}

.watch-v32-highlights{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(280px,42%);
  gap:12px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.watch-v32-highlights::-webkit-scrollbar{display:none}
.watch-v32-highlight{
  scroll-snap-align:start;
  min-width:0;
}
.watch-v32-highlight-image{
  width:100%;
  aspect-ratio:16/9;
  border:0;
  border-radius:14px;
  background-size:cover;
  background-position:center;
  display:grid;
  place-items:center;
  cursor:pointer;
  position:relative;
  overflow:hidden;
}
.watch-v32-highlight-image::after{
  content:"";
  position:absolute;inset:0;
  background:rgba(10,29,19,.18);
}
.watch-v32-play{
  position:relative;z-index:2;
  width:54px;height:54px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.9);
  color:var(--green-dark);
  font-size:19px;
  padding-left:3px;
}
.watch-v32-highlight-copy{
  padding:9px 4px 0;
}
.watch-v32-highlight-copy span{
  font-size:8px;
  letter-spacing:.13em;
  color:var(--green);
  font-weight:600;
}
.watch-v32-highlight-copy h3{
  margin:4px 0 3px;
  font:400 20px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.watch-v32-highlight-copy p{
  margin:0;
  color:#7a8580;
  font-size:10.5px;
}
.watch-v32-loading-card,
.watch-v32-empty{
  border:1px dashed #d3dbd2;
  border-radius:14px;
  padding:24px;
  color:#7b8780;
  background:#fff;
  font-size:12px;
  text-align:center;
}
.watch-v32-empty button{
  display:block;
  margin:10px auto 0;
  border:0;background:transparent;
  color:var(--green);font-weight:600;cursor:pointer;
}
.watch-v32-feature-skeleton{
  height:420px;
  border-radius:18px;
  background:linear-gradient(90deg,#eef1ec 25%,#fafbf8 45%,#eef1ec 65%);
  background-size:220% 100%;
  animation:shimmer 1.35s infinite linear;
}

.watch-v32-assistant{
  width:min(720px,calc(100vw - 28px)) !important;
}

@media (max-width:760px){
  .watch-shell-header{
    min-height:76px;
    grid-template-columns:48px minmax(0,1fr) 38px;
    padding:7px 12px;
  }
  .watch-mini-brand{
    width:42px;height:42px;
  }
  .watch-hub-nav{
    gap:4px;
    justify-content:space-between;
  }
  .watch-hub-nav a{
    min-width:50px;
    font-size:9px;
  }
  .hub-nav-icon{
    width:39px;height:39px;
    margin-bottom:2px;
  }
  .hub-nav-icon svg{
    width:23px;height:23px;
  }
  .watch-menu{
    font-size:21px;
  }
  .watch-v32-main{
    padding:0 14px 155px;
  }
  .watch-v32-hero{
    min-height:235px;
    margin:0 -14px;
    padding:26px 20px;
    background:
      linear-gradient(90deg,rgba(251,250,246,.98) 0%,rgba(251,250,246,.86) 43%,rgba(251,250,246,.14) 85%),
      url('/assets/watch-hero.jpg') center/cover no-repeat;
  }
  .watch-v32-hero h1{
    font-size:62px;
  }
  .watch-v32-hero p{
    font-size:9.5px;
    line-height:1.9;
  }
  .watch-v32-tabs{
    top:76px;
    margin:0 -14px;
    padding:12px 14px 14px;
  }
  .watch-v32-tabs button{
    min-height:40px;
    padding:10px 15px;
    font-size:11px;
  }
  .watch-v32-section{
    padding:22px 0 27px;
  }
  .watch-v32-section-head{
    align-items:flex-end;
    margin-bottom:12px;
  }
  .watch-v32-section-head h2{
    font-size:30px;
  }
  .watch-v32-section-head span{
    font-size:9.5px;
  }
  .watch-v32-feature-image{
    height:220px;
  }
  .watch-v32-feature-body{
    padding:15px 16px 17px;
  }
  .watch-v32-feature-body h3{
    font-size:27px;
  }
  .watch-v32-feature-body p{
    font-size:12.5px;
  }
  .watch-v32-row{
    grid-template-columns:100px minmax(0,1fr) 28px;
    gap:10px;
    padding:7px;
  }
  .watch-v32-row-image{
    width:100px;height:82px;
  }
  .watch-v32-row-copy h3{
    font-size:19px;
  }
  .watch-v32-row-copy p{
    display:none;
  }
  .watch-v32-row-meta{
    font-size:9px;
    margin-top:5px;
  }
  .watch-v32-arrow{
    width:28px;
    font-size:25px;
  }
  .watch-v32-upcoming{
    grid-template-columns:1fr;
  }
  .watch-v32-upcoming-card{
    display:grid;
    grid-template-columns:110px minmax(0,1fr);
    padding:0;
  }
  .watch-v32-upcoming-image{
    height:92px;
  }
  .watch-v32-upcoming-card>div:not(.watch-v32-upcoming-image){
    padding:11px 12px;
  }
  .watch-v32-results{
    grid-template-columns:1fr;
  }
  .watch-v32-result-card{
    grid-template-columns:44px minmax(0,1fr) 90px 16px;
  }
  .watch-v32-result-mark{
    width:44px;height:44px;
  }
  .watch-v32-result-copy h3{
    font-size:18px;
  }
  .watch-v32-result-copy p{
    display:none;
  }
  .watch-v32-majors{
    grid-template-columns:1fr;
  }
  .watch-v32-major-mark{
    width:48px;height:48px;
  }
  .watch-v32-highlights{
    grid-auto-columns:82%;
  }
  .watch-v32-assistant{
    width:calc(100vw - 24px) !important;
  }
}


/* =========================================================
   V3.3 WATCH INFORMATION HIERARCHY + DETAIL PAGES
   ========================================================= */

/* --- Dates must visually pop on Watch Hub --- */
.watch-v32-feature-topline,
.watch-v32-row-topline{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.watch-v33-date-hero{
  flex:0 0 auto;
  min-width:165px;
  padding:9px 12px;
  border-radius:11px;
  background:#eef4eb;
  border:1px solid #d8e3d6;
  color:var(--green-dark);
}
.watch-v33-date-hero small{
  display:block;
  margin-bottom:3px;
  font:600 8px/1 "DM Sans",sans-serif;
  letter-spacing:.16em;
  color:#6d7e74;
}
.watch-v33-date-hero strong{
  display:block;
  font:600 13px/1.25 "DM Sans",sans-serif;
}
.watch-v33-date-pill{
  flex:0 0 auto;
  padding:5px 9px;
  border-radius:9px;
  background:#edf3e9;
  color:var(--green-dark);
  font:600 11px/1.15 "DM Sans",sans-serif;
  border:1px solid #dbe5d8;
}
.watch-v33-upcoming-date{
  margin:6px 0 1px;
  color:var(--green-dark);
  font:600 14px/1.2 "DM Sans",sans-serif;
}

/* --- Watch detail hero metadata --- */
.answer-event-meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:-5px 0 17px;
}
.answer-event-meta[hidden]{display:none}
.answer-event-meta span{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 12px;
  border-radius:11px;
  background:#edf3e9;
  border:1px solid #dae4d7;
  color:var(--green-dark);
  font:600 12px/1.2 "DM Sans",sans-serif;
}
.answer-event-meta #answer-event-date{
  font-size:14px;
  letter-spacing:.015em;
}
.answer-event-meta #answer-event-location{
  background:#fff;
  color:#65766c;
  font-weight:500;
}

.watch-detail-mode .question{
  max-width:850px;
}
.watch-detail-mode .answer-lede{
  max-width:840px;
  font-size:20px;
  line-height:1.48;
}

/* --- Player rosters / structured lists --- */
.structured-list-card{
  padding:25px 25px 22px;
}
.structured-list-card .structured-intro:empty{
  display:none;
}
.structured-intro{
  margin-bottom:14px !important;
}
.answer-item-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  margin-top:13px;
}
.answer-item{
  display:flex;
  align-items:center;
  min-width:0;
  gap:9px;
  padding:10px 11px;
  border:1px solid #e1e7df;
  border-radius:11px;
  background:#fafbf8;
}
.answer-item span{
  flex:0 0 24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e9f0e6;
  color:var(--green);
  font:600 9px "DM Sans",sans-serif;
}
.answer-item strong{
  min-width:0;
  font:500 12.5px/1.25 "DM Sans",sans-serif;
  color:#43574c;
  white-space:normal;
}
.team-us{
  border-top:3px solid #2c6350;
}
.team-international{
  border-top:3px solid #9a8061;
}
.team-us .answer-item span{
  background:#e4efe8;
}
.team-international .answer-item span{
  background:#f1ece3;
  color:#7a6249;
}

/* --- Past tournament highlight thumbnails on answer detail --- */
.event-highlights-section{
  margin:34px 0 38px;
  padding-top:28px;
  border-top:1px solid var(--line);
}
.event-highlights-section[hidden]{display:none}
.event-highlights-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  margin-bottom:14px;
}
.event-highlights-head h3{
  margin:5px 0 0;
  font:400 31px/1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.event-highlights-grid{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px,40%);
  gap:12px;
  overflow-x:auto;
  padding-bottom:7px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.event-highlights-grid::-webkit-scrollbar{display:none}
.event-highlight-card{
  min-width:0;
  scroll-snap-align:start;
}
.event-highlight-thumb{
  width:100%;
  aspect-ratio:16/9;
  position:relative;
  display:grid;
  place-items:center;
  border:0;
  border-radius:14px;
  overflow:hidden;
  background-size:cover;
  background-position:center;
  cursor:pointer;
}
.event-highlight-thumb::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(7,34,20,.38),rgba(7,34,20,.05) 60%);
}
.event-highlight-thumb span{
  position:relative;
  z-index:2;
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  padding-left:3px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--green-dark);
  font-size:18px;
}
.event-highlight-thumb b{
  position:absolute;
  z-index:2;
  left:10px;
  bottom:9px;
  padding:5px 8px;
  border-radius:7px;
  background:rgba(7,86,47,.92);
  color:#fff;
  font:600 9px "DM Sans",sans-serif;
  letter-spacing:.08em;
}
.event-highlight-copy{
  padding:9px 3px 0;
}
.event-highlight-copy small{
  color:var(--green);
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.event-highlight-copy h4{
  margin:4px 0 0;
  font:400 18px/1.12 "Libre Caslon Display",serif;
  color:var(--green-dark);
}

@media (max-width:760px){
  .watch-v33-date-hero{
    min-width:0;
    max-width:52%;
    padding:7px 9px;
  }
  .watch-v33-date-hero strong{
    font-size:11px;
  }
  .watch-v33-date-pill{
    padding:5px 7px;
    font-size:9.5px;
    max-width:54%;
    white-space:normal;
    text-align:right;
  }
  .watch-v33-upcoming-date{
    font-size:12.5px;
  }
  .answer-event-meta{
    gap:6px;
    margin-bottom:14px;
  }
  .answer-event-meta span{
    min-height:34px;
    padding:7px 10px;
    font-size:11px;
  }
  .answer-event-meta #answer-event-date{
    font-size:13px;
  }
  .watch-detail-mode .answer-lede{
    font-size:18px;
    line-height:1.5;
  }
  .answer-item-grid{
    grid-template-columns:1fr 1fr;
    gap:7px;
  }
  .answer-item{
    padding:9px 9px;
    gap:7px;
  }
  .answer-item span{
    flex-basis:22px;
    width:22px;
    height:22px;
  }
  .answer-item strong{
    font-size:11.5px;
  }
  .event-highlights-grid{
    grid-auto-columns:82%;
  }
  .event-highlights-head h3{
    font-size:28px;
  }
}


/* =========================================================
   V3.4 VIDEO CAROUSEL + CONSISTENCY CUE
   ========================================================= */
.event-highlights-count{
  flex:0 0 auto;
  color:#89948e;
  font:500 10px/1.2 "DM Sans",sans-serif;
}
@media (max-width:760px){
  .event-highlights-count{
    font-size:9px;
    max-width:145px;
    text-align:right;
  }
}


/* =========================================================
   V3.4.1 CONTEXT-AWARE PAST HIGHLIGHT PLACEMENT
   ========================================================= */
#answer-content > .event-highlights-section{
  margin:26px 0 30px;
  padding-top:24px;
  padding-bottom:2px;
}
.structured-list-card + .event-highlights-section{
  margin-top:22px;
}
@media (max-width:760px){
  #answer-content > .event-highlights-section{
    margin:22px 0 26px;
    padding-top:20px;
  }
}


/* =========================================================
   V3.4.2 FULLY EXPANDED DETAIL RESULTS
   ========================================================= */
/* Detail pages no longer use See More / collapsed result groups. */
.answer-grid .answer-card{
  display:block;
}


/* =========================================================
   V3.5 GLOBAL HUB NAVIGATION
   ========================================================= */
.global-hub-header{
  width:100%;
}
.global-hub-header + main{
  position:relative;
}
body:not(.watch-v32) .watch-shell-header{
  background:rgba(251,250,246,.96);
}

/* Homepage: the global hub bar replaces the old text-only utility header. */
body:not(.answer-body):not(.play-page):not(.watch-v32) .hero-shell{
  padding-top:28px;
}

/* Answer/detail pages now use the same hub nav as every other page. */
.answer-body .watch-shell-header{
  border-bottom:1px solid var(--line);
}
.answer-body .answer-wrap{
  padding-top:34px;
}

/* Play category tabs must sit below the 86px global hub header. */
.play-page .play-tabs{
  top:86px;
}
.play-page .play-hub{
  padding-top:34px;
}

/* Recent results: completion date should be easy to audit at a glance. */
.watch-v35-result-topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.watch-v35-result-topline>span{
  font-size:8px;
  letter-spacing:.14em;
  color:var(--green);
  font-weight:600;
}
.watch-v35-result-topline>b{
  flex:0 0 auto;
  padding:4px 7px;
  border-radius:7px;
  background:#edf3e9;
  color:var(--green-dark);
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.04em;
}

@media (max-width:760px){
  .play-page .play-tabs{
    top:76px;
  }
  .answer-body .answer-wrap{
    padding-top:24px;
  }
  body:not(.answer-body):not(.play-page):not(.watch-v32) .hero-shell{
    padding-top:20px;
  }
  .watch-v35-result-topline>b{
    font-size:8.5px;
  }
}


/* =========================================================
   V3.6 GEAR HUB
   ========================================================= */
.gear-page{
  background:#f8f7f2;
  color:var(--ink);
}
.gear-main{
  max-width:1120px;
  margin:0 auto;
  padding:0 30px 160px;
}
.gear-hero{
  min-height:480px;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
  align-items:center;
  gap:52px;
  padding:54px 24px 56px;
}
.gear-kicker,
.gear-section-kicker{
  font:600 10px/1.3 "DM Sans",sans-serif;
  letter-spacing:.24em;
  color:var(--green);
}
.gear-hero h1{
  margin:12px 0 18px;
  font:400 clamp(58px,7vw,92px)/.9 "Libre Caslon Display",serif;
  letter-spacing:-.025em;
  color:var(--green-dark);
}
.gear-hero-copy>p{
  max-width:610px;
  margin:0 0 26px;
  font:400 18px/1.55 "DM Sans",sans-serif;
  color:#5d6d64;
}
.gear-fit-box{
  position:relative;
  max-width:650px;
  min-height:82px;
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid #dce2db;
  border-radius:22px;
  background:#fff;
  padding:11px 78px 11px 18px;
  box-shadow:0 18px 42px rgba(30,54,41,.07);
}
.gear-fit-icon{
  width:42px;height:42px;
  flex:0 0 42px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#eef2eb;
}
.gear-fit-icon svg{
  width:22px;height:22px;
  fill:none;stroke:var(--green-dark);stroke-width:1.7;
}
.gear-fit-box textarea{
  width:100%;
  min-height:43px;
  max-height:145px;
  resize:none;
  overflow:hidden;
  border:0;outline:0;background:transparent;
  font:400 14px/1.45 "DM Sans",sans-serif;
  color:#27392f;
  padding:10px 0;
}
.gear-fit-box textarea::placeholder{color:#9aa49e}
.gear-fit-box button{
  position:absolute;
  right:10px;bottom:10px;
  width:60px;height:60px;
  border:0;border-radius:50%;
  background:var(--green);
  color:#fff;font-size:30px;
  cursor:pointer;
}
.gear-fit-hint{
  margin:10px 0 0 8px;
  color:#909b95;
  font:500 9px/1.4 "DM Sans",sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.gear-hero-art{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}
.gear-art-orb{
  width:min(360px,100%);
  aspect-ratio:1;
  border-radius:50%;
  background:#e9eee5;
  display:grid;place-items:center;
  box-shadow:inset 0 0 0 1px #dee7db;
}
.gear-art-orb svg{
  width:82%;height:82%;
}
.orb-ring{fill:none;stroke:#d4ded1;stroke-width:1}
.club-line,.club-head{fill:none;stroke:var(--green-dark);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ball{fill:#f8f7f2;stroke:var(--green-dark);stroke-width:2}
.dimple{fill:var(--green-dark);opacity:.55}
.gear-hero-art>span{
  margin-top:16px;
  color:#64756b;
  font:600 9px "DM Sans",sans-serif;
  letter-spacing:.27em;
}

.gear-section{
  padding:38px 0 44px;
  border-top:1px solid #dfe5de;
}
.gear-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px;
}
.gear-section-head h2{
  margin:7px 0 0;
  font:400 40px/1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.gear-section-head p{
  max-width:620px;
  margin:8px 0 0;
  color:#77837d;
  font-size:12px;
  line-height:1.55;
}

.gear-type-rail{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:10px;
}
.gear-type-rail>button{
  min-width:0;
  border:0;
  background:transparent;
  padding:0 3px;
  color:inherit;
  cursor:pointer;
}
.gear-type-icon{
  width:88px;height:88px;
  margin:0 auto 12px;
  border-radius:50%;
  display:grid;place-items:center;
  background:#eef1ea;
  border:1px solid #e5e9e2;
  transition:.2s ease;
}
.gear-type-icon svg{
  width:43px;height:43px;
  fill:none;stroke:var(--green-dark);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.gear-type-rail>button:hover .gear-type-icon{
  transform:translateY(-3px);
  background:#e5eee1;
}
.gear-type-rail strong{
  display:block;
  font:400 23px/1 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.gear-type-rail small{
  display:block;
  margin-top:7px;
  color:#87928c;
  font-size:8.5px;
  line-height:1.4;
}

.gear-needs{
  background:#f0f3ec;
  margin-left:-30px;
  margin-right:-30px;
  padding-left:30px;
  padding-right:30px;
}
.gear-needs-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
}
.gear-needs-grid button{
  min-height:102px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 22px;
  align-items:center;
  gap:12px;
  border:1px solid #dbe3d8;
  border-radius:16px;
  background:#fff;
  text-align:left;
  padding:17px 17px;
  cursor:pointer;
  color:inherit;
}
.gear-needs-grid button>span{
  width:34px;height:34px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#edf3e9;
  color:var(--green);
  font:600 9px "DM Sans",sans-serif;
}
.gear-needs-grid strong{
  font:400 21px/1.12 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.gear-needs-grid i{
  font-style:normal;
  color:var(--green);
  font-size:20px;
}

.gear-live-status{
  flex:0 0 auto;
  color:#79877f;
  font:600 9px/1.3 "DM Sans",sans-serif;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.gear-live-status:not(.ready):not(.cached):not(.error){
  display:flex;align-items:center;gap:7px;
}
.gear-live-status:not(.ready):not(.cached):not(.error)>span{
  width:7px;height:7px;border-radius:50%;background:var(--green);
  animation:hhpulse 1.15s infinite ease-in-out;
}
.gear-live-status.ready{color:var(--green)}
.gear-live-status.cached{color:#829087}
.gear-live-status.error{color:#9b6c5c}

.gear-current-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:11px;
}
.gear-product-card{
  display:flex;
  flex-direction:column;
  min-height:310px;
  border:1px solid #dfe4de;
  border-radius:17px;
  background:#fff;
  padding:18px 18px 16px;
}
.gear-product-top{
  display:grid;
  grid-template-columns:48px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
}
.gear-product-mark{
  width:48px;height:48px;
  display:grid;place-items:center;
  border-radius:13px;
  background:#edf3e9;
  color:var(--green);
  font:600 14px "DM Sans",sans-serif;
}
.gear-product-top small{
  display:block;
  color:#839087;
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.gear-product-top b{
  display:block;
  margin-top:3px;
  color:#3f584b;
  font-size:11px;
}
.gear-price{
  color:#6c7a72;
  font-size:9px;
  white-space:nowrap;
}
.gear-product-card h3{
  margin:16px 0 9px;
  font:400 27px/1.04 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.gear-product-card>p{
  margin:0;
  color:#69766f;
  font-size:11.5px;
  line-height:1.55;
}
.gear-best-for{
  margin-top:auto;
  padding-top:14px;
}
.gear-best-for small{
  display:block;
  color:#8c9791;
  font:600 7.5px "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.gear-best-for strong{
  display:block;
  margin-top:4px;
  color:#4a5e53;
  font-size:10.5px;
  line-height:1.35;
}
.gear-product-card>button{
  margin-top:13px;
  padding-top:12px;
  border:0;border-top:1px solid #e5e9e4;
  background:transparent;
  color:var(--green);
  text-align:left;
  font:600 10px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear-product-card>button i{
  float:right;font-style:normal;font-size:15px;
}
.gear-current-skeleton{
  height:310px;border-radius:17px;
  background:linear-gradient(90deg,#ebeee8 25%,#f8f9f5 45%,#ebeee8 65%);
  background-size:220% 100%;
  animation:shimmer 1.35s infinite linear;
}
.gear-live-empty{
  grid-column:1/-1;
  min-height:120px;
  display:grid;place-items:center;
  border:1px dashed #d4ddd2;
  border-radius:16px;
  background:#fff;
  text-align:center;
  color:#758279;
  padding:20px;
}
.gear-live-empty button{
  border:0;background:transparent;color:var(--green);font-weight:600;cursor:pointer;
}

.gear-compare-panel{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:46px;
  border-radius:24px;
  background:var(--green-dark);
  color:#fff;
  padding:38px 42px;
}
.gear-section-kicker.light{color:#a9c4b5}
.gear-compare-copy h2{
  margin:8px 0 12px;
  font:400 45px/.95 "Libre Caslon Display",serif;
}
.gear-compare-copy p{
  max-width:390px;
  margin:0;
  color:#cad7d0;
  font-size:12px;
  line-height:1.6;
}
.gear-compare-form{
  display:grid;
  grid-template-columns:1fr 34px 1fr;
  gap:10px;
  align-items:end;
}
.gear-compare-form label{
  display:block;
}
.gear-compare-form label>span{
  display:block;
  margin:0 0 6px 4px;
  color:#a9c4b5;
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.gear-compare-form input{
  width:100%;
  height:56px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.09);
  color:#fff;
  padding:0 14px;
  outline:0;
  font:500 12px "DM Sans",sans-serif;
}
.gear-compare-form input::placeholder{color:#8eaa9b}
.gear-vs{
  align-self:center;
  text-align:center;
  color:#a9c4b5;
  font:600 9px "DM Sans",sans-serif;
}
.gear-compare-form>button{
  grid-column:1/-1;
  height:50px;
  margin-top:4px;
  border:0;border-radius:13px;
  background:#fff;
  color:var(--green-dark);
  font:600 11px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear-compare-form>button i{
  margin-left:6px;font-style:normal;
}
.gear-comparison-suggestions{
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  margin-top:12px;
  padding-bottom:4px;
  scrollbar-width:none;
}
.gear-comparison-suggestions::-webkit-scrollbar{display:none}
.gear-comparison-suggestions>span{
  flex:0 0 auto;
  color:#89958e;
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.13em;
}
.gear-comparison-suggestions button{
  flex:0 0 auto;
  border:1px solid #dce3dc;
  border-radius:22px;
  background:#fff;
  padding:9px 12px;
  color:#52655b;
  font:500 9.5px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear-comparison-suggestions button strong{font-weight:600}
.gear-comparison-suggestions button i{
  margin:0 5px;color:#99a49e;font-style:normal;
}
.gear-comparison-suggestions button small{
  display:none;
}

.gear-brand-groups{
  display:grid;
  grid-template-columns:1fr .72fr;
  gap:30px;
}
.gear-brand-groups h3{
  margin:0 0 10px;
  color:#708077;
  font:600 9px "DM Sans",sans-serif;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.gear-brand-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
}
.gear-brand-grid button{
  min-height:62px;
  border:1px solid #dce3dc;
  border-radius:13px;
  background:#fff;
  color:var(--green-dark);
  font:500 12px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear-brand-grid.lifestyle{
  grid-template-columns:repeat(3,1fr);
}
.gear-brand-grid button:hover{
  background:#edf3e9;
}
.gear-bottom-note{
  min-height:165px;
  display:grid;
  place-items:center;
}
.gear-bottom-note .play-script{
  font-size:45px;
  color:var(--green-dark);
}
.gear-floating{
  width:min(720px,calc(100vw - 28px)) !important;
}

@media (max-width:860px){
  .gear-type-rail{
    grid-template-columns:repeat(4,1fr);
    gap:22px 8px;
  }
  .gear-current-grid{grid-template-columns:repeat(2,1fr)}
  .gear-needs-grid{grid-template-columns:repeat(2,1fr)}
  .gear-brand-groups{grid-template-columns:1fr}
}

@media (max-width:760px){
  .gear-main{
    padding:0 14px 150px;
  }
  .gear-hero{
    min-height:auto;
    grid-template-columns:1fr;
    gap:24px;
    padding:30px 6px 38px;
  }
  .gear-hero-copy{
    order:1;
  }
  .gear-hero-art{
    order:0;
  }
  .gear-art-orb{
    width:170px;
  }
  .gear-hero-art>span{
    margin-top:9px;
    font-size:7.5px;
  }
  .gear-hero h1{
    font-size:54px;
    margin-top:9px;
  }
  .gear-hero-copy>p{
    font-size:14px;
    line-height:1.55;
    margin-bottom:19px;
  }
  .gear-fit-box{
    min-height:72px;
    padding-left:13px;
    padding-right:68px;
  }
  .gear-fit-icon{
    width:36px;height:36px;flex-basis:36px;
  }
  .gear-fit-box textarea{
    font-size:12.5px;
  }
  .gear-fit-box button{
    width:52px;height:52px;
    font-size:26px;
  }
  .gear-fit-hint{
    font-size:7.3px;
    letter-spacing:.08em;
  }
  .gear-section{
    padding:28px 0 33px;
  }
  .gear-section-head{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:17px;
  }
  .gear-section-head h2{
    font-size:32px;
  }
  .gear-section-head p{
    font-size:10.5px;
  }
  .gear-type-rail{
    display:flex;
    overflow-x:auto;
    gap:14px;
    margin:0 -14px;
    padding:0 14px 8px;
    scrollbar-width:none;
  }
  .gear-type-rail::-webkit-scrollbar{display:none}
  .gear-type-rail>button{
    flex:0 0 95px;
  }
  .gear-type-icon{
    width:72px;height:72px;
    margin-bottom:9px;
  }
  .gear-type-icon svg{width:36px;height:36px}
  .gear-type-rail strong{font-size:21px}
  .gear-type-rail small{font-size:7.5px}
  .gear-needs{
    margin-left:-14px;margin-right:-14px;
    padding-left:14px;padding-right:14px;
  }
  .gear-needs-grid{
    grid-template-columns:1fr;
  }
  .gear-needs-grid button{
    min-height:78px;
    grid-template-columns:30px minmax(0,1fr) 20px;
    padding:13px 14px;
  }
  .gear-needs-grid button>span{
    width:30px;height:30px;
  }
  .gear-needs-grid strong{
    font-size:19px;
  }
  .gear-current-grid{
    grid-template-columns:1fr;
  }
  .gear-product-card{
    min-height:0;
  }
  .gear-current-skeleton{
    height:250px;
  }
  .gear-compare-panel{
    grid-template-columns:1fr;
    gap:25px;
    padding:28px 20px;
  }
  .gear-compare-copy h2{
    font-size:38px;
  }
  .gear-compare-form{
    grid-template-columns:1fr;
    gap:7px;
  }
  .gear-vs{
    height:20px;
    display:grid;place-items:center;
  }
  .gear-brand-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .gear-brand-grid.lifestyle{
    grid-template-columns:repeat(2,1fr);
  }
  .gear-bottom-note .play-script{
    font-size:34px;
  }
  .gear-floating{
    width:calc(100vw - 24px) !important;
  }
}


/* =========================================================
   V3.7 GEAR — CONSUMER-FIRST REBUILD
   ========================================================= */
.gear-v37{
  background:#faf9f5;
}
.gear37-main{
  max-width:1140px;
  margin:0 auto;
  padding:0 28px 160px;
}
.gear37-intro{
  min-height:315px;
  display:grid;
  grid-template-columns:1.05fr .75fr;
  align-items:end;
  gap:70px;
  padding:62px 8px 48px;
}
.gear37-kicker{
  color:var(--green);
  font:600 9px/1.3 "DM Sans",sans-serif;
  letter-spacing:.23em;
}
.gear37-intro h1{
  margin:10px 0 0;
  font:400 clamp(54px,7vw,86px)/.9 "Libre Caslon Display",serif;
  letter-spacing:-.026em;
  color:var(--green-dark);
}
.gear37-intro h1 em{
  font-style:normal;
  color:#718078;
}
.gear37-intro>p{
  max-width:440px;
  margin:0 0 7px;
  color:#64736b;
  font-size:15px;
  line-height:1.65;
}
.gear37-section{
  padding:38px 0 48px;
  border-top:1px solid #dfe5de;
}
.gear37-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:20px;
}
.gear37-head h2{
  margin:7px 0 0;
  font:400 39px/1.03 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.gear37-head p{
  max-width:660px;
  margin:8px 0 0;
  color:#7a8580;
  font-size:11px;
  line-height:1.55;
}

/* NEW & POPULAR */
.gear37-filter{
  display:flex;
  gap:6px;
  flex:0 0 auto;
}
.gear37-filter button{
  border:1px solid #dce3dc;
  border-radius:22px;
  background:#fff;
  color:#637269;
  padding:9px 13px;
  font:500 10px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear37-filter button.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.gear37-product-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(300px,32%);
  gap:12px;
  overflow-x:auto;
  padding:1px 1px 10px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.gear37-product-rail::-webkit-scrollbar{display:none}
.gear37-product{
  scroll-snap-align:start;
  border:1px solid #dfe5de;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  min-width:0;
}
.gear37-product[hidden]{display:none}
.gear37-product-media{
  position:relative;
  height:220px;
  display:grid;
  place-items:center;
  background:#f2f3ef;
  overflow:hidden;
}
.gear37-product-media::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 55%,rgba(255,255,255,.85),rgba(238,241,235,.35) 58%,rgba(226,232,223,.45));
}
.gear37-product-media img{
  position:relative;
  z-index:1;
  width:90%;
  height:88%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.gear37-new{
  position:absolute;
  z-index:3;
  top:12px;left:12px;
  border-radius:8px;
  padding:6px 8px;
  background:var(--green);
  color:#fff;
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.08em;
}
.gear37-product-body{
  padding:15px 16px 16px;
}
.gear37-brand-row{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:28px;
}
.gear37-brand-row img{
  width:auto;
  max-width:105px;
  height:23px;
  object-fit:contain;
  object-position:left center;
  filter:grayscale(1) contrast(1.1);
}
.gear37-brand-row>span:not(.gear37-scotty){
  color:#27382f;
  font-weight:600;
  font-size:12px;
}
.gear37-brand-row small{
  margin-left:auto;
  color:#89948e;
  font:600 7.5px "DM Sans",sans-serif;
  letter-spacing:.14em;
}
.gear37-scotty{
  color:#27382f;
  font:600 10px "DM Sans",sans-serif;
  letter-spacing:.09em;
}
.gear37-product h3{
  margin:10px 0 7px;
  color:var(--green-dark);
  font:400 27px/1.03 "Libre Caslon Display",serif;
}
.gear37-product p{
  min-height:55px;
  margin:0;
  color:#6c7972;
  font-size:10.8px;
  line-height:1.52;
}
.gear37-product-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid #e5e9e4;
}
.gear37-product-actions button,
.gear37-product-actions a{
  border:0;
  background:transparent;
  color:var(--green);
  font:600 9.5px "DM Sans",sans-serif;
  cursor:pointer;
  text-decoration:none;
}
.gear37-product-actions i{font-style:normal;margin-left:3px}
.gear37-product-actions a{color:#87938c;font-weight:500}
.gear37-swipe{
  margin-top:3px;
  text-align:right;
  color:#9aa39e;
  font:500 8px "DM Sans",sans-serif;
  letter-spacing:.08em;
}

/* QUIZ */
.gear37-fit{
  margin-left:-28px;
  margin-right:-28px;
  padding-left:28px;
  padding-right:28px;
  background:#eff3eb;
}
.gear37-quiz{
  max-width:920px;
  margin:0 auto;
  padding:24px 25px 21px;
  border:1px solid #dbe4d8;
  border-radius:22px;
  background:#fff;
}
.gear37-progress{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:22px;
}
.gear37-progress>span{
  flex:0 0 44px;
  color:#748179;
  font:600 9px "DM Sans",sans-serif;
}
.gear37-progress>div{
  height:5px;
  flex:1;
  border-radius:6px;
  background:#e8ede6;
  overflow:hidden;
}
.gear37-progress i{
  display:block;
  height:100%;
  width:25%;
  background:var(--green);
  border-radius:6px;
  transition:.25s ease;
}
.gear37-question small{
  color:var(--green);
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.16em;
}
.gear37-question h3,
.gear37-result h3{
  margin:7px 0 18px;
  color:var(--green-dark);
  font:400 31px/1 "Libre Caslon Display",serif;
}
.gear37-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:9px;
}
.gear37-choice-grid button{
  min-height:62px;
  border:1px solid #dce3dc;
  border-radius:14px;
  background:#fbfcf9;
  color:#43564b;
  font:500 11px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear37-choice-grid button:hover{
  border-color:#a7bba9;
  background:#edf4e9;
}
.gear37-back,
.gear37-restart{
  margin-top:16px;
  border:0;
  background:transparent;
  color:#829087;
  font:500 9.5px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear37-result{
  text-align:center;
  padding:8px 0 4px;
}
.gear37-result h3{
  font-size:35px;
}
.gear37-summary{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:7px;
  margin-bottom:18px;
}
.gear37-summary span{
  padding:8px 11px;
  border-radius:20px;
  background:#edf3e9;
  border:1px solid #dce6d9;
  color:#52665b;
  font:500 9.5px "DM Sans",sans-serif;
}
#gear37-see-picks{
  min-width:230px;
  height:52px;
  border:0;
  border-radius:26px;
  background:var(--green);
  color:#fff;
  font:600 11px "DM Sans",sans-serif;
  cursor:pointer;
}
#gear37-see-picks i{font-style:normal;margin-left:6px}

/* ACCESSORIES */
.gear37-accessory-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:9px;
}
.gear37-accessory-grid>button{
  min-width:0;
  border:0;
  background:transparent;
  padding:0 3px;
  text-align:center;
  cursor:pointer;
}
.gear37-solid-icon{
  width:92px;height:92px;
  margin:0 auto 10px;
  border-radius:22px;
  display:grid;place-items:center;
  background:#e9eee5;
}
.gear37-solid-icon svg{
  width:54px;height:54px;
  fill:none;
  stroke:var(--green-dark);
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.gear37-accessory-grid span{
  display:block;
  color:var(--green-dark);
  font:400 20px/1 "Libre Caslon Display",serif;
}
.gear37-accessory-grid small{
  display:block;
  margin-top:6px;
  color:#89948e;
  font-size:7.5px;
  line-height:1.35;
}
.gear37-ball-feature{
  margin-top:30px;
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:30px;
  align-items:center;
  border:1px solid #dfe5de;
  border-radius:20px;
  background:#fff;
  padding:19px 24px;
}
.gear37-ball-img{
  height:180px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:#f2f3ef;
}
.gear37-ball-img img{
  width:82%;height:82%;object-fit:contain;mix-blend-mode:multiply;
}
.gear37-ball-feature h3{
  margin:8px 0 8px;
  color:var(--green-dark);
  font:400 30px/1 "Libre Caslon Display",serif;
}
.gear37-ball-feature p{
  max-width:630px;
  margin:0;
  color:#69766f;
  font-size:11.5px;
  line-height:1.6;
}
.gear37-ball-feature button{
  margin-top:13px;
  border:0;
  background:transparent;
  padding:0;
  color:var(--green);
  font:600 10px "DM Sans",sans-serif;
  cursor:pointer;
}
.gear37-ball-feature button i{font-style:normal;margin-left:4px}

/* PROS */
.gear37-live{
  flex:0 0 auto;
  color:#819087;
  font:600 8px "DM Sans",sans-serif;
  letter-spacing:.11em;
}
.gear37-live:not(.ready):not(.cached){
  display:flex;align-items:center;gap:6px;
}
.gear37-live>span{
  width:7px;height:7px;border-radius:50%;background:var(--green);animation:hhpulse 1.2s infinite;
}
.gear37-live.ready{color:var(--green)}
.gear37-pro-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:9px;
}
.gear37-pro-card{
  min-width:0;
  border:1px solid #dfe5de;
  border-radius:16px;
  background:#fff;
  padding:14px;
}
.gear37-pro-top{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
}
.gear37-avatar{
  width:42px;height:42px;border-radius:50%;
  display:grid;place-items:center;
  background:#e8efe5;
  color:var(--green-dark);
  font:600 10px "DM Sans",sans-serif;
}
.gear37-pro-top small{
  color:#8b9690;
  font:600 7px "DM Sans",sans-serif;
  letter-spacing:.12em;
}
.gear37-pro-top h3{
  margin:2px 0 0;
  color:var(--green-dark);
  font:400 18px/1 "Libre Caslon Display",serif;
}
.gear37-pro-logo{
  width:52px;height:24px;object-fit:contain;filter:grayscale(1);
}
.gear37-pro-headline{
  margin-top:13px;
  padding:11px;
  border-radius:11px;
  background:#f0f3ec;
}
.gear37-pro-headline small{
  display:block;color:#849189;font:600 7px "DM Sans",sans-serif;letter-spacing:.13em;
}
.gear37-pro-headline strong{
  display:block;margin-top:4px;color:#3c5648;font-size:11px;line-height:1.3;
}
.gear37-pro-card ul{
  list-style:none;padding:0;margin:10px 0 0;
}
.gear37-pro-card li{
  padding:5px 0;
  border-bottom:1px solid #edf0ec;
  color:#6b7871;
  font-size:9px;
  line-height:1.3;
}
.gear37-pro-actions{
  display:flex;justify-content:space-between;gap:8px;margin-top:11px;
}
.gear37-pro-actions button,
.gear37-pro-actions a{
  border:0;background:transparent;padding:0;
  color:var(--green);font:600 8.5px "DM Sans",sans-serif;text-decoration:none;cursor:pointer;
}
.gear37-pro-actions a{color:#929b96;font-weight:500}
.gear37-pro-skeleton{
  height:245px;border-radius:16px;
  background:linear-gradient(90deg,#ebeee8 25%,#f8f9f5 45%,#ebeee8 65%);
  background-size:220% 100%;animation:shimmer 1.35s infinite linear;
}

/* COMPARE */
.gear37-compare-panel{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:55px;
  padding:36px 40px;
  border-radius:22px;
  background:var(--green-dark);
  color:#fff;
}
.gear37-kicker.light{color:#aac6b7}
.gear37-compare-panel h2{
  margin:7px 0 12px;
  font:400 43px/.96 "Libre Caslon Display",serif;
}
.gear37-compare-panel p{
  max-width:430px;margin:0;color:#c9d6cf;font-size:11px;line-height:1.6;
}
#gear37-compare-form{
  display:grid;
  grid-template-columns:1fr 34px 1fr;
  gap:9px;
  align-items:end;
}
#gear37-compare-form label>span{
  display:block;margin:0 0 6px 4px;color:#a9c5b6;font:600 7.5px "DM Sans",sans-serif;letter-spacing:.13em;
}
#gear37-compare-form input{
  width:100%;height:55px;border:1px solid rgba(255,255,255,.18);border-radius:13px;
  background:rgba(255,255,255,.08);color:#fff;padding:0 13px;outline:0;font:500 11px "DM Sans",sans-serif;
}
#gear37-compare-form input::placeholder{color:#8ea99a}
.gear37-vs{align-self:center;text-align:center;color:#9db7aa;font:600 8px "DM Sans",sans-serif}
#gear37-compare-form>button{
  grid-column:1/-1;height:48px;border:0;border-radius:13px;background:#fff;color:var(--green-dark);
  font:600 10.5px "DM Sans",sans-serif;cursor:pointer;
}
#gear37-compare-form i{font-style:normal;margin-left:5px}

/* BRANDS */
.gear37-brand-rail{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:8px;
}
.gear37-brand-rail button{
  min-height:80px;
  display:grid;place-items:center;
  border:1px solid #dfe5de;
  border-radius:14px;
  background:#fff;
  padding:14px;
  cursor:pointer;
}
.gear37-brand-rail img{
  max-width:100%;
  max-height:42px;
  object-fit:contain;
  filter:grayscale(1) contrast(1.05);
}
.gear37-brand-rail span{
  color:#2d4136;font:600 12px "DM Sans",sans-serif;
}
.gear37-bottom{
  min-height:150px;
  display:grid;place-items:center;
}
.gear37-bottom .play-script{
  font-size:43px;color:var(--green-dark);
}
.gear37-floating{
  width:min(720px,calc(100vw - 28px)) !important;
}

/* responsive */
@media (max-width:950px){
  .gear37-product-rail{grid-auto-columns:minmax(300px,45%)}
  .gear37-accessory-grid{grid-template-columns:repeat(3,1fr);gap:22px 8px}
  .gear37-pro-grid{grid-template-columns:repeat(3,1fr)}
  .gear37-brand-rail{grid-template-columns:repeat(4,1fr)}
}
@media (max-width:760px){
  .gear37-main{padding:0 14px 150px}
  .gear37-intro{
    min-height:auto;grid-template-columns:1fr;gap:18px;padding:31px 5px 30px;
  }
  .gear37-intro h1{font-size:54px}
  .gear37-intro>p{font-size:13px;line-height:1.55}
  .gear37-section{padding:27px 0 34px}
  .gear37-head{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:16px}
  .gear37-head h2{font-size:31px}
  .gear37-filter{
    width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;
  }
  .gear37-filter::-webkit-scrollbar{display:none}
  .gear37-filter button{flex:0 0 auto}
  .gear37-product-rail{
    margin:0 -14px;padding-left:14px;padding-right:14px;
    grid-auto-columns:84%;gap:10px;
  }
  .gear37-product-media{height:210px}
  .gear37-fit{
    margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;
  }
  .gear37-quiz{padding:19px 14px 16px}
  .gear37-question h3,.gear37-result h3{font-size:27px}
  .gear37-choice-grid{grid-template-columns:1fr 1fr}
  .gear37-choice-grid button{min-height:58px;font-size:10.5px}
  .gear37-accessory-grid{
    display:flex;overflow-x:auto;margin:0 -14px;padding:0 14px 7px;gap:13px;scrollbar-width:none;
  }
  .gear37-accessory-grid::-webkit-scrollbar{display:none}
  .gear37-accessory-grid>button{flex:0 0 104px}
  .gear37-solid-icon{width:78px;height:78px;border-radius:20px}
  .gear37-solid-icon svg{width:46px;height:46px}
  .gear37-accessory-grid span{font-size:18px}
  .gear37-ball-feature{
    grid-template-columns:115px minmax(0,1fr);gap:15px;padding:14px;
  }
  .gear37-ball-img{height:120px}
  .gear37-brand-row img{max-width:80px;height:18px}
  .gear37-ball-feature h3{font-size:25px}
  .gear37-ball-feature p{font-size:10px;line-height:1.5}
  .gear37-pro-grid{
    display:flex;overflow-x:auto;margin:0 -14px;padding:0 14px 7px;gap:10px;scrollbar-width:none;
  }
  .gear37-pro-grid::-webkit-scrollbar{display:none}
  .gear37-pro-card,.gear37-pro-skeleton{flex:0 0 72%;height:auto;min-height:225px}
  .gear37-compare-panel{grid-template-columns:1fr;gap:25px;padding:26px 19px}
  .gear37-compare-panel h2{font-size:37px}
  #gear37-compare-form{grid-template-columns:1fr;gap:7px}
  .gear37-vs{height:20px;display:grid;place-items:center}
  .gear37-brand-rail{
    display:flex;overflow-x:auto;margin:0 -14px;padding:0 14px 7px;gap:8px;scrollbar-width:none;
  }
  .gear37-brand-rail::-webkit-scrollbar{display:none}
  .gear37-brand-rail button{flex:0 0 120px;min-height:72px}
  .gear37-bottom .play-script{font-size:32px}
  .gear37-floating{width:calc(100vw - 24px) !important}
}


/* =========================================================
   V3.7.1 GEAR READABILITY + DENSITY
   ========================================================= */

/* Pull the page upward and make sections feel editorial rather than airy. */
.gear37-intro{
  min-height:250px;
  padding-top:40px;
  padding-bottom:34px;
}
.gear37-section{
  padding-top:28px;
  padding-bottom:34px;
}
.gear37-head{
  margin-bottom:16px;
}
.gear37-head h2{
  font-size:42px;
}
.gear37-head p,
.gear37-intro>p{
  font-size:13px;
  line-height:1.55;
}

/* Product cards: more useful text, less dead air. */
.gear37-product-media{
  height:195px;
}
.gear37-product-body{
  padding:14px 16px 14px;
}
.gear37-product p{
  min-height:0;
  font-size:12px;
  line-height:1.48;
}
.gear37-product h3{
  font-size:29px;
}
.gear37-product-actions button,
.gear37-product-actions a{
  font-size:10.5px;
}

/* Quiz: normal-golfer language and more readable choices. */
.gear37-fit{
  padding-top:27px;
  padding-bottom:30px;
}
.gear37-quiz{
  padding-top:20px;
}
.gear37-question-help{
  margin:-8px 0 15px;
  color:#87918c;
  font:400 11.5px/1.45 "DM Sans",sans-serif;
}
.gear37-choice-grid button{
  min-height:58px;
  font-size:12px;
}
.gear37-question h3,
.gear37-result h3{
  font-size:34px;
}

/* Accessories: readable descriptions. */
.gear37-accessory-grid small{
  font-size:9.5px;
  line-height:1.4;
}
.gear37-accessory-grid span{
  font-size:22px;
}
.gear37-ball-feature p{
  font-size:12.5px;
}

/* Pros becomes a true carousel on every screen. */
.gear37-pro-grid{
  display:flex !important;
  grid-template-columns:none !important;
  gap:12px;
  overflow-x:auto;
  margin:0;
  padding:1px 2px 10px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.gear37-pro-grid::-webkit-scrollbar{display:none}
.gear37-pro-card,
.gear37-pro-skeleton{
  flex:0 0 270px;
  min-width:270px;
  min-height:255px;
  scroll-snap-align:start;
}
.gear37-pro-card{
  padding:16px;
}
.gear37-pro-top{
  grid-template-columns:48px minmax(0,1fr) auto;
}
.gear37-avatar{
  width:48px;
  height:48px;
  font-size:11px;
}
.gear37-pro-top small{
  font-size:8px;
}
.gear37-pro-top h3{
  font-size:23px;
  line-height:1.05;
}
.gear37-pro-logo{
  width:62px;
  height:28px;
}
.gear37-pro-headline{
  margin-top:14px;
  padding:13px;
}
.gear37-pro-headline small{
  font-size:8px;
}
.gear37-pro-headline strong{
  margin-top:5px;
  font-size:13px;
  line-height:1.35;
}
.gear37-pro-card li{
  font-size:10.5px;
  padding:6px 0;
}
.gear37-pro-actions button,
.gear37-pro-actions a{
  font-size:9.5px;
}

/* Brand/logo and compare sections tighter. */
.gear37-compare-panel{
  padding-top:30px;
  padding-bottom:30px;
}
.gear37-bottom{
  min-height:105px;
}

@media (max-width:760px){
  .gear37-intro{
    padding-top:22px;
    padding-bottom:24px;
  }
  .gear37-section{
    padding-top:23px;
    padding-bottom:28px;
  }
  .gear37-head h2{
    font-size:34px;
  }
  .gear37-head p,
  .gear37-intro>p{
    font-size:12px;
  }
  .gear37-product-media{
    height:185px;
  }
  .gear37-product p{
    font-size:12.5px;
  }
  .gear37-question h3,
  .gear37-result h3{
    font-size:31px;
  }
  .gear37-question-help{
    font-size:11.5px;
  }
  .gear37-choice-grid button{
    min-height:64px;
    font-size:12px;
    padding:8px;
  }
  .gear37-pro-grid{
    margin:0 -14px;
    padding-left:14px;
    padding-right:14px;
  }
  .gear37-pro-card,
  .gear37-pro-skeleton{
    flex-basis:82%;
    min-width:82%;
    min-height:245px;
  }
  .gear37-pro-top h3{
    font-size:25px;
  }
  .gear37-pro-headline strong{
    font-size:14px;
  }
  .gear37-pro-card li{
    font-size:11.5px;
  }
  .gear37-accessory-grid small{
    font-size:9px;
  }
  .gear37-bottom{
    min-height:80px;
  }
}


/* =========================================================
   V3.7.3 — REAL ACCESSORY PRODUCTS + RICH GEAR RESULTS
   ========================================================= */

/* Product-photo accessories */
.gear37-accessory-products{
  align-items:start;
}
.gear37-accessory-products>button{
  padding:0 5px;
}
.gear37-accessory-photo{
  height:142px;
  margin:0 auto 10px;
  display:grid;
  place-items:center;
  background:transparent;
  overflow:hidden;
}
.gear37-accessory-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  mix-blend-mode:multiply;
  filter:saturate(.88) contrast(1.02);
  transition:transform .22s ease;
}
.gear37-accessory-products>button:hover img{
  transform:translateY(-3px) scale(1.025);
}
.gear37-accessory-photo.tall img{
  width:88%;
  height:95%;
}
.gear37-accessory-products span{
  font-size:22px;
}
.gear37-accessory-products small{
  font-size:9.5px;
  color:#87928c;
}

/* Dedicated Find My Gear result mode */
.gear-fit-answer-mode .answer-wrap{
  max-width:1040px;
}
.gear-fit-answer-mode .answer-lede{
  max-width:880px;
}
.gear-fit-results{
  margin:18px 0 30px;
}
.gear-rich-card{
  background:#fff;
  border:1px solid #dfe5de;
  border-radius:20px;
  overflow:hidden;
}
.gear-result-product-stage{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:#f3f4f0;
}
.gear-result-product-stage img{
  width:92%;
  height:92%;
  object-fit:contain;
  mix-blend-mode:multiply;
}
.gear-result-product-stage.no-image span{
  width:74px;height:74px;
  display:grid;place-items:center;
  border-radius:50%;
  border:1px solid #cfdacf;
  color:var(--green);
  font:600 18px "DM Sans",sans-serif;
  background:#eef3e9;
}
.gear-rich-copy{
  min-width:0;
}
.gear-rich-kicker{
  color:var(--green);
  font:600 9px/1.3 "DM Sans",sans-serif;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.gear-rich-card h2{
  margin:7px 0 8px;
  color:var(--green-dark);
  font:400 31px/1.03 "Libre Caslon Display",serif;
}
.gear-rich-card p{
  margin:0;
  color:#627069;
  font-size:13px;
  line-height:1.58;
}
.gear-rich-meta{
  margin-top:13px;
  padding-top:11px;
  border-top:1px solid #e5e9e4;
  color:#77847d;
  font-size:10.5px;
  line-height:1.45;
}
.gear-rich-link{
  display:inline-flex;
  gap:5px;
  margin-top:12px;
  color:var(--green);
  font:600 10px "DM Sans",sans-serif;
  text-decoration:none;
}

/* Big first recommendation */
.gear-rich-card.hero{
  min-height:360px;
  display:grid;
  grid-template-columns:43% 57%;
}
.gear-rich-card.hero .gear-result-product-stage{
  min-height:360px;
}
.gear-rich-card.hero .gear-rich-copy{
  padding:36px 38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gear-rich-card.hero h2{
  font-size:43px;
}

/* Two medium visual recommendations */
.gear-result-pair{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  margin-top:13px;
}
.gear-rich-card.secondary{
  display:grid;
  grid-template-columns:38% 62%;
  min-height:215px;
}
.gear-rich-card.secondary .gear-result-product-stage{
  min-height:215px;
}
.gear-rich-card.secondary .gear-rich-copy{
  padding:22px 21px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.gear-rich-card.secondary h2{
  font-size:27px;
}
.gear-rich-card.secondary p{
  font-size:11.5px;
}

/* Remaining items become a swipe rail rather than another long stack. */
.gear-result-more-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:24px 2px 10px;
}
.gear-result-more-head span{
  color:var(--green);
  font:600 9px "DM Sans",sans-serif;
  letter-spacing:.16em;
}
.gear-result-more-head small{
  color:#939d97;
  font-size:9px;
}
.gear-result-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(280px,32%);
  gap:11px;
  overflow-x:auto;
  padding-bottom:8px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.gear-result-rail::-webkit-scrollbar{display:none}
.gear-rich-card.rail{
  scroll-snap-align:start;
}
.gear-rich-card.rail .gear-result-product-stage{
  height:165px;
}
.gear-rich-card.rail .gear-rich-copy{
  padding:17px 17px 16px;
}
.gear-rich-card.rail h2{
  font-size:25px;
}
.gear-rich-card.rail p{
  font-size:11px;
}
.gear-fit-answer-mode .tip-box{
  margin-top:26px;
}

/* Keep product results readable without bloating the page */
.gear-fit-answer-mode .question{
  max-width:900px;
}
.gear-fit-answer-mode .answer-kicker{
  margin-top:6px;
}

@media (max-width:760px){
  .gear37-accessory-photo{
    height:116px;
  }
  .gear37-accessory-products>button{
    flex:0 0 126px;
  }
  .gear37-accessory-products span{
    font-size:19px;
  }
  .gear37-accessory-products small{
    font-size:8.8px;
  }

  .gear-rich-card.hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .gear-rich-card.hero .gear-result-product-stage{
    height:230px;
    min-height:230px;
  }
  .gear-rich-card.hero .gear-rich-copy{
    padding:23px 22px 24px;
  }
  .gear-rich-card.hero h2{
    font-size:35px;
  }
  .gear-rich-card.hero p{
    font-size:13px;
  }

  .gear-result-pair{
    display:flex;
    overflow-x:auto;
    margin-left:-14px;
    margin-right:-14px;
    padding:0 14px 7px;
    gap:10px;
    scrollbar-width:none;
  }
  .gear-result-pair::-webkit-scrollbar{display:none}
  .gear-rich-card.secondary{
    flex:0 0 82%;
    grid-template-columns:1fr;
  }
  .gear-rich-card.secondary .gear-result-product-stage{
    height:175px;
    min-height:175px;
  }
  .gear-rich-card.secondary .gear-rich-copy{
    padding:18px;
  }
  .gear-rich-card.secondary h2{
    font-size:28px;
  }
  .gear-rich-card.secondary p{
    font-size:12px;
  }

  .gear-result-rail{
    margin-left:-14px;
    margin-right:-14px;
    padding-left:14px;
    padding-right:14px;
    grid-auto-columns:76%;
  }
  .gear-rich-card.rail .gear-result-product-stage{
    height:150px;
  }
  .gear-rich-card.rail h2{
    font-size:25px;
  }
}


/* =========================================================
   V3.7.4 — FINAL GEAR PRODUCT POLISH
   ========================================================= */

/* Featured official pricing */
.gear37-price{
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:10px;
  color:#7c8781;
  font:500 8.5px/1.3 "DM Sans",sans-serif;
}
.gear37-price strong{
  color:var(--green-dark);
  font-size:13px;
  font-weight:600;
}
.gear37-price span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Beyond-the-bag photography should feel like editorial product cutouts. */
.gear37-accessory-photo{
  position:relative;
  height:150px;
}
.gear37-accessory-photo::after{
  content:"";
  position:absolute;
  left:20%;
  right:20%;
  bottom:5px;
  height:12px;
  border-radius:50%;
  background:rgba(18,57,37,.08);
  filter:blur(7px);
  z-index:0;
}
.gear37-accessory-photo img{
  position:relative;
  z-index:1;
  max-width:96%;
  max-height:96%;
  object-fit:contain;
}
.gear37-accessory-products>button{
  border-radius:14px;
  padding-top:7px;
  padding-bottom:7px;
}
.gear37-accessory-products>button:hover{
  background:rgba(235,240,231,.58);
}

/* Official product media can hydrate after initial render. */
.gear-result-product-stage{
  position:relative;
}
.gear-media-loader{
  display:none;
}
.gear-result-product-stage.no-image[data-media-source]:not([data-media-source=""]) .gear-media-loader{
  display:block;
  position:absolute;
  width:42px;
  height:42px;
  border-radius:50%;
  border:2px solid rgba(13,85,48,.12);
  border-top-color:rgba(13,85,48,.5);
  animation:gearSpin 1s linear infinite;
}
@keyframes gearSpin{to{transform:rotate(360deg)}}

.gear-rich-price{
  display:none;
  align-items:baseline;
  gap:8px;
  margin-top:11px;
}
.gear-rich-price.is-visible{
  display:flex;
}
.gear-rich-price strong{
  color:var(--green-dark);
  font:600 13px "DM Sans",sans-serif;
}
.gear-rich-price span{
  color:#8a958f;
  font:500 9px "DM Sans",sans-serif;
}

/* Make ALL named-product Gear answers look like product discovery pages. */
.gear-fit-answer-mode .answer-wrap{
  max-width:1080px;
}
.gear-fit-answer-mode .answer-lede{
  max-width:900px;
  font-size:17px;
  line-height:1.62;
}
.gear-fit-answer-mode .gear-rich-card{
  box-shadow:0 10px 28px rgba(20,50,34,.035);
}
.gear-fit-answer-mode .gear-rich-card.hero{
  border-top:3px solid var(--green);
}
.gear-fit-answer-mode .gear-result-product-stage{
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.98),rgba(240,243,237,.82) 64%,rgba(231,236,228,.86));
}
.gear-fit-answer-mode .gear-result-product-stage img{
  max-width:92%;
  max-height:92%;
  filter:saturate(.94) contrast(1.02);
}
.gear-fit-answer-mode .gear-rich-copy{
  background:#fff;
}
.gear-fit-answer-mode .gear-rich-link{
  margin-top:14px;
  width:max-content;
  padding:8px 11px;
  border-radius:18px;
  background:#edf3e9;
  color:var(--green);
}
.gear-fit-answer-mode .tip-box{
  border-color:#d9e4d5;
  background:#eef4e9;
}

/* Compact visual product grid for mobile as well. */
@media (max-width:760px){
  .gear37-price{
    display:block;
    margin-top:8px;
  }
  .gear37-price strong,
  .gear37-price span{
    display:block;
  }
  .gear37-price span{
    margin-top:2px;
    white-space:normal;
  }
  .gear37-accessory-photo{
    height:126px;
  }
  .gear-fit-answer-mode .answer-lede{
    font-size:15px;
    line-height:1.58;
  }
  .gear-rich-price strong{
    font-size:13px;
  }
}


/* =========================================================
   V3.7.5 — EXPANDED CATALOG + REAL PRODUCT MEDIA
   ========================================================= */

/* Brands are now intentionally near the top of Gear. */
.gear37-brands{
  padding-top:24px;
  padding-bottom:28px;
}
.gear37-brands .gear37-head{
  margin-bottom:13px;
}

/* Larger category catalog without making page vertically huge. */
.gear37-product-rail{
  grid-auto-columns:minmax(292px,30%);
}
.gear37-filter{
  max-width:58%;
  overflow-x:auto;
  scrollbar-width:none;
  padding-bottom:2px;
}
.gear37-filter::-webkit-scrollbar{display:none}
.gear37-filter button{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Dynamic official product media */
.featured-dynamic-media{
  position:relative;
}
.gear37-featured-placeholder{
  position:relative;
  z-index:1;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  width:100%;
  height:100%;
  color:var(--green);
}
.gear37-featured-placeholder strong{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid #cfdbd0;
  background:#eef2e9;
  font:600 16px "DM Sans",sans-serif;
}
.gear37-featured-placeholder small{
  color:#9aa39e;
  font:500 8px "DM Sans",sans-serif;
}
.featured-dynamic-media img{
  position:absolute;
  inset:6%;
  width:88%;
  height:88%;
  object-fit:contain;
  mix-blend-mode:multiply;
  z-index:2;
}
.featured-dynamic-media.has-product-photo .gear37-new{
  z-index:4;
}

/* Never show arbitrary initials as the main artwork on result pages. */
.gear-product-photo-fallback{
  position:absolute;
  left:12px;
  right:12px;
  bottom:15px;
  color:#9aa59f;
  text-align:center;
  font:500 9px "DM Sans",sans-serif;
  letter-spacing:.02em;
}
.gear-result-product-stage:not(.no-image) .gear-product-photo-fallback{
  display:none;
}
.gear-result-product-stage.no-image .gear-media-loader{
  display:block;
}

/* Give product images more visual prominence. */
.gear-fit-answer-mode .gear-rich-card.hero .gear-result-product-stage{
  min-height:390px;
}
.gear-fit-answer-mode .gear-rich-card.secondary .gear-result-product-stage{
  min-height:230px;
}
.gear-fit-answer-mode .gear-rich-card.rail .gear-result-product-stage{
  height:185px;
}

/* Product copy should not feel miniature next to the photography. */
.gear-fit-answer-mode .gear-rich-card p{
  font-size:13px;
  line-height:1.58;
}
.gear-fit-answer-mode .gear-rich-card.secondary p{
  font-size:12.5px;
}
.gear-fit-answer-mode .gear-rich-card.rail p{
  font-size:11.5px;
}

@media(max-width:760px){
  .gear37-filter{
    max-width:none;
    width:100%;
  }
  .gear37-product-rail{
    grid-auto-columns:84%;
  }
  .gear37-brands{
    padding-top:21px;
    padding-bottom:24px;
  }
  .gear-fit-answer-mode .gear-rich-card.hero .gear-result-product-stage{
    height:250px;
    min-height:250px;
  }
  .gear-fit-answer-mode .gear-rich-card.secondary .gear-result-product-stage{
    height:195px;
    min-height:195px;
  }
  .gear-fit-answer-mode .gear-rich-card.rail .gear-result-product-stage{
    height:170px;
  }
}

/* =========================================================
   V3.7.6 — DESKTOP FOLD + STRONGER SECTION HIERARCHY
   ========================================================= */

/* Hero becomes a compact editorial intro, not a poster. */
@media (min-width:761px){
  .gear37-intro{
    min-height:190px;
    grid-template-columns:1.22fr .78fr;
    gap:48px;
    padding:28px 8px 26px;
    align-items:end;
  }
  .gear37-intro h1{
    margin-top:7px;
    max-width:760px;
    font-size:clamp(48px,4.6vw,64px);
    line-height:.96;
    letter-spacing:-.024em;
  }
  .gear37-intro h1 span{
    white-space:nowrap;
  }
  .gear37-intro>p{
    max-width:390px;
    margin-bottom:4px;
    font-size:13px;
    line-height:1.52;
  }

  /* First content section comes into view sooner. */
  .gear37-featured{
    padding-top:24px;
  }
}

/* =========================================================
   V3.9.3.1 — KEEP HORIZONTAL MEDIA RAILS INSIDE THE PAGE
   The highlight section is moved into .answer-grid at runtime.
   Grid children default to min-width:auto, so the rail's full
   scroll width could enlarge the answer grid and the whole page.
   ========================================================= */
.answer-body,
.answer-body .answer-wrap,
.answer-body #answer-content,
.answer-body .answer-grid{
  min-width:0;
  max-width:100%;
}
.answer-body{
  overflow-x:hidden;
}
.answer-body .answer-grid{
  width:min(100%,900px);
}
.answer-body .answer-grid > *{
  min-width:0;
  max-width:100%;
}
.answer-body .event-highlights-section{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow:hidden;
  box-sizing:border-box;
}
.answer-body .event-highlights-grid{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch;
  scroll-padding-inline:2px;
  box-sizing:border-box;
}
.answer-body .event-highlight-card{
  min-width:0;
  max-width:100%;
}

/* Stronger section labels across the whole Gear hub. */
.gear37-kicker{
  display:flex;
  align-items:center;
  gap:9px;
  color:var(--green);
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.19em;
}
.gear37-kicker::before{
  content:"";
  flex:0 0 24px;
  width:24px;
  height:2px;
  border-radius:2px;
  background:var(--green);
}

/* Hero kicker stays clean without a rule. */
.gear37-intro .gear37-kicker::before{
  display:none;
}
.gear37-intro .gear37-kicker{
  font-size:10px;
}

/* Make each section title unmistakable without making it oversized. */
.gear37-head h2{
  margin-top:9px;
  font-size:46px;
  line-height:.99;
  letter-spacing:-.018em;
}
.gear37-head{
  margin-bottom:19px;
}

/* Special sections whose title isn't inside a standard .gear37-head. */
.gear37-fit > .gear37-kicker,
.gear37-compare-panel .gear37-kicker,
.gear37-bottom .gear37-kicker{
  margin-bottom:9px;
}

/* Small breathing room between the rule/label and the title. */
.gear37-section > .gear37-kicker + h2,
.gear37-section > .gear37-kicker + h3{
  margin-top:8px;
}

@media (max-width:760px){
  /* Keep mobile hero compact and preserve the existing one-column rhythm. */
  .gear37-intro h1 span{
    white-space:normal;
  }

  .gear37-kicker{
    gap:7px;
    font-size:10px;
    letter-spacing:.17em;
  }
  .gear37-kicker::before{
    width:19px;
    flex-basis:19px;
  }
  .gear37-head h2{
    font-size:36px;
    line-height:1.01;
  }
}


/* =========================================================
   V3.7.7 — MULTI-SOURCE PRODUCT PHOTOS
   ========================================================= */

/* Neutral shimmer while the batch resolver is working. */
.gear37-featured-placeholder{
  gap:0;
}
.gear37-featured-placeholder strong{
  display:none !important;
}
.gear37-featured-placeholder small{
  font-size:9px;
}
.featured-dynamic-media:not(.has-product-photo)::before,
.gear-result-product-stage.no-image::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg,transparent 34%,rgba(255,255,255,.68) 46%,transparent 58%),
    radial-gradient(circle at 50% 45%,#f7f8f4 0,#edf1ea 58%,#e8ede6 100%);
  background-size:220% 100%,100% 100%;
  animation:hhPhotoShimmer 1.45s ease-in-out infinite;
}
@keyframes hhPhotoShimmer{
  0%{background-position:120% 0,0 0}
  100%{background-position:-120% 0,0 0}
}
.featured-dynamic-media.has-product-photo::before,
.gear-result-product-stage.image-missing::before{
  display:none;
}
.gear37-featured-placeholder,
.gear-product-photo-fallback{
  z-index:3;
}
.gear-result-product-stage .gear-media-loader{
  display:none !important;
}
.gear-product-photo-fallback{
  bottom:18px;
  color:#8f9a94;
  font-size:9px;
}
.gear-result-product-stage.image-missing{
  background:#f3f5f0;
}
.gear-result-product-stage.image-missing .gear-product-photo-fallback{
  color:#a1aaa5;
}

/* Retailer fallback is for photography only; preserve clean HH product cards. */
.gear37-price span{
  line-height:1.35;
}

@media(max-width:760px){
  .gear37-featured-placeholder small,
  .gear-product-photo-fallback{
    font-size:10px;
  }
}


/* =========================================================
   V3.7.8 — GLOBAL HH FLOATING ASSISTANT BAR
   ========================================================= */

/* Center every element vertically instead of pinning content to bottom. */
.followup-composer{
  grid-template-columns:52px minmax(0,1fr) 56px !important;
  align-items:center !important;
  gap:12px !important;
  min-height:72px;
  padding:8px 9px 8px 10px !important;
}

/* Replace text HH badge with the actual HappyHappyGolf logo. */
.floating-hh{
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  align-self:center;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
  border:1.5px solid rgba(12,86,49,.42);
  box-shadow:0 2px 8px rgba(24,59,39,.06);
}
.floating-hh img{
  width:47px;
  height:47px;
  display:block;
  object-fit:cover;
  border-radius:50%;
  transform:scale(1.08);
}

/* Make the persistent HH invitation more visible. */
.followup-composer textarea{
  min-height:44px !important;
  padding:10px 0 !important;
  align-self:center !important;
  display:block;
  color:var(--ink);
  font-size:18px !important;
  line-height:1.35 !important;
}
.followup-composer textarea::placeholder{
  color:#7d8982 !important;
  opacity:1;
}

/* Arrow sits dead-center with the logo/input. */
.followup-composer button{
  width:56px !important;
  height:56px !important;
  align-self:center !important;
  display:grid;
  place-items:center;
  padding:0 !important;
  line-height:1 !important;
  font-size:31px !important;
}

/* Slightly wider bar on desktop so the larger invitation has room. */
.play-floating,
.gear37-floating,
.watch-v32-assistant{
  width:min(760px,calc(100vw - 36px)) !important;
}

/* The answer page uses the same persistent bar treatment. */
#followup-form.followup-composer{
  width:min(760px,calc(100vw - 40px));
}

/* Keep multi-line follow-ups visually centered as the textarea grows. */
.followup-composer textarea{
  max-height:132px !important;
  overflow-y:auto !important;
}

/* Prevent prior generic floating-hh styles from affecting new logo. */
.floating-hh{
  color:transparent !important;
  font-size:0 !important;
}

@media(max-width:760px){
  .followup-composer{
    grid-template-columns:48px minmax(0,1fr) 54px !important;
    gap:10px !important;
    min-height:68px;
    padding:7px 8px 7px 9px !important;
  }

  .floating-hh{
    width:46px;
    height:46px;
  }
  .floating-hh img{
    width:44px;
    height:44px;
  }

  .followup-composer textarea{
    min-height:42px !important;
    padding:9px 0 !important;
    font-size:17.5px !important;
    line-height:1.34 !important;
  }

  .followup-composer button{
    width:54px !important;
    height:54px !important;
    font-size:30px !important;
  }

  .followup-composer,
  .play-floating,
  .gear37-floating,
  .watch-v32-assistant,
  #followup-form.followup-composer{
    width:calc(100vw - 24px) !important;
  }
}

/* Very narrow phones: preserve breathing room without shrinking text too far. */
@media(max-width:390px){
  .followup-composer{
    grid-template-columns:44px minmax(0,1fr) 50px !important;
    gap:8px !important;
  }
  .floating-hh{
    width:43px;
    height:43px;
  }
  .floating-hh img{
    width:41px;
    height:41px;
  }
  .followup-composer textarea{
    font-size:17px !important;
  }
  .followup-composer button{
    width:50px !important;
    height:50px !important;
  }
}


/* =========================================================
   V3.7.9 — HOMEPAGE READABILITY + DISCOVERY HIERARCHY
   ========================================================= */

/* Make the persistent top navigation easier to scan. */
body:not(.answer-body) .watch-hub-nav a{
  font-size:12.5px;
}
body:not(.answer-body) .watch-hub-nav a small{
  font-size:12.5px;
  line-height:1.2;
}

/* Search should feel like the primary invitation. */
body:not(.answer-body) .hero-shell .search textarea{
  font-size:19px !important;
  line-height:1.4 !important;
}
body:not(.answer-body) .hero-shell .search textarea::placeholder{
  color:#748078;
}

/* Multilingual support should be visible, not footnote-sized. */
body:not(.answer-body) .language-hint{
  display:grid;
  grid-template-columns:auto auto;
  justify-content:center;
  align-items:center;
  column-gap:8px;
  row-gap:4px;
  margin-top:16px;
  font-size:14px;
  line-height:1.35;
  letter-spacing:0;
}
body:not(.answer-body) .language-hint svg{
  width:18px;
  height:18px;
  stroke-width:1.7;
}
body:not(.answer-body) .language-hint > span:first-of-type{
  font-size:15px;
  font-weight:600;
  color:#456052;
}
body:not(.answer-body) .language-list{
  grid-column:1 / -1;
  font-size:13.5px;
  color:#75817a;
  letter-spacing:.01em;
}

/* Hub names stay elegant but become more inviting. */
body:not(.answer-body) .pathways{
  margin-top:60px;
}
body:not(.answer-body) .pathway h2{
  font-size:35px;
  line-height:1;
  margin-bottom:11px;
}
body:not(.answer-body) .pathway p{
  font-size:12px;
  line-height:1.5;
  letter-spacing:.13em;
  font-weight:500;
  color:#405b50;
}

/* A little more presence in the hub icons without changing the aesthetic. */
body:not(.answer-body) .icon-circle svg{
  stroke-width:2.15;
}

/* Hover / focus helps the four choices feel interactive. */
body:not(.answer-body) .pathway{
  border-radius:18px;
}
body:not(.answer-body) .pathway:focus-visible{
  outline:2px solid rgba(7,86,47,.35);
  outline-offset:8px;
}
body:not(.answer-body) .pathway:hover h2{
  color:var(--green);
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media(max-width:760px){

  body:not(.answer-body) .watch-hub-nav{
    gap:clamp(14px,4.3vw,30px);
  }
  body:not(.answer-body) .watch-hub-nav a{
    min-width:54px;
  }
  body:not(.answer-body) .watch-hub-nav a small{
    font-size:12px;
  }

  body:not(.answer-body) .hero-shell .search textarea{
    font-size:18px !important;
    line-height:1.38 !important;
  }

  body:not(.answer-body) .language-hint{
    margin-top:14px;
    column-gap:7px;
    row-gap:5px;
  }
  body:not(.answer-body) .language-hint svg{
    width:18px;
    height:18px;
  }
  body:not(.answer-body) .language-hint > span:first-of-type{
    width:auto;
    margin:0;
    font-size:15.5px;
    line-height:1.25;
  }
  body:not(.answer-body) .language-list{
    white-space:normal;
    font-size:14px;
    line-height:1.4;
  }

  body:not(.answer-body) .pathways{
    margin-top:44px;
    gap:34px 14px;
  }
  body:not(.answer-body) .icon-circle{
    width:84px;
    height:84px;
    margin-bottom:12px;
  }
  body:not(.answer-body) .icon-circle svg{
    width:45px;
    height:45px;
  }
  body:not(.answer-body) .pathway h2{
    font-size:32px;
    margin-bottom:10px;
  }
  body:not(.answer-body) .pathway p{
    max-width:170px;
    margin:0 auto;
    font-size:11.5px;
    line-height:1.48;
    letter-spacing:.12em;
  }

  /* Preserve the first-screen composition despite larger type. */
  body:not(.answer-body) .hero-shell{
    padding-bottom:30px;
  }
}

/* Very small iPhones: keep the descriptions legible without wrapping badly. */
@media(max-width:390px){
  body:not(.answer-body) .pathway p{
    font-size:11px;
    letter-spacing:.105em;
  }
  body:not(.answer-body) .pathway h2{
    font-size:30px;
  }
  body:not(.answer-body) .language-list{
    font-size:13.5px;
  }
}


/* =========================================================
   V3.7.10 — SMALL POLISH PASS
   ========================================================= */

/* ---------------------------------------------------------
   Gear mobile hero: exactly two compact lines.
   --------------------------------------------------------- */
@media(max-width:760px){
  .gear37-intro{
    padding:20px 5px 22px !important;
    gap:10px !important;
  }
  .gear37-intro h1{
    margin-top:5px !important;
    font-size:clamp(31px,8.1vw,35px) !important;
    line-height:1.02 !important;
    letter-spacing:-.018em !important;
  }
  .gear37-intro h1 br{
    display:none !important;
  }
  .gear37-intro h1 span,
  .gear37-intro h1 em{
    display:block;
    white-space:nowrap !important;
  }
  .gear37-intro>p{
    margin-top:7px !important;
    font-size:12.5px !important;
    line-height:1.48 !important;
  }
}

/* ---------------------------------------------------------
   Answer/result headline: informative, not billboard-sized.
   --------------------------------------------------------- */
.answer-body .question{
  font-size:clamp(34px,4.15vw,52px) !important;
  line-height:1.035 !important;
  margin-bottom:18px !important;
}
.answer-body .answer-kicker{
  margin-bottom:11px !important;
}
.answer-body .answer-lede{
  margin-bottom:30px !important;
}
@media(max-width:760px){
  .answer-body .question{
    font-size:clamp(31px,8.3vw,38px) !important;
    line-height:1.04 !important;
    margin-bottom:15px !important;
  }
  .answer-body .answer-wrap{
    padding-top:30px !important;
  }
}

/* ---------------------------------------------------------
   Brand rail: make fallback wordmarks feel intentional.
   --------------------------------------------------------- */
.gear37-brand-rail img[src*="brand-cobra.svg"]{
  width:78% !important;
  max-height:52px !important;
}
.gear37-brand-rail img[alt="Mizuno"]{
  width:76% !important;
  max-height:50px !important;
}

/* ---------------------------------------------------------
   Product photo failure should never waste a giant blank area.
   If every source fails, collapse the media block.
   --------------------------------------------------------- */
.gear-result-product-stage.image-missing{
  height:72px !important;
  min-height:72px !important;
  background:#f5f6f2 !important;
}
.gear-result-product-stage.image-missing::before{
  display:none !important;
}
.gear-result-product-stage.image-missing .gear-product-photo-fallback{
  position:static !important;
  display:grid !important;
  place-items:center;
  width:100%;
  height:100%;
  padding:0 14px;
}

/* Hub cards: failed photo areas shrink rather than dominate the card. */
.featured-dynamic-media.media-failed{
  height:76px !important;
  min-height:76px !important;
  background:#f5f6f2 !important;
}
.featured-dynamic-media.media-failed::before{
  display:none !important;
}
.featured-dynamic-media.media-failed .gear37-featured-placeholder{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
}
.featured-dynamic-media.media-failed .gear37-new{
  top:9px;
  left:10px;
}

/* Keep photo cards full-height when imagery succeeds. */
.featured-dynamic-media.has-product-photo{
  min-height:210px;
}


/* =========================================================
   V3.8.0 — PLAY DISCOVERY REFRESH
   ========================================================= */

/* Nearby consent: one clear action, no giant empty panel. */
.play-nearby{
  padding-top:24px;
}
.play-nearby-heading{
  margin-bottom:12px;
}
.play-nearby-grid{
  display:block;
}
.play-location-consent{
  min-height:132px;
  border:1px solid #d9e1d8;
  border-radius:22px;
  background:linear-gradient(135deg,#f5f7f1,#eef3eb);
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  grid-template-areas:
    "icon copy button"
    "icon note button";
  align-items:center;
  gap:8px 18px;
  padding:20px 24px;
}
.location-consent-icon{
  grid-area:icon;
  width:58px;height:58px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--green);
  border:1px solid #dbe4da;
}
.location-consent-icon svg{
  width:31px;height:31px;
  fill:none;stroke:currentColor;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.location-consent-copy{grid-area:copy}
.location-consent-copy h3{
  margin:0 0 3px;
  font:400 26px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.location-consent-copy p{
  margin:0;
  max-width:560px;
  font-size:13px;
  line-height:1.48;
  color:#68766e;
}
.location-consent-btn{
  grid-area:button;
  min-width:190px;
  min-height:54px;
  border:0;
  border-radius:28px;
  background:var(--green);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 22px;
  font:600 14px/1 "DM Sans",sans-serif;
  box-shadow:0 9px 24px rgba(7,86,47,.16);
  cursor:pointer;
}
.location-consent-btn svg{
  width:20px;height:20px;
  fill:none;stroke:currentColor;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;
}
.location-consent-btn:disabled{opacity:.68;cursor:wait}
.play-location-consent>small{
  grid-area:note;
  color:#8b958f;
  font-size:10.5px;
}
.play-location-consent.error{
  grid-template-columns:52px 1fr auto;
}

/* Editorial course mosaic. */
.play-card-grid.play-editorial-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:112px;
  gap:12px;
}
.play-discovery-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dce3db;
  border-radius:20px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  color:var(--green-dark);
  min-width:0;
  padding:0;
  display:grid;
  grid-template-columns:36% 1fr;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.play-discovery-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(30,49,37,.08);
  border-color:#cad7cc;
}
.play-discovery-card.hero{
  grid-column:span 7;
  grid-row:span 3;
  grid-template-columns:46% 1fr;
}
.play-discovery-card.tall{
  grid-column:span 5;
  grid-row:span 3;
  grid-template-columns:44% 1fr;
}
.play-discovery-card.wide{
  grid-column:span 7;
  grid-row:span 2;
  grid-template-columns:32% 1fr;
}
.play-discovery-card.standard{
  grid-column:span 5;
  grid-row:span 2;
  grid-template-columns:34% 1fr;
}
.discovery-visual{
  position:relative;
  min-width:0;
  display:grid;
  place-items:center;
  background:#edf2e9;
  color:var(--green);
  overflow:hidden;
}
.discovery-visual::before,
.destination-art::before{
  content:"";
  position:absolute;
  inset:auto -25% -42% -25%;
  height:75%;
  border-radius:50%;
  background:rgba(255,255,255,.36);
}
.discovery-art{
  width:82px;height:82px;
  position:relative;
  z-index:2;
  display:grid;place-items:center;
}
.discovery-art svg,
.destination-art svg{
  width:100%;height:100%;
  fill:none;stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;
}
.discovery-number{
  position:absolute;
  top:15px;left:16px;
  z-index:3;
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.14em;
  color:rgba(7,86,47,.62);
}
.discovery-copy{
  align-self:end;
  padding:20px 22px 21px;
  min-width:0;
}
.play-discovery-card.hero .discovery-copy,
.play-discovery-card.tall .discovery-copy{
  padding:24px 25px 25px;
}
.discovery-copy h3{
  margin:5px 0 7px;
  font:400 27px/1.04 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.play-discovery-card.hero .discovery-copy h3{
  font-size:35px;
}
.play-discovery-card.tall .discovery-copy h3{
  font-size:31px;
}
.discovery-copy p{
  margin:0;
  color:#79857e;
  font-size:11.5px;
  line-height:1.4;
}
.discovery-arrow{
  position:absolute;
  right:17px;top:15px;
  z-index:4;
  width:30px;height:30px;
  border-radius:50%;
  display:grid;place-items:center;
  background:rgba(255,255,255,.72);
  color:var(--green);
  font-size:17px;
}

/* Visual families — brand palette, not fake photography. */
.visual-coast .discovery-visual,.visual-coast .destination-art{background:linear-gradient(155deg,#e8f0ef,#d4dfd2)}
.visual-dunes .discovery-visual,.visual-dunes .destination-art{background:linear-gradient(155deg,#f0eadb,#d9cfb6)}
.visual-pines .discovery-visual,.visual-pines .destination-art{background:linear-gradient(155deg,#e8eee5,#cad8c8)}
.visual-challenge .discovery-visual,.visual-challenge .destination-art{background:linear-gradient(155deg,#e6e8e3,#c9cec7)}
.visual-wind .discovery-visual,.visual-wind .destination-art{background:linear-gradient(155deg,#e8efef,#d0dbd9)}
.visual-island .discovery-visual,.visual-island .destination-art{background:linear-gradient(155deg,#e7f0ed,#cadbd3)}
.visual-resort .discovery-visual,.visual-resort .destination-art{background:linear-gradient(155deg,#edf0e7,#d6ddcb)}
.visual-clubhouse .discovery-visual,.visual-clubhouse .destination-art{background:linear-gradient(155deg,#efece4,#dcd6c8)}
.visual-stay .discovery-visual,.visual-stay .destination-art{background:linear-gradient(155deg,#edf2ea,#d4dfd0)}
.visual-trophy .discovery-visual,.visual-trophy .destination-art{background:linear-gradient(155deg,#f0ecdf,#ddd3b8)}
.visual-desert .discovery-visual,.visual-desert .destination-art{background:linear-gradient(155deg,#f1eadc,#ddd0b5)}
.visual-palm .discovery-visual,.visual-palm .destination-art{background:linear-gradient(155deg,#ecf1e7,#cedac7)}
.visual-city .discovery-visual,.visual-city .destination-art{background:linear-gradient(155deg,#e9edeb,#d0d8d4)}
.visual-links .discovery-visual,.visual-links .destination-art{background:linear-gradient(155deg,#edf0e4,#d6dac8)}
.visual-japan .discovery-visual,.visual-japan .destination-art{background:linear-gradient(155deg,#f1ece8,#dfd0c7)}
.visual-mountain .discovery-visual,.visual-mountain .destination-art{background:linear-gradient(155deg,#e9efeb,#ccd9d0)}

/* Cities + international become visual cards rather than letter chips. */
.destination-chip-grid.destination-visual-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:11px;
}
.destination-visual-card{
  min-height:112px;
  position:relative;
  overflow:hidden;
  border:1px solid #dce3db;
  border-radius:18px;
  background:#fff;
  padding:13px 14px 12px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 18px;
  align-items:center;
  gap:11px;
  text-align:left;
  cursor:pointer;
}
.destination-art{
  position:relative;
  overflow:hidden;
  width:58px;height:72px;
  border-radius:14px;
  display:grid;place-items:center;
  color:var(--green);
}
.destination-art svg{
  position:relative;z-index:2;
  width:40px;height:40px;
}
.destination-text strong{
  display:block;
  font:400 20px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.destination-text small{
  display:block;
  margin-top:5px;
  color:#849089;
  font:500 9.5px/1.25 "DM Sans",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.destination-visual-card i{
  color:var(--green);
  font-style:normal;
  font-size:16px;
}

/* Slightly stronger Play section hierarchy. */
.play-feature .play-section-kicker{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
}
.play-feature .play-section-kicker::before{
  content:"";
  width:24px;height:2px;
  border-radius:2px;
  background:var(--green);
}
.play-feature .section-heading h2{
  font-size:40px;
}

@media(max-width:760px){
  .play-nearby{
    padding-top:20px;
  }
  .play-nearby-heading{
    margin-bottom:10px;
  }
  .play-location-consent{
    min-height:0;
    grid-template-columns:50px 1fr;
    grid-template-areas:
      "icon copy"
      "button button"
      "note note";
    gap:10px 13px;
    padding:17px 18px 15px;
    text-align:left;
  }
  .location-consent-icon{
    width:50px;height:50px;
  }
  .location-consent-icon svg{width:27px;height:27px}
  .location-consent-copy h3{font-size:24px}
  .location-consent-copy p{font-size:12.5px;line-height:1.42}
  .location-consent-btn{
    min-width:0;
    width:100%;
    min-height:52px;
    font-size:15px;
  }
  .play-location-consent>small{
    text-align:center;
    font-size:10.5px;
  }

  .play-card-grid.play-editorial-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-auto-rows:auto;
    gap:10px;
  }
  .play-discovery-card,
  .play-discovery-card.hero,
  .play-discovery-card.tall,
  .play-discovery-card.wide,
  .play-discovery-card.standard{
    grid-column:auto;
    grid-row:auto;
    display:block;
    min-height:0;
  }
  .play-discovery-card.hero{
    grid-column:1/-1;
  }
  .play-discovery-card.tall{
    grid-column:auto;
  }
  .discovery-visual{
    height:118px;
  }
  .play-discovery-card.hero .discovery-visual{
    height:168px;
  }
  .discovery-art{width:68px;height:68px}
  .play-discovery-card.hero .discovery-art{width:88px;height:88px}
  .discovery-copy,
  .play-discovery-card.hero .discovery-copy,
  .play-discovery-card.tall .discovery-copy{
    padding:14px 15px 16px;
  }
  .discovery-copy h3,
  .play-discovery-card.hero .discovery-copy h3,
  .play-discovery-card.tall .discovery-copy h3{
    font-size:22px;
    line-height:1.04;
  }
  .play-discovery-card.hero .discovery-copy h3{font-size:28px}
  .discovery-copy p{font-size:10.5px}
  .course-tag{font-size:8.5px}

  .destination-chip-grid.destination-visual-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
  }
  .destination-visual-card{
    min-height:104px;
    grid-template-columns:50px minmax(0,1fr) 14px;
    gap:9px;
    padding:10px 11px;
  }
  .destination-art{
    width:50px;height:66px;
  }
  .destination-art svg{width:34px;height:34px}
  .destination-text strong{font-size:18px}
  .destination-text small{font-size:8.5px}

  .play-feature .section-heading h2{font-size:35px}
  .play-feature .play-section-kicker{font-size:10.5px}
}

@media(max-width:390px){
  .play-card-grid.play-editorial-grid{
    grid-template-columns:1fr;
  }
  .play-discovery-card.hero,
  .play-discovery-card.tall{
    grid-column:auto;
  }
  .play-discovery-card:not(.hero){
    display:grid;
    grid-template-columns:105px 1fr;
  }
  .play-discovery-card:not(.hero) .discovery-visual{
    height:100%;
    min-height:122px;
  }
}


/* =========================================================
   V3.8.1 — Play photo cards / smaller desktop footprint
   ========================================================= */
.play-card-grid.play-photo-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
}
.play-discovery-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dce3db;
  border-radius:22px;
  background:#fff;
  text-align:left;
  cursor:pointer;
  padding:0;
  min-width:0;
  display:block;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.play-discovery-card:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 26px rgba(30,49,37,.08);
  border-color:#cad7cc;
}
.play-discovery-card.hero{grid-column:span 6}
.play-discovery-card.standard{grid-column:span 3}
.play-discovery-card .discovery-visual.photo-mode{
  position:relative;
  height:168px;
  background:#eef2ed;
  overflow:hidden;
}
.play-discovery-card.hero .discovery-visual.photo-mode{height:196px}
.course-photo, .destination-photo{
  display:block;
  width:100%;
  height:100%;
}
.course-photo img, .destination-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.play-discovery-card .discovery-visual.photo-mode::after,
.destination-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(15,32,23,.16), rgba(15,32,23,.04) 42%, rgba(255,255,255,0));
  pointer-events:none;
}
.play-discovery-card .discovery-number{
  position:absolute;
  top:14px;left:15px;
  z-index:2;
  font:700 10px/1 "DM Sans",sans-serif;
  letter-spacing:.16em;
  color:#fff;
  text-shadow:0 1px 8px rgba(0,0,0,.28);
}
.play-discovery-card .discovery-arrow{
  position:absolute;
  top:14px;right:14px;
  z-index:2;
  width:34px;height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  display:grid;place-items:center;
  color:var(--green);
  font-size:18px;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.play-discovery-card .discovery-copy{
  padding:18px 18px 19px;
}
.play-discovery-card .discovery-copy h3{
  margin:5px 0 7px;
  font:400 24px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.play-discovery-card.hero .discovery-copy h3{font-size:33px}
.play-discovery-card .discovery-copy p{
  margin:0;
  color:#78847d;
  font-size:12.5px;
  line-height:1.42;
}
.destination-chip-grid.destination-photo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.destination-photo-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dce3db;
  border-radius:18px;
  background:#fff;
  padding:0;
  min-height:126px;
  display:grid;
  grid-template-columns:112px 1fr 22px;
  align-items:stretch;
  gap:0;
  text-align:left;
  cursor:pointer;
}
.destination-photo{
  position:relative;
  width:112px;
  height:100%;
  min-height:126px;
  overflow:hidden;
}
.destination-text{
  align-self:center;
  padding:0 14px 0 14px;
}
.destination-text strong{
  display:block;
  font:400 21px/1.05 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.destination-text small{
  display:block;
  margin-top:6px;
  color:#849089;
  font:500 9.5px/1.25 "DM Sans",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.destination-photo-card i{
  align-self:center;
  justify-self:center;
  color:var(--green);
  font-style:normal;
  font-size:15px;
  margin-right:8px;
}

@media (min-width: 1024px){
  .play-card-grid.play-photo-grid{gap:16px}
  .play-discovery-card.hero{grid-column:span 5}
  .play-discovery-card.standard{grid-column:span 3}
}

@media (max-width: 960px){
  .play-card-grid.play-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }
  .play-discovery-card.hero,
  .play-discovery-card.standard{grid-column:auto}
  .play-discovery-card.hero{grid-column:1 / -1}
  .play-discovery-card .discovery-visual.photo-mode{height:148px}
  .play-discovery-card.hero .discovery-visual.photo-mode{height:176px}
  .play-discovery-card .discovery-copy h3{font-size:22px}
  .play-discovery-card.hero .discovery-copy h3{font-size:29px}
  .destination-chip-grid.destination-photo-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .destination-photo-card{
    grid-template-columns:86px 1fr 20px;
    min-height:108px;
  }
  .destination-photo{width:86px;min-height:108px}
}

@media (max-width: 520px){
  .play-card-grid.play-photo-grid{
    grid-template-columns:1fr 1fr;
    gap:12px;
  }
  .play-discovery-card.hero{grid-column:1 / -1}
  .play-discovery-card .discovery-visual.photo-mode{height:132px}
  .play-discovery-card.hero .discovery-visual.photo-mode{height:168px}
  .play-discovery-card .discovery-copy{padding:14px 14px 15px}
  .play-discovery-card .discovery-copy h3{font-size:20px}
  .play-discovery-card.hero .discovery-copy h3{font-size:25px}
  .play-discovery-card .discovery-copy p{font-size:11px}
  .destination-chip-grid.destination-photo-grid{grid-template-columns:1fr}
  .destination-photo-card{grid-template-columns:96px 1fr 22px;min-height:110px}
  .destination-photo{width:96px;min-height:110px}
}


/* =========================================================
   V3.9.0 — TRAVEL HUB
   ========================================================= */

.travel-page{
  background:#fbfaf6;
  color:#183d2b;
}
.travel-hub{
  width:min(1180px,calc(100% - 42px));
  margin:0 auto;
  padding:40px 0 145px;
}

/* HERO */
.travel-hero{
  display:grid;
  grid-template-columns:minmax(0,.88fr) minmax(430px,1.12fr);
  min-height:430px;
  border-bottom:1px solid #dfe4dd;
  padding:34px 0 48px;
  gap:56px;
  align-items:center;
}
.travel-kicker,
.travel-section-kicker,
.travel-step-kicker{
  font:600 10px/1.2 "DM Sans",sans-serif;
  letter-spacing:.24em;
  color:var(--green);
}
.travel-hero-copy h1{
  margin:13px 0 17px;
  max-width:620px;
  font:400 clamp(50px,5.4vw,78px)/.96 "Libre Caslon Display",serif;
  letter-spacing:-.025em;
  color:var(--green-dark);
}
.travel-hero-copy>p{
  max-width:550px;
  margin:0;
  color:#6d7972;
  font-size:16px;
  line-height:1.55;
}
.travel-quick-chips{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:28px;
}
.travel-quick-chips button{
  border:1px solid #d9dfd9;
  background:#fff;
  color:#4b5d53;
  min-height:42px;
  padding:0 18px;
  border-radius:24px;
  font:500 12px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
.travel-quick-chips button:first-child{
  background:var(--green);
  color:#fff;
  border-color:var(--green);
}
.travel-hero-photo{
  position:relative;
  min-height:390px;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:28px;
  background:#e9eee9;
  cursor:pointer;
  text-align:left;
}
.travel-hero-photo>img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.travel-photo-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(8,38,23,.58),rgba(8,38,23,.05) 58%);
}
.travel-hero-caption{
  position:absolute;
  left:28px;right:28px;bottom:25px;
  color:#fff;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  column-gap:14px;
}
.travel-hero-caption small{
  grid-column:1/-1;
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.2em;
  margin-bottom:8px;
}
.travel-hero-caption strong{
  font:400 28px/1.05 "Libre Caslon Display",serif;
  max-width:430px;
}
.travel-hero-caption i{
  width:42px;height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--green);
  display:grid;place-items:center;
  font-style:normal;
  font-size:19px;
}

/* SHARED SECTION */
.travel-section{
  padding:66px 0;
  border-bottom:1px solid #dfe4dd;
}
.travel-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:25px;
}
.travel-section-heading h2,
.travel-builder-intro h2{
  margin:8px 0 5px;
  font:400 44px/1.02 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.travel-section-heading p,
.travel-builder-intro p{
  margin:0;
  color:#7c8781;
  font-size:13px;
}
.travel-season-label{
  border:1px solid #d7ded7;
  background:#f5f7f2;
  border-radius:22px;
  padding:10px 15px;
  color:#53665b;
  font:500 11px/1 "DM Sans",sans-serif;
}

/* WHERE NOW */
.travel-now-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-template-rows:205px 205px;
  gap:13px;
}
.travel-now-card{
  position:relative;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:22px;
  background:#e9eee9;
  cursor:pointer;
  text-align:left;
  color:#fff;
}
.travel-now-card.feature{
  grid-row:1/3;
}
.travel-now-card:last-child{
  grid-column:2/4;
}
.travel-now-photo,
.travel-now-photo img,
.travel-now-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.travel-now-photo img{object-fit:cover}
.travel-now-shade{
  background:linear-gradient(to top,rgba(9,37,24,.7),rgba(9,37,24,.06) 62%);
}
.travel-now-copy{
  position:absolute;
  left:20px;right:48px;bottom:18px;
  z-index:2;
}
.travel-now-copy small{
  display:block;
  margin-bottom:6px;
  font:600 8.5px/1 "DM Sans",sans-serif;
  letter-spacing:.18em;
}
.travel-now-copy strong{
  display:block;
  font:400 27px/1.02 "Libre Caslon Display",serif;
}
.travel-now-card.feature .travel-now-copy strong{font-size:39px}
.travel-now-copy em{
  display:block;
  margin-top:3px;
  font:400 11px/1.3 "DM Sans",sans-serif;
  font-style:normal;
  color:rgba(255,255,255,.84);
}
.travel-now-copy span{
  display:inline-block;
  margin-top:10px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:15px;
  padding:6px 9px;
  font:500 9px/1 "DM Sans",sans-serif;
}
.travel-now-card>i{
  position:absolute;
  right:15px;top:14px;
  z-index:3;
  width:34px;height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  color:var(--green);
  display:grid;place-items:center;
  font-style:normal;
  font-size:17px;
}

/* BUILDER */
.travel-builder-section{
  margin:66px -24px 0;
  padding:58px 24px 66px;
  background:#eef3ea;
  border-top:1px solid #d8e1d5;
  border-bottom:1px solid #d8e1d5;
}
.travel-builder-intro{
  max-width:760px;
  margin:0 auto 24px;
}
.travel-builder-card{
  width:min(860px,100%);
  margin:0 auto;
  padding:26px 30px 30px;
  background:#fff;
  border:1px solid #d9e1d8;
  border-radius:28px;
  box-shadow:0 12px 35px rgba(33,54,41,.045);
}
.travel-builder-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:#78857d;
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.16em;
}
.travel-builder-top strong{
  letter-spacing:0;
  font-size:11px;
}
.travel-progress{
  height:6px;
  margin:13px 0 36px;
  background:#e9eee8;
  border-radius:6px;
  overflow:hidden;
}
.travel-progress span{
  display:block;
  height:100%;
  width:20%;
  border-radius:6px;
  background:var(--green);
  transition:width .25s ease;
}
.travel-step{display:none}
.travel-step.active{display:block}
.travel-step h3,
.travel-builder-result h3{
  margin:9px 0 23px;
  font:400 39px/1.02 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
#trip-origin{
  width:100%;
  min-height:60px;
  border:1px solid #d7dfd8;
  border-radius:18px;
  padding:0 18px;
  font:400 16px/1 "DM Sans",sans-serif;
  color:#30493c;
  outline:none;
}
#trip-origin:focus{
  border-color:#8daa98;
  box-shadow:0 0 0 3px rgba(7,86,47,.06);
}
.travel-next{
  margin-top:16px;
  min-width:135px;
  min-height:48px;
  border:0;
  border-radius:25px;
  background:var(--green);
  color:#fff;
  font:600 13px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
.travel-choice-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.travel-choice-grid button{
  min-height:70px;
  border:1px solid #d7dfd8;
  border-radius:18px;
  background:#fff;
  color:#465b50;
  padding:10px 16px;
  font:500 14px/1.3 "DM Sans",sans-serif;
  cursor:pointer;
}
.travel-choice-grid button:hover,
.travel-choice-grid button.selected{
  background:#eff5ec;
  border-color:#86a894;
  color:var(--green);
}
.travel-back{
  margin-top:20px;
  border:0;
  background:none;
  color:#849087;
  padding:0;
  font:500 11px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
.travel-builder-result{
  display:none;
  grid-template-columns:60px 1fr;
  gap:8px 18px;
  align-items:center;
}
.travel-builder-result.active{display:grid}
.travel-result-logo{
  grid-row:1/3;
  width:58px;height:58px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid #a5bba9;
}
.travel-result-logo img{
  width:100%;height:100%;object-fit:cover;
}
.travel-builder-result h3{margin:5px 0}
.travel-builder-result p{
  margin:0;
  color:#7d8982;
  font-size:12px;
}
#build-trip-submit{
  grid-column:1/-1;
  min-height:58px;
  border:0;
  border-radius:29px;
  margin-top:18px;
  background:var(--green);
  color:#fff;
  font:600 14px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
#build-trip-submit span{margin-left:12px;font-size:19px}
#travel-builder-reset{
  grid-column:1/-1;
  border:0;
  background:none;
  color:#8a958e;
  margin-top:8px;
  font:500 10px/1 "DM Sans",sans-serif;
  cursor:pointer;
}

/* TRIP STYLES */
.travel-style-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.travel-style-card{
  min-height:124px;
  display:grid;
  grid-template-columns:112px 1fr 25px;
  align-items:stretch;
  padding:0;
  overflow:hidden;
  border:1px solid #dae1da;
  border-radius:19px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.travel-style-photo,
.travel-style-photo img{
  width:112px;
  height:100%;
  min-height:124px;
}
.travel-style-photo img{object-fit:cover}
.travel-style-copy{
  align-self:center;
  padding:11px 13px;
}
.travel-style-copy strong{
  display:block;
  font:400 20px/1.08 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.travel-style-copy small{
  display:block;
  margin-top:7px;
  color:#859089;
  font:400 10.5px/1.35 "DM Sans",sans-serif;
}
.travel-style-card>i{
  align-self:center;
  color:var(--green);
  font-style:normal;
}

/* DESTINATIONS */
.travel-destination-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-auto-rows:230px;
  gap:12px;
}
.travel-destination-card{
  position:relative;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:21px;
  background:#e9eee9;
  cursor:pointer;
  text-align:left;
  color:#fff;
}
.travel-destination-card.wide{grid-column:span 2}
.travel-destination-photo,
.travel-destination-photo img,
.travel-destination-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.travel-destination-photo img{object-fit:cover}
.travel-destination-shade{
  background:linear-gradient(to top,rgba(8,34,22,.72),rgba(8,34,22,.03) 60%);
}
.travel-destination-copy{
  position:absolute;
  z-index:2;
  left:18px;right:44px;bottom:17px;
}
.travel-destination-copy small{
  display:block;
  margin-bottom:6px;
  color:rgba(255,255,255,.8);
  font:500 8px/1 "DM Sans",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.travel-destination-copy strong{
  display:block;
  font:400 28px/1 "Libre Caslon Display",serif;
}
.travel-destination-copy em{
  display:block;
  margin-top:5px;
  font:400 10.5px/1.2 "DM Sans",sans-serif;
  font-style:normal;
  color:rgba(255,255,255,.8);
}
.travel-destination-card>i{
  position:absolute;
  z-index:2;
  right:13px;top:13px;
  width:32px;height:32px;
  border-radius:50%;
  background:rgba(255,255,255,.9);
  display:grid;place-items:center;
  color:var(--green);
  font-style:normal;
}

/* BOTTOM + FLOATING */
.travel-bottom-note{
  padding:55px 0 35px;
  text-align:center;
}
.travel-floating{
  width:min(760px,calc(100vw - 36px)) !important;
}

/* TABLET */
@media(max-width:980px){
  .travel-hub{width:min(100% - 28px,900px)}
  .travel-hero{
    grid-template-columns:1fr 1fr;
    gap:28px;
  }
  .travel-hero-copy h1{font-size:52px}
  .travel-now-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:300px 190px 190px;
  }
  .travel-now-card.feature{grid-column:1/-1;grid-row:auto}
  .travel-now-card:last-child{grid-column:auto}
  .travel-style-grid{grid-template-columns:1fr 1fr}
  .travel-destination-grid{grid-template-columns:1fr 1fr}
}

/* MOBILE */
@media(max-width:760px){
  .travel-hub{
    width:100%;
    padding:0 0 130px;
  }
  .travel-hero{
    display:block;
    min-height:0;
    padding:30px 24px 30px;
    border-bottom:1px solid #dfe4dd;
  }
  .travel-hero-copy h1{
    margin-top:9px;
    font-size:48px;
    line-height:.98;
    max-width:600px;
  }
  .travel-hero-copy>p{
    font-size:14px;
    line-height:1.48;
  }
  .travel-quick-chips{
    margin-top:20px;
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:3px;
  }
  .travel-quick-chips::-webkit-scrollbar{display:none}
  .travel-quick-chips button{
    flex:0 0 auto;
    min-height:40px;
    padding:0 15px;
  }
  .travel-hero-photo{
    width:100%;
    min-height:250px;
    margin-top:24px;
    border-radius:22px;
  }
  .travel-hero-caption{
    left:18px;right:18px;bottom:17px;
  }
  .travel-hero-caption strong{font-size:23px}
  .travel-hero-caption i{width:38px;height:38px}

  .travel-section{
    padding:48px 22px;
  }
  .travel-section-heading{
    align-items:flex-start;
    margin-bottom:20px;
  }
  .travel-section-heading h2,
  .travel-builder-intro h2{
    font-size:37px;
  }
  .travel-section-heading p,
  .travel-builder-intro p{font-size:12.5px}
  .travel-season-label{
    flex:0 0 auto;
    padding:8px 11px;
    font-size:9.5px;
  }

  .travel-now-grid{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    gap:10px;
  }
  .travel-now-card,
  .travel-now-card.feature,
  .travel-now-card:last-child{
    grid-column:auto;
    grid-row:auto;
    min-height:175px;
  }
  .travel-now-card.feature{
    grid-column:1/-1;
    min-height:255px;
  }
  .travel-now-copy{
    left:14px;right:38px;bottom:13px;
  }
  .travel-now-copy strong{font-size:22px}
  .travel-now-card.feature .travel-now-copy strong{font-size:31px}
  .travel-now-copy span{font-size:8px;padding:5px 7px}

  .travel-builder-section{
    margin:0;
    padding:48px 20px 52px;
  }
  .travel-builder-card{
    padding:22px 20px 24px;
    border-radius:24px;
  }
  .travel-progress{margin-bottom:28px}
  .travel-step h3,
  .travel-builder-result h3{
    font-size:32px;
    margin-bottom:20px;
  }
  #trip-origin{
    min-height:57px;
    font-size:15px;
  }
  .travel-choice-grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }
  .travel-choice-grid button{
    min-height:64px;
    padding:8px 11px;
    font-size:13px;
  }

  .travel-style-grid{
    grid-template-columns:1fr;
    gap:9px;
  }
  .travel-style-card{
    min-height:105px;
    grid-template-columns:100px 1fr 22px;
  }
  .travel-style-photo,
  .travel-style-photo img{
    width:100px;
    min-height:105px;
  }
  .travel-style-copy strong{font-size:20px}

  .travel-destination-grid{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:205px;
    gap:10px;
  }
  .travel-destination-card.wide{
    grid-column:1/-1;
    min-height:235px;
  }
  .travel-destination-copy{
    left:14px;right:38px;bottom:13px;
  }
  .travel-destination-copy strong{font-size:23px}

  .travel-bottom-note{
    padding:42px 0 25px;
  }
  .travel-floating{
    width:calc(100vw - 24px) !important;
  }
}

@media(max-width:390px){
  .travel-hero-copy h1{font-size:43px}
  .travel-section-heading h2,
  .travel-builder-intro h2{font-size:34px}
  .travel-now-card:not(.feature){min-height:165px}
  .travel-choice-grid{grid-template-columns:1fr}
  .travel-destination-grid{grid-template-columns:1fr}
  .travel-destination-card.wide{grid-column:auto}
}


/* =========================================================
   V3.9.1 — READABILITY + PLAYER VIDEO PASS
   ========================================================= */

/* ---------------------------------------------------------
   Homepage: the four hubs already live in the hero body.
   Keep only the HH mark + menu in the masthead.
   --------------------------------------------------------- */
.home-minimal-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:82px !important;
}
.home-minimal-header .watch-mini-brand{
  flex:0 0 auto;
}
.home-minimal-header .watch-menu{
  margin-left:auto;
}

/* ---------------------------------------------------------
   Global hub navigation: make it much easier to see/tap.
   --------------------------------------------------------- */
body:not(:has(.home-minimal-header)) .watch-shell-header,
.answer-body .watch-shell-header{
  min-height:96px;
}
.watch-hub-nav{
  gap:clamp(24px,4.4vw,60px) !important;
}
.watch-hub-nav a{
  min-width:68px !important;
}
.watch-hub-nav a small{
  font-size:13.5px !important;
  line-height:1.2 !important;
}
.hub-nav-icon{
  width:54px !important;
  height:54px !important;
  margin-bottom:5px !important;
}
.hub-nav-icon svg{
  width:32px !important;
  height:32px !important;
  stroke-width:1.9 !important;
}

/* ---------------------------------------------------------
   Answer/result pages: larger reading text, not larger billboards.
   --------------------------------------------------------- */
.answer-body .answer-lede{
  font-size:24px !important;
  line-height:1.58 !important;
}
.answer-body .answer-card h2{
  font-size:31px !important;
  line-height:1.1 !important;
}
.answer-body .answer-card p,
.answer-body .tip-box p{
  font-size:17.5px !important;
  line-height:1.66 !important;
}
.answer-body .answer-card .meta{
  font-size:14px !important;
  line-height:1.5 !important;
}
.answer-body .answer-item strong{
  font-size:14px !important;
  line-height:1.3 !important;
}
.answer-body .followups a{
  font-size:15px !important;
  line-height:1.35 !important;
  padding:12px 16px !important;
}
.answer-body .sources-section a{
  font-size:13.5px !important;
  line-height:1.55 !important;
}
.answer-body .demo-note{
  font-size:13.5px !important;
  line-height:1.62 !important;
}

/* Video is content, not a tiny accessory. */
.event-highlights-head h3{
  font-size:34px !important;
}
.event-highlight-copy small{
  font-size:9.5px !important;
}
.event-highlight-copy h4{
  font-size:20px !important;
  line-height:1.15 !important;
}
.event-highlights-grid{
  grid-auto-columns:minmax(285px,39%) !important;
}

/* ---------------------------------------------------------
   Hub readability: selectively enlarge explanatory copy.
   Keep large serif headings exactly where they are.
   --------------------------------------------------------- */
.play-feature .section-heading p,
.travel-section-heading p,
.travel-builder-intro p,
.gear37-intro>p{
  font-size:14px !important;
  line-height:1.55 !important;
}
.discovery-copy p,
.travel-now-copy em,
.travel-style-copy small,
.travel-destination-copy em{
  font-size:12.5px !important;
  line-height:1.45 !important;
}
.destination-text small{
  font-size:10.5px !important;
  line-height:1.35 !important;
}

/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */
@media(max-width:760px){
  .home-minimal-header{
    min-height:72px !important;
    padding:7px 16px !important;
  }

  .watch-shell-header:not(.home-minimal-header){
    min-height:86px !important;
    grid-template-columns:50px minmax(0,1fr) 38px !important;
  }
  .watch-hub-nav{
    gap:6px !important;
  }
  .watch-hub-nav a{
    min-width:56px !important;
  }
  .watch-hub-nav a small{
    font-size:12.5px !important;
  }
  .hub-nav-icon{
    width:46px !important;
    height:46px !important;
    margin-bottom:3px !important;
  }
  .hub-nav-icon svg{
    width:27px !important;
    height:27px !important;
  }

  .answer-body .answer-lede{
    font-size:21.5px !important;
  }
  .answer-body .answer-card h2{
    font-size:30px !important;
  }
  .answer-body .answer-card p,
  .answer-body .tip-box p{
    font-size:17px !important;
    line-height:1.65 !important;
  }
  .answer-body .answer-card .meta{
    font-size:13.5px !important;
  }
  .answer-body .answer-item strong{
    font-size:13.5px !important;
  }
  .answer-body .followups a{
    font-size:14.5px !important;
  }

  .event-highlights-head h3{
    font-size:31px !important;
  }
  .event-highlights-grid{
    grid-auto-columns:84% !important;
    gap:13px !important;
  }
  .event-highlight-copy h4{
    font-size:20px !important;
  }

  .play-feature .section-heading p,
  .travel-section-heading p,
  .travel-builder-intro p,
  .gear37-intro>p{
    font-size:13.5px !important;
  }
}


/* =========================================================
   V3.9.2 — HUB HERO HARMONY
   Same HH grammar, different hub personalities.
   ========================================================= */

/* ---------------------------------------------------------
   SHARED DESKTOP RHYTHM
   --------------------------------------------------------- */
.play-hub,
.gear37-main,
.watch-v32-main,
.travel-hub{
  max-width:1120px !important;
}

/* Common eyebrow / kicker behavior */
.play-kicker,
.gear37-intro .gear37-kicker,
.watch-v32-label,
.travel-kicker{
  display:block !important;
  font:600 10px/1.2 "DM Sans",sans-serif !important;
  letter-spacing:.24em !important;
  color:var(--green) !important;
  text-transform:uppercase;
}

/* Common primary headline ceiling */
.play-hero h1,
.gear37-intro h1,
.watch-v32-hero h1,
.travel-hero-copy h1{
  font-size:clamp(54px,5.5vw,68px) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
}

/* Common supporting-copy readability */
.play-hero p,
.gear37-intro>p,
.travel-hero-copy>p{
  font-size:16px !important;
  line-height:1.55 !important;
  color:#68766f !important;
}

/* ---------------------------------------------------------
   PLAY — keep centered discovery personality, but compact it.
   --------------------------------------------------------- */
.play-hub{
  padding-top:18px !important;
}
.play-hero{
  min-height:300px !important;
  max-width:780px !important;
  margin:0 auto 10px !important;
  padding:26px 0 20px !important;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}
.play-hero-icon{
  width:70px !important;
  height:70px !important;
  margin:0 auto 10px !important;
}
.play-hero-icon svg{
  width:40px !important;
  height:40px !important;
  stroke-width:2.2 !important;
}
.play-hero h1{
  margin:8px 0 12px !important;
}
.play-hero p{
  max-width:620px !important;
}
.play-tabs{
  padding-top:10px !important;
  margin-top:0 !important;
}

/* ---------------------------------------------------------
   GEAR — keep editorial split, but stop it feeling oversized.
   --------------------------------------------------------- */
.gear37-intro{
  min-height:330px !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:54px !important;
  align-items:center !important;
  padding:42px 8px 38px !important;
}
.gear37-intro h1{
  margin-top:11px !important;
  max-width:690px;
}
.gear37-intro>p{
  max-width:410px !important;
  margin:25px 0 0 !important;
  align-self:center;
}
.gear37-section:first-of-type{
  padding-top:34px !important;
}

/* ---------------------------------------------------------
   WATCH — remain image-backed, but use same content hierarchy.
   --------------------------------------------------------- */
.watch-v32-main{
  padding-top:0 !important;
}
.watch-v32-hero{
  min-height:330px !important;
  margin:0 -28px !important;
  padding:42px max(32px,6.5vw) !important;
  background:
    linear-gradient(90deg,rgba(251,250,246,.98) 0%,rgba(251,250,246,.93) 34%,rgba(251,250,246,.34) 67%,rgba(251,250,246,.05) 100%),
    url('/assets/watch-hero.jpg') center/cover no-repeat !important;
}
.watch-v32-hero-copy{
  max-width:520px !important;
}
.watch-v32-label{
  margin-bottom:12px !important;
}
.watch-v32-hero h1{
  margin:0 0 12px !important;
}
.watch-v32-hero p{
  font-size:13px !important;
  line-height:1.7 !important;
  letter-spacing:.22em !important;
}
.watch-v32-hero .watch-live-status{
  margin-top:18px !important;
}
.watch-v32-tabs{
  padding-top:15px !important;
}

/* ---------------------------------------------------------
   TRAVEL — keep photographic split, but tighten vertical mass.
   --------------------------------------------------------- */
.travel-hub{
  padding-top:20px !important;
}
.travel-hero{
  min-height:350px !important;
  padding:26px 0 38px !important;
  gap:44px !important;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
}
.travel-hero-copy h1{
  margin:11px 0 14px !important;
  max-width:540px !important;
}
.travel-hero-copy>p{
  max-width:500px !important;
}
.travel-hero-photo{
  min-height:320px !important;
  border-radius:24px !important;
}
.travel-quick-chips{
  margin-top:23px !important;
}

/* ---------------------------------------------------------
   Common transition into first content section.
   --------------------------------------------------------- */
.play-tabs,
.watch-v32-tabs{
  border-top:1px solid rgba(220,226,219,.45);
}
.gear37-section:first-of-type,
.travel-section:first-of-type{
  border-top:1px solid #dfe4dd;
}

/* =========================================================
   TABLET
   ========================================================= */
@media(max-width:980px){
  .play-hero h1,
  .gear37-intro h1,
  .watch-v32-hero h1,
  .travel-hero-copy h1{
    font-size:clamp(48px,7vw,60px) !important;
  }

  .gear37-intro{
    gap:34px !important;
  }

  .travel-hero{
    gap:28px !important;
    grid-template-columns:1fr 1fr !important;
  }
}

/* =========================================================
   MOBILE — same hierarchy, each hub still unique.
   ========================================================= */
@media(max-width:760px){
  .play-hub,
  .gear37-main,
  .watch-v32-main,
  .travel-hub{
    max-width:none !important;
  }

  .play-hero h1,
  .gear37-intro h1,
  .watch-v32-hero h1,
  .travel-hero-copy h1{
    font-size:44px !important;
    line-height:.98 !important;
  }

  .play-kicker,
  .gear37-intro .gear37-kicker,
  .watch-v32-label,
  .travel-kicker{
    font-size:9.5px !important;
  }

  /* Play */
  .play-hub{
    padding-top:0 !important;
  }
  .play-hero{
    min-height:260px !important;
    padding:24px 22px 18px !important;
  }
  .play-hero-icon{
    width:60px !important;
    height:60px !important;
  }
  .play-hero-icon svg{
    width:35px !important;
    height:35px !important;
  }
  .play-hero p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  /* Gear */
  .gear37-intro{
    min-height:0 !important;
    display:block !important;
    padding:32px 12px 28px !important;
  }
  .gear37-intro h1{
    max-width:100% !important;
    margin-top:8px !important;
  }
  .gear37-intro>p{
    max-width:100% !important;
    margin:16px 0 0 !important;
    font-size:14px !important;
    line-height:1.5 !important;
  }

  /* Watch */
  .watch-v32-hero{
    min-height:280px !important;
    margin:0 -14px !important;
    padding:35px 24px !important;
    background:
      linear-gradient(90deg,rgba(251,250,246,.97) 0%,rgba(251,250,246,.88) 48%,rgba(251,250,246,.18) 100%),
      url('/assets/watch-hero.jpg') center/cover no-repeat !important;
  }
  .watch-v32-hero p{
    font-size:11.5px !important;
    letter-spacing:.18em !important;
  }

  /* Travel */
  .travel-hub{
    padding-top:0 !important;
  }
  .travel-hero{
    display:block !important;
    min-height:0 !important;
    padding:30px 22px 30px !important;
  }
  .travel-hero-copy h1{
    max-width:100% !important;
  }
  .travel-hero-copy>p{
    font-size:14px !important;
    line-height:1.5 !important;
  }
  .travel-hero-photo{
    min-height:240px !important;
    margin-top:22px !important;
  }
}


/* =========================================================
   V3.9.3 — READABILITY + PLAYER VIDEO + HUB HERO REFINEMENT
   ========================================================= */

/* ---------------------------------------------------------
   PLAY: the same confident editorial structure as Gear.
   The flag remains as a quiet Play-specific signature.
   --------------------------------------------------------- */
.play-hub{
  padding-top:18px !important;
}
.play-editorial-hero{
  width:100% !important;
  max-width:none !important;
  min-height:330px !important;
  margin:0 !important;
  padding:42px 8px 38px !important;
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:54px !important;
  align-items:center !important;
  text-align:left !important;
}
.play-hero-lead h1{
  margin:11px 0 0 !important;
  max-width:690px;
  font-size:clamp(54px,5.5vw,68px) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
}
.play-hero-lead h1 em{
  color:#718078;
  font-style:normal;
}
.play-hero-aside{
  max-width:430px;
  padding-top:18px;
}
.play-hero-aside p{
  max-width:410px !important;
  margin:14px 0 0 !important;
  color:#68766f !important;
  font-size:17px !important;
  line-height:1.6 !important;
}
.play-hero-mark{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px solid #dce5da;
  border-radius:50%;
  background:#eff3ec;
  color:var(--green);
}
.play-hero-mark svg{
  width:33px;
  height:33px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.play-hero-paths{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px;
}
.play-hero-paths span{
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 12px;
  border:1px solid #dce3dc;
  border-radius:18px;
  background:#fff;
  color:#52635a;
  font:600 11px/1 "DM Sans",sans-serif;
}

/* ---------------------------------------------------------
   WATCH: Travel's balanced split-photo format, tuned for live
   media rather than destination planning.
   --------------------------------------------------------- */
.watch-v32-main{
  padding-top:20px !important;
}
.watch-split-hero{
  min-height:350px !important;
  margin:0 !important;
  padding:26px 0 38px !important;
  display:grid !important;
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr) !important;
  gap:44px !important;
  align-items:center !important;
  background:none !important;
}
.watch-split-hero .watch-v32-hero-copy{
  max-width:520px !important;
}
.watch-split-hero .watch-v32-label{
  display:block !important;
  margin-bottom:12px !important;
}
.watch-split-hero .watch-v32-hero-copy h1{
  margin:0 0 14px !important;
  max-width:540px;
  font-size:clamp(54px,5.5vw,68px) !important;
  line-height:.96 !important;
  letter-spacing:-.025em !important;
}
.watch-split-hero .watch-v32-hero-copy h1 em{
  color:#718078;
  font-style:normal;
}
.watch-split-hero .watch-v32-hero-copy>p{
  max-width:500px;
  margin:0;
  color:#68766f !important;
  font-size:17px !important;
  line-height:1.6 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}
.watch-split-hero .watch-live-status{
  margin-top:20px !important;
}
.watch-split-photo{
  position:relative;
  min-height:320px;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:24px;
  background:#e9eee9;
  color:#fff;
  cursor:pointer;
  text-align:left;
}
.watch-split-photo>img,
.watch-split-shade{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.watch-split-photo>img{object-fit:cover}
.watch-split-shade{
  background:linear-gradient(to top,rgba(7,35,21,.68),rgba(7,35,21,.04) 62%);
}
.watch-split-caption{
  position:absolute;
  left:26px;
  right:26px;
  bottom:24px;
  display:grid;
  grid-template-columns:1fr auto;
  align-items:end;
  gap:8px 14px;
  z-index:2;
}
.watch-split-caption small{
  grid-column:1/-1;
  color:rgba(255,255,255,.82);
  font:600 9px/1 "DM Sans",sans-serif;
  letter-spacing:.2em;
}
.watch-split-caption strong{
  font:400 29px/1.05 "Libre Caslon Display",serif;
}
.watch-split-caption i{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.94);
  color:var(--green);
  font-size:19px;
  font-style:normal;
}

/* ---------------------------------------------------------
   Result pages: comfortable reading is a first-class feature.
   --------------------------------------------------------- */
.answer-body .answer-lede{
  font-size:26px !important;
  line-height:1.56 !important;
}
.answer-body .answer-card p,
.answer-body .tip-box p,
.answer-body .structured-intro{
  font-size:19px !important;
  line-height:1.68 !important;
  color:#43574d !important;
}
.answer-body .answer-card .meta{
  font-size:15.5px !important;
  line-height:1.55 !important;
}
.answer-body .answer-item{
  padding:13px 14px !important;
}
.answer-body .answer-item strong{
  font-size:16px !important;
  line-height:1.35 !important;
}
.answer-body .learn-more{
  font-size:15.5px !important;
}
.answer-body .followups a{
  font-size:16px !important;
}
.answer-body .sources-section a,
.answer-body .demo-note{
  font-size:15px !important;
}
.answer-body .assistant-heading p,
.answer-body .turn-bubble,
.answer-body .followup-lede{
  font-size:16.5px !important;
  line-height:1.62 !important;
}

/* Hub/article body copy that previously read like fine print. */
.play-feature .section-heading p,
.gear37-intro>p,
.travel-section-heading p,
.travel-builder-intro p,
.watch-v32-feature-body p{
  font-size:16px !important;
  line-height:1.58 !important;
}
.discovery-copy p,
.travel-now-copy em,
.travel-style-copy small,
.travel-destination-copy em,
.watch-v32-row-copy p,
.watch-v32-upcoming-card p,
.watch-v32-result-copy p{
  font-size:14px !important;
  line-height:1.5 !important;
}

/* Player highlight lookup now announces itself instead of failing silently. */
.highlight-loading-card,
.highlight-unavailable{
  width:min(100%,560px);
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  grid-auto-flow:row;
  gap:7px;
  padding:24px;
  border:1px solid #dce5da;
  border-radius:18px;
  background:#f4f7f1;
  color:#43574d;
  text-align:center;
}
.highlight-loading-card strong,
.highlight-unavailable strong{
  font:400 24px/1.15 "Libre Caslon Display",serif;
  color:var(--green-dark);
}
.highlight-loading-card small,
.highlight-unavailable span{
  font:400 14px/1.5 "DM Sans",sans-serif;
  color:#69776f;
}
.highlight-loading-pulse{
  width:14px;
  height:14px;
  margin-bottom:3px;
  border-radius:50%;
  background:var(--green);
  box-shadow:0 0 0 0 rgba(7,86,47,.28);
  animation:highlightPulse 1.35s infinite;
}
.highlight-unavailable button{
  min-height:38px;
  margin-top:7px;
  padding:0 16px;
  border:0;
  border-radius:20px;
  background:var(--green);
  color:#fff;
  font:600 12px/1 "DM Sans",sans-serif;
  cursor:pointer;
}
@keyframes highlightPulse{
  70%{box-shadow:0 0 0 14px rgba(7,86,47,0)}
  100%{box-shadow:0 0 0 0 rgba(7,86,47,0)}
}

@media(max-width:980px){
  .play-editorial-hero{gap:34px !important}
  .watch-split-hero{
    gap:28px !important;
    grid-template-columns:1fr 1fr !important;
  }
}

@media(max-width:760px){
  .play-editorial-hero{
    min-height:0 !important;
    display:block !important;
    padding:32px 22px 28px !important;
  }
  .play-hero-lead h1{
    margin-top:8px !important;
    font-size:44px !important;
    line-height:.98 !important;
  }
  .play-hero-aside{
    max-width:none;
    padding-top:16px;
  }
  .play-hero-mark{
    width:48px;
    height:48px;
  }
  .play-hero-mark svg{
    width:28px;
    height:28px;
  }
  .play-hero-aside p{
    margin-top:12px !important;
    font-size:16px !important;
  }

  .watch-v32-main{padding-top:0 !important}
  .watch-split-hero{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    padding:30px 22px 30px !important;
  }
  .watch-split-hero .watch-v32-hero-copy h1{
    font-size:44px !important;
    line-height:.98 !important;
  }
  .watch-split-hero .watch-v32-hero-copy>p{
    font-size:16px !important;
    line-height:1.55 !important;
  }
  .watch-split-photo{
    width:100%;
    min-height:240px;
    margin-top:22px;
    border-radius:22px;
  }
  .watch-split-caption{
    left:18px;
    right:18px;
    bottom:17px;
  }
  .watch-split-caption strong{font-size:24px}
  .watch-split-caption i{width:38px;height:38px}

  .answer-body .answer-lede{
    font-size:23px !important;
    line-height:1.56 !important;
  }
  .answer-body .answer-card p,
  .answer-body .tip-box p,
  .answer-body .structured-intro{
    font-size:18px !important;
    line-height:1.66 !important;
  }
  .answer-body .answer-card .meta{
    font-size:15px !important;
  }
  .answer-body .answer-item strong{
    font-size:15px !important;
  }
  .answer-body .sources-section a,
  .answer-body .demo-note{
    font-size:14px !important;
  }
  .answer-body .assistant-heading p,
  .answer-body .turn-bubble,
  .answer-body .followup-lede{
    font-size:16px !important;
  }
  .play-feature .section-heading p,
  .gear37-intro>p,
  .travel-section-heading p,
  .travel-builder-intro p,
  .watch-v32-feature-body p{
    font-size:15px !important;
  }
  .discovery-copy p,
  .travel-now-copy em,
  .travel-style-copy small,
  .travel-destination-copy em,
  .watch-v32-row-copy p,
  .watch-v32-upcoming-card p,
  .watch-v32-result-copy p{
    font-size:13.5px !important;
  }
  .highlight-loading-card,
  .highlight-unavailable{
    min-height:138px;
    padding:20px 16px;
  }
}

/* Final cascade guard for V3.9.3.1 carousel containment. */
.answer-body .answer-grid,
.answer-body .answer-grid > *,
.answer-body .event-highlights-section,
.answer-body .event-highlights-grid{
  min-width:0;
  max-width:100%;
}
.answer-body .answer-grid,
.answer-body .event-highlights-section,
.answer-body .event-highlights-grid{
  width:100%;
  box-sizing:border-box;
}
.answer-body .answer-grid{
  width:min(100%,900px);
  max-width:900px;
  margin-left:auto;
  margin-right:auto;
}
.answer-body .event-highlights-section{
  overflow:hidden;
}
.answer-body .event-highlights-grid{
  overflow-x:auto;
  overflow-y:hidden;
}

/* =========================================================
   V3.10 — PLAY FOR TODAY
   Nearby golf, tee times, practice and everyday game help.
   ========================================================= */
.playday-hub{
  width:min(1120px,calc(100% - 40px));
  margin:0 auto;
  padding:0 0 150px;
  color:var(--green-dark);
}
.playday-hero{
  min-height:278px;
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:clamp(44px,7vw,96px);
  align-items:end;
  padding:42px 8px 34px;
  border-bottom:1px solid var(--line);
}
.playday-hero-copy h1{
  max-width:650px;
  margin:9px 0 0;
  font:400 clamp(58px,6vw,82px)/.88 "Libre Caslon Display",serif;
  letter-spacing:-.035em;
}
.playday-hero-copy h1 em{font-weight:400;color:var(--green);}
.playday-hero-aside{padding-bottom:3px;}
.playday-hero-aside>p{
  max-width:440px;
  margin:0 0 21px;
  font:400 17px/1.58 "DM Sans",sans-serif;
  color:#53655c;
}
.playday-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.playday-quick-actions button,
.playday-tabs button,
.playday-video-filters button{
  border:1px solid #d7e0d5;
  background:#fff;
  color:var(--green-dark);
  cursor:pointer;
  font:600 12px/1 "DM Sans",sans-serif;
}
.playday-quick-actions button{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:7px;
  padding:0 14px;
  border-radius:22px;
}
.playday-quick-actions button:hover,
.playday-tabs button:hover,
.playday-video-filters button:hover{border-color:var(--green);color:var(--green);}
.playday-quick-actions span{font-size:16px;font-weight:400;}
.playday-tabs{
  position:sticky;
  z-index:12;
  top:96px;
  display:flex;
  justify-content:center;
  gap:8px;
  margin:0 -20px;
  padding:13px 20px;
  overflow-x:auto;
  background:rgba(250,250,247,.94);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}
.playday-tabs::-webkit-scrollbar{display:none;}
.playday-tabs button{
  min-height:38px;
  padding:0 16px;
  border-radius:20px;
  white-space:nowrap;
}
.playday-section{
  padding:68px 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:165px;
}
.playday-section-heading{margin-bottom:28px;}
.playday-section-heading.centered{max-width:720px;margin:0 auto 28px;text-align:center;}
.playday-section-heading.split{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);
  gap:54px;
  align-items:end;
}
.playday-section-heading h2,
.playday-tee-intro h2{
  margin:8px 0 0;
  font:400 clamp(42px,4.5vw,58px)/.98 "Libre Caslon Display",serif;
  letter-spacing:-.025em;
}
.playday-section-heading p,
.playday-tee-intro>p{
  margin:10px 0 0;
  font:400 16px/1.6 "DM Sans",sans-serif;
  color:#607067;
}
.playday-section-heading.split>p{margin:0 0 4px;}

/* Location consent is intentionally compact and unmistakable. */
.playday-location-card{
  width:min(610px,100%);
  min-height:310px;
  margin:0 auto;
  padding:34px 34px 30px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid #dce4da;
  border-radius:28px;
  background:linear-gradient(145deg,#f1f6ef,#fbfcf8 62%);
  text-align:center;
  box-shadow:0 18px 44px rgba(27,61,42,.07);
}
.playday-location-card[hidden]{display:none;}
.playday-location-art{
  position:relative;
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  margin-bottom:13px;
  border-radius:50%;
  background:#fff;
  color:var(--green);
  box-shadow:0 8px 24px rgba(7,86,47,.1);
}
.playday-location-art svg{position:relative;z-index:2;width:37px;height:37px;fill:none;stroke:currentColor;stroke-width:1.8;}
.location-ring{position:absolute;inset:-8px;border:1px solid rgba(7,86,47,.14);border-radius:50%;}
.location-ring.ring-two{inset:-17px;opacity:.55;}
.playday-location-art.error{font:500 30px/1 "DM Sans",sans-serif;}
.playday-location-card h3{margin:16px 0 8px;font:400 35px/1 "Libre Caslon Display",serif;}
.playday-location-card>p{max-width:450px;margin:0 0 20px;font:400 15.5px/1.58 "DM Sans",sans-serif;color:#5d6d64;}
.playday-location-card>small{margin-top:11px;font:500 11px/1.4 "DM Sans",sans-serif;color:#77837c;}
.playday-primary-btn,
.playday-submit-btn{
  border:0;
  border-radius:28px;
  background:var(--green);
  color:#fff;
  cursor:pointer;
  font:600 14px/1 "DM Sans",sans-serif;
  box-shadow:0 10px 24px rgba(7,86,47,.18);
}
.playday-primary-btn{
  min-width:210px;
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 24px;
}
.playday-primary-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;}
.playday-primary-btn:disabled{opacity:.72;cursor:wait;}
.playday-locating{display:flex;flex-direction:column;align-items:center;gap:9px;}
.playday-locating span{
  width:20px;height:20px;border-radius:50%;background:var(--green);
  box-shadow:0 0 0 0 rgba(7,86,47,.24);animation:highlightPulse 1.3s infinite;
}
.playday-locating strong{font:400 30px/1.1 "Libre Caslon Display",serif;}
.playday-locating small{font:400 13px/1.5 "DM Sans",sans-serif;color:#68776e;}

/* Live local results. */
.playday-nearby-results[hidden]{display:none;}
.playday-local-summary{
  min-height:66px;
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:34px;
  padding:11px 14px;
  border:1px solid #dbe4d9;
  border-radius:18px;
  background:#f4f7f1;
}
.playday-live-dot{width:10px;height:10px;margin-left:4px;border-radius:50%;background:#28a361;box-shadow:0 0 0 6px rgba(40,163,97,.1);}
.playday-local-summary div{display:flex;flex-direction:column;gap:3px;}
.playday-local-summary small{font:700 9px/1 "DM Sans",sans-serif;letter-spacing:.18em;color:#708078;}
.playday-local-summary strong{font:500 16px/1.25 "DM Sans",sans-serif;}
.playday-local-summary button{margin-left:auto;border:0;background:transparent;color:var(--green);font:600 12px/1 "DM Sans",sans-serif;cursor:pointer;}
.playday-result-group{margin-top:44px;scroll-margin-top:170px;}
.playday-group-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px;}
.playday-group-heading>div{display:flex;align-items:center;gap:11px;}
.playday-group-heading span{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#edf3ea;color:var(--green);font:700 9px/1 "DM Sans",sans-serif;}
.playday-group-heading h3{margin:0;font:400 32px/1 "Libre Caslon Display",serif;}
.playday-group-heading p{margin:0;font:400 13px/1.4 "DM Sans",sans-serif;color:#718078;}
.playday-course-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr .85fr;
  gap:14px;
}
.playday-course-card{
  position:relative;
  min-width:0;
  min-height:208px;
  padding:0;
  overflow:hidden;
  border:0;
  border-radius:20px;
  background:#163d2a;
  color:#fff;
  cursor:pointer;
  text-align:left;
}
.playday-course-card.featured{grid-row:span 2;min-height:430px;}
.playday-course-photo,.playday-course-photo img{position:absolute;inset:0;width:100%;height:100%;}
.playday-course-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,24,14,.02) 28%,rgba(5,24,14,.87) 100%);}
.playday-course-photo img{object-fit:cover;transition:transform .5s ease;}
.playday-course-card:hover img,.playday-drive-card:hover img{transform:scale(1.035);}
.playday-course-copy{position:absolute;z-index:2;left:20px;right:42px;bottom:18px;display:flex;flex-direction:column;}
.playday-course-copy small,.playday-drive-card small{font:700 9px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#d4ead8;}
.playday-course-copy strong{margin:7px 0 4px;font:400 25px/1.03 "Libre Caslon Display",serif;}
.playday-course-card.featured .playday-course-copy strong{font-size:37px;}
.playday-course-copy em,.playday-practice-card em,.playday-drive-card em{font:400 12px/1.35 "DM Sans",sans-serif;color:rgba(255,255,255,.8);}
.playday-course-card>i,.playday-drive-card>i{position:absolute;z-index:3;right:17px;bottom:18px;font:400 20px/1 "DM Sans",sans-serif;font-style:normal;}
.playday-practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.playday-practice-card{
  position:relative;
  min-height:185px;
  padding:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  border:1px solid #dce4da;
  border-radius:19px;
  background:#fff;
  color:var(--green-dark);
  cursor:pointer;
  text-align:left;
}
.playday-practice-card>span{width:42px;height:42px;display:grid;place-items:center;margin-bottom:auto;border-radius:50%;background:#eef4eb;color:var(--green);font:400 20px/1 "DM Sans",sans-serif;}
.playday-practice-card small{margin-top:18px;font:700 9px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;color:#6f8077;text-transform:uppercase;}
.playday-practice-card strong{margin:7px 32px 5px 0;font:400 23px/1.05 "Libre Caslon Display",serif;}
.playday-practice-card em{color:#718078;}
.playday-practice-card>i{position:absolute;right:18px;bottom:19px;color:var(--green);font-style:normal;}
.playday-drive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.playday-drive-card{position:relative;min-height:250px;padding:0;overflow:hidden;border:0;border-radius:18px;background:#173b2a;color:#fff;cursor:pointer;text-align:left;}
.playday-drive-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(4,24,13,.9));}
.playday-drive-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.playday-drive-card>span{position:absolute;z-index:2;left:17px;right:34px;bottom:17px;display:flex;flex-direction:column;}
.playday-drive-card strong{margin:7px 0 4px;font:400 23px/1.03 "Libre Caslon Display",serif;}
.playday-empty{grid-column:1/-1;padding:26px;border:1px dashed #cad7ca;border-radius:16px;color:#69776f;text-align:center;font:400 14px/1.5 "DM Sans",sans-serif;}

/* Tee-time intent capture. */
.playday-tee-section{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:clamp(44px,7vw,90px);
  align-items:center;
  margin-top:22px;
  padding:58px clamp(28px,5vw,64px);
  border:0;
  border-radius:28px;
  background:#eef4ea;
}
.playday-tee-intro h2{font-size:52px;}
.playday-tee-note{display:flex;align-items:center;gap:11px;margin-top:24px;}
.playday-tee-note>span{width:39px;height:39px;flex:0 0 auto;display:grid;place-items:center;border:1px solid #bdd0bd;border-radius:50%;font:400 14px/1 "Libre Caslon Display",serif;color:var(--green);}
.playday-tee-note p{margin:0;font:400 11.5px/1.48 "DM Sans",sans-serif;color:#6b7971;}
.playday-tee-form{
  padding:24px;
  border:1px solid #d9e4d6;
  border-radius:22px;
  background:#fff;
  box-shadow:0 16px 40px rgba(30,66,45,.08);
}
.playday-tee-form label{display:flex;flex-direction:column;gap:7px;font:600 11px/1.2 "DM Sans",sans-serif;color:#4f6257;}
.playday-tee-form input,.playday-tee-form select{
  width:100%;height:48px;padding:0 13px;border:1px solid #d6dfd4;border-radius:12px;background:#fafbf8;color:#213f30;font:500 14px/1 "DM Sans",sans-serif;outline:none;
}
.playday-tee-form input:focus,.playday-tee-form select:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(7,86,47,.08);}
.playday-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:13px;}
.playday-submit-btn{width:100%;min-height:52px;display:flex;align-items:center;justify-content:center;gap:20px;margin-top:17px;}
.playday-submit-btn span{font-size:19px;}

/* Instruction rail. */
.playday-video-filters{display:flex;gap:8px;margin:25px 0 18px;overflow-x:auto;scrollbar-width:none;}
.playday-video-filters::-webkit-scrollbar{display:none;}
.playday-video-filters button{min-height:38px;padding:0 15px;border-radius:20px;white-space:nowrap;}
.playday-video-filters button.active{border-color:var(--green);background:var(--green);color:#fff;}
.playday-video-rail{
  width:100%;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,32%);gap:13px;overflow-x:auto;overflow-y:hidden;padding-bottom:8px;scroll-snap-type:x proximity;scrollbar-width:none;
}
.playday-video-rail::-webkit-scrollbar{display:none;}
.playday-video-card{min-width:0;scroll-snap-align:start;}
.playday-video-thumb{position:relative;width:100%;aspect-ratio:16/9;padding:0;overflow:hidden;border:0;border-radius:18px;background:#183c2a;cursor:pointer;}
.playday-video-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.playday-video-thumb:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(4,23,13,.55));}
.playday-video-thumb>span{position:absolute;z-index:2;left:50%;top:50%;width:50px;height:50px;display:grid;place-items:center;padding-left:3px;border-radius:50%;background:rgba(255,255,255,.94);color:var(--green);font-size:17px;transform:translate(-50%,-50%);box-shadow:0 8px 20px rgba(0,0,0,.14);}
.playday-video-thumb>small{position:absolute;z-index:2;left:12px;bottom:10px;padding:6px 9px;border-radius:12px;background:rgba(7,86,47,.9);color:#fff;font:700 8px/1 "DM Sans",sans-serif;letter-spacing:.12em;text-transform:uppercase;}
.playday-video-copy{padding:13px 4px 0;}
.playday-video-copy>small{font:700 9px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--green);}
.playday-video-copy h3{margin:6px 0 5px;font:400 23px/1.06 "Libre Caslon Display",serif;}
.playday-video-copy p{margin:0;font:400 13px/1.45 "DM Sans",sans-serif;color:#6b7971;}

/* Pre-round utilities. */
.playday-tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.playday-tools-grid button{
  position:relative;min-height:225px;padding:20px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid #dce4da;border-radius:20px;background:#fff;color:var(--green-dark);cursor:pointer;text-align:left;
}
.playday-tools-grid .tool-icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:auto;border-radius:50%;background:#edf4ea;color:var(--green);font:400 22px/1 "DM Sans",sans-serif;}
.playday-tools-grid small{margin-top:22px;font:700 9px/1.2 "DM Sans",sans-serif;letter-spacing:.16em;color:#718078;}
.playday-tools-grid strong{max-width:185px;margin-top:8px;font:400 25px/1.05 "Libre Caslon Display",serif;}
.playday-tools-grid i{position:absolute;right:20px;bottom:20px;color:var(--green);font-style:normal;font-size:18px;}
.playday-tools-grid button:hover,.playday-practice-card:hover{border-color:#a9c2aa;box-shadow:0 12px 28px rgba(33,70,48,.07);}

@media(max-width:900px){
  .playday-course-grid{grid-template-columns:1fr 1fr;}
  .playday-course-card.featured{grid-column:1/-1;grid-row:auto;min-height:350px;}
  .playday-drive-grid,.playday-tools-grid{grid-template-columns:1fr 1fr;}
}

@media(max-width:760px){
  .playday-hub{width:calc(100% - 36px);padding-bottom:145px;}
  .playday-hero{min-height:0;display:block;padding:31px 4px 27px;}
  .playday-hero-copy h1{font-size:54px;line-height:.89;}
  .playday-hero-aside{padding-top:20px;}
  .playday-hero-aside>p{font-size:16px;line-height:1.55;margin-bottom:17px;}
  .playday-quick-actions{display:grid;grid-template-columns:1fr 1fr;}
  .playday-quick-actions button{justify-content:center;padding:0 10px;}
  .playday-quick-actions button:last-child{grid-column:1/-1;}
  .playday-tabs{top:86px;justify-content:flex-start;margin:0 -18px;padding:11px 18px;}
  .playday-tabs button{min-height:36px;padding:0 14px;}
  .playday-section{padding:49px 0;scroll-margin-top:145px;}
  .playday-section-heading.centered{margin-bottom:22px;}
  .playday-section-heading.split{display:block;}
  .playday-section-heading h2,.playday-tee-intro h2{font-size:42px;line-height:.98;}
  .playday-section-heading p,.playday-tee-intro>p{font-size:15px;line-height:1.55;}
  .playday-section-heading.split>p{margin-top:12px;}
  .playday-location-card{min-height:315px;padding:29px 21px 25px;border-radius:24px;}
  .playday-location-art{width:68px;height:68px;}
  .playday-location-card h3{font-size:31px;}
  .playday-location-card>p{font-size:14.5px;}
  .playday-primary-btn{min-width:205px;min-height:52px;}
  .playday-group-heading{display:block;margin-bottom:14px;}
  .playday-group-heading>div{margin-bottom:6px;}
  .playday-group-heading h3{font-size:29px;}
  .playday-course-grid{grid-template-columns:1fr;}
  .playday-course-card,.playday-course-card.featured{grid-column:auto;min-height:235px;}
  .playday-course-card.featured{min-height:305px;}
  .playday-course-card.featured .playday-course-copy strong{font-size:32px;}
  .playday-practice-grid{display:grid;grid-auto-flow:column;grid-auto-columns:83%;grid-template-columns:none;overflow-x:auto;padding-bottom:5px;scroll-snap-type:x proximity;scrollbar-width:none;}
  .playday-practice-card{scroll-snap-align:start;}
  .playday-drive-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
  .playday-drive-card{min-height:225px;}
  .playday-drive-card strong{font-size:21px;}
  .playday-tee-section{display:block;margin:9px -6px 0;padding:34px 20px;border-radius:24px;}
  .playday-tee-note{margin:19px 0 25px;}
  .playday-tee-form{padding:18px;border-radius:19px;}
  .playday-form-row{grid-template-columns:1fr;}
  .playday-video-filters{margin-top:19px;}
  .playday-video-rail{grid-auto-columns:84%;}
  .playday-video-copy h3{font-size:22px;}
  .playday-tools-grid{grid-template-columns:1fr 1fr;gap:10px;}
  .playday-tools-grid button{min-height:205px;padding:17px;}
  .playday-tools-grid strong{font-size:22px;}
  .playday-tools-grid i{right:17px;bottom:17px;}
}

@media(max-width:420px){
  .playday-drive-grid,.playday-tools-grid{grid-template-columns:1fr;}
  .playday-drive-card{min-height:240px;}
  .playday-tools-grid button{min-height:180px;}
}
