/* WHV Objektservice v0.12.0 – premium storytelling, object profiles, enquiry polish */
:root{--v12-ink:#123f57;--v12-deep:#063b57;--v12-blue:#177da4;--v12-sky:#9ed9e9;--v12-paper:#f5f9fa;--v12-line:#dce8ec}

/* Sharp-image discipline: large images stay at 1:1 display scale wherever possible. */
[data-hq="true"]{image-rendering:auto!important;filter:none!important;backface-visibility:hidden;transform:translate3d(0,0,0)}
.home08-object-card:hover img,.related08-grid>a:hover img,.ref08-card:hover img,.l90-card:hover .l90-card-media img,.v120-story-visual:hover img{transform:scale(1.008)!important}

/* Premium homepage story */
.v120-story{padding:96px 0;background:linear-gradient(180deg,#f5f9fa 0%,#fff 100%);border-bottom:1px solid #e0eaed}
.v120-story-head{display:grid;grid-template-columns:1.05fr .8fr;gap:70px;align-items:end;margin-bottom:36px}
.v120-story-head h2{margin:0;color:var(--v12-ink);font:700 clamp(39px,3.8vw,58px)/1.02 Georgia,"Times New Roman",serif;letter-spacing:-.035em;max-width:760px}
.v120-story-head>p{margin:0;color:#6f8791;font-size:12px;line-height:1.78;max-width:540px}
.v120-story-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:16px;min-height:580px}
.v120-story-visual{position:relative;overflow:hidden;border-radius:8px 26px 8px 26px;background:#dce8ec;min-height:580px;isolation:isolate}
.v120-story-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.v120-story-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,38,56,.03) 30%,rgba(3,38,56,.91) 100%)}
.v120-story-visual-copy{position:absolute;z-index:2;left:34px;right:34px;bottom:34px;color:#fff;max-width:600px}
.v120-story-visual-copy small{display:block;color:#a9dfec;font-size:8px;letter-spacing:.15em;text-transform:uppercase;font-weight:950;margin-bottom:9px}
.v120-story-visual-copy h3{font:700 clamp(30px,3vw,44px)/1.03 Georgia,serif;margin:0 0 12px;letter-spacing:-.025em}
.v120-story-visual-copy p{margin:0;color:rgba(255,255,255,.76);font-size:11px;line-height:1.7;max-width:520px}
.v120-story-rail{display:grid;grid-template-rows:repeat(3,1fr);gap:12px}
.v120-story-step{position:relative;border:1px solid var(--v12-line);background:#fff;border-radius:7px 20px 7px 20px;padding:30px 30px 27px 78px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 18px 55px rgba(5,57,81,.045);transition:.2s ease}
.v120-story-step:hover{border-color:#b8d9e4;box-shadow:0 23px 60px rgba(5,57,81,.08);transform:translateY(-1px)}
.v120-story-step>span{position:absolute;left:24px;top:26px;width:37px;height:37px;border-radius:50%;display:grid;place-items:center;background:#e8f5f8;color:#16799d;font:700 11px Georgia,serif}
.v120-story-step small{font-size:7px;text-transform:uppercase;letter-spacing:.14em;font-weight:950;color:#2a8caf;margin-bottom:8px}
.v120-story-step h3{font:700 23px/1.06 Georgia,serif;color:#18495f;margin:0 0 9px}
.v120-story-step p{margin:0;color:#748a94;font-size:10px;line-height:1.65}
.v120-story-foot{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid #dce8ec;border-radius:6px 16px 6px 16px;background:#fff;overflow:hidden}
.v120-story-foot div{padding:17px 20px;border-right:1px solid #e4edef}.v120-story-foot div:last-child{border-right:0}
.v120-story-foot small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.12em;color:#869aa2;font-weight:900}.v120-story-foot strong{display:block;margin-top:3px;font:700 14px Georgia,serif;color:#244f62}

/* Reference object profile drawer */
.v120-profile-open{position:absolute;z-index:5;right:14px;top:14px;border:1px solid rgba(255,255,255,.4);background:rgba(5,49,71,.76);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:8px 12px;font-size:7px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.2s ease}
.v120-profile-open:hover{background:#fff;color:#0d5573;border-color:#fff}
.v120-profile-backdrop{position:fixed;z-index:10020;inset:0;background:rgba(3,31,45,.62);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:.22s ease}
.v120-profile-backdrop.is-open{opacity:1;visibility:visible}
.v120-profile-dialog{position:fixed;z-index:10030;right:0;top:0;bottom:0;width:min(760px,94vw);background:#fff;box-shadow:-28px 0 90px rgba(2,30,43,.24);transform:translateX(102%);transition:transform .3s cubic-bezier(.22,.72,.25,1);overflow:auto;outline:none}
.v120-profile-dialog.is-open{transform:translateX(0)}
.v120-profile-close{position:absolute;z-index:4;right:20px;top:20px;width:42px;height:42px;border:0;border-radius:50%;background:rgba(5,48,70,.82);color:#fff;font-size:21px;cursor:pointer;display:grid;place-items:center}
.v120-profile-media{height:330px;position:relative;overflow:hidden;background:#d9e8ed}.v120-profile-media img{width:100%;height:100%;object-fit:cover;display:block}.v120-profile-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(4,41,59,.72) 100%)}
.v120-profile-body{padding:38px 42px 45px}.v120-profile-kicker{font-size:8px;letter-spacing:.14em;text-transform:uppercase;color:#2186aa;font-weight:950}.v120-profile-body h2{font:700 clamp(31px,3.3vw,45px)/1.02 Georgia,serif;color:#153f55;letter-spacing:-.028em;margin:8px 0 12px}.v120-profile-intro{font-size:12px;line-height:1.74;color:#6e858f;margin:0 0 26px;max-width:620px}
.v120-profile-block{padding:22px 0;border-top:1px solid #e1ebee}.v120-profile-block small{font-size:7px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#82969f}.v120-profile-block h3{font:700 19px Georgia,serif;color:#214e63;margin:6px 0 11px}.v120-profile-block p{font-size:10px;line-height:1.68;color:#758b94;margin:0}.v120-profile-tags{display:flex;flex-wrap:wrap;gap:7px}.v120-profile-tags span{border-radius:999px;background:#eaf5f8;color:#236d88;padding:7px 10px;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.055em}
.v120-profile-cta{margin-top:28px;padding:22px;border-radius:7px 18px 7px 18px;background:#073f5d;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:20px}.v120-profile-cta p{font-size:10px;color:rgba(255,255,255,.72);margin:0}.v120-profile-cta a{flex:none;border-radius:6px;background:#fff;color:#0a5877;padding:12px 15px;font-size:8px;font-weight:950}
body.v120-dialog-open{overflow:hidden}

/* Contact planning fields and success reference */
.v120-planning-note{margin:-4px 0 18px;color:#758b94;font-size:9px;line-height:1.6}
.v120-reference-card{margin-top:14px;border:1px solid #cce1e8;border-radius:7px 17px 7px 17px;background:linear-gradient(135deg,#f6fbfc,#fff);padding:18px 20px}.v120-reference-card small{display:block;font-size:7px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;color:#81969f}.v120-reference-card strong{display:block;margin:5px 0 5px;font:700 20px Georgia,serif;color:#13506b;letter-spacing:.02em}.v120-reference-card span{font-size:9px;color:#748a94;line-height:1.55}.v120-reference-card button{margin-top:10px;border:0;background:transparent;color:#197ea2;font-size:8px;font-weight:900;padding:0;cursor:pointer}

/* Performance / motion polish */
@media (min-width:900px){main>section:nth-of-type(n+4){content-visibility:auto;contain-intrinsic-size:800px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}

@media(max-width:980px){
 .v120-story{padding:72px 0}.v120-story-head{grid-template-columns:1fr;gap:15px}.v120-story-grid{grid-template-columns:1fr;min-height:0}.v120-story-visual{min-height:500px}.v120-story-rail{grid-template-columns:repeat(3,1fr);grid-template-rows:none}.v120-story-step{padding:70px 22px 24px}.v120-story-step>span{left:22px;top:20px}.v120-story-foot{grid-template-columns:1fr}.v120-story-foot div{border-right:0;border-bottom:1px solid #e4edef}.v120-story-foot div:last-child{border-bottom:0}
}
@media(max-width:680px){
 .v120-story{padding:56px 0}.v120-story-head h2{font-size:37px}.v120-story-visual{min-height:430px;border-radius:6px 20px 6px 20px}.v120-story-visual-copy{left:22px;right:22px;bottom:24px}.v120-story-visual-copy h3{font-size:30px}.v120-story-rail{grid-template-columns:1fr}.v120-story-step{padding:24px 20px 22px 68px}.v120-story-step>span{left:19px;top:21px}.v120-profile-dialog{width:100vw}.v120-profile-media{height:260px}.v120-profile-body{padding:30px 22px 36px}.v120-profile-cta{align-items:flex-start;flex-direction:column}.v120-profile-open{top:10px;right:10px;padding:7px 9px}
}
