:root { --ink:#152b26; --cream:#f5f1e9; --sand:#ded7c9; --coral:#d66e58; --paper:#fcfaf6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--paper); font-family:"DM Sans",sans-serif; }
.hero { min-height:680px; padding:30px clamp(24px,6vw,96px) 52px; position:relative; overflow:hidden; background:var(--cream); }
.texture { position:absolute; inset:0; opacity:.45; background-image:radial-gradient(#cdc4b4 .7px,transparent .7px); background-size:9px 9px; pointer-events:none; }
.nav,.hero-content,.hero-mark { position:relative; z-index:1; }
.nav { display:flex; justify-content:space-between; align-items:center; }
.brand { display:block; width:84px; height:54px; overflow:hidden; }
.brand img { display:block; width:84px; height:auto; }
.nav-link { color:var(--ink); font-size:.88rem; font-weight:600; text-decoration:none; border-bottom:1px solid var(--ink); padding-bottom:4px; }
.hero-content { max-width:920px; margin:clamp(80px,11vw,130px) auto 0; text-align:center; }
.eyebrow { margin:0 0 20px; color:#61736b; font-size:.72rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1,h2,h3 { font-family:"DM Serif Display",Georgia,serif; font-weight:400; letter-spacing:-.03em; }
h1 { font-size:clamp(3.35rem,7vw,6.3rem); line-height:.96; margin:27px 0 34px; }
h1 span { color:var(--coral); }
em { color:var(--coral); font-weight:400; }
.intro { max-width:525px; margin:0 auto 34px; font-size:1.1rem; line-height:1.65; color:#456058; }
.button { display:inline-flex; gap:22px; align-items:center; justify-content:center; padding:15px 20px; border:1px solid transparent; font:600 .87rem "DM Sans",sans-serif; cursor:pointer; transition:transform .2s, background .2s; text-decoration:none; }
.button:hover { transform:translateY(-3px); }
.button-dark { background:var(--ink); color:#fff; }
.interest { background:var(--coral); padding:clamp(70px,10vw,120px) clamp(24px,9vw,150px); display:grid; grid-template-columns:1fr 1fr; gap:clamp(55px,11vw,190px); color:#fff8ef; }
.interest .eyebrow { color:#ffe3cc; }
.interest h2 { font-size:clamp(3.4rem,6vw,5.6rem); margin-bottom:20px; }
.interest-copy > p:not(.eyebrow) { max-width:420px; color:#ffead7; font-size:1.08rem; line-height:1.65; }
blockquote { margin:60px 0 0; border-left:1px solid #ffcab4; padding-left:18px; font:italic 1.35rem/1.4 "DM Serif Display",Georgia,serif; }
cite { display:block; margin-top:14px; font:700 .68rem "DM Sans",sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.mailerlite-form { align-self:start; position:relative; overflow:hidden; background:#fff8ef; color:var(--ink); padding:clamp(28px,4vw,46px); }
.form-content { opacity:1; transition:opacity .4s ease, visibility 0s; }
.form-heading h3 { font-size:2.25rem; margin:0 0 7px; }
.form-heading p { color:#60726a; font-size:.92rem; line-height:1.55; margin:0 0 30px; }
.field-row { margin-bottom:20px; }
.mailerlite-form label, .interest-options legend { display:block; margin:0 0 8px; color:var(--ink); font-size:.72rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.mailerlite-form input[type="text"], .mailerlite-form input[type="email"], .mailerlite-form input[type="tel"] { width:100%; padding:11px 0; border:0; border-bottom:1px solid #b5b5aa; border-radius:0; background:transparent; color:var(--ink); font:1rem "DM Sans",sans-serif; outline:none; }
.mailerlite-form input:focus { border-color:var(--coral); }
.interest-options { margin:26px 0; padding:0; border:0; }
.interest-options label, .consent { display:flex !important; align-items:center; gap:9px; margin:10px 0 !important; font-size:.9rem !important; font-weight:500 !important; letter-spacing:0 !important; text-transform:none !important; }
.mailerlite-form input[type="checkbox"] { width:16px; height:16px; accent-color:var(--coral); }
.consent { margin:28px 0 22px !important; font-size:.8rem !important; line-height:1.4; }
.turnstile-wrap { margin:0 0 24px; min-height:65px; }
.button-light { width:100%; margin:0; background:var(--ink); color:white; border-color:var(--ink); }
.form-note,.form-message { margin:15px 0 0; text-align:center; font-size:.72rem; line-height:1.5; color:#68756e; }
.form-message { min-height:18px; color:#ad493b; font-weight:600; }
.form-success { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:24px; padding:clamp(28px,4vw,46px); text-align:center; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .4s ease .35s, visibility 0s .75s; }
.form-success h3 { max-width:360px; margin:0; font-size:clamp(2rem,4vw,3rem); line-height:1.08; opacity:0; transform:translateY(12px); }
.success-tick { width:88px; height:88px; fill:none; stroke:var(--coral); stroke-linecap:round; stroke-linejoin:round; stroke-width:3; }
.success-tick circle { stroke-dasharray:164; stroke-dashoffset:164; transform:rotate(-90deg); transform-origin:center; }
.success-tick path { stroke-dasharray:48; stroke-dashoffset:48; }
.mailerlite-form.is-success .form-content { opacity:0; visibility:hidden; transition:opacity .4s ease, visibility 0s .4s; }
.mailerlite-form.is-success .form-success { opacity:1; visibility:visible; pointer-events:auto; transition:opacity .4s ease .35s, visibility 0s .35s; }
.mailerlite-form.is-success .success-tick circle { animation:draw-success .6s ease .45s forwards; }
.mailerlite-form.is-success .success-tick path { animation:draw-success .4s ease .95s forwards; }
.mailerlite-form.is-success .form-success h3 { animation:reveal-success .45s ease 1.25s forwards; }
@keyframes draw-success { to { stroke-dashoffset:0; } }
@keyframes reveal-success { to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .form-content,.form-success { transition:none; } .mailerlite-form.is-success .success-tick circle,.mailerlite-form.is-success .success-tick path,.mailerlite-form.is-success .form-success h3 { animation:none; stroke-dashoffset:0; opacity:1; transform:none; } }
footer { min-height:160px; background:var(--ink); color:#d7e0db; display:flex; align-items:center; justify-content:space-between; padding:30px clamp(24px,6vw,96px); font-size:.76rem; }
footer img { width:84px; height:auto; filter:invert(1); mix-blend-mode:screen; } footer p { margin:0; }
@media (max-width:700px) { .hero { min-height:640px; } .hero-content { margin-top:80px; } .interest { grid-template-columns:1fr; gap:55px; } blockquote { margin-top:40px; } footer { flex-wrap:wrap; gap:20px; } }

.interest-hint { display:block; margin-top:6px; font-weight:400; letter-spacing:0; text-transform:none; }
.interest-description { margin:-4px 0 16px 25px; color:#60726a; font-size:.78rem; line-height:1.4; }
.ml-error input { border-color:#ad493b !important; }
.ml-error legend, .ml-error label { color:#ad493b; }
