/* ===== Holden Grove — site styles (geographica + sunrise, matched to the app) ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root{
 --bg:#16161A;--bg-2:#1E1E22;--card:#242428;--surface:#2E2E33;--deep:#0C0C0E;
 --g-deep:#0A4F3A;--g-mid:#2EBC82;--g-lum:#5FD3A4;
 --gold:#C8A96E;--gold-lum:#E3CB97;--gold-soft:rgba(200,169,110,.10);--gold-line:rgba(200,169,110,.26);
 --violet:#A98FEC;--text:#ECECEF;--text-2:#A6A6AE;--text-3:#67676E;
 --border:rgba(255,255,255,.08);--border-2:rgba(255,255,255,.14);
 --r:16px;--r-sm:10px;--max:1080px;
 /* fonts — match the app: geographica body, Fraunces display, mrsheffield script accent */
 --sans:"geographica",-apple-system,system-ui,sans-serif;
 --serif:'Fraunces',Georgia,serif;
 --script:"mrsheffield-pro","american-scribe",cursive;
}
html.light{
 --bg:#F2EFE7;--bg-2:#FBFAF6;--card:#FFFFFF;--surface:#EEEDE7;--deep:#0A4F3A;
 --g-deep:#0A4F3A;--g-mid:#1B8C67;--g-lum:#157A57;
 --gold:#A8854B;--gold-lum:#8A6E3A;--gold-soft:#F6F0E3;--gold-line:rgba(168,133,75,.34);
 --violet:#6B4FB0;--text:#1C1C1A;--text-2:#5E5E58;--text-3:#9A9A92;
 --border:rgba(28,28,26,.10);--border-2:rgba(28,28,26,.16);
}
html{scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--bg);color:var(--text);line-height:1.72;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s;}
a{color:inherit;text-decoration:none;}
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px;}

/* nav */
.nav{position:sticky;top:0;z-index:30;backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
 background:color-mix(in srgb,var(--bg) 72%,transparent);border-bottom:1px solid var(--border);}
.nav-in{max-width:var(--max);margin:0 auto;padding:15px 28px;display:flex;align-items:center;justify-content:space-between;}
.brand{font-family:var(--serif);font-weight:300;font-size:21px;letter-spacing:-.3px;color:var(--text);}
.brand em{font-style:italic;color:var(--g-mid);}
.nav-links{display:flex;align-items:center;gap:26px;}
.nav-links a{font-size:13.5px;color:var(--text-2);transition:color .15s;}
.nav-links a:hover,.nav-links a.on{color:var(--text);}
.nav-cta{font-size:13px;font-weight:500;padding:8px 17px;border-radius:100px;background:var(--g-mid);color:#06281D;}
html.light .nav-cta{color:#fff;}
.mode{cursor:pointer;width:30px;height:30px;border-radius:50%;border:1px solid var(--border-2);display:flex;align-items:center;justify-content:center;color:var(--text-2);background:transparent;}
.mode:hover{color:var(--text);}
.mode svg{width:15px;height:15px;}

/* hero — photographic sunrise (same image the app's Preferred brief uses) */
.hero{position:relative;overflow:hidden;padding:118px 0 100px;text-align:center;border-bottom:1px solid var(--border);background:#140d08;}
.hero::before{content:'';position:absolute;inset:0;z-index:0;background:#140d08 url("img/sunrise.png") center 24% / cover no-repeat;}
.hero::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(11,8,5,.80) 0%,rgba(11,8,5,.42) 40%,rgba(11,8,5,.66) 74%,var(--bg) 100%);}
.hero .wrap{position:relative;z-index:2;}
.hero *{color:#F6ECDE;}                       /* legible over the warm photo, both themes */
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;color:var(--gold-lum)!important;margin-bottom:22px;text-transform:uppercase;text-shadow:0 1px 10px rgba(0,0,0,.4);}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(38px,7vw,74px);line-height:1.04;letter-spacing:-2px;margin-bottom:22px;text-shadow:0 2px 24px rgba(0,0,0,.45);}
.hero h1 em{font-style:italic;color:var(--gold-lum)!important;}   /* warm accent to sit with the sunrise */
.hero .lede{font-size:clamp(16px,2.2vw,20px);color:#EADFCF!important;max-width:620px;margin:0 auto 38px;font-weight:400;line-height:1.72;text-shadow:0 1px 14px rgba(0,0,0,.4);}
.hero-rule{width:44px;height:1px;background:var(--gold);margin:0 auto 30px;opacity:.9;}
.hero .signup-note{color:#D9CDBB!important;}

/* signup */
.signup{display:flex;gap:9px;max-width:460px;margin:0 auto;flex-wrap:wrap;justify-content:center;}
.signup input{flex:1;min-width:220px;background:rgba(20,14,9,.55);border:1px solid rgba(255,255,255,.22);border-radius:100px;padding:14px 20px;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .2s;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.signup input:focus{border-color:var(--g-lum);}
.signup input::placeholder{color:rgba(246,236,222,.5);}
.btn{cursor:pointer;border:none;font-family:inherit;font-size:15px;font-weight:500;padding:14px 27px;border-radius:100px;background:var(--g-mid);color:#06281D;transition:transform .15s,filter .2s;white-space:nowrap;}
html.light .btn{color:#fff;}
.btn:hover{transform:translateY(-1px);filter:brightness(1.07);}
.btn.ghost{background:transparent;border:1px solid var(--border-2);color:var(--text);}
.signup-note{font-size:12px;color:var(--text-3);margin-top:14px;}

/* a light script flourish, echoing the app's brief title */
.flourish{font-family:var(--script);font-size:clamp(30px,5vw,44px);font-weight:400;line-height:1;color:var(--gold-lum);letter-spacing:.01em;}

/* sections */
section.band{padding:82px 0;border-bottom:1px solid var(--border);}
.kicker{font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--gold-lum);text-transform:uppercase;margin-bottom:14px;}
h2.sec{font-family:var(--serif);font-weight:300;font-size:clamp(26px,4vw,39px);letter-spacing:-1px;line-height:1.16;margin-bottom:18px;}
h2.sec em{font-style:italic;color:var(--g-mid);}
.lead{font-size:17px;color:var(--text-2);max-width:680px;line-height:1.8;font-weight:400;}
p.body{font-size:15.5px;color:var(--text-2);line-height:1.85;max-width:680px;margin-bottom:16px;}
p.body strong{color:var(--text);font-weight:600;}
.center{text-align:center;}.center .lead,.center .body{margin-left:auto;margin-right:auto;}

/* feature grid */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
.feat{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:26px 24px;border-top:2px solid var(--g-mid);transition:transform .18s,border-color .18s;}
.feat:hover{transform:translateY(-3px);border-color:var(--border-2);}
.feat.gold{border-top-color:var(--gold);}.feat.violet{border-top-color:var(--violet);}
.feat .ft{font-family:var(--serif);font-size:19px;font-weight:400;margin-bottom:9px;}
.feat .fb{font-size:14px;color:var(--text-2);line-height:1.72;}
.feat .tag{font-size:9.5px;font-weight:600;letter-spacing:.12em;color:var(--text-3);margin-bottom:12px;}

/* split row */
.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;}
.split.rev .s-text{order:2;}
.panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r);padding:34px;min-height:220px;display:flex;align-items:center;justify-content:center;}

/* callout */
.callout{background:var(--gold-soft);border:1px solid var(--gold-line);border-radius:var(--r);padding:30px 34px;margin-top:36px;}
.callout .cl{font-size:10px;font-weight:600;letter-spacing:.14em;color:var(--gold-lum);margin-bottom:10px;}
.callout p{font-size:16px;color:var(--text);line-height:1.72;}
.callout.green{background:rgba(46,188,130,.08);border-color:rgba(46,188,130,.28);}
.callout.green .cl{color:var(--g-lum);}

/* cta band — warm sunrise wash */
.cta-band{position:relative;overflow:hidden;text-align:center;padding:92px 0;border-top:1px solid var(--border);background:#140d08;}
.cta-band::before{content:'';position:absolute;inset:0;z-index:0;background:#140d08 url("img/sunrise.png") center 62% / cover no-repeat;}
.cta-band::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,var(--bg) 0%,rgba(11,8,5,.7) 34%,rgba(11,8,5,.5) 100%);}
.cta-band .wrap{position:relative;z-index:2;}
.cta-band h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,4.5vw,44px);letter-spacing:-1px;margin-bottom:14px;color:#F6ECDE;text-shadow:0 2px 20px rgba(0,0,0,.4);}
.cta-band h2 em{font-style:italic;color:var(--gold-lum);}
.cta-band .lead{margin:0 auto 32px;color:#EADFCF;}
.cta-band .signup-note{color:#D9CDBB;}

/* founder */
.founder{display:flex;gap:18px;align-items:center;margin-top:30px;flex-wrap:wrap;}
.founder .sig{height:34px;width:auto;display:block;}
.founder .meta{font-size:13px;color:var(--text-2);line-height:1.5;}
.founder .meta b{color:var(--text);font-weight:600;display:block;font-size:14px;}

/* footer */
.footer{padding:48px 0 42px;text-align:center;}
.footer .fbrand{font-family:var(--serif);font-weight:300;font-size:18px;color:var(--text-2);}
.footer .fbrand em{font-style:italic;}
.footer .fmeta{font-size:12px;color:var(--text-3);margin-top:10px;line-height:1.9;}
.footer a{color:var(--text-3);}.footer a:hover{color:var(--text-2);}

.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);background:var(--deep);color:#fff;border:1px solid var(--border-2);border-radius:100px;padding:11px 22px;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s;z-index:60;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@media(max-width:760px){
 .nav-links{gap:16px;}.nav-links .hide-sm{display:none;}
 .grid{grid-template-columns:1fr;}.split{grid-template-columns:1fr;}.split.rev .s-text{order:0;}
 section.band{padding:58px 0;}.hero{padding:84px 0 68px;}.cta-band{padding:70px 0;}
}
