/* Homepage only: panorama begins behind the unchanged navigation. */
body.viason-home>header.viason-site-header{position:fixed;top:0;left:0;right:0;width:100%;background:transparent;border-bottom-color:transparent;box-shadow:none;transition:background-color 1.6s ease,border-color 1.6s ease,box-shadow 1.6s ease}
body.viason-home.home-header-scrolled>header.viason-site-header{background:rgba(255,255,255,.94);border-bottom-color:#eeeae4;box-shadow:0 1px 5px #00000006}
body.viason-home .home-hero{height:100svh;min-height:560px;max-height:none}
@media(max-height:560px){body.viason-home .home-hero{min-height:100svh}}
@media(prefers-reduced-motion:reduce){body.viason-home>header.viason-site-header{transition:none}}
body.viason-home .home-services{margin-top:0}

/* Use the supplied high-resolution white brand artwork without a soft halo. */
body.viason-home .home-hero-logo{filter:none;opacity:1}
body.viason-home .home-hero-content{transform:translateY(var(--home-content-offset,0px))}
@media(max-height:560px){body.home-film .home-hero-logo{width:clamp(150px,18vw,240px);margin-bottom:20px}body.home-film.viason-home .home-hero h1{font-size:clamp(25px,4.5vh,36px);bottom:calc(100% + 20px)}}

/* Display the supplied panorama in its original colors and resolution. */
body.viason-home .home-shade{display:none}
body.home-film .home-film-markt::after{content:'';position:absolute;inset:0;background:rgba(17,32,45,.10);pointer-events:none}

/* Approved homepage refinements, 31 October: spacing, typography and controls. */
body.viason-home .home-services{margin-top:clamp(44px,5vw,72px)}
body.viason-home .home-service h2,body.viason-home .home-section-heading h2,body.viason-home .home-about h2{font-family:Manrope,Arial,sans-serif;font-weight:400}
body.viason-home .home-motion-toggle{display:none}
body.viason-home .home-hero-button{transition:background-color .2s ease,border-color .2s ease}
body.viason-home .home-hero-button:hover,body.viason-home .home-hero-button:focus-visible{background:rgba(255,255,255,.40);border-color:#fff;color:#fff}
body.viason-home .home-property-photo{aspect-ratio:3/2;background:#fff;display:flex;align-items:center;justify-content:center}
body.viason-home .home-property-photo img{width:100%;height:100%;object-fit:contain}
body.viason-home .home-property-link>span{transition:background-color .25s ease,color .25s ease,border-color .25s ease}
body.viason-home .home-property-link>span:hover,body.viason-home .home-property:focus-visible .home-property-link>span{background:#000;color:#fff;border-color:#000}
body.viason-home .home-contact>a{transition:background-color .25s ease,color .25s ease}
body.viason-home .home-contact>a:hover,body.viason-home .home-contact>a:focus-visible{background:#000;color:#fff}
/* Keep the period's native advance and baseline; replace just its square ink. */
body.viason-home .home-round-stop{position:relative;display:inline-block;color:transparent}
body.viason-home .home-round-stop::after{content:'';position:absolute;width:.09em;height:.09em;border-radius:50%;background:#232323;left:50%;bottom:.035em;transform:translateX(-50%)}
/* Two fine strokes travel from the outer edges to the middle. */
body.viason-home>header nav[aria-label="Hauptnavigation"]>a::after,
body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger::after{left:0;right:auto;width:50%;transform-origin:left center}
body.viason-home>header nav[aria-label="Hauptnavigation"]>a::before,
body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger::before{content:'';position:absolute;right:0;bottom:2px;width:50%;height:1px;background:#000;transform:scaleX(0);transform-origin:right center;transition:transform 300ms ease}
body.viason-home>header nav[aria-label="Hauptnavigation"]>a:hover::before,
body.viason-home>header nav[aria-label="Hauptnavigation"]>a:focus-visible::before,
body.viason-home>header nav[aria-label="Hauptnavigation"]>a[aria-current="page"]::before,
body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger:hover::before,
body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger:focus-visible::before,
body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger[aria-expanded="true"]::before{transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){body.viason-home .home-hero-button,body.viason-home .home-contact>a,body.viason-home .home-property-link>span,body.viason-home>header nav[aria-label="Hauptnavigation"]>a::before,body.viason-home>header nav[aria-label="Hauptnavigation"] .viason-contact-trigger::before{transition:none}}
/* Static, decoded scenes with a soft crossfade. Photos never pan or zoom. */
body.home-film.film-ready .home-film-scene{opacity:0;animation:none!important;transition:opacity 1.8s ease;z-index:0}
body.home-film.film-ready .home-film-scene.is-active{opacity:1;z-index:1}
body.home-film.film-ready .home-film-scene img:not(.film-jet){animation:none!important;transform:none;will-change:auto}
body.home-film.film-ready .home-hero h1{animation:none!important;opacity:0;transition:opacity 1.8s ease}
body.home-film.film-ready.film-show-slogan .home-hero h1{opacity:1}
body.home-film.film-ready .film-jet{animation:none}
body.home-film.film-ready .home-film-panorama.is-active .film-jet{animation:film-flight 14s linear both}
.home-office-caption{position:absolute;z-index:2;box-sizing:border-box;background:#fff;color:#232323;padding:18px 20px;display:flex;flex-direction:column;justify-content:center;gap:7px;font:400 clamp(11px,1vw,16px)/1.35 Manrope,Arial,sans-serif;border-left:2px solid var(--home-gold)}
.home-office-caption strong{font-size:clamp(18px,1.65vw,27px);font-weight:500;margin-bottom:3px}
@media(prefers-reduced-motion:reduce){body.home-film.film-ready .home-film-scene,body.home-film.film-ready .home-hero h1{transition:none}body.home-film.film-ready .home-film-panorama.is-active .film-jet{animation:none}}

/* Align complete photos at the upper frame edge; retain every image pixel. */
body.viason-home .home-property-photo img,body.viason-home .home-service>img{object-position:center top}
body.viason-home .home-service>img{aspect-ratio:3/2;background:#fff}
/* The circular period sits on the text baseline, within its original advance. */
body.viason-home .home-title-ending{white-space:nowrap}
body.viason-home .home-round-stop{position:relative;display:inline-block;height:.09em;vertical-align:baseline;overflow:hidden;text-indent:1em;line-height:1;color:inherit;white-space:nowrap}
body.viason-home .home-round-stop::after{content:'';position:absolute;width:.09em;height:.09em;border-radius:50%;background:currentColor;left:50%;top:0;bottom:auto;transform:translateX(-50%)}
.home-office-caption{background:rgba(255,255,255,.45);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}

body.home-film.film-ready .home-film-scene.is-underlay{opacity:1;z-index:0;transition:none}

/* Uniform small circular periods on all four service cards. */
body.viason-home .home-service h2 .home-round-stop{height:.09em}
body.viason-home .home-service h2 .home-round-stop::after{width:.09em;height:.09em;border-radius:50%}
/* Close the subpixel seam at the top of the first card, including its lifted state. */
body.viason-home .home-service:first-child>img{margin:0;backface-visibility:hidden}

/* Start-page offers use the established listing cards; retain three desktop columns. */
body.viason-home .home-properties{grid-template-columns:repeat(3,minmax(0,1fr))}
body.viason-home .home-properties .v2-card-image{position:relative;aspect-ratio:3/2;height:auto;background:#fff;overflow:hidden}
body.viason-home .home-properties .v2-card-image img{display:block;width:100%;height:100%;position:absolute;inset:0;object-fit:contain;object-position:center bottom}
body.viason-home .home-properties .v2-card-body{padding:26px 22px 16px}
body.viason-home .home-properties .v2-card-meta{flex-wrap:wrap;gap:6px 12px}
body.viason-home .home-properties .v2-card-place{font-size:13px}
body.viason-home .home-properties .v2-card-title{font-size:24px}
body.viason-home .home-properties .v2-card-footer{flex-wrap:wrap;gap:8px}
body.viason-home .home-properties .v2-card-fact dt{font-size:11px}
body.viason-home .home-properties .v2-card-fact dd{font-size:19px}
body.viason-home .home-properties .v2-card-image img{filter:none}
@media(max-width:780px){body.viason-home .home-properties{grid-template-columns:1fr}}
/* The footer contact button follows the approved contact button above it. */
body.viason-home .viason-footer .vf-actions .vf-cta{gap:20px;justify-content:center;padding:15px 22px;text-transform:none;letter-spacing:0;font-family:Inter,Arial,sans-serif;font-size:14px;text-decoration:none;transition:background-color .25s ease,color .25s ease}
body.viason-home .viason-footer .vf-actions .vf-cta:hover,body.viason-home .viason-footer .vf-actions .vf-cta:focus-visible{background:#000;color:#fff;border-color:#000;text-decoration:none;box-shadow:none}
body.viason-home .viason-footer .vf-cta::before,body.viason-home .viason-footer .vf-cta::after{display:none}

/* Preserve the supplied 640px jet and flight path; brighten the white surface moderately. */
body.viason-home .film-jet{filter:brightness(1.10) contrast(1.08)}

/* Isolate each static office photo from the other fading scene layers. */
body.viason-home .home-scene-buero,body.viason-home .home-scene-lampe{isolation:isolate}
body.viason-home .home-scene-buero picture img,body.viason-home .home-scene-lampe picture img{animation:none!important;transform:none!important;transition:none!important}
body.viason-home .home-office-caption{background:rgba(255,255,255,.25);animation:none;transition:none}

/* Keep the approved service-period size and baseline; render one actual vector circle. */
body.viason-home .home-service h2 .home-round-stop::after{content:none;display:none}
body.viason-home .home-service h2 .home-period-circle{display:block;position:absolute;left:50%;top:0;width:.09em;height:.09em;transform:translateX(-50%);overflow:visible;shape-rendering:geometricPrecision}
/* Homepage titles only: two lines, full accessible label and tooltip retained. */
body.viason-home .home-properties .v2-card-title{height:2.9em;min-height:2.9em;overflow:hidden}
body.viason-home .home-properties .v2-card-title>a{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-height:2.9em}

/* Jet and scene share one nine-second run; no reset flash during crossfade. */
body.home-film.film-ready .film-jet{opacity:0;animation:none}
body.home-film.film-ready .home-film-panorama.is-active .film-jet{animation:viason-jet-synced 9s linear both}
@keyframes viason-jet-synced{0%{transform:translateX(6vw) translateY(0) rotate(-1.5deg) scale(1);opacity:.94}90%{transform:translateX(12vw) translateY(-8px) rotate(-1.5deg) scale(.95);opacity:.94}96%,100%{transform:translateX(12.4vw) translateY(-8.5px) rotate(-1.5deg) scale(.947);opacity:0}}
@media(prefers-reduced-motion:reduce){body.home-film.film-ready .home-film-panorama.is-active .film-jet{animation:none}}

/* Common narrower content line below the full-width hero. */
body.viason-home .home-content{max-width:1060px;margin-left:auto;margin-right:auto;padding-left:36px;padding-right:36px;box-sizing:border-box}
/* Preserve every photo pixel: proportional columns share one real image height. */
body.viason-home .home-properties .v2-card-image{aspect-ratio:auto;height:var(--home-offer-photo-height,210px)}
body.viason-home .home-properties .v2-card-image img{object-position:center center}
@media(max-width:780px){body.viason-home .home-content{padding-left:24px;padding-right:24px}body.viason-home .home-properties .v2-card-image{height:auto;aspect-ratio:auto}body.viason-home .home-properties .v2-card-image img{position:static;height:auto;aspect-ratio:auto}}

/* Bereinigtes Officefoto: nur neue transparente Beschriftung, kein Abdecken alter Rastertexte. */
body.viason-home .home-scene-buero .home-office-caption{background:rgba(255,255,255,.18);backdrop-filter:none;-webkit-backdrop-filter:none}

/* Bereinigtes Lampenfoto: dieselbe echte Transparenz wie beim Büro. */
body.viason-home .home-scene-lampe .home-office-caption{background:rgba(255,255,255,.18);backdrop-filter:none;-webkit-backdrop-filter:none}

/* Nutzerkorrektur: weißer, aber weiterhin transparent; keine Unschärfe. */
body.viason-home .home-scene-buero .home-office-caption,body.viason-home .home-scene-lampe .home-office-caption{background:rgba(255,255,255,.52)}

/* Startseitenangebote ohne Titel: klare Kennzahlen und getrennte Fußzeilen. */
body.viason-home .home-properties .v2-card-body{padding:22px 18px 16px}
body.viason-home .home-properties .v2-card-facts{padding-top:0;margin-top:0}
body.viason-home .home-properties .v2-card-footer{display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:8px;margin-top:22px;padding-top:0;min-height:0;transform:none}
body.viason-home .home-properties .v2-card-number{font-size:11px;line-height:1.5;margin:0;text-align:left;white-space:normal}
body.viason-home .home-properties .v2-card-link{width:100%;justify-content:space-between;font-size:13px;line-height:1.4;gap:16px;min-height:44px;margin:0;padding:0}
body.viason-home .home-properties .v2-card-link>span{width:32px;height:32px;font-size:18px}

/* Letzte Vorgabe: kompakte einzeilige Kartenfußzeile, ca. 3mm Bildabstand. */
body.viason-home .home-properties{column-gap:12px}
body.viason-home .home-properties .v2-card-body{padding:18px 12px 12px}
body.viason-home .home-properties .v2-card-footer{flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:nowrap;gap:10px;margin-top:16px;padding:0;min-height:36px;transform:none;visibility:visible;opacity:1}
body.viason-home .home-properties .v2-card-number{flex:0 0 auto;font-size:10px;line-height:1.4;white-space:nowrap;visibility:visible;opacity:1}
body.viason-home .home-properties .v2-card-link{flex:0 1 auto;width:auto;min-width:0;min-height:36px;font-size:11px;gap:7px;white-space:nowrap;visibility:visible;opacity:1}
body.viason-home .home-properties .v2-card-link>span{width:28px;height:28px;font-size:16px}
@media(min-width:1600px){body.viason-home .home-properties .v2-card-number{font-size:11px}body.viason-home .home-properties .v2-card-link{font-size:12px}}

/* Feinabstimmung: mehr Luft für Kennzahlen/Preis, kleinerer Kreispfeil. */
body.viason-home .home-properties .v2-card-body{padding:26px 12px 12px}
body.viason-home .home-properties .v2-card-facts{width:100%;grid-template-columns:.8fr 1fr 1.4fr}
body.viason-home .home-properties .v2-card-fact{padding:7px 10px}
body.viason-home .home-properties .v2-card-footer{margin-top:24px}
body.viason-home .home-properties .v2-card-link>span{width:24px;height:24px;font-size:15px}

/* Beide Officefelder: nochmals20ProzentwenigerDurchsichtigkeit (.48*.8=.384). */
body.viason-home .home-scene-buero .home-office-caption,body.viason-home .home-scene-lampe .home-office-caption{background:rgba(255,255,255,.616)}
body.viason-home .home-office-caption .home-address-separator{display:inline-block;width:.85em;height:0;margin:0 .4em;border-top:1px solid #000;vertical-align:middle}
