
/* ROSCHER V23 – Premium architecture homepage; CSS/SVG sharp at any pixel density */
:root{--arch-green:#a8e13e;--arch-ink:#101617}
html{scroll-padding-top:106px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.hero-architecture{height:auto;min-height:min(850px,92svh);min-height:clamp(650px,92svh,1000px);position:relative;isolation:isolate;overflow:hidden;background:#101617;color:#fff;display:flex;align-items:center}
.hero-architecture:before{display:none}
.arch-hero-image{position:absolute;inset:0;z-index:-3;background-image:url('assets/hero.webp');background-position:center 54%;background-size:cover;transform:scale(1.015);animation:arch-zoom 18s ease-out both}
.arch-hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,12,13,.92) 0%,rgba(6,12,13,.76) 30%,rgba(6,12,13,.25) 67%,rgba(6,12,13,.1) 100%),linear-gradient(0deg,rgba(4,9,10,.7),transparent 25%,transparent 70%,rgba(4,9,10,.25))}
.arch-hero-content{position:relative;z-index:1;width:min(1600px,100%);margin:0 auto;padding:150px 6% 160px}
.arch-kicker{display:flex;align-items:center;gap:16px;font-size:clamp(10px,.9vw,13px);font-weight:800;letter-spacing:.24em;color:#e3e8e4}
.arch-line{width:39px;height:2px;background:var(--arch-green);display:inline-block;flex:none}
.hero-architecture h1{font-family:Arial,Helvetica,sans-serif;font-size:clamp(58px,8.2vw,142px);font-weight:900;line-height:.94;letter-spacing:-.065em;max-width:1200px;margin:32px 0 26px;text-wrap:balance}
.hero-architecture h1 em{font-style:normal;color:var(--arch-green)}
.arch-subtitle{font-size:clamp(17px,1.5vw,24px);line-height:1.5;max-width:650px;color:#e0e5e3;font-weight:400;letter-spacing:.005em}
.arch-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:38px}
.arch-button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:19px 23px;min-height:58px;font-weight:800;font-size:12px;letter-spacing:.08em;transition:background .25s,transform .25s,border-color .25s}
.arch-button:hover{transform:translateY(-3px)}
.arch-button-primary{background:var(--arch-green);color:#121917;border:1px solid var(--arch-green)}
.arch-button-primary:hover{background:#c0f36c}
.arch-button-secondary{color:white;background:rgba(9,15,16,.25);border:1px solid rgba(255,255,255,.7)}
.arch-button-secondary:hover{background:rgba(255,255,255,.15)}
.arch-button span{font-size:19px;line-height:0}
.arch-hero-bottom{position:absolute;bottom:0;left:0;right:0;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px max(6%,calc((100vw - 1408px)/2));border-top:1px solid rgba(255,255,255,.23);font-size:11px;font-weight:800;letter-spacing:.17em;color:#d9e0dc}
.arch-scroll{color:#fff}.arch-scroll span{font-size:21px;margin-left:10px;color:var(--arch-green)}
.arch-hero-index{color:#c4d1c7}
.hero-architecture :focus-visible{outline:3px solid var(--arch-green);outline-offset:5px}
@keyframes arch-zoom{from{transform:scale(1.06)}to{transform:scale(1.015)}}
@media(max-width:850px){.hero-architecture{min-height:720px}.arch-hero-content{padding:120px 6% 155px}.arch-hero-image{background-position:60% center}.arch-hero-shade{background:linear-gradient(90deg,rgba(6,12,13,.87),rgba(6,12,13,.47) 85%),linear-gradient(0deg,rgba(4,9,10,.55),transparent 35%)}.arch-hero-caption{display:none}}
@media(max-width:600px){.hero-architecture{min-height:690px;min-height:90svh}.arch-hero-image{background-image:url('assets/hero-mobile.webp');background-position:59% center}.arch-hero-content{padding:95px 6% 140px}.hero-architecture h1{font-size:clamp(48px,12.2vw,76px);letter-spacing:-.06em}.arch-kicker{letter-spacing:.13em;font-size:10px}.arch-line{width:22px}.arch-subtitle br{display:none}.arch-actions{display:grid;grid-template-columns:1fr}.arch-button{width:100%}.arch-hero-bottom{padding:20px 6%}.arch-hero-index{display:none}}
@media(prefers-reduced-motion:reduce){.arch-hero-image{animation:none;transform:none}.arch-button{transition:none}.arch-button:hover{transform:none}}

.v25-disclosure{font-size:12px;line-height:1.5;color:#9eaaa3;grid-column:1/-1;padding:14px 0 0}

/* Responsive image selection for the hero */
@media(min-width:601px) and (max-width:1600px){.arch-hero-image{background-image:url('assets/hero-1920.webp')}}
@media(min-width:1601px){.arch-hero-image{background-image:url('assets/hero.webp')}}
