/* =========================================================
   Accreta & After — shared styles
   ========================================================= */
:root{
  --ink:#25302B; --ink-soft:#4A574F;
  --linen:#F1EBE0; --linen-deep:#E7DFD1;
  --surface:#FBF8F2;
  --spruce:#2C443E; --spruce-deep:#1F332E;
  --sage:#7E9183; --sage-soft:#AAB9AC;
  --amber:#CDA063; --amber-soft:#E0C394;
  --clay:#C0897A;
  --line:rgba(37,48,43,.14); --line-light:rgba(241,235,224,.20);
  --maxw:1120px; --r:14px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--linen); color:var(--ink);
  font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
/* --- TYPE (font fix: optical sizing on, weight bumped off 300) --- */
h1,h2,h3,h4{
  font-family:"Fraunces",Georgia,serif;
  font-optical-sizing:auto; font-weight:400;
  line-height:1.14; margin:0; letter-spacing:-.01em;
}
p{margin:0 0 1rem;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
.center{text-align:center;}
.eyebrow{font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--sage);margin:0 0 1rem;}
.div-horizon{width:78px;height:1px;background:var(--amber);margin:0 auto 30px;opacity:.85;}

/* --- crisis strip --- */
.crisis-strip{background:var(--spruce-deep);color:var(--linen);font-size:.85rem;text-align:center;padding:9px 16px;}
.crisis-strip a{color:var(--amber-soft);text-decoration:none;font-weight:600;border-bottom:1px solid transparent;}
.crisis-strip a:hover,.crisis-strip a:focus{border-bottom-color:var(--amber-soft);}

/* --- header --- */
header.site{position:sticky;top:0;z-index:40;background:rgba(241,235,224,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding:15px 28px;max-width:var(--maxw);margin:0 auto;}
.brand{font-family:"Fraunces",serif;font-weight:500;font-size:1.28rem;text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:10px;}
.brand .mark{width:22px;height:22px;flex:0 0 auto;}
.navlinks{display:flex;gap:26px;align-items:center;font-size:.92rem;font-weight:500;}
.navlinks a{text-decoration:none;color:var(--ink-soft);transition:color .2s;}
.navlinks a:hover,.navlinks a:focus,.navlinks a.active{color:var(--ink);}
.navlinks .nav-cta{background:var(--spruce);color:var(--linen);padding:9px 18px;border-radius:999px;font-weight:600;}
.navlinks .nav-cta:hover{background:var(--spruce-deep);color:var(--linen);}
.menu-btn{display:none;background:none;border:0;font:inherit;color:var(--ink);cursor:pointer;padding:6px;}
@media(max-width:860px){
  .navlinks{display:none;}
  .menu-btn{display:block;}
  .navlinks.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:var(--linen);border-bottom:1px solid var(--line);padding:18px 28px 26px;gap:18px;align-items:flex-start;}
}

/* --- buttons --- */
.btn{display:inline-block;border-radius:999px;padding:14px 28px;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;border:0;font-family:inherit;transition:transform .2s,background .2s;}
.btn-primary{background:var(--amber);color:var(--spruce-deep);}
.btn-primary:hover,.btn-primary:focus{background:var(--amber-soft);transform:translateY(-2px);}
.btn-ghost{background:transparent;color:var(--linen);border:1px solid rgba(241,235,224,.4);}
.btn-ghost:hover,.btn-ghost:focus{border-color:var(--linen);background:rgba(241,235,224,.07);}
.btn-spruce{background:var(--spruce);color:var(--linen);}
.btn-spruce:hover{background:var(--spruce-deep);transform:translateY(-2px);}

/* --- home hero --- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--spruce-deep) 0%,var(--spruce) 46%,#35514a 72%,#3d5a52 100%);color:var(--linen);padding:118px 0 0;isolation:isolate;}
.hero .sun{position:absolute;left:50%;bottom:120px;width:760px;height:760px;transform:translateX(-50%);background:radial-gradient(circle at center,rgba(224,195,148,.5) 0%,rgba(205,160,99,.26) 28%,rgba(205,160,99,0) 60%);z-index:-1;}
.hero-inner{max-width:860px;margin:0 auto;padding:0 28px;text-align:center;}
.hero h1{font-size:clamp(2.5rem,6vw,4.1rem);font-weight:400;letter-spacing:-.02em;margin:0 0 26px;}
.hero h1 .soft{color:var(--amber-soft);font-style:italic;font-weight:400;}
.hero .sub{font-size:1.17rem;color:rgba(241,235,224,.86);max-width:620px;margin:0 auto 34px;}
.cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.horizon{position:relative;height:120px;margin-top:60px;}
.horizon::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--amber) 32%,var(--amber) 68%,transparent);opacity:.8;}
.horizon::after{content:"";position:absolute;left:0;right:0;top:0;bottom:0;background:linear-gradient(180deg,#3d5a52 0%,var(--linen) 100%);}

/* --- interior page hero --- */
.page-hero{background:linear-gradient(180deg,var(--spruce-deep),var(--spruce));color:var(--linen);padding:74px 0 64px;text-align:center;}
.page-hero .eyebrow{color:var(--amber-soft);}
.page-hero h1{font-size:clamp(2rem,5vw,3rem);font-weight:400;max-width:760px;margin:0 auto;}
.page-hero p{color:rgba(241,235,224,.82);max-width:620px;margin:18px auto 0;font-size:1.1rem;}

/* --- sections --- */
.section{padding:78px 0;}
.section.tight{padding:54px 0;}
.band{background:var(--linen-deep);}
.lede{font-size:1.34rem;font-family:"Fraunces",serif;font-weight:400;line-height:1.4;max-width:680px;margin:0 auto;}
.lede em{font-style:italic;color:var(--spruce);}

/* prose blocks */
.prose{max-width:720px;margin:0 auto;}
.prose h2{font-size:1.7rem;font-weight:400;margin:42px 0 14px;}
.prose h3{font-size:1.25rem;font-weight:500;margin:30px 0 8px;}
.prose p{color:var(--ink-soft);}
.prose .first{font-size:1.18rem;color:var(--ink);}

/* triage / cards */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.cards.three{grid-template-columns:repeat(3,1fr);}
.cards.two{grid-template-columns:repeat(2,1fr);}
@media(max-width:920px){.cards,.cards.three{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.cards,.cards.three,.cards.two{grid-template-columns:1fr;}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:26px 24px;text-decoration:none;color:var(--ink);display:flex;flex-direction:column;transition:transform .22s,box-shadow .22s,border-color .22s;min-height:190px;}
.card:hover,.card:focus{transform:translateY(-4px);box-shadow:0 14px 34px rgba(37,48,43,.10);border-color:var(--sage-soft);}
.card .stage{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--clay);font-weight:600;margin-bottom:12px;}
.card h3{font-size:1.25rem;font-weight:500;margin-bottom:10px;}
.card p{font-size:.94rem;color:var(--ink-soft);margin:0;}
.card .arrow{margin-top:auto;padding-top:16px;color:var(--sage);font-weight:600;font-size:.92rem;}

/* question groups */
.qgroup{max-width:760px;margin:0 auto 8px;}
.qgroup h3{font-size:1.2rem;font-weight:500;color:var(--spruce);margin:34px 0 10px;}
.qgroup ul{list-style:none;padding:0;margin:0;}
.qgroup li{padding:11px 0 11px 30px;border-bottom:1px solid var(--line);position:relative;color:var(--ink-soft);}
.qgroup li::before{content:"";position:absolute;left:4px;top:19px;width:8px;height:8px;border:1.5px solid var(--amber);border-radius:50%;}

/* checklist (printables) */
.checklist{max-width:680px;margin:0 auto;list-style:none;padding:0;}
.checklist li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);color:var(--ink);}
.checklist li::before{content:"";flex:0 0 auto;width:20px;height:20px;border:1.6px solid var(--sage);border-radius:5px;margin-top:3px;}
.worksheet{max-width:680px;margin:0 auto;}
.worksheet .q{margin:0 0 6px;font-weight:600;color:var(--ink);}
.worksheet .lines{border-bottom:1px solid var(--line);height:38px;margin-bottom:22px;}

/* callout / boundary */
.callout{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:10px;padding:22px 24px;max-width:760px;margin:28px auto;}
.callout p{margin:0;color:var(--ink-soft);font-size:.96rem;}
.boundary{background:var(--spruce);color:var(--linen);border-radius:18px;padding:50px 44px;max-width:860px;margin:0 auto;}
.boundary h2{font-size:1.8rem;font-weight:400;margin-bottom:16px;color:var(--linen);}
.boundary p{color:rgba(241,235,224,.82);}
.boundary p:last-child{margin-bottom:0;}
.boundary strong{color:var(--amber-soft);font-weight:600;}

/* for-you alternating blocks */
.foryou{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center;margin-bottom:60px;}
.foryou:last-child{margin-bottom:0;}
.foryou.flip .ph{order:2;}
@media(max-width:820px){.foryou{grid-template-columns:1fr;gap:24px;}.foryou.flip .ph{order:0;}}
.foryou h3{font-size:1.7rem;font-weight:400;margin-bottom:14px;}
.foryou p{color:var(--ink-soft);}
.link{display:inline-block;margin-top:6px;color:var(--spruce);font-weight:600;text-decoration:none;border-bottom:1.5px solid var(--amber);padding-bottom:2px;}
.link:hover{border-bottom-color:var(--spruce);}
.ph{border-radius:var(--r);min-height:270px;display:flex;align-items:flex-end;padding:18px;background:linear-gradient(160deg,#9fae9f,#c9b693);position:relative;overflow:hidden;}
.ph.alt{background:linear-gradient(160deg,#b79b8f,#d8c6a4);}
.ph.alt2{background:linear-gradient(160deg,#86a097,#b9aa8c);}
.ph::after{content:"Add your own photo";position:absolute;top:14px;left:16px;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:600;}
.ph span{font-family:"Fraunces",serif;font-style:italic;color:rgba(255,255,255,.92);font-size:1.05rem;}

/* founders */
.founders{display:grid;grid-template-columns:1fr 1fr;gap:34px;max-width:920px;margin:38px auto 0;text-align:left;}
@media(max-width:760px){.founders{grid-template-columns:1fr;}}
.founder{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;}
.founder h3{font-size:1.2rem;font-weight:500;margin-bottom:4px;}
.founder .role{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-weight:600;margin-bottom:14px;}
.founder p{font-size:.93rem;color:var(--ink-soft);margin-bottom:0;}

/* signup */
.signup{background:var(--linen-deep);text-align:center;padding:64px 0;}
.signup h2{font-size:clamp(1.8rem,4vw,2.3rem);font-weight:400;margin-bottom:14px;}
.signup p{color:var(--ink-soft);max-width:520px;margin:0 auto 24px;}
.form-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;max-width:480px;margin:0 auto;}
.form-row input{flex:1 1 260px;padding:14px 18px;border-radius:999px;border:1px solid var(--line);font:inherit;background:var(--surface);color:var(--ink);}
.form-row input:focus{outline:2px solid var(--sage);outline-offset:1px;}
.form-note{margin-top:14px;font-size:.86rem;color:var(--sage);min-height:1.2em;}
.build-note{margin:20px auto 0;max-width:520px;font-size:.76rem;color:var(--ink-soft);background:rgba(192,137,122,.12);border:1px dashed var(--clay);border-radius:10px;padding:10px 14px;}

/* footer */
footer.site{background:var(--spruce-deep);color:rgba(241,235,224,.82);padding:56px 0 38px;font-size:.92rem;}
.footgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
@media(max-width:760px){.footgrid{grid-template-columns:1fr;gap:28px;}}
footer h4{font-family:"Hanken Grotesk",sans-serif;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--sage-soft);margin:0 0 14px;font-weight:700;}
footer a{color:var(--amber-soft);text-decoration:none;}
footer a:hover{text-decoration:underline;}
footer .links a{color:rgba(241,235,224,.82);display:block;margin-bottom:7px;text-decoration:none;}
footer .links a:hover{color:var(--linen);}
footer .brand-f{font-family:"Fraunces",serif;font-size:1.3rem;color:var(--linen);margin-bottom:12px;}
.disclaimer{border-top:1px solid var(--line-light);margin-top:34px;padding-top:22px;font-size:.8rem;line-height:1.6;color:rgba(241,235,224,.62);}
.disclaimer strong{color:rgba(241,235,224,.85);}

/* printable pages */
.print-btn{display:inline-flex;align-items:center;gap:8px;margin:0 auto 4px;}
.print-head{text-align:center;margin-bottom:10px;}
@media print{
  .crisis-strip,header.site,.signup,footer.site,.print-bar,.no-print{display:none !important;}
  body{background:#fff;font-size:12pt;}
  .page-hero{background:#fff;color:#000;padding:0 0 18px;border-bottom:2px solid #000;}
  .page-hero .eyebrow{color:#555;}
  .page-hero h1,.page-hero p{color:#000;}
  .section{padding:18px 0;}
  .checklist li::before{border-color:#000;}
  a{color:#000;text-decoration:none;}
}

/* scroll reveal (progressive: only hides when JS present) */
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease;}
.js .reveal.in{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .js .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;border-radius:4px;}
