/* ni-hao.at: Elfenbein, Burgunder, Jade, Ringmotiv und geschwungene Bildrahmen. */
:root { --ivory:#fbf7ef; --paper:#f2ede3; --jade-pale:#e3ece7; --jade:#527064; --wine:#7d2533; --wine-deep:#551923; --ink:#293638; --night:#17343b; --muted:#5e6866; --line:#d8cec0; --gold:#b28a52; --accent:#7d2533; --accent-dark:#551923; --brand:#7d2533; --surface:#f2ede3; --warm:#fbf7ef; }
html,body,main,main>section { overflow-x:visible!important; }
html { scroll-behavior:auto; scroll-padding-top:144px; }
body { background:var(--ivory); font:18px/1.62 "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,.hero h1 { max-width:665px; font-size:clamp(36px,3.35vw,48px); 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(--wine-deep); color:#fff; font-size:13px; line-height:1.4; padding:8px 24px; }
.awz-header { background:var(--ivory); }
.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(--ink); }
.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:#75807a; 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(--ivory); border:1px solid #75807a; border-radius:4px; 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; }
.hero { background:linear-gradient(110deg,var(--ivory) 0 56%,var(--jade-pale) 56%); overflow:visible; }
.hero .hero-orbit { width:min(620px,58%); height:auto; aspect-ratio:1; right:0; top:0; box-shadow:none; opacity:.6; pointer-events:none; background:repeating-radial-gradient(circle at 100% 0,transparent 0 90px,rgba(125,37,51,.06) 91px 92px,transparent 93px 180px); }
.hero .shell.hero-grid { display:grid; grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr)!important; grid-template-areas:"copy image" "routes routes"; gap:30px 48px; align-items:center; }
.hero-copy { grid-area:copy; padding-left:22px; border-left:6px solid var(--wine); }
.hero .hero-intro { color:var(--muted); font-size:18px; line-height:1.55; }
.hero .eyebrow,.owner-section .eyebrow,.buyer-section .eyebrow,.connection-section .eyebrow,.awz-about .eyebrow { color:var(--wine-deep); }
.hero .value-band { font-size:16px; line-height:1.45; color:var(--ink); font-weight:700; margin:16px 0 0; }
main .hero-figure.awz-image-wrap { grid-area:image; min-height:0!important; height:318px!important; border:7px solid var(--ivory); border-radius:140px 140px 4px 4px; box-shadow:12px 12px 0 rgba(125,37,51,.1),0 12px 28px rgba(38,47,46,.14); }
main .hero-figure.awz-image-wrap img { min-height:0!important; width:100%; height:100%; object-fit:cover; object-position:50% 0%; }
.awz-image-wrap figcaption { left:auto; right:10px; bottom:10px; max-width:calc(100% - 20px); border:0; border-radius:2px; padding:5px 8px; background:var(--wine-deep); color:#fff; font-size:12px; line-height:1.35; font-weight:500; }
.route-row.hero-actions { grid-area:routes; display:grid; grid-template-columns:1.12fr .88fr; gap:0; margin-top:8px; box-shadow:0 8px 18px rgba(43,56,58,.07); }
.route { min-height:116px; padding:22px 24px; border-top:0; border-left:1px solid var(--line); }
.route:first-child { border-left:0; }
.route span { font-size:13px; line-height:1.4; }
.route strong { font-size:19px; line-height:1.3; }
.route small { font-size:16px; line-height:1.4; }
/* The connection stays an editorial two-column text, not a card matrix. */
.connection-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start; }
.connection-title { padding-right:32px; border-right:1px solid var(--line); }
.connection-copy { padding-top:22px; max-width:650px; }
.owner-grid { grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr); grid-template-areas:"copy image"; gap:44px; align-items:center; }
.owner-copy,.buyer-copy { grid-area:copy; max-width:650px; }
.owner-section { background:var(--jade-pale); }
.property-section { background:var(--wine-deep); color:#fff; }
.property-wrap { grid-template-columns:minmax(0,.68fr) minmax(0,1.32fr); gap:48px; }
.property-section h2,.property-lines b { color:#fff; }
.property-section .eyebrow { color:#f0c2ba; }
.property-lines article { grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr); gap:24px; padding:24px 0; }
.property-lines b { font-size:20px; line-height:1.35; }
.property-lines span { color:#eadfdd; font-size:17px; line-height:1.5; }
.buyer-grid { grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); grid-template-areas:"image copy"; gap:44px; align-items:center; }
.buyer-section { background:var(--paper); }
main .owner-figure.awz-image-wrap,main .buyer-figure.awz-image-wrap { grid-area:image; min-height:0!important; height:auto!important; aspect-ratio:3/2; justify-self:start; border:7px solid var(--ivory); }
main .owner-figure.awz-image-wrap { max-width:550px!important; border-radius:4px 140px 4px 4px; box-shadow:0 12px 28px rgba(38,47,46,.14); }
main .buyer-figure.awz-image-wrap { max-width:560px!important; border-radius:140px 4px 4px 4px; box-shadow:-10px 10px 0 rgba(82,112,100,.12); }
.owner-figure img,.buyer-figure img { min-height:0!important; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:50% 54%; }
.text-link { min-height:44px; line-height:1.45; }
.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(--wine-deep); }
.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:4px 4px 0 0; border-bottom:0; box-shadow:none; }
#contact-form.awz-pilot-form { display:block; padding:clamp(22px,3vw,36px); }
#contact-form.awz-pilot-form::before { left:36px; }
.awz-business-grid .awz-contact { border-radius:0 0 4px 4px; border-top:3px solid var(--wine); }
.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)); }
.awz-intents label { min-height:72px; font-size:16px; line-height:1.4; align-items:flex-start; color:var(--ink); }
.awz-intents label:has(input:checked) { border-color:var(--wine); background:var(--jade-pale); box-shadow:inset 0 0 0 1px var(--wine); }
.awz-intents input { accent-color:var(--wine); }
.awz-pilot-form>input,.awz-pilot-form>textarea,.awz-personal input { min-height:48px; border-color:#75807a; 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(--wine-deep); }
.awz-pilot-form button[type=submit] { min-height:52px; background:var(--wine); line-height:1.5; border-radius:3px; }
.awz-pilot-form button[type=submit]:hover:not(:disabled) { background:var(--wine-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:#17343b; border-top:3px solid var(--wine); }
.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(--wine-deep); outline-offset:4px; }
.route--primary:focus-visible,.route:hover:focus-visible,.awz-footer a:focus-visible { outline-color:#fff; }
.route--primary:focus-visible,.route:hover:focus-visible { outline-offset:-5px; }
@media(max-width:1000px) {
  .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; }
  .connection-grid,.owner-grid,.buyer-grid { grid-template-columns:minmax(0,1fr); gap:28px; }
  .connection-title { padding:0 0 24px; border-right:0; border-bottom:1px solid var(--line); }
  .connection-copy { padding-top:0; }
  .owner-grid,.buyer-grid { grid-template-areas:"copy" "image"; }
  .owner-copy,.buyer-copy { max-width:none; }
}
@media(max-width:820px) {
  .property-wrap { grid-template-columns:minmax(0,1fr); gap:24px; }
}
@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,.hero h1 { font-size:34px; line-height:1.16; margin-bottom:18px; }
  main>section { padding-block:38px; }
  .hero { background:linear-gradient(180deg,var(--ivory) 0 77%,var(--jade-pale) 77%); }
  .hero-copy { padding-left:18px; }
  .hero .hero-intro { font-size:17px; }
  main .hero-figure.awz-image-wrap { height:220px!important; border-width:5px; border-radius:95px 95px 3px 3px; box-shadow:8px 8px 0 rgba(125,37,51,.1); }
  .route-row.hero-actions { grid-template-columns:minmax(0,1fr); }
  .route { min-height:104px; padding:20px 18px; border-left:0; border-top:1px solid var(--line); }
  .route:first-child { border-top:0; }
  .route strong { font-size:18px; }
  .property-lines article { grid-template-columns:minmax(0,1fr); gap:8px; }
  main .owner-figure.awz-image-wrap { border-radius:4px 70px 4px 4px; }
  main .buyer-figure.awz-image-wrap { border-radius:70px 4px 4px 4px; box-shadow:-6px 6px 0 rgba(82,112,100,.12); }
  .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; }
  #contact-form.awz-pilot-form::before { left:18px; width:104px; }
  .awz-contact address a { font-size:17px; }
}
@media(max-width:350px) {
  main h1,.hero h1 { font-size:32px; }
  .hero-copy { padding-left:14px; }
  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; } }
