:root { --charcoal:#41413b; --red:#a74438; --cream:#f8f4ed; --sand:#ebe3d7; --ink:#2c2b29; --muted:#67665e; --page:min(1280px,calc(100% - 64px)); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.6 Arial,Helvetica,sans-serif; }
body.menu-open { overflow:hidden; }
a { color:inherit; }
img { display:block; max-width:100%; }
button,input,textarea { font:inherit; }
.skip-link { position:fixed; top:-90px; left:16px; z-index:100; padding:10px 16px; background:var(--red); color:#fff; }
.skip-link:focus { top:12px; }
.section { width:var(--page); margin-inline:auto; }
.site-header { position:relative; z-index:20; width:var(--page); min-height:108px; margin:auto; display:grid; grid-template-columns:280px 1fr 90px; gap:20px; align-items:center; border-bottom:1px solid #d9d0c6; }
.brand { display:inline-flex; align-items:center; gap:8px; width:max-content; text-decoration:none; line-height:1.05; }
.brand-mark { color:var(--red); font:400 3rem Georgia,serif; }
.brand strong { display:block; color:var(--charcoal); font-size:1rem; font-weight:900; letter-spacing:.09em; }
.brand small { display:block; margin-top:5px; color:var(--muted); font-size:.65rem; font-weight:800; letter-spacing:.17em; }
.main-nav { display:flex; justify-content:center; gap:clamp(18px,3vw,48px); }
.main-nav a { padding:40px 0; text-decoration:none; color:var(--charcoal); font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.main-nav a:hover,.main-nav a:focus-visible { color:var(--red); text-decoration:underline; text-underline-offset:8px; }
.awz-logo { justify-self:end; display:block; width:84px; height:46px; background:url("assets/awz-logo-official.png") center/contain no-repeat; }
.menu-button { display:none; }
.eyebrow { margin:0 0 20px; color:var(--red); font-size:.76rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
h1,h2 { margin-top:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; line-height:1.05; letter-spacing:-.052em; overflow-wrap:break-word; }
h1 { font-size:clamp(3.4rem,5.5vw,6.5rem); }
h2 { font-size:clamp(2.7rem,4.5vw,5.2rem); }
p { overflow-wrap:break-word; }
.button { min-height:52px; display:inline-flex; align-items:center; justify-content:center; gap:22px; padding:13px 22px; border:2px solid transparent; text-decoration:none; font-size:.77rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; transition:transform .18s ease; }
.button:hover,.button:focus-visible { transform:translateY(-2px); }
.button-red { color:#fff; background:var(--red); }
.button-cream { color:var(--charcoal); background:var(--cream); }
.text-link { display:inline-flex; align-items:center; gap:18px; padding-bottom:7px; border-bottom:2px solid var(--red); color:var(--red); font-size:.78rem; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.text-link:hover,.text-link:focus-visible { gap:25px; }

.hero { padding:85px 0 118px; display:grid; grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr); gap:clamp(35px,5vw,80px); align-items:center; }
.hero-copy { padding-left:clamp(0px,2vw,27px); }
.hero h1 { max-width:630px; margin-bottom:29px; color:var(--charcoal); }
.hero-copy > p:not(.eyebrow) { max-width:480px; margin-bottom:31px; font-size:1.13rem; }
.hero-image { position:relative; margin:0; padding:12px; background:#e5ded1; }
.hero-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
figcaption { position:absolute; right:7px; bottom:7px; padding:4px 7px; color:#fff; background:rgba(35,36,33,.86); font-size:.75rem; line-height:1.2; }

.living { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(55px,7vw,100px); align-items:center; margin-bottom:140px; }
.living-image { position:relative; margin:0; padding:0 14px 14px 0; border-right:2px solid var(--red); border-bottom:2px solid var(--red); }
.living-image img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; }
.living-copy h2 { max-width:500px; margin-bottom:30px; color:var(--charcoal); }
.living-copy > p:not(.eyebrow) { max-width:440px; margin-bottom:27px; font-size:1.08rem; }
.selling { padding:120px 0; background:var(--charcoal); color:var(--cream); }
.selling .eyebrow { color:#e8b9aa; }
.selling-inner { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(50px,8vw,120px); align-items:end; }
.selling h2 { max-width:750px; margin-bottom:0; }
.selling-aside p { max-width:470px; margin:0 0 32px; color:#eee9df; font-size:1.1rem; }

.contact { margin-top:110px; margin-bottom:85px; padding:clamp(42px,5vw,75px); display:grid; grid-template-columns:minmax(240px,.63fr) minmax(0,1.37fr); gap:clamp(45px,6vw,90px); background:var(--sand); }
.contact h2 { margin-bottom:25px; color:var(--charcoal); }
.contact-intro > p:not(.eyebrow) { max-width:300px; margin:0 0 50px; }
.personal-contact { display:flex; flex-direction:column; font-style:normal; }
.personal-contact span { margin-bottom:15px; color:var(--red); font-size:.76rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.personal-contact strong { font:400 2.2rem Georgia,serif; }
.personal-contact em { margin-bottom:22px; color:var(--red); font-style:normal; }
.personal-contact a { width:max-content; max-width:100%; margin-bottom:5px; text-underline-offset:5px; }
.contact-form { min-width:0; }
.contact-form fieldset { margin:0 0 25px; padding:0; border:0; }
.contact-form legend,.field > span { display:block; margin-bottom:10px; color:var(--charcoal); font-size:.76rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.radio-row { display:grid; grid-template-columns:.8fr .8fr 1.5fr; gap:8px; }
.radio-row label { cursor:pointer; }
.radio-row input { position:absolute; opacity:0; pointer-events:none; }
.radio-row span { min-height:47px; display:grid; place-items:center; padding:8px 10px; border:1px solid var(--charcoal); color:var(--charcoal); font-size:.76rem; font-weight:800; text-align:center; }
.radio-row input:checked + span { color:#fff; background:var(--charcoal); }
.radio-row input:focus-visible + span { outline:3px solid var(--red); outline-offset:2px; }
.field-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:block; margin-bottom:18px; }
.field input,.field textarea { width:100%; padding:12px 14px; border:1px solid #a7a098; border-radius:0; background:#fffefa; color:var(--ink); outline:0; }
.field textarea { min-height:135px; resize:vertical; }
.field input:focus,.field textarea:focus { border-color:var(--red); box-shadow:0 0 0 2px var(--red); }
.field textarea::placeholder { color:#736f68; }
.consent { display:flex; gap:10px; align-items:flex-start; font-size:.84rem; cursor:pointer; }
.consent input { flex:0 0 auto; width:17px; height:17px; margin-top:4px; accent-color:var(--charcoal); }
.privacy-note { margin:15px 0 0; color:var(--muted); font-size:.82rem; }
.form-status { min-height:24px; margin:10px 0; color:var(--charcoal); font-weight:800; }
.submit-button { border:0; }
.honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.site-footer { width:var(--page); min-height:100px; margin:auto; display:flex; justify-content:space-between; align-items:center; gap:24px; border-top:1px solid #d9d0c6; color:var(--muted); font-size:.78rem; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:24px; }
.site-footer a { text-underline-offset:4px; }
@media (max-width:1050px) {
  :root { --page:min(920px,calc(100% - 42px)); }
  .site-header { grid-template-columns:1fr auto 84px; }
  .menu-button { display:inline-flex; align-items:center; justify-self:end; gap:9px; border:0; padding:10px 0; background:transparent; color:var(--charcoal); font-size:.8rem; font-weight:900; text-transform:uppercase; cursor:pointer; }
  .menu-button i,.menu-button i::before,.menu-button i::after { display:block; width:22px; height:2px; background:currentColor; transition:transform .2s,opacity .2s; }
  .menu-button i { position:relative; }
  .menu-button i::before,.menu-button i::after { content:""; position:absolute; left:0; }
  .menu-button i::before { top:-7px; }
  .menu-button i::after { top:7px; }
  .menu-button[aria-expanded="true"] i { background:transparent; }
  .menu-button[aria-expanded="true"] i::before { top:0; transform:rotate(45deg); }
  .menu-button[aria-expanded="true"] i::after { top:0; transform:rotate(-45deg); }
  .main-nav { position:absolute; top:108px; left:0; right:0; display:none; padding:18px 24px; flex-direction:column; gap:0; background:var(--charcoal); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:13px 0; color:#fff; }
  .hero { grid-template-columns:1fr; gap:40px; padding:70px 0 100px; }
  .hero-copy { padding-left:0; }
  .hero-image { max-width:810px; }
  .living { grid-template-columns:1fr; gap:43px; }
  .living-image { max-width:800px; }
  .selling-inner { grid-template-columns:1fr; gap:34px; }
  .contact { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  :root { --page:calc(100% - 28px); }
  .site-header { min-height:80px; grid-template-columns:minmax(0,1fr) auto 58px; gap:8px; }
  .brand { gap:4px; }
  .brand-mark { font-size:1.9rem; }
  .brand strong { font-size:.78rem; letter-spacing:.06em; }
  .brand small { font-size:.59rem; letter-spacing:.07em; }
  .awz-logo { width:58px; height:34px; }
  .menu-button span { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .main-nav { top:80px; }
  .hero { padding:55px 0 88px; }
  .hero h1 { font-size:clamp(3.3rem,11vw,5rem); }
  .hero-copy .button { width:100%; }
  .hero-image { padding:7px; }
  .living { margin-bottom:90px; }
  .living-image { padding:0 8px 8px 0; }
  .selling { padding:80px 0; }
  .contact { width:100%; margin-top:0; margin-bottom:0; padding:70px 20px; }
  .contact h2 { margin-bottom:26px; }
  .contact-intro > p:not(.eyebrow) { margin-bottom:38px; }
  .radio-row { grid-template-columns:1fr; }
  .field-grid { grid-template-columns:1fr; gap:0; }
  .site-footer { min-height:125px; flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; }
  .site-footer nav { gap:17px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

/* AWZ: Symbolbild-Kennzeichnung im Bild, rechts unten */
figure figcaption{right:20px;bottom:20px}
