:root{--paper:#f3f0e8;--ink:#293a31;--muted:#58645c;--line:#cbd0c5;--white:#fffdf8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}.preview{background:var(--ink);color:white;text-align:center;font-size:12px;padding:8px 16px}main{max-width:1160px;margin:auto;padding:36px 48px 24px;display:grid;grid-template-columns:1fr 440px;gap:48px 72px}header,footer{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}header{padding-bottom:22px;border-bottom:1px solid var(--line)}header a{text-decoration:none;font-weight:800;letter-spacing:.07em;font-size:19px}header a span{display:block;font-size:10px;letter-spacing:.22em;margin-top:3px}.location,.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em}.intro{align-self:center;padding:10px 0 30px}.eyebrow{margin:0 0 22px}h1{font-family:Georgia,serif;font-size:clamp(44px,5.5vw,70px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0 0 30px}.lead{max-width:360px;font-size:18px;color:var(--muted)}.card{background:var(--white);border:1px solid var(--line);padding:32px;border-radius:3px;align-self:start}h2{font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;margin:0 0 12px}.card>p:not(.eyebrow){color:var(--muted);font-size:14px}button{cursor:pointer;display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 18px;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:white;font:700 15px Arial;margin-top:24px;min-height:52px}.secondary{background:transparent;color:var(--ink);font-size:14px}.divider{height:1px;background:var(--line);margin:26px 0}summary{font-weight:700;cursor:pointer;min-height:32px}details p{font-size:14px;color:var(--muted)}label,legend{font-size:13px;font-weight:700}input[type=email]{display:block;width:100%;border:1px solid #869487;padding:14px;margin:8px 0 20px;border-radius:2px;font:16px Arial;background:white;color:var(--ink)}fieldset{padding:0;border:0;margin:0}.choice{display:flex;gap:12px;margin:16px 0;cursor:pointer}.choice input{width:20px;height:20px;accent-color:var(--ink);flex-shrink:0}.choice small{display:block;font-weight:400;color:var(--muted);font-size:12px}.consent{font-size:12px!important}.status:not(:empty){padding:12px;background:#e9ede4;font-size:13px;color:var(--ink)}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #ad6d22;outline-offset:4px}footer{border-top:1px solid var(--line);padding-top:20px;color:var(--muted);font-size:12px}@media(max-width:800px){main{grid-template-columns:1fr;gap:28px;padding:24px}.intro{padding:4px 0 0}h1{font-size:48px}.lead{max-width:100%;font-size:17px}.card{width:100%;padding:25px}header .location{display:none}footer{align-items:start;gap:12px;flex-direction:column}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* Customer homepage brand, locally hosted fonts. */
@font-face{font-family:Inter;src:url('/assets/fonts/inter-400.woff2') format('woff2');font-weight:400;font-display:swap}@font-face{font-family:Inter;src:url('/assets/fonts/inter-700.woff2') format('woff2');font-weight:700;font-display:swap}@font-face{font-family:Baskervville;src:url('/assets/fonts/baskervville-600.woff2') format('woff2');font-weight:600;font-display:swap}
:root{--paper:#f7f3e9;--ink:#17352b;--muted:#56655d;--line:#d9d6c9;--white:#fffdf7}body{font-family:Inter,Arial,sans-serif}h1,h2{font-family:Baskervville,Georgia,serif;font-weight:600}button,input[type=email]{font-family:Inter,Arial,sans-serif}main.portal{max-width:1220px;grid-template-columns:1fr 490px;gap:46px 60px}.form-scene{position:relative;min-height:565px;display:flex;align-items:flex-end;padding:140px 24px 24px}.photo{position:absolute;inset:0 0 85px;background:url('/assets/haus-zur-metzg.jpeg') center 65%/cover;border-radius:3px}.form-scene .card{position:relative;background:var(--paper);padding:30px 28px;width:100%;align-self:auto;box-shadow:0 12px 36px #17352b18}.choice{align-items:flex-start;font-weight:400;font-size:14px}.choice input{margin:1px 0 0}.choice a{text-underline-offset:3px}.status:empty{display:none}.legal{display:block;max-width:850px}.legal h1{font-size:40px;margin-top:38px}.legal h2{font-size:25px;margin-top:26px}.legal p{max-width:70ch}.legal footer{margin-top:40px}@media(max-width:900px){main.portal{grid-template-columns:1fr;gap:28px;padding:24px}.form-scene{min-height:520px;max-width:560px;width:100%;justify-self:center;padding:140px 16px 16px}.form-scene .card{padding:25px}}@media(max-width:380px){main.portal{padding:18px}.form-scene .card{padding:20px 16px}.choice{font-size:13px}}
.legal h1{overflow-wrap:anywhere;hyphens:auto}@media(max-width:480px){.legal h1{font-size:34px}}
/* Full-page customer photo; content remains legible on warm translucent surfaces. */
body{min-height:100vh;background:linear-gradient(rgba(15,37,29,.25),rgba(15,37,29,.25)),url('/assets/haus-zur-metzg.jpeg') center center/cover fixed no-repeat}.portal{min-height:100vh}.portal header,.portal footer{color:var(--paper);border-color:rgba(247,243,233,.45)}.portal .intro{background:rgba(247,243,233,.95);padding:38px 34px;border-radius:3px}.form-scene{padding:0;min-height:0;align-self:center;align-items:center}.form-scene .photo{display:none}.form-scene .card{background:rgba(247,243,233,.97);padding:34px;box-shadow:0 12px 36px #071d2040}.portal .lead{margin-bottom:0}@media(max-width:900px){body{background-attachment:scroll}.portal .intro{padding:28px 24px}.form-scene{min-height:0;padding:0;max-width:none}.form-scene .card{padding:28px 24px}.portal header,.portal footer{background:rgba(23,53,43,.55);padding:16px;border-radius:3px}.legal{background:var(--paper);min-height:100vh}}
.portal{grid-template-rows:auto 1fr auto}.legal{background:var(--paper);min-height:100vh}

/* Homepage wordmark and terracotta action style; no ancillary footer. */
.portal{grid-template-rows:auto 1fr}.portal header{border:0;padding:0;background:none;border-radius:0;align-self:start}.portal header a{display:inline-block;padding:10px 20px 14px;background:var(--paper);color:var(--ink);font-family:Baskervville,Georgia,serif;font-size:26px;line-height:1.15;font-weight:600;letter-spacing:-.035em}.portal header a span{font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.025em;margin-top:3px}.portal button{background:#8f4031;border-color:#8f4031;border-radius:0;font-weight:400}.portal button:hover{background:#773428;border-color:#773428}@media(max-width:900px){.portal{grid-template-rows:auto auto auto}.portal header{padding:0;background:none}.portal header a{font-size:26px}}

/* Full-width homepage-style masthead, separate from the photo content grid. */
.site-header{display:flex;width:100%;min-height:84px;padding:14px 32px;background:var(--paper);color:var(--ink);border:0}.site-header a{text-decoration:none;font-family:Baskervville,Georgia,serif;font-size:26px;line-height:1.15;font-weight:600;letter-spacing:-.035em}.site-header a span{font-family:Inter,Arial,sans-serif;font-size:12px;line-height:1.5;font-weight:400;letter-spacing:.025em;margin-top:3px}.portal{min-height:calc(100vh - 84px);grid-template-rows:1fr}@media(max-width:900px){.site-header{padding:14px 24px}.portal{grid-template-rows:auto auto}}

/* Captive browsers have little vertical space: keep the complete form in view. */
@media(max-width:900px){
 .site-header{min-height:60px;padding:9px 20px}.site-header a{font-size:23px}.site-header a span{font-size:10px;margin-top:1px}
 main.portal{min-height:calc(100svh - 60px);padding:16px;gap:12px;align-content:start;grid-template-rows:auto auto}
 .portal .intro{padding:14px 18px}.portal .eyebrow{font-size:10px;margin:0 0 6px}
 .portal h1{font-size:27px;line-height:1.12;margin:0}.portal h1 br{display:none}.portal h1 br::after{content:' '}
 .portal .lead{display:none}.form-scene .card{padding:20px}
 .portal input[type=email]{padding:11px 12px;margin:6px 0 14px}.portal .choice{margin:13px 0;font-size:13px;gap:10px}
 .portal button{margin-top:16px;padding:12px 16px;min-height:48px}
}
@media(min-width:901px) and (max-height:700px){
 .site-header{min-height:64px;padding:10px 32px}
 main.portal{min-height:calc(100svh - 64px);padding:20px 32px;gap:28px;grid-template-columns:1fr 440px}
 .portal .intro{padding:24px}.portal h1{font-size:45px;margin-bottom:18px}.portal .eyebrow{margin-bottom:14px}
 .form-scene .card{padding:24px}
}
@media(max-width:900px) and (max-height:550px){
 main.portal{padding:10px;gap:8px}.portal .intro{padding:10px 16px}.portal .eyebrow{display:none}
 .portal h1{font-size:22px}.form-scene .card{padding:16px}.portal .choice{margin:11px 0}
}
