/* gangnam-gu.com: retain the city grid, river blue, jade, coral and district axis. */
:root { --night:#18313f; --night-deep:#102633; --river:#356d8b; --jade:#4f8075; --coral:#ba6253; --coral-deep:#924437; --stone:#f1eee7; --mist:#eaf0ef; --paper:#fffefa; --ink:#24343d; --muted:#586870; --line:#ccd5d4; --accent:#924437; --accent-dark:#102633; --brand:#18313f; --surface:#eaf0ef; --warm:#fffefa; }
html,body,main,main>section { overflow-x:visible!important; }
html { scroll-behavior:auto; scroll-padding-top:144px; }
body { background:var(--paper); font:18px/1.65 "Segoe UI","Helvetica Neue",Arial,sans-serif; }
main h1,main h2,main h3 { font-family:inherit; word-break:normal; overflow-wrap:anywhere!important; }
main h1,.city-hero h1 { max-width:730px; font-size:clamp(36px,3.65vw,50px); line-height:1.12; }
main h2 { font-size:clamp(28px,2.8vw,38px); line-height:1.2; }
main h3 { font-size:22px; line-height:1.25; }
main>section { padding:clamp(40px,4.6vw,66px) 0; }
.shell { width:min(calc(100% - 48px),1180px); }
.operator-bar { background:var(--night-deep); color:#fff; font-size:13px; line-height:1.4; padding:8px 24px; }
.awz-header { background:var(--paper); }
.awz-header .awz-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:16px; max-width:1228px; padding:12px 24px; }
.awz-header .awz-brand { grid-column:1; grid-row:1; justify-self:start; gap:10px; color:var(--ink); }
.awz-header .awz-brand img { width:64px; height:42px; object-fit:contain; }
.awz-header .awz-brand-copy { display:grid; gap:3px; white-space:normal; }
.awz-header .awz-brand-copy strong { font-size:15px; }
.awz-header .awz-brand-copy small { font-size:13px; color:var(--night); }
.awz-header .awz-language-nav { grid-column:2; grid-row:1; display:flex; flex-wrap:wrap; justify-content:flex-end; gap:4px; margin:0; }
.awz-language-nav a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px; color:var(--ink); font-size:14px; }
.awz-language-nav a[aria-current="page"] { font-weight:750; text-decoration-thickness:2px; text-underline-offset:5px; }
.awz-header .awz-menu-toggle { grid-column:3; grid-row:1; justify-self:end; display:flex; min-height:44px; border-color:#71858d; padding:9px 12px; }
.awz-header [data-awz-nav]:not([hidden]) { display:block!important; position:absolute; top:100%; right:24px; left:auto; width:min(340px,calc(100vw - 32px)); max-height:min(70vh,540px); overflow:auto; padding:8px; margin:0; background:var(--paper); border:1px solid #71858d; border-radius:8px; z-index:60; }
.awz-header [data-awz-nav] a { display:block; min-height:44px; padding:10px 12px; }
.awz-header [data-awz-nav][hidden] { display:none!important; }
.city-hero { background:linear-gradient(110deg,var(--paper) 0 59%,var(--mist) 59% 100%); overflow:visible; }
.city-hero::before { inset:0 0 0 58%; transform:none; clip-path:polygon(0 0,100% 0,100% 100%,14% 100%); pointer-events:none; }
.city-hero .shell.hero-grid { display:grid; grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr)!important; grid-template-areas:"copy image" "routes routes"; gap:28px 40px; align-items:center; }
.hero-copy { grid-area:copy; }
.city-hero .hero-intro { font-size:18px; line-height:1.55; }
.city-hero .value-band { font-size:16px; line-height:1.45; color:var(--night); font-weight:700; margin:16px 0 0; }
main .hero-figure.awz-image-wrap { grid-area:image; min-height:0!important; height:310px!important; border:6px solid rgba(255,255,255,.8); border-radius:16px 78px 16px 16px; box-shadow:0 12px 28px rgba(24,49,63,.13); }
main .hero-figure.awz-image-wrap img { min-height:0!important; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.awz-image-wrap figcaption { left:auto; right:10px; bottom:10px; max-width:calc(100% - 20px); border:0; border-radius:3px; padding:5px 8px; background:var(--night-deep); color:#fff; font-size:12px; line-height:1.35; font-weight:500; }
.hero-actions.city-routes { grid-area:routes; display:grid; grid-template-columns:1.08fr .92fr; gap:0; margin-top:8px; border-top:4px solid var(--night); border-radius:0; box-shadow:none; }
.city-route { grid-template-columns:38px minmax(0,1fr); min-height:112px; padding:20px 24px; column-gap:14px; border-right:1px solid var(--line); border-bottom:0; }
.city-route:last-child { border-right:0; }
.city-route strong { font-size:19px; line-height:1.3; }
.city-route small { font-size:16px; line-height:1.4; }
.district-grid { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:44px; }
.district-axis { padding-left:36px; }
.district-axis article { grid-template-columns:80px 145px minmax(0,1fr); gap:14px; padding:20px 0; }
.district-axis article::before { left:-32.5px; }
.district-axis span { font-size:13px; }
.district-axis h3 { font-size:20px; }
.district-axis p { font-size:17px; line-height:1.55; }
.owner-grid { grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); gap:44px; align-items:center; }
.owner-copy,.buyer-copy { max-width:650px; }
.owner-section { background:var(--mist); }
.types-section { color:#fff; background:var(--night-deep); }
.types-section h2,.types-section h3,.buyer-section h2 { color:#fff; }
.types-section .eyebrow { color:#ffd1c6; }
.buyer-section .eyebrow { color:#fff; }
.types-heading { grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr); gap:32px; margin-bottom:28px; }
.types-line { grid-template-columns:repeat(3,minmax(0,1fr)); }
.types-line article { padding:24px 22px; }
.types-line h3 { min-height:0; font-size:21px; }
.types-line span { margin-bottom:18px; }
.types-line p { font-size:17px; line-height:1.55; color:#dce8e5; }
.buyer-grid { grid-template-columns:minmax(0,.96fr) minmax(0,1.04fr); gap:44px; align-items:center; }
.buyer-section { color:#fff; background:var(--river); }
.buyer-copy p:not(.eyebrow) { color:#f4f8f9; }
main .owner-figure.awz-image-wrap,main .buyer-figure.awz-image-wrap { min-height:0!important; height:auto!important; aspect-ratio:3/2; }
main .owner-figure.awz-image-wrap { max-width:520px!important; justify-self:end; border-radius:18px 18px 18px 72px; box-shadow:-8px 8px 0 #cddad7; }
main .buyer-figure.awz-image-wrap { max-width:540px!important; justify-self:end; border:5px solid rgba(255,255,255,.3); border-radius:72px 16px 72px 16px; box-shadow:0 12px 28px rgba(16,38,51,.15); }
.owner-figure img,.buyer-figure img { min-height:0!important; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:50% 50%; }
.buyer-figure figcaption { right:40px; bottom:14px; max-width:calc(100% - 54px); }
.text-link { min-height:44px; line-height:1.4; color:var(--night-deep); }
.buyer-section .text-link--light { color:#fff; border-bottom-color:#ffd1c6; }
.awz-introduction,.awz-business-inquiry { padding-inline:24px; }
.awz-introduction-copy h2 { font-size:32px; }
.awz-introduction-copy a { display:inline-flex; align-items:center; min-height:44px; font-size:16px; }
.awz-introduction-facts dd { font-size:15px; }
.awz-introduction-facts dt,.awz-about .awz-facts strong { color:var(--night); }
.awz-business-grid { grid-template-columns:minmax(0,1fr); max-width:880px; margin:auto; gap:0; }
.awz-business-inquiry-inner>h2 { max-width:880px; margin:0 auto 24px; font-size:34px; }
.awz-business-grid .awz-pilot-form { border-radius:16px 16px 0 0; border-bottom:0; box-shadow:none; }
#contact-form.awz-pilot-form { display:block; padding:clamp(22px,3vw,36px); }
.awz-business-grid .awz-contact { border-radius:0 0 16px 16px; border-top:3px solid var(--coral); }
.awz-pilot-form legend { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.awz-intents { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.awz-intents label { padding:13px 12px; min-height:58px; border-color:#71858d; border-radius:6px; font-size:16px; line-height:1.4; align-items:flex-start; color:var(--ink); }
.awz-intents label:has(input:checked) { border-color:var(--night); background:#eaf0ef; box-shadow:inset 0 0 0 1px var(--night); }
.awz-intents input { accent-color:var(--night); }
.awz-pilot-form>input,.awz-pilot-form>textarea,.awz-personal input { min-height:48px; border-color:#71858d; font-size:17px; line-height:1.5; }
.awz-pilot-form textarea { min-height:156px; }
.awz-pilot-form textarea::placeholder { color:var(--muted); opacity:1; }
.awz-pilot-form details { padding:0 16px; }
.awz-pilot-form summary { min-height:50px; padding:13px 0; font-size:16px; line-height:1.5; }
.awz-personal { padding-bottom:18px; }
.awz-consent,.awz-confidential { font-size:15px; line-height:1.55; color:var(--muted); }
.awz-consent a { color:var(--night-deep); }
.awz-pilot-form button[type=submit] { min-height:52px; background:var(--night); line-height:1.5; border-radius:6px; }
.awz-pilot-form button[type=submit]:hover:not(:disabled) { background:var(--coral-deep); }
.awz-contact h2 { margin:0 0 18px; font-size:clamp(27px,2.8vw,34px); line-height:1.25; }
.awz-contact strong { font-size:19px; }
.awz-contact address { margin-top:14px; }
.awz-contact address a { min-height:44px; display:flex; align-items:center; margin:0; font-size:18px; }
.awz-contact address span { font-size:13px; }
.awz-about .button { min-height:48px; line-height:1.5; }
.awz-footer { background:var(--night-deep); border-top:3px solid var(--coral); }
.awz-footer nav { gap:4px 24px!important; }
.awz-footer a { display:inline-flex; align-items:center; min-height:44px; font-size:15px; }
section[id],form[id],main[id] { scroll-margin-top:144px; }
:focus-visible { outline:3px solid var(--coral-deep); outline-offset:4px; }
.city-route--primary:focus-visible,.city-route:hover:focus-visible,.types-section a:focus-visible,.buyer-section a:focus-visible,.awz-footer a:focus-visible { outline-color:#fff; }
.city-route--primary:focus-visible,.city-route:hover:focus-visible { outline-offset:-5px; }
@media(max-width:1000px) {
  .city-hero .shell.hero-grid { grid-template-columns:minmax(0,1fr)!important; grid-template-areas:"copy" "image" "routes"; gap:24px; }
  .hero-copy { max-width:780px; }
  main .hero-figure.awz-image-wrap { max-width:620px!important; justify-self:center; }
  .district-grid,.owner-grid,.buyer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .owner-copy,.buyer-copy { max-width:none; }
  main .owner-figure.awz-image-wrap,main .buyer-figure.awz-image-wrap { justify-self:start; }
}
@media(max-width:820px) { .city-hero { background:linear-gradient(180deg,var(--paper),var(--mist)); } }
@media(max-width:680px) {
  .shell { width:calc(100% - 32px); }
  .operator-bar { padding-inline:16px; font-size:12px; }
  .awz-header .awz-header-inner { grid-template-columns:minmax(0,1fr) auto; gap:0 10px; padding:8px 16px 4px; }
  .awz-header .awz-menu-toggle { grid-column:2; grid-row:1; padding:8px; }
  .awz-header .awz-language-nav { grid-column:1/-1; grid-row:2; justify-content:flex-end; }
  .awz-header .awz-brand img { width:54px; height:38px; }
  .awz-header .awz-brand-copy strong { font-size:13px; }
  .awz-header .awz-brand-copy small { font-size:12px; }
  .awz-header [data-awz-nav]:not([hidden]) { right:16px; max-height:calc(100dvh - 145px); }
  main h1,.city-hero h1 { font-size:34px; line-height:1.16; margin-bottom:18px; }
  main>section { padding-block:38px; }
  .city-hero .hero-intro { font-size:17px; }
  main .hero-figure.awz-image-wrap { height:220px!important; border-radius:14px 58px 14px 14px; }
  .hero-actions.city-routes { grid-template-columns:minmax(0,1fr); }
  .city-route { min-height:100px; padding:18px; border-right:0; border-bottom:1px solid var(--line); }
  .city-route:last-child { border-bottom:0; }
  .city-route strong { font-size:18px; }
  .district-axis { padding-left:30px; }
  .district-axis article { grid-template-columns:minmax(0,1fr); gap:5px; padding:19px 0; }
  .district-axis article::before { left:-25px; width:13px; height:13px; }
  .types-heading { grid-template-columns:minmax(0,1fr); gap:5px; }
  .types-line { grid-template-columns:minmax(0,1fr); }
  .types-line article { display:grid; grid-template-columns:32px minmax(0,1fr); gap:0 14px; padding:22px 0; border-right:0; border-bottom:1px solid rgba(255,255,255,.24); }
  .types-line article:last-child { border-bottom:0; }
  .types-line span { grid-row:1/3; margin:0; }
  .types-line h3 { min-height:0; margin-bottom:7px; }
  .types-line p { grid-column:2; }
  main .owner-figure.awz-image-wrap { border-radius:14px 14px 14px 54px; box-shadow:-6px 6px 0 #cddad7; }
  main .buyer-figure.awz-image-wrap { border-radius:54px 14px 54px 14px; }
  .buyer-figure figcaption { right:30px; bottom:12px; max-width:calc(100% - 44px); }
  .awz-introduction,.awz-business-inquiry { padding-inline:16px; }
  .awz-intents { grid-template-columns:minmax(0,1fr); }
  .awz-intents label { min-height:50px; }
  .awz-business-inquiry-inner>h2 { font-size:30px; }
  .awz-business-grid .awz-pilot-form,.awz-business-grid .awz-contact,#contact-form.awz-pilot-form { padding:22px 18px; }
  .awz-contact address a { font-size:17px; }
}
@media(max-width:350px) {
  main h1,.city-hero h1 { font-size:32px; }
  main .hero-figure.awz-image-wrap { height:210px!important; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }

/* AWZ: H1 wie scheidungshaeuser.de */
h1{font-family:Arial,Helvetica,sans-serif !important;font-weight:700 !important;letter-spacing:-0.034em;line-height:1.12;font-size:clamp(38px,3.7vw,53px) !important}
