/* Marketing site — shares the app's brand palette, its own layout. */
:root { --ink:#0f2230; --ink-soft:#4a6b7c; --ink-faint:#86a0ad; --paper:#eff3f5; --card:#fff; --line:#dde6ea; --accent:#1b3a4b; --accent-2:#24506a; --teal:#2f7ea3; --gold:#c9a13b; --gold-ink:#8a6d1d; --gold-soft:#f6efdc;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif; --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.site { margin:0; font-family:var(--sans); color:var(--ink); background:#fff; line-height:1.65; font-size:17px; }
h1,h2,h3 { font-family:var(--serif); font-weight:600; letter-spacing:-0.01em; line-height:1.15; margin:0 0 .6rem; }
h1 { font-size:clamp(2.1rem,5vw,3.4rem); } h2 { font-size:clamp(1.6rem,3vw,2.3rem); } h3 { font-size:1.25rem; }
p { margin:0 0 1rem; } a { color:var(--accent); }
img { max-width:100%; height:auto; display:block; }
.s-wrap { max-width:1080px; margin:0 auto; padding:0 1.25rem; }
.s-eyebrow { display:inline-block; letter-spacing:.14em; text-transform:uppercase; font-size:.74rem; font-weight:700; color:var(--gold-ink); margin-bottom:.6rem; }
.s-lead { font-size:1.2rem; color:var(--ink-soft); max-width:62ch; }
.s-fine { font-size:.85rem; color:var(--ink-faint); }
.s-btn { display:inline-flex; align-items:center; gap:.4rem; padding:.8rem 1.4rem; border-radius:999px; text-decoration:none; font-weight:600; border:1px solid var(--accent); color:var(--accent); background:#fff; transition:transform .1s, background .15s; white-space:nowrap; }
.s-btn:hover { background:var(--paper); } .s-btn:active { transform:translateY(1px); }
.s-btn-primary { background:var(--accent); color:#fff; } .s-btn-primary:hover { background:var(--accent-2); }
.s-btn-gold { background:var(--gold); border-color:var(--gold); color:var(--ink); } .s-btn-gold:hover { background:#dcb452; }
.s-btn-ghost { background:transparent; border-color:rgba(255,255,255,.4); color:#fff; } .s-btn-ghost:hover { background:rgba(255,255,255,.12); }
.s-btn-lg { padding:1rem 1.8rem; font-size:1.05rem; }

/* nav */
.s-nav { position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:1rem; padding:.7rem 1.25rem; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.s-brand { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--serif); font-weight:700; font-size:1.05rem; text-decoration:none; color:var(--ink); }
.s-brand em { font-style:normal; font-family:var(--sans); font-weight:500; color:var(--ink-soft); font-size:.9rem; }
.s-links { margin-left:auto; display:flex; align-items:center; gap:.2rem; }
.s-links a { text-decoration:none; color:var(--ink-soft); padding:.45rem .75rem; border-radius:999px; font-weight:500; font-size:.95rem; }
.s-links a:hover, .s-links a.on { color:var(--ink); background:var(--paper); }
.s-links .s-login { color:var(--ink-faint); }
.s-links .s-btn { margin-left:.5rem; padding:.55rem 1.1rem; }
.s-burger { display:none; margin-left:auto; background:none; border:1px solid var(--line); border-radius:8px; font-size:1.3rem; padding:.2rem .6rem; }
@media (max-width:900px) {
  .s-brand em { display:none; }
  .s-links { display:none; position:absolute; top:100%; left:0; right:0; background:#fff; border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; padding:.75rem; gap:.25rem; }
  .s-links a { padding:.7rem .9rem; } .s-links .s-btn { margin:.25rem 0 0; justify-content:center; }
  body.nav-open .s-links { display:flex; }
  .s-burger { display:block; }
}

/* hero */
.s-hero { position:relative; color:#fff; background:var(--accent) url('/content-images/hero-mountains.jpg') center 40%/cover no-repeat; min-height:78vh; display:flex; align-items:center; }
.s-hero::before { content:""; position:absolute; inset:0; background:linear-gradient(100deg, rgba(15,34,48,.94) 0%, rgba(15,34,48,.78) 45%, rgba(15,34,48,.35) 100%); }
.s-hero .s-wrap { position:relative; padding-top:4rem; padding-bottom:4rem; }
.s-hero h1 { color:#fff; max-width:15ch; }
.s-hero .s-eyebrow { color:var(--gold); }
.s-hero p { color:rgba(255,255,255,.85); max-width:56ch; font-size:1.15rem; }
.s-hero-actions { display:flex; gap:.75rem; flex-wrap:wrap; margin:1.6rem 0 1rem; }
.s-hero-proof { display:flex; gap:1.5rem; flex-wrap:wrap; font-size:.9rem; color:rgba(255,255,255,.75); }
.s-hero-proof strong { color:#fff; display:block; font-family:var(--serif); font-size:1.3rem; }

/* sections */
.s-section { padding:4.5rem 0; }
.s-section.alt { background:var(--paper); }
.s-section.dark { background:var(--accent); color:#fff; }
.s-section.dark h2, .s-section.dark h3 { color:#fff; } .s-section.dark .s-lead { color:rgba(255,255,255,.8); } .s-section.dark .s-eyebrow { color:var(--gold); }
.s-split { display:grid; grid-template-columns:1.1fr 1fr; gap:3rem; align-items:center; }
.s-split img { border-radius:18px; box-shadow:0 20px 50px -20px rgba(15,34,48,.4); }
@media (max-width:820px) { .s-split { grid-template-columns:1fr; gap:1.5rem; } }
.s-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; }
.s-card { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:1.4rem 1.5rem; box-shadow:0 1px 2px rgba(15,34,48,.04), 0 12px 30px -18px rgba(15,34,48,.18); }
.s-card h3 { margin-top:.4rem; }
.s-card .num { font-family:var(--serif); font-size:2rem; color:var(--gold); line-height:1; }
.s-ico { width:44px; height:44px; border-radius:12px; background:var(--gold-soft); color:var(--gold-ink); display:flex; align-items:center; justify-content:center; font-size:1.3rem; margin-bottom:.6rem; }
.s-check { list-style:none; padding:0; margin:0; }
.s-check li { padding:.35rem 0 .35rem 1.8rem; position:relative; }
.s-check li::before { content:"✓"; position:absolute; left:0; top:.3rem; width:1.25rem; height:1.25rem; border-radius:50%; background:var(--gold); color:var(--ink); font-size:.75rem; font-weight:700; display:flex; align-items:center; justify-content:center; }

/* stages path */
.s-path { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:.9rem; counter-reset:st; }
.s-path .s-card { position:relative; padding-top:1.2rem; }
.s-path .st-title { font-family:var(--serif); font-size:1.05rem; font-weight:600; margin-bottom:.3rem; }
.s-path .st-desc { color:var(--ink-soft); font-size:.92rem; margin:0; }
.s-path .st-prep { background:var(--gold-soft); border-color:#eadba7; }

/* tiers */
.s-tiers { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:1.1rem; align-items:stretch; }
.s-tier { display:flex; flex-direction:column; position:relative; }
.s-tier.hot { border:2px solid var(--gold); box-shadow:0 20px 50px -20px rgba(201,161,59,.45); }
.s-tier .badge { position:absolute; top:-.8rem; left:1.5rem; background:var(--gold); color:var(--ink); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; padding:.25rem .7rem; border-radius:999px; }
.s-tier h3 { font-size:1.5rem; margin:.2rem 0 .2rem; }
.s-tier .tag { color:var(--ink-soft); min-height:3.2em; }
.s-tier .calls { font-family:var(--serif); font-size:2.2rem; color:var(--accent); line-height:1; margin:.6rem 0 .1rem; }
.s-tier .calls small { font-family:var(--sans); font-size:.85rem; color:var(--ink-soft); }
.s-tier .s-check { margin:1rem 0 1.2rem; flex:1; font-size:.95rem; }
.s-tier .best { font-size:.88rem; color:var(--ink-soft); border-top:1px dashed var(--line); padding-top:.8rem; margin:0 0 1rem; }
.s-tier .s-btn { justify-content:center; }

/* testimonials */
.s-quote { background:var(--card); border-left:4px solid var(--gold); border-radius:14px; padding:1.3rem 1.5rem; }
.s-quote p { font-family:var(--serif); font-size:1.12rem; font-style:italic; }
.s-quote .who { display:flex; align-items:center; gap:.7rem; font-size:.9rem; color:var(--ink-soft); }
.s-quote .who img { width:40px; height:40px; border-radius:50%; object-fit:cover; }
.s-quote .who strong { color:var(--ink); display:block; font-style:normal; }

/* app showcase */
.s-app { display:grid; grid-template-columns:1fr 1fr; gap:2.5rem; align-items:center; }
@media (max-width:820px) { .s-app { grid-template-columns:1fr; } }
.s-phone { background:var(--accent); border-radius:36px; padding:14px; box-shadow:0 30px 60px -25px rgba(15,34,48,.6); max-width:340px; margin:0 auto; }
.s-phone .screen { background:var(--paper); border-radius:26px; overflow:hidden; padding:1rem; font-size:.8rem; }
.s-phone .hero-mini { background:var(--accent); color:#fff; border-radius:14px; padding:.9rem; margin-bottom:.6rem; }
.s-phone .hero-mini b { font-family:var(--serif); font-size:1rem; display:block; }
.s-phone .tiles { display:grid; grid-template-columns:1fr 1fr; gap:.4rem; }
.s-phone .tile { background:#fff; border-radius:10px; padding:.55rem .65rem; border:1px solid var(--line); }
.s-phone .tile b { font-family:var(--serif); font-size:1.2rem; display:block; }
.s-phone .tile span { color:var(--ink-faint); font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; }
.s-phone .bar { height:6px; background:var(--line); border-radius:999px; margin-top:.5rem; overflow:hidden; } .s-phone .bar i { display:block; height:100%; width:38%; background:linear-gradient(90deg,var(--accent),var(--teal)); }
.s-feat { display:flex; gap:.9rem; margin:.9rem 0; }
.s-feat .s-ico { flex:none; margin:0; }
.s-feat p { margin:0; color:var(--ink-soft); font-size:.95rem; }
.s-feat strong { display:block; color:var(--ink); }

/* faq */
.s-faq details { background:var(--card); border:1px solid var(--line); border-radius:14px; padding:.9rem 1.2rem; margin:.5rem 0; }
.s-faq summary { cursor:pointer; font-weight:600; font-family:var(--serif); font-size:1.1rem; list-style:none; display:flex; justify-content:space-between; }
.s-faq summary::-webkit-details-marker { display:none; }
.s-faq summary::after { content:"+"; color:var(--gold-ink); font-weight:700; }
.s-faq details[open] summary::after { content:"–"; }
.s-faq details p { margin:.6rem 0 .2rem; color:var(--ink-soft); }

/* apply form */
.s-form { max-width:560px; }
.s-form label { display:block; font-weight:600; margin:.9rem 0 .25rem; font-size:.92rem; }
.s-form input, .s-form select, .s-form textarea { width:100%; padding:.75rem .9rem; border:1px solid #c5d3da; border-radius:10px; font:inherit; background:#fff; }
.s-form input:focus, .s-form textarea:focus, .s-form select:focus { outline:2px solid var(--gold); border-color:var(--gold); }
.s-alert { background:#fdecec; color:#a33; padding:.7rem 1rem; border-radius:10px; }
.s-hp { position:absolute; left:-9999px; }

/* cta + footer */
.s-cta { background:var(--accent) url('/content-images/hero-mountains.jpg') center 60%/cover; position:relative; color:#fff; text-align:center; padding:4.5rem 0; }
.s-cta::before { content:""; position:absolute; inset:0; background:rgba(15,34,48,.85); }
.s-cta .s-wrap { position:relative; } .s-cta h2 { color:#fff; } .s-cta p { color:rgba(255,255,255,.85); max-width:52ch; margin-inline:auto; } .s-cta .s-fine { color:rgba(255,255,255,.6); margin-top:1rem; }
.s-footer { background:#0f2230; color:rgba(255,255,255,.75); padding:3rem 0 2rem; font-size:.9rem; }
.s-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2rem; }
.s-footer strong { color:#fff; display:block; margin-bottom:.5rem; }
.s-footer a { display:block; color:rgba(255,255,255,.75); text-decoration:none; margin:.25rem 0; } .s-footer a:hover { color:#fff; }
.s-footer img { filter:brightness(0) invert(1); opacity:.9; margin-bottom:.75rem; }
@media (max-width:760px) { .s-footer-grid { grid-template-columns:1fr 1fr; } .s-section { padding:3rem 0; } .s-hero { min-height:auto; } }
.s-about-photo { border-radius:50%; width:220px; height:220px; object-fit:cover; border:6px solid #fff; box-shadow:0 20px 40px -20px rgba(15,34,48,.5); }
.s-stat { text-align:center; } .s-stat b { font-family:var(--serif); font-size:2.4rem; color:var(--accent); display:block; line-height:1; } .s-stat span { color:var(--ink-soft); font-size:.9rem; }

/* scorecard lead magnet */
.s-hero-short { min-height:auto; }
.s-hero-short .s-split { align-items:center; }
.s-score-preview { display:flex; justify-content:center; }
.s-score-card { background:#fff; color:var(--ink); border-radius:20px; padding:1.4rem 1.5rem; width:min(100%, 380px); box-shadow:0 30px 60px -30px rgba(0,0,0,.6); }
.s-score-total { text-align:center; padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--line); }
.s-score-total span { display:block; font-size:.74rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.s-score-total b { display:block; font-family:var(--serif); font-size:3.2rem; line-height:1.1; color:var(--accent); }
.s-score-total em { font-style:normal; color:var(--gold-ink); font-weight:600; }
.s-score-row { display:grid; grid-template-columns:1fr 100px 2.2rem; align-items:center; gap:.6rem; font-size:.9rem; margin:.45rem 0; }
.s-score-row i { display:block; height:8px; border-radius:99px; background:var(--teal); }
.s-score-row.low i { background:var(--gold); }
.s-score-row b { text-align:right; font-variant-numeric:tabular-nums; }
.s-magnet { background:linear-gradient(135deg, var(--accent), #0f2230); color:#fff; border-radius:24px; padding:2.2rem 2.4rem; display:grid; grid-template-columns:1.3fr 1fr; gap:2rem; align-items:center; }
.s-magnet h2, .s-magnet h3 { color:#fff; } .s-magnet p { color:rgba(255,255,255,.85); } .s-magnet .s-eyebrow { color:var(--gold); }
.s-magnet ul { margin:.8rem 0 1.2rem; padding-left:1.2rem; color:rgba(255,255,255,.85); } .s-magnet li { margin:.3rem 0; }
@media (max-width:820px) { .s-magnet { grid-template-columns:1fr; padding:1.6rem; } .s-magnet .s-score-preview { display:none; } }
.s-next { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin:1.2rem 0; }
@media (max-width:640px) { .s-next { grid-template-columns:1fr; } }
.site [hidden] { display:none !important; }
