:root{
  --teal-deep:#0D4F5C; --teal-mid:#1a6b7a; --teal-light:#2a8fa0; --teal-pale:#e8f4f6;
  --cream:#F7F3EE; --cream-dark:#EDE7DF; --white:#ffffff;
  --text-dark:#1a2426; --text-mid:#3d5458; --text-light:#6b8a8f;
  --terra:#B5532F; --terra-dark:#9A4528; --sage:#9CB7A8;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--text-dark);overflow-x:hidden;line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:rgba(247,243,238,0.92);backdrop-filter:blur(8px);
  border-bottom:1px solid var(--cream-dark);}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;
  padding:14px 24px;}
.nav-logo{font-family:'DM Serif Display',serif;font-size:20px;color:var(--teal-deep);letter-spacing:0.5px;text-decoration:none;}
.nav-logo span{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--teal-light);display:block;line-height:1;margin-top:2px;}
.nav-links{display:flex;align-items:center;gap:28px;}
.nav-links a{font-size:14px;color:var(--text-mid);text-decoration:none;transition:color .2s;}
.nav-links a:hover{color:var(--teal-deep);}
.nav-cta{background:var(--terra);color:var(--cream)!important;padding:9px 18px;border-radius:4px;font-weight:600;font-size:13px;}
.nav-cta:hover{background:var(--terra-dark);}
.nav-toggle{display:none;}
@media(max-width:760px){
  .nav-links{display:none;}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;background:var(--cream);
    flex-direction:column;gap:0;padding:8px 24px 16px;border-bottom:1px solid var(--cream-dark);}
  .nav-links.open a{padding:12px 0;border-bottom:1px solid var(--cream-dark);}
  .nav-toggle{display:block;background:none;border:none;font-size:22px;color:var(--teal-deep);cursor:pointer;}
}

/* LAYOUT */
section{padding:88px 24px;}
.container{max-width:1000px;margin:0 auto;}
.narrow{max-width:680px;margin:0 auto;}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--teal-light);margin-bottom:14px;}
.bg-teal{background:var(--teal-deep);color:var(--cream);}
.bg-cream-dark{background:var(--cream-dark);}
.bg-white{background:var(--white);}
.center{text-align:center;}

/* TYPE */
h1,h2,h3{font-family:'DM Serif Display',serif;font-weight:400;color:var(--text-dark);line-height:1.15;}
h1{font-size:clamp(34px,6vw,60px);}
h2{font-size:clamp(28px,4vw,42px);}
h3{font-size:22px;}
.bg-teal h1,.bg-teal h2,.bg-teal h3{color:var(--cream);}
.lead{font-size:18px;font-weight:300;line-height:1.7;color:var(--text-mid);}
.bg-teal .lead{color:rgba(247,243,238,0.7);}
.serif-quote{font-family:'Cormorant Garamond',serif;font-style:italic;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:'DM Sans',sans-serif;font-size:15px;
  font-weight:600;padding:16px 32px;border-radius:4px;text-decoration:none;cursor:pointer;border:none;
  transition:transform .2s,background .2s,box-shadow .2s;}
.btn:hover{transform:translateY(-2px);}
.btn-terra{background:var(--terra);color:var(--cream);}
.btn-terra:hover{background:var(--terra-dark);box-shadow:0 12px 32px rgba(181,83,47,0.25);}
.btn-teal{background:var(--teal-deep);color:var(--cream);}
.btn-teal:hover{background:var(--teal-mid);box-shadow:0 12px 32px rgba(13,79,92,0.25);}
.btn-ghost{background:transparent;color:var(--teal-deep);border:1.5px solid var(--teal-deep);}
.btn-ghost:hover{background:var(--teal-deep);color:var(--cream);}
.bg-teal .btn-ghost{color:var(--cream);border-color:rgba(247,243,238,0.4);}
.bg-teal .btn-ghost:hover{background:var(--cream);color:var(--teal-deep);}
.btn-lg{padding:18px 40px;font-size:16px;}

/* CARDS + LISTS */
.card{background:var(--white);border-radius:10px;padding:32px;}
.feature-list{list-style:none;}
.feature-list li{display:flex;gap:14px;align-items:flex-start;padding:13px 0;border-bottom:1px solid rgba(13,79,92,0.10);font-size:15px;color:var(--text-mid);}
.feature-list li:last-child{border-bottom:none;}
.bg-teal .feature-list li{color:rgba(247,243,238,0.8);border-color:rgba(247,243,238,0.12);}
.check{width:20px;height:20px;border-radius:50%;background:var(--teal-pale);border:1px solid var(--teal-light);
  flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;}
.check::after{content:'✓';font-size:11px;color:var(--teal-deep);}
.bg-teal .check{background:rgba(42,143,160,0.25);border-color:rgba(42,143,160,0.5);}
.bg-teal .check::after{color:var(--teal-light);}

/* GRID */
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2px;}
@media(max-width:760px){.grid-2{grid-template-columns:1fr;gap:40px;}section{padding:64px 20px;}}

/* FORM */
.optin-form{max-width:460px;}
.optin-form .formkit-fields{display:flex;gap:0;border-radius:6px;overflow:hidden;box-shadow:0 8px 32px rgba(13,79,92,0.12);}
.optin-form .formkit-field{flex:1;}
.optin-form input{width:100%;border:1px solid var(--cream-dark);border-right:none;padding:16px 18px;font-family:'DM Sans',sans-serif;font-size:14px;outline:none;background:var(--white);color:var(--text-dark);}
.optin-form button{background:var(--terra);color:var(--cream);border:none;padding:16px 26px;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap;}
.optin-form button:hover{background:var(--terra-dark);}
.optin-form .formkit-alert{list-style:none;margin-top:10px;color:var(--terra-dark);font-size:13px;}
.micro{font-size:12px;color:var(--text-light);margin-top:12px;}
.bg-teal .micro{color:rgba(247,243,238,0.45);}

/* FOOTER */
.footer{background:var(--teal-deep);padding:56px 24px 40px;text-align:center;color:var(--cream);}
.footer-logo{font-family:'DM Serif Display',serif;font-size:24px;letter-spacing:1px;}
.footer-tag{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:rgba(247,243,238,0.4);margin:6px 0 28px;}
.footer-links{display:flex;justify-content:center;gap:26px;flex-wrap:wrap;margin-bottom:26px;}
.footer-links a{font-size:13px;color:rgba(247,243,238,0.6);text-decoration:none;}
.footer-links a:hover{color:var(--cream);}
.footer-fine{font-size:11px;color:rgba(247,243,238,0.3);max-width:520px;margin:0 auto;line-height:1.6;}

/* PORTRAIT */
.portrait{width:100%;border-radius:12px;background:var(--sage);aspect-ratio:4/5;object-fit:cover;object-position:center top;}
.portrait-fallback{width:100%;aspect-ratio:4/5;border-radius:12px;background:linear-gradient(160deg,var(--sage),var(--teal-light));
  display:flex;align-items:center;justify-content:center;color:var(--cream);font-family:'DM Serif Display',serif;font-size:48px;}
