:root{
  --ivory:#F6F1E8; --forest:#234438; --forest-dark:#1A3329; --sage:#A8B5A0; --sage-bg:#E4E8DF;
  --gold:#B69A61; --charcoal:#292C29; --muted:#5F6A5B; --line:#DDD6C8; --error:#B5533C;
  --serif:'Cormorant Garamond',Georgia,serif; --sans:'Manrope',system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ivory);color:var(--charcoal);font-family:var(--sans);-webkit-font-smoothing:antialiased}
a{color:var(--forest);text-decoration:none}
a:hover{color:var(--gold)}
button,input{font-family:var(--sans)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.page{min-height:100vh;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}
.content{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(28px,4vw,56px)}
.brand{display:flex;align-items:center;gap:12px}
.brand span{font-family:var(--serif);font-weight:600;font-size:22px;letter-spacing:.2em;color:var(--forest)}

.hero{display:flex;flex-direction:column;gap:28px;max-width:520px}
.eyebrow{margin:0;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--forest)}
h1{margin:0;font-family:var(--serif);font-weight:500;font-size:clamp(42px,5.6vw,72px);line-height:1.02;color:var(--forest);text-wrap:pretty}
.lead{margin:0;font-size:17px;font-weight:300;line-height:1.6;text-wrap:pretty}

.form{display:flex;flex-direction:column;gap:14px}
.row{display:flex;flex-wrap:wrap;gap:10px}
.row input{flex:1 1 240px;min-width:0;min-height:52px;padding:0 18px;border:1px solid var(--line);border-radius:2px;background:#fff;color:var(--charcoal);font-size:15px;outline:none}
.row input:focus{border-color:var(--forest)}
.row input[aria-invalid="true"]{border-color:var(--error)}
.row button{flex:1 1 auto;min-height:52px;padding:0 24px;background:var(--forest);color:var(--ivory);border:none;border-radius:2px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}
.row button:hover{background:var(--forest-dark)}
.row button[disabled]{opacity:.6;cursor:wait}
.consent{display:flex;gap:12px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--muted);cursor:pointer}
.consent input{margin-top:3px;width:18px;height:18px;accent-color:var(--forest);flex:none}
.consent a{text-decoration:underline;text-underline-offset:3px}
.feedback{margin:0;min-height:18px;font-size:13px;color:var(--error)}

.success{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--sage);background:#fff;padding:22px 24px;border-radius:2px}
.success[hidden]{display:none}
.success div{display:flex;flex-direction:column;gap:4px}
.success strong{font-family:var(--serif);font-weight:600;font-size:22px;color:var(--forest)}
.success span{font-size:14px;line-height:1.5;color:var(--muted)}

.footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.ig{display:flex;align-items:center;gap:8px;font-weight:500}
.tagline{font-family:var(--serif);font-style:italic;font-size:16px;color:var(--forest)}

.visual{position:relative;margin:0;min-height:360px;background:var(--sage-bg);overflow:hidden}
.visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.visual figcaption{position:absolute;left:20px;bottom:20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);background:rgba(35,68,56,.7);padding:8px 12px}

@media (max-width:860px){
  .page{grid-template-columns:1fr}
  .visual{order:-1;min-height:46vh}
}
