/* 19Fairways — marketing feature pages shared styles (v103.465) */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700;800&family=Playfair+Display:ital,wght@0,600;0,700;0,800;1,600&display=swap');

:root{
  --bg:#16321e; --bg-2:#0d1f13; --card:#1a2e1f; --card-2:#13281a;
  --gold:#f2d06b; --gold-hi:#f5da7a; --on-gold:#0d2e18;
  --green:#1a5c2e; --green-hi:#4caf6e;
  --text:#e8f0eb; --muted:rgba(232,240,235,.62); --faint:rgba(232,240,235,.4);
  --border:rgba(242,208,107,.16); --border-soft:rgba(255,255,255,.08);
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);min-height:100%}
body{font-family:'DM Sans',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--gold);text-decoration:none}
img{max-width:100%}
.serif{font-family:'Playfair Display',Georgia,serif}

/* Nav — logo + section links + Sign in. On desktop one row (links right-
   aligned, Sign in at the far right). On mobile the logo + Sign in share the
   top row and the section links drop to a centered row beneath — so Sign in
   never gets stranded below the link pills. */
.fx-nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:8px;flex-wrap:wrap;row-gap:8px;
  /* v103.468: match the main page (.lp-nav) — unified #16321e (rgb 22,50,30)
     so the nav blends into the body instead of a darker #0d1f13 band with a
     hard border seam; env-inset top padding with no fixed px floor. */
  padding:10px 16px;padding-top:calc(env(safe-area-inset-top, 0px) + 14px);padding-bottom:12px;
  background:rgba(22,50,30,.95);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.fx-nav-logo{display:flex;align-items:center;gap:8px;font-family:'Playfair Display',serif;font-weight:800;
  font-size:16px;letter-spacing:.5px;color:var(--gold);flex-shrink:0}
.fx-nav-logo svg{flex-shrink:0}
.fx-nav-links{display:flex;align-items:center;gap:12px;flex:1;justify-content:flex-end;flex-wrap:wrap}
.fx-nav-links a:not(.fx-btn-gold){color:#f2d06b;background:rgba(242,208,107,.12);border:1px solid rgba(242,208,107,.4);border-radius:9px;padding:7px 13px;font-size:13px;font-weight:700;text-decoration:none;white-space:nowrap;transition:all .15s}
.fx-nav-links a:not(.fx-btn-gold):hover{background:rgba(242,208,107,.24);border-color:#f2d06b;color:#f5da7a}
.fx-btn-gold{background:var(--gold);color:var(--on-gold);border:none;border-radius:7px;padding:10px 16px;
  font-family:'DM Sans',sans-serif;font-weight:700;font-size:12px;cursor:pointer;transition:all .2s;white-space:nowrap}
.fx-btn-gold:hover{background:var(--gold-hi);transform:translateY(-1px)}
.fx-nav-signin{flex-shrink:0}
.fx-nav-signin,.fx-nav-signin:hover{color:var(--on-gold);text-decoration:none}
.fx-btn-outline{background:transparent;color:var(--text);border:1px solid var(--border);border-radius:10px;
  padding:11px 20px;font-family:'DM Sans',sans-serif;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s}
.fx-btn-outline:hover{border-color:var(--gold);color:var(--gold)}

/* Layout */
.fx-wrap{max-width:1040px;margin:0 auto;padding:0 22px}
.fx-hero{text-align:center;padding:52px 22px 28px;max-width:820px;margin:0 auto}
.fx-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:1.4px;
  text-transform:uppercase;color:var(--gold);background:rgba(242,208,107,.1);border:1px solid var(--border);
  padding:7px 14px;border-radius:30px;margin-bottom:18px}
.fx-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--green-hi)}
.fx-hero h1{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(34px,6vw,56px);line-height:1.08;
  margin:0 0 16px;letter-spacing:-.5px}
.fx-hero h1 em{color:var(--gold);font-style:italic}
.fx-hero p{font-size:clamp(16px,2.4vw,20px);color:var(--muted);margin:0 auto 24px;max-width:640px}
.fx-hero-ctas{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Section */
.fx-section{padding:34px 0;border-top:1px solid var(--border-soft)}
.fx-section-head{max-width:720px;margin-bottom:22px}
.fx-kicker{font-size:12px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.fx-section h2{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(26px,4vw,38px);line-height:1.12;margin:0 0 12px}
.fx-section .lede{font-size:17px;color:var(--muted);margin:0}

/* Feature blocks — alternating rich rows. Media panel hugs its content
   (no fixed min-height) so the sparse stat/pill panels don't read as
   empty boxes; on mobile they stack compactly under the copy. */
.fx-feature{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;padding:22px 0}
.fx-feature.rev .fx-feature-media{order:-1}
.fx-feature h3{font-family:'Playfair Display',serif;font-weight:700;font-size:clamp(22px,3vw,30px);margin:0 0 12px}
.fx-feature p{color:var(--muted);font-size:16px;margin:0 0 16px}
.fx-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.fx-list li{display:flex;gap:10px;align-items:flex-start;font-size:15px;color:var(--text)}
.fx-list li::before{content:"";flex-shrink:0;width:18px;height:18px;margin-top:2px;border-radius:50%;
  background:var(--green);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23f2d06b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:center}
.fx-feature-media{background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--border);
  border-radius:18px;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:12px}

/* Card grid (hub + chips) */
.fx-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.fx-card{background:var(--card);border:1px solid var(--border-soft);border-radius:14px;padding:16px;
  transition:all .2s;color:var(--text);
  /* v103.469: icon sits in a left column, text stacks to its right (Option B) */
  display:grid;grid-template-columns:auto 1fr;column-gap:13px;align-items:start}
.fx-card > :not(.fx-card-ico){grid-column:2;min-width:0}
a.fx-card:hover{border-color:var(--gold);transform:translateY(-3px)}
.fx-card-ico{grid-column:1;grid-row:1 / span 99;align-self:start;
  width:38px;height:38px;border-radius:10px;background:rgba(242,208,107,.12);display:flex;
  align-items:center;justify-content:center}
.fx-card h3{font-family:'Playfair Display',serif;font-weight:700;font-size:18px;margin:0 0 5px}
.fx-card p{color:var(--muted);font-size:13px;line-height:1.5;margin:0}
.fx-pill{display:inline-block;font-size:12px;font-weight:700;color:var(--gold);background:rgba(242,208,107,.1);
  border:1px solid var(--border);border-radius:20px;padding:5px 11px;margin:3px 4px 0 0}
.fx-stat{font-family:'Playfair Display',serif;font-weight:800;font-size:34px;color:var(--gold);line-height:1}
.fx-stat-lbl{font-size:13px;color:var(--muted);margin-top:4px}

/* CTA + footer */
.fx-cta{text-align:center;background:linear-gradient(160deg,var(--card),var(--card-2));border:1px solid var(--border);
  border-radius:22px;padding:36px 24px;margin:34px 0}
.fx-cta h2{font-family:'Playfair Display',serif;font-weight:800;font-size:clamp(26px,4vw,38px);margin:0 0 12px}
.fx-cta p{color:var(--muted);font-size:17px;margin:0 auto 24px;max-width:520px}
.fx-footer{border-top:1px solid var(--border-soft);padding:30px 22px;text-align:center;color:var(--faint);font-size:13px}
.fx-footer a{color:var(--faint)}
.fx-back{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:14px;font-weight:600;margin-bottom:8px}
.fx-back:hover{color:var(--gold)}

@media(max-width:760px){
  .fx-feature{grid-template-columns:1fr;gap:16px;padding:18px 0}
  .fx-grid--tight{grid-template-columns:repeat(2,1fr);gap:10px}
  .fx-grid--tight .fx-card{padding:13px}
  .fx-grid--tight .fx-card h3{font-size:14px;margin-bottom:4px}
  .fx-grid--tight .fx-card p{font-size:12px}
  .fx-feature.rev .fx-feature-media{order:0}
  /* Two-row nav: logo + Sign in on top, section links centered below. */
  .fx-nav-logo{flex:0 0 auto}
  .fx-nav-logo-text{display:none}
  .fx-nav-signin{order:2;margin-left:auto}
  .fx-nav-links{order:3;flex-basis:100%;justify-content:center;gap:8px}
}
