/* Entwurf 09: one architectural image, scroll-linked depth, quiet content reveals. */
.header-project {display:none}
.home-page {--motion-ease:cubic-bezier(.2,.75,.25,1)}
.home-page .site-masthead {position:absolute;left:0;right:0;z-index:40;background:transparent;border:0}
.home-page .site-header {position:relative;width:calc(100% - 96px);max-width:none;padding:24px 0;gap:32px;border:0}
.home-page .site-header .brand {margin-right:auto}
.home-page .header-project {display:flex;gap:24px;align-items:center;font-size:15px;color:#f5f1e9;border-bottom:1px solid #bba17b;padding:8px 0}
.home-page .menu-toggle {display:flex;align-items:center;gap:16px;min-height:48px;color:#f5f1e9;border:1px solid #b9a28190;padding:8px 17px;font-size:15px}
.home-page .menu-toggle span {font-size:24px;font-weight:300;line-height:1}
.home-page .site-header nav {display:flex;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .28s ease,transform .38s var(--motion-ease),visibility .38s;position:absolute;top:100%;right:0;left:auto;width:min(550px,calc(100vw - 48px));padding:30px 38px;background:#202622;box-shadow:0 24px 60px #0005;max-height:calc(100svh - 160px);overflow-y:auto;counter-reset:nav;flex-direction:column;align-items:stretch;gap:0;font-size:clamp(21px,2.3vw,31px)}
.home-page .site-header nav.is-open {visibility:visible;opacity:1;pointer-events:auto;transform:none}
.home-page .site-header nav a {counter-increment:nav;padding:17px 0;border:0;border-bottom:1px solid #ffffff20;color:#f5f1e9;display:flex;align-items:baseline;gap:21px;transform:translateY(8px);transition:transform .45s var(--motion-ease),color .2s}
.home-page .site-header nav.is-open a {transform:none}
.home-page .site-header nav a::before {content:"0" counter(nav);font-size:12px;color:#c4ac85;letter-spacing:.05em}
.home-page .site-header nav a:last-child {border:0}
.home-page .site-header nav a:hover {color:#d8c29e}

.home-page .hero-shell {background:#171c19;color:#f5f1e9;overflow:hidden}
.home-page .editorial-hero {--image-offset:0px;--heading-offset:0px;max-width:none;width:100%;padding:0;background:#171c19}
.home-page .hero-visual {position:relative;animation:none}
.home-page .hero-stage {position:relative;display:block;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;margin:0;background:#171c19;perspective:none;transform:none;overflow:hidden;will-change:auto}
.home-page .hero-slides {position:relative;inset:auto;width:100%;max-width:none;margin:0;aspect-ratio:4/3;max-height:none;overflow:visible;transform:translate3d(0,var(--image-offset),0);transform-style:flat;transition:none;animation:none}
.home-page .hero-slide {width:100%;height:100%;object-fit:contain;opacity:0;transform:none;filter:none;box-shadow:none;outline:0;transition:opacity .85s ease;pointer-events:none}
.home-page .hero-slide.is-active {opacity:1}
.home-page .hero-stage::after {display:block;content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#111b17c9 0%,#111b1733 20%,#111b1700 38%,#111b1710 57%,#111b1780 100%)}
.home-page .hero-heading {position:absolute;inset:auto 48px calc(128px + 7vw);z-index:3;max-width:none;padding:0;margin:0;translate:none;transform:translate3d(0,var(--heading-offset),0);animation:none;pointer-events:none}
.home-page .hero-heading .eyebrow {font-size:13px;letter-spacing:.12em;color:#f5f1e9;margin:0 0 20px;text-shadow:0 1px 12px #0009;animation:none}
.home-page .hero-heading h1 {font-size:clamp(68px,8.3vw,148px);line-height:1.02;font-weight:400;margin:0;letter-spacing:-.065em;text-shadow:0 2px 25px #0004}
.home-page .hero-heading h1 .headline-line {display:block;padding:0 .08em .16em 0;margin-bottom:-.16em;overflow:hidden}
.home-page .hero-heading h1 .headline-text {display:block;width:fit-content;animation:none}
.home-page .hero-heading h1 .headline-line:first-child {font-size:.68em;line-height:1.25;letter-spacing:-.055em}
.home-page .hero-heading h1 .headline-accent {color:#efe2cc;font-weight:400;letter-spacing:-.05em}
.home-page .hero-bottom {position:relative;z-index:4;margin:0 48px;padding:23px 0 26px;display:flex;align-items:center;justify-content:space-between;gap:35px;border-top:1px solid #c3ae833f;background:#171c19}
.home-page .hero-project-link {margin:0;padding:0;border:0;gap:35px;flex:1}
.home-page .hero-project-link .eyebrow {font-size:12px;letter-spacing:.085em;color:#c6b28e;margin-bottom:8px}
.home-page .hero-project-link strong {font-size:clamp(21px,2.3vw,32px);font-weight:400}
.home-page .hero-project-link>span:last-child {display:none}
.home-page .hero-image-meta {padding:0;margin:0;display:flex;gap:20px;align-items:center}
.home-page .hero-image-meta .image-type {font-size:12px;max-width:175px;text-align:left;line-height:1.45}
.home-page .slide-controls button {min-width:44px;min-height:44px}
.home-page .hero-scroll {z-index:3;left:auto;right:48px;bottom:26px;font-size:14px;gap:12px}
.home-page .hero-scroll>span {height:42px;width:42px;font-size:20px;border-color:#d2bc99;animation:none}
.home-page .hero-scroll:hover>span {transform:translateY(3px);transition:transform .3s}

/* Finite opening sequence. No timers, automatic carousel or pointer tracking. */
.home-page.motion-ready:not(.motion-paused) .hero-heading .eyebrow {animation:editorial-copy .8s ease .08s both}
.home-page.motion-ready:not(.motion-paused) .headline-text {animation:editorial-title 1.1s var(--motion-ease) .12s both}
.home-page.motion-ready:not(.motion-paused) .headline-line:nth-child(2) .headline-text {animation-delay:.26s}
@keyframes editorial-title {from{opacity:0;transform:translateY(80%)}to{opacity:1;transform:translateY(0)}}
@keyframes editorial-copy {from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Keep a single, short reveal per section; never replay on upward scrolling. */
.home-page .profile-label {position:static;padding-left:0}
.home-page .profile-label::before,.home-page .profile-label::after {display:none}
.home-page .profile .profile-year {margin-top:65px}
.home-page .reveal-pending,.home-page .selected-projects .project-card.reveal-pending {opacity:0;transform:translateY(36px)}
.home-page .reveal-visible,.home-page .project-card.reveal-visible {opacity:1;transform:none;transition:opacity .85s ease,transform 1s var(--motion-ease)}
.home-page .line-reveal.reveal-pending {opacity:1;transform:none}
.home-page .line-reveal.reveal-pending span {opacity:0;transform:translateY(45px);transition:none}
.home-page .line-reveal.reveal-visible span {opacity:1;transform:none}
.home-page .profile-copy {transition-delay:0s}
.home-page .line-reveal>span,.home-page .line-reveal>em>span {transition:opacity .8s ease,transform 1s var(--motion-ease);transition-delay:0s}
.home-page .line-reveal>span:nth-child(2) {transition-delay:.12s}
.home-page .line-reveal>em>span:nth-child(1) {transition-delay:.24s}
.home-page .line-reveal>em>span:nth-child(2) {transition-delay:.36s}
.home-page .project-card .card-arrow,.home-page .button>span {transition:transform .3s ease}

@media(min-width:1200px){
 .home-page .hero-heading {bottom:auto;top:min(42vw,calc(100svh - 315px))}
}
@media(min-width:1650px){
 .home-page .hero-heading {left:max(60px,calc((100vw - 1600px)/2));top:min(42vw,calc(100svh - 375px))}
}
@media(max-width:1000px) and (min-width:761px){
 .home-page .site-header {width:calc(100% - 64px)}
 .home-page .hero-heading {left:32px;right:32px;bottom:calc(150px + 6vw)}
 .home-page .hero-heading h1 {font-size:8.3vw}
 .home-page .hero-heading .eyebrow {font-size:12px}
 .home-page .hero-bottom {margin-inline:32px;gap:24px}
 .home-page .hero-image-meta {flex-direction:column;gap:8px;align-items:flex-end}
 .home-page .hero-scroll {right:32px}
}
@media(max-width:760px){
 .home-page .site-masthead {position:relative;background:#171c19}
 .home-page .site-header {width:calc(100% - 40px);padding:19px 0;gap:15px}
 .home-page .header-project {display:none}
 .home-page .site-header nav {right:0;width:calc(100vw - 40px);padding:18px 25px;max-height:calc(100svh - 150px)}
 .home-page .site-header nav a {font-size:21px;padding-block:14px}
 .home-page .menu-toggle {padding:7px 13px}
 .home-page .hero-heading {position:relative;inset:auto;padding:16px 20px 28px;transform:none}
 .home-page .hero-heading .eyebrow {font-size:12px;letter-spacing:.055em;line-height:1.65;max-width:330px;margin-bottom:18px;text-shadow:none}
 .home-page .hero-heading h1 {font-size:9.5vw;line-height:1.06;letter-spacing:-.06em;text-shadow:none}
 .home-page .hero-heading h1 .headline-line:first-child {font-size:.85em;line-height:1.3}
 .home-page .hero-stage::after {display:none}
 .home-page .hero-slides {transform:none}
 .home-page .hero-scroll {display:none}
 .home-page .hero-bottom {margin-inline:20px;padding:17px 0 26px;border:0;flex-direction:column;gap:20px;align-items:stretch}
 .home-page .hero-project-link {order:2;gap:15px}
 .home-page .hero-project-link strong {font-size:26px;line-height:1.3;display:block}
 .home-page .hero-project-link .eyebrow {font-size:12px;letter-spacing:.035em;line-height:1.6}
 .home-page .hero-project-link>span:last-child {display:block;font-size:28px}
 .home-page .hero-image-meta {order:1;flex-direction:row;align-items:center;justify-content:space-between;gap:10px}
 .home-page .hero-image-meta .image-type {max-width:185px;width:auto}
 .home-page .reveal-pending,.home-page .selected-projects .project-card.reveal-pending {transform:translateY(16px)}
 .home-page .line-reveal.reveal-pending span {transform:translateY(12px)}
 .home-page.motion-ready:not(.motion-paused) .headline-text {animation-duration:.8s}
 .home-page .site-footer {padding-bottom:25px}
}
@media(max-width:380px){
 .home-page .site-header nav {padding-inline:20px}
 .home-page .site-header nav a {font-size:18px;gap:14px}
 .home-page .hero-image-meta {flex-wrap:wrap}
 .home-page .hero-image-meta .image-type {max-width:none}
}
@media(prefers-reduced-motion:reduce){
 .home-page *,.home-page *::before,.home-page *::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .home-page .hero-slides,.home-page .hero-heading,.home-page .headline-text,.home-page .reveal-pending,.home-page .reveal-visible,.home-page .line-reveal span {transform:none!important;opacity:1}
}
@media print {
 .home-page .hero-slides,.home-page .hero-heading,.home-page .headline-text,.home-page .reveal-pending,.home-page .reveal-visible,.home-page .line-reveal span {transform:none!important;opacity:1!important;animation:none!important}
}
