:root{
  --bg:#F6EEEA; --panel:#FBF6F3; --ink:#141517; --muted:#4A3F3D; --accent:#98695E; --line:#E2C0B4;
  --font:"Helvetica Neue",Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-weight:300;-webkit-font-smoothing:antialiased;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
.page{min-height:100vh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
.copy{display:flex;flex-direction:column;padding:48px clamp(28px,6vw,96px) 40px}
.logo{font-size:13px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--ink);text-decoration:none}
.logo span{font-weight:300;color:var(--accent);margin-left:.5em}
.main{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:520px;padding:64px 0;opacity:1}
h1{font-weight:300;font-size:clamp(34px,4.5vw,64px);line-height:1.08;letter-spacing:-.02em;margin-bottom:20px}
.lede{font-size:19px;line-height:1.55;color:var(--muted);max-width:30em;margin-bottom:8px}
.location{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-weight:400;margin-bottom:20px}
.note{font-size:16px;line-height:1.6;color:var(--muted);max-width:30em;margin-bottom:28px}
.teaser{margin-bottom:32px;max-width:440px}
.teaser-label{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;font-weight:400}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.chips li{font-size:13px;font-weight:400;color:var(--ink);background:var(--panel);border:1px solid var(--line);padding:8px 12px;line-height:1.3}
.teaser-note{font-size:13px;line-height:1.5;color:var(--muted);margin-top:10px}
form{display:grid;gap:14px;max-width:440px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
label.f{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:400}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--panel);
  border:1px solid var(--line);border-radius:0;padding:14px 14px;outline:none}
input[type=text]:focus,input[type=email]:focus{border-color:var(--ink)}
.consent{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;font-size:14px;line-height:1.5;color:var(--muted);margin-top:4px}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--ink)}
.privacy-note{font-size:13px;line-height:1.55;color:var(--muted);max-width:440px}
.privacy-note a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
.privacy-note a:hover{color:var(--ink)}
button{font:inherit;font-size:12px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;background:var(--ink);color:var(--bg);
  border:1px solid var(--ink);border-radius:0;padding:17px 32px;cursor:pointer;justify-self:start;transition:background .2s,color .2s}
button:hover{background:transparent;color:var(--ink)}
button:disabled{opacity:.55;cursor:default}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.msg{font-size:15px;line-height:1.5;min-height:1.5em}
.msg.ok{color:var(--ink)} .msg.err{color:#8A2F22}
.done{display:none;max-width:440px;border-left:2px solid var(--accent);padding:4px 0 4px 18px}
.done.is-visible{display:block}
.done p{font-size:18px;line-height:1.55;color:var(--ink)}
.done small{display:block;margin-top:8px;font-size:14px;color:var(--muted)}
.hp{position:absolute;left:-5000px}
footer{font-size:13px;color:var(--muted);line-height:1.6;margin-top:auto;padding-top:24px}
footer a{color:var(--muted);text-decoration:underline;text-underline-offset:2px}
footer a:hover{color:var(--ink)}
.footer-sep{margin:0 .4em;opacity:.5}
.photo{background:#d9c6bd url("hero.jpg") center 30%/cover no-repeat;min-height:100%}
@media (max-width:860px){
  .page{grid-template-columns:1fr;grid-template-rows:auto 1fr}
  .photo{order:-1;height:42vh;min-height:260px;background-position:center 35%}
  .copy{padding:32px 24px 32px}
  .main{padding:40px 0 48px}
  .row{grid-template-columns:1fr}
  h1{font-size:clamp(32px,9vw,48px)}
}
@media (prefers-reduced-motion:no-preference){
  .main{animation:rise .7s ease-out both}
  @keyframes rise{
    from{opacity:.001;transform:translateY(10px)}
    to{opacity:1;transform:none}
  }
}
