:root{--burgundy:#7C1835;--word:#6B1E2E;--leaf:#3F5E45;--ink:#1F2328;--grey:#6B6F76;--blush:#E3C3CB;--tint:#FAF6F7}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Libre Franklin",system-ui,sans-serif;font-weight:300;color:var(--ink);line-height:1.7;font-size:17px;background:linear-gradient(180deg,#fff 0,#fff 55%,var(--tint) 100%);min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased}
.page{flex:1;max-width:1120px;width:100%;margin:0 auto;padding:56px 32px 80px;display:grid;grid-template-columns:1fr 1fr;column-gap:88px;align-items:center}
.brand{grid-column:1/-1;margin-bottom:72px}
.brand img{width:210px;height:auto}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--leaf);font-weight:500;margin-bottom:18px}
h1,h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;color:var(--word);line-height:1.12}
h1{font-size:clamp(2.6rem,5.2vw,4.2rem);margin-bottom:24px}
h2{font-size:2rem;margin-bottom:6px}
.lead{font-size:1.15rem;color:var(--grey);max-width:36ch;margin-bottom:32px}
.line{font-size:.9rem;color:var(--grey);border-top:1px solid var(--blush);padding-top:18px;max-width:40ch}
.panel{background:#fff;border:1px solid #eee;border-top:3px solid var(--blush);padding:44px 40px;box-shadow:0 20px 50px -30px rgba(124,24,53,.25)}
.sub{color:var(--grey);margin-bottom:26px}
form{display:grid;gap:18px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
label{display:grid;gap:6px;font-size:.85rem;font-weight:400;color:var(--ink)}
.opt{color:var(--grey);font-weight:300}
input,textarea{font:inherit;font-size:1rem;color:var(--ink);border:1px solid #dcdcdf;border-radius:2px;padding:11px 12px;background:#fff;width:100%}
textarea{resize:vertical;min-height:120px}
input:focus,textarea:focus{outline:none;border-color:var(--burgundy);box-shadow:0 0 0 3px rgba(227,195,203,.55)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
button{font:inherit;font-weight:400;letter-spacing:.02em;background:var(--burgundy);color:#fff;border:0;border-radius:2px;padding:14px 28px;cursor:pointer;justify-self:start;transition:background .2s}
button:hover{background:var(--word)}button:disabled{opacity:.6;cursor:wait}
.error{color:var(--burgundy);font-size:.9rem}
.thanks-icon{margin-bottom:18px}
#thanks-view{text-align:center;padding:40px 0}
[hidden]{display:none!important}
.foot{text-align:center;color:var(--grey);font-size:.85rem;padding:28px 0 36px}
@media (max-width:900px){
 .page{grid-template-columns:1fr;padding:32px 22px 56px}
 .brand{margin-bottom:44px}.brand img{width:160px}
 .intro{margin-bottom:44px}
 .panel{padding:32px 22px}
 .row{grid-template-columns:1fr}
 button{justify-self:stretch}
}
.page{align-content:center}
#thanks-view{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center}
@media (max-width:900px){.page{align-content:start}#thanks-view{min-height:260px}}

.foot a{color:var(--grey);text-decoration:underline;text-underline-offset:3px}
.foot a:hover{color:var(--word)}
.legal{display:block;max-width:760px}
.legal .brand{margin-bottom:48px}
.policy h1{font-size:clamp(2.2rem,4.4vw,3.2rem);margin-bottom:8px}
.policy .effective{color:var(--grey);font-size:.9rem;border-bottom:1px solid var(--blush);padding-bottom:18px;margin-bottom:28px}
.policy h2{font-size:1.6rem;margin:34px 0 10px}
.policy p,.policy li{color:var(--ink);margin-bottom:14px;max-width:68ch}
.policy ul{padding-left:1.2em;margin-bottom:14px}
.policy a{color:var(--burgundy)}
