/* Revize 4 — uninterrupted motion, shared geometry and portrait art direction. */
.hero-photo{background-image:url("assets/revize-4/waldorf-tower-desktop.webp")!important;background-position:center top!important;height:120svh!important}
.hero-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#10213745,transparent 55%,#10213755);pointer-events:none}
.hero h1{font-size:clamp(70px,9vw,145px)}
.hero-titles{padding-top:11vh}
.hero-titles .script{display:inline-block;background:linear-gradient(110deg,#fff 20%,#c5e4e8 38%,#fff 47%,#fff9de 51%,#fff 58%,#c5e4e8 76%,#fff 85%);background-size:350% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:r4-light 13s ease-in-out infinite}
@keyframes r4-light{0%,22%{background-position:100% 50%}65%,100%{background-position:0% 50%}}
.brand-orbit{transition:scale .7s cubic-bezier(.22,1,.36,1)}
.brand-orbit:hover,.brand-orbit:focus-visible{scale:1.045}
.brand-orbit .brand-ring,.brand-orbit:hover .brand-ring{animation:brand-orbit 38s linear infinite}
.villa-sticky{background:var(--sky,#b6cfd9)}
.villa-image{width:100%;left:0;height:80svh}
.villa-image img{object-fit:contain;object-position:bottom;mask:none!important;-webkit-mask:none!important}
.villa-caption{max-width:70%;text-align:right}
.arch-half{border-radius:24px;transform-origin:center}
.arch-half-left{transform:translate(-7vw,3vh)}.arch-half-right{transform:translate(7vw,-3vh)}
.r2-reference-photo{border-radius:20px;aspect-ratio:4/3;height:auto;min-height:0;max-height:none}
.r2-discover-card figure{border-radius:20px}
.r3-detail:has(.r4-article) .r3-detail-hero h1{font-size:clamp(38px,5.4vw,86px);line-height:1.1;max-width:1100px}
.r4-article h2{font:400 clamp(29px,3vw,44px)/1.18 'Bodoni Moda',serif;margin:64px 0 22px}
.r4-article p{margin:0 0 24px}.r4-article .r4-source-list{border-top:1px solid #173b4233;margin-top:70px;padding-top:25px;font-size:14px;overflow-wrap:anywhere}.r4-source-list a{text-decoration:underline;text-underline-offset:4px;display:block;margin:14px 0}
.r4-article .r4-meta{font-size:13px;letter-spacing:.07em;color:#446b74;margin-bottom:35px}
.journey-route{padding:0;height:285px;position:relative;margin-top:50px}
.journey-route svg{display:block;position:absolute;inset:0;width:100%;height:100%;overflow:visible;stroke-width:1.5;pointer-events:none}
.journey-route .milestones{display:block;position:absolute;inset:0}
.journey-route .milestone,.journey-route .milestone:nth-child(even){position:absolute;display:block;max-width:none;width:14%;padding:0;transform:translate(-50%,-50%);height:14px;text-align:center}
.journey-route .milestone i{display:block;position:absolute;left:50%;top:50%;width:10px;height:10px;margin:0;transform:translate(-50%,-50%);box-shadow:0 0 0 7px var(--paper,#f3f3e9);background:#173b42;border-radius:50%;transition:background .3s,box-shadow .3s}
.journey-route .milestone-year{position:absolute;left:0;right:0;bottom:38px;font-size:clamp(20px,2.4vw,32px);white-space:nowrap}
.journey-route .milestone>span:last-child{position:absolute;top:37px;left:0;right:0;margin:auto;max-width:140px;font-size:10px;line-height:1.5;letter-spacing:.02em}
.journey-route .milestone:hover i,.journey-route .milestone:focus-visible i,.journey-route .milestone.is-reached i{background:#7199a5;box-shadow:0 0 0 7px var(--paper,#f3f3e9),0 0 0 8px #7199a555}
.journey-route .route-base{opacity:.18}.journey-route .route-draw{stroke:#7199a5;stroke-width:2.5}
.catalog-actions .r4-previous-catalog{font-size:11px;opacity:.7}
@media(max-width:700px){
 .hero-photo{background-image:url("assets/revize-4/waldorf-tower-mobile.webp")!important;height:130svh!important;background-position:center top!important}
 .hero-titles{padding-top:35vh}.hero h1{font-size:18vw}.hero .script{font-size:19vw}
 .villa-scene{height:185svh}.villa-image{width:100%;left:0;height:100svh}.villa-image img{width:100%;height:100%;object-fit:contain;object-position:center bottom}
 .villa-copy{top:11svh;left:6%;right:6%}.villa-copy h2{font-size:11vw}.villa-caption{font-size:9px;bottom:15px;right:15px}
 .architecture-panels{width:88vw;height:70svh}.arch-half{border-radius:18px}.arch-half img{width:88vw}.arch-half-left{transform:translate(-5vw,4vh)}.arch-half-right{transform:translate(5vw,-4vh)}
 .archive-page .project-card:nth-child(n) .project-cover,.archive-page .project-card:nth-child(n):hover .project-cover{border-radius:18px;clip-path:none}
 .r2-reference-photo,.r2-discover-card figure{border-radius:18px;aspect-ratio:4/5}
 .references-page .r2-cinema-image img,.about-page .r2-cinema-image img{object-position:center center}
 .journey-route{height:820px;margin-top:25px}
 .journey-route .milestone,.journey-route .milestone:nth-child(even){width:100%;height:12px;transform:none;left:0!important;max-width:none;grid-template-columns:none;border:0}
 .journey-route .milestone-year{left:27%;right:auto;bottom:auto;top:-12px;font-size:25px;width:70%;text-align:left}
 .journey-route .milestone>span:last-child{left:27%;right:auto;top:25px;width:68%;max-width:none;text-align:left;font-size:11px}
 .journey-route .milestone i{margin:0;width:10px;height:10px;top:0}
 .journey-route .milestone:before,.journey-route .milestone:after{display:none!important}
 .r3-detail:has(.r4-article) .r3-detail-hero h1{font-size:9vw;line-height:1.13}
}
@media(prefers-reduced-motion:reduce){.brand-orbit .brand-ring,.brand-orbit:hover .brand-ring,.hero-titles .script{animation:none!important}.brand-orbit{transition:none}.arch-half{transform:none!important}.journey-route .route-draw{stroke-dashoffset:0!important}}
