/* Scoped to the home Hero and its authorized transition strip. */
.site-header--overlay .site-header__inner {
    min-height: 7.5rem;
    border-bottom: 0;
}
.site-header--overlay .site-logo { width: clamp(11rem, 16vw, 15rem); }
.site-header--overlay .primary-navigation ul { gap: clamp(1.2rem, 2.1vw, 2.5rem); }
.site-header--overlay .primary-navigation a { font-size: 0.9rem; font-weight: 400; }
.site-header--overlay .primary-navigation__contact {
    opacity: 1;
    border-bottom: 1px solid transparent;
}
.hero--architectural { min-height: 100svh; isolation: isolate; }
.hero--architectural .hero__media { overflow: hidden; }
.hero__visual { position: absolute; inset: -3% 0; }
.hero--architectural .hero__poster,
.hero--architectural .hero__video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    scale: none;
}
.hero__video { opacity: 0; }
.hero__video.is-playing { opacity: 1; }
.hero__overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgb(4 15 24 / 6%) 25%, rgb(4 15 24 / 12%) 43%, rgb(4 15 24 / 52%) 70%, rgb(4 15 24 / 40%) 100%),
        linear-gradient(180deg, rgb(4 15 24 / 25%), transparent 27%, transparent 80%, rgb(4 15 24 / 12%));
}
.hero--architectural .hero__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 2rem);
    min-height: 100svh;
    align-items: center;
    padding-block: 11rem 5rem;
}
.hero--architectural .hero__content {
    grid-column: 7 / -1;
    max-width: none;
    padding-top: 0;
}
.hero--architectural .hero__brand {
    color: var(--color-sand);
    font-size: 0.8rem;
    font-weight: 500;
    letter-spacing: 0.27em;
    margin-bottom: 2.8rem;
}
.hero--architectural .hero__brand::after {
    display: block;
    width: 3.1rem;
    height: 1px;
    margin-top: 1.1rem;
    background: rgb(228 207 161 / 65%);
    content: none;
}
.hero--architectural h1 {
    font-size: clamp(3.1rem, 5.15vw, 5.7rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
    font-weight: 300;
    text-shadow: 0 2px 24px rgb(0 0 0 / 15%);
}
.hero--architectural h1 span { display: block; white-space: nowrap; }
.hero--architectural .hero__support {
    margin-top: 2rem;
    max-width: 25rem;
    font-size: clamp(1rem, 1.35vw, 1.22rem);
    line-height: 1.6;
    color: rgb(255 255 255 / 90%);
}
.hero--architectural .hero__actions {
    flex-wrap: wrap;
    gap: 1.3rem 1.7rem;
    margin-top: 2.6rem;
}
.hero--architectural .hero__primary-link,
.hero--architectural .hero__secondary-link {
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.095em;
    text-transform: uppercase;
    line-height: 1.7;
}
.hero--architectural .hero__primary-link {
    border-color: transparent;
    gap: 1rem;
    padding-bottom: 0.55rem;
}
.hero--architectural .hero__secondary-link {
    border-left: 1px solid transparent;
    padding-left: 1.7rem;
    padding-bottom: 0.55rem;
}
.hero__technical-layer {
    position: absolute;
    z-index: 1;
    top: 7.5rem;
    bottom: 0;
    left: max(var(--space-page), calc((100% - var(--container-max)) / 2));
    width: 4rem;
    color: var(--color-sand);
    pointer-events: none;
}
.hero__axis { position: absolute; top: 0; bottom: 0; left: 0; width: 1px; background: rgb(228 207 161 / 27%); }
.hero__cross { position: absolute; width: 1.2rem; height: 1.2rem; left: -0.6rem; }
.hero__cross::before,
.hero__cross::after { position: absolute; background: rgb(228 207 161 / 65%); content: ""; }
.hero__cross::before { top: 50%; left: 0; width: 100%; height: 1px; }
.hero__cross::after { left: 50%; top: 0; height: 100%; width: 1px; }
.hero__cross--top { top: 2.6rem; }
.hero__cross--bottom { bottom: 2.8rem; width: 1.8rem; height: 1.8rem; left: -0.9rem; }
.hero__vertical {
    position: absolute;
    top: 7.5rem;
    left: 1.4rem;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 0.65rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    opacity: 0.8;
}
.hero__datum { position: absolute; bottom: 7.5rem; left: 1.3rem; display: flex; align-items: center; gap: 1rem; font-size: 0.75rem; letter-spacing: 0.1em; }
.hero__datum i { width: 2.2rem; height: 1px; background: rgb(228 207 161 / 65%); }
.hero-transition { position: relative; background: #f4f1e8; }
.hero-transition__inner {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: clamp(1rem, 2vw, 2rem);
    padding-block: 4.25rem;
    border-left: 1px solid rgb(42 79 89 / 15%);
    background: linear-gradient(90deg, transparent 49.94%, rgb(42 79 89 / 5%) 50%, transparent 50.06%);
}
.hero-transition__signature { grid-column: 1 / span 4; display: flex; align-items: center; gap: 1.5rem; padding-left: 1.3rem; color: var(--color-blue); font-size: 0.75rem; letter-spacing: 0.18em; text-transform: uppercase; }
.hero-transition__signature i { width: 1px; height: 2.4rem; background: rgb(42 79 89 / 25%); }
.hero-transition__note { grid-column: 7 / -1; font-size: 1rem; line-height: 1.7; }
@media (min-width: 64rem) and (max-width: 79.9375rem) {
    .site-header--overlay .primary-navigation ul { gap: 1.25rem; }
    .hero--architectural h1 { font-size: clamp(3rem, 5.05vw, 4rem); }
    .hero--architectural .hero__actions { flex-direction: column; align-items: flex-start; gap: 1.2rem; }
    .hero--architectural .hero__secondary-link { border: 0; padding-left: 0; }
}
@media (min-width: 48rem) and (max-width: 63.9375rem) {
    .hero--architectural .hero__content { grid-column: 6 / -1; }
    .hero--architectural h1 { font-size: clamp(2.7rem, 5.6vw, 3.6rem); }
    .hero__vertical, .hero__cross--bottom, .hero__datum { display: none; }
    .hero--architectural .hero__actions { flex-direction: column; align-items: flex-start; }
    .hero--architectural .hero__secondary-link { border: 0; padding-left: 0; }
}
@media (max-width: 63.9375rem) {
    .site-header--overlay.menu-open .site-header__inner { border-color: transparent; }
    .site-header--overlay .primary-navigation a { font-size: clamp(1.65rem, 5vw, 2.6rem); }
    .site-header--overlay .primary-navigation__contact { border-bottom: 0; }
}
@media (max-width: 47.9375rem) {
    .site-header--overlay .site-header__inner { min-height: 5.8rem; }
    .site-header--overlay .site-logo { width: 10.5rem; }
    .hero__technical-layer { display: none; }
    .hero--architectural .hero__video { display: none; }
    .hero--architectural .hero__poster { object-position: 58% center; }
    .hero__overlay { background: linear-gradient(0deg, rgb(3 14 23 / 76%) 0%, rgb(3 14 23 / 45%) 47%, rgb(3 14 23 / 7%) 78%, rgb(3 14 23 / 18%) 100%); }
    .hero--architectural .hero__inner { display: flex; align-items: flex-end; padding-block: 9rem 3.5rem; }
    .hero--architectural .hero__content { width: 100%; }
    .hero--architectural .hero__brand { margin-bottom: 1.8rem; font-size: 0.7rem; }
    .hero--architectural h1 { font-size: clamp(2.55rem, 10.9vw, 4.5rem); letter-spacing: -0.045em; line-height: 1.08; }
    .hero--architectural h1 span { white-space: normal; }
    .hero--architectural .hero__support { font-size: 1rem; margin-top: 1.5rem; }
    .hero--architectural .hero__support br { display: none; }
    .hero--architectural .hero__actions { align-items: flex-start; flex-direction: column; gap: 1.15rem; margin-top: 2rem; }
    .hero--architectural .hero__secondary-link { border: 0; padding-left: 0; }
    .hero-transition__inner { display: block; padding-block: 2.75rem; border-left: 0; background: none; }
    .hero-transition__signature { padding-left: 0; }
    .hero-transition__note { margin-top: 1.75rem; font-size: 0.95rem; }
    .hero-transition__note br { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    html:not(.motion-preview-full) .hero--architectural .hero__video { display: none; }
    html:not(.motion-preview-full) .hero--architectural .hero__visual { transform: none !important; }
}
