.demo-modal {
    position: fixed;
    inset: max(12px, env(safe-area-inset-top, 0px)) 0 auto;
    box-sizing: border-box;
    max-height: calc(100dvh - 32px);
    margin: 0 auto;
    overflow: auto;
}

.schedule-modal {
    overflow: hidden;
}

.mobile-menu-panel {
    display: none;
}

.feature-copy > h2 + .feature-list {
    margin-top: 35px;
}

.staff-visual-stack {
    display: grid;
    min-width: 0;
    gap: 28px;
}

.staff-visual-stack .portfolio-window {
    width: 100%;
}

.staff-visual-stack img {
    display: block;
    width: 100%;
    height: auto;
}

.contact {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    background:
        radial-gradient(
            circle at 50% 42%,
            rgb(255 255 255 / 96%) 0 18%,
            rgb(255 255 255 / 60%) 44%,
            transparent 70%
        ),
        radial-gradient(
            ellipse at 8% 8%,
            rgb(191 232 208 / 76%),
            transparent 40%
        ),
        radial-gradient(
            ellipse at 92% 88%,
            rgb(116 188 146 / 38%),
            transparent 44%
        ),
        linear-gradient(135deg, #f5fbf7 0%, #e1f1e8 47%, #c7e3d3 100%);
    color: var(--ink);
    text-align: center;
}

.contact::before {
    position: absolute;
    z-index: -1;
    inset: -70% -5%;
    background:
        repeating-linear-gradient(
            90deg,
            transparent 0 108px,
            rgb(0 122 61 / 7%) 109px 110px
        ),
        repeating-linear-gradient(
            0deg,
            transparent 0 108px,
            rgb(0 122 61 / 7%) 109px 110px
        );
    content: '';
    mask-image: linear-gradient(
        to bottom,
        transparent,
        #000 18%,
        #000 82%,
        transparent
    );
    transform: perspective(900px) rotateX(62deg) rotateZ(-9deg) translateY(18%);
    transform-origin: center 60%;
}

.contact > div {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: none;
}

.contact .kicker {
    color: var(--green);
}

.contact p:not(.kicker) {
    color: #52645a;
}

.contact .light-button {
    background: #073d25;
    color: #fff;
    box-shadow: 0 12px 28px rgb(7 61 37 / 22%);
}

.contact .light-button:hover,
.contact .light-button:focus-visible {
    background: #052f1d;
}

.contact .contact-outline-button {
    border-color: rgb(0 122 61 / 36%);
    background: rgb(255 255 255 / 48%);
    color: var(--green);
}

.contact .contact-outline-button:hover,
.contact .contact-outline-button:focus-visible {
    background: #fff;
}

.contact h2,
.contact p {
    text-wrap: balance;
}

.contact p:not(.kicker) {
    max-width: none;
}

.contact-actions {
    justify-content: center;
}

.contact-actions .light-button,
.contact-actions .contact-outline-button {
    position: relative;
    width: 280px;
    min-height: 76px;
    justify-content: space-between;
    gap: 18px;
    padding: 12px 13px 12px 22px;
    border-radius: 16px;
    overflow: hidden;
    text-align: left;
    transition:
        transform 0.25s cubic-bezier(0.2, 0.8, 0.2, 1),
        box-shadow 0.25s ease,
        border-color 0.25s ease,
        background 0.25s ease;
}

.contact .light-button {
    background: linear-gradient(135deg, #063820 0%, #006f38 100%);
    box-shadow:
        0 16px 34px rgb(7 61 37 / 24%),
        inset 0 1px 0 rgb(255 255 255 / 14%);
}

.contact .contact-outline-button {
    border-color: rgb(0 122 61 / 20%);
    background: rgb(255 255 255 / 72%);
    box-shadow:
        0 16px 34px rgb(6 70 37 / 10%),
        inset 0 1px 0 #fff;
    backdrop-filter: blur(8px);
}

.contact .hero-action-icon {
    background: rgb(255 255 255 / 14%);
    box-shadow: inset 0 0 0 1px rgb(255 255 255 / 14%);
}

.contact .contact-outline-button .hero-action-icon {
    background: #e7f4ec;
    color: var(--green);
    box-shadow: inset 0 0 0 1px rgb(0 122 61 / 8%);
}

.contact-actions .light-button:hover,
.contact-actions .light-button:focus-visible,
.contact-actions .contact-outline-button:hover,
.contact-actions .contact-outline-button:focus-visible {
    transform: translateY(-3px);
}

.contact-actions .light-button:hover,
.contact-actions .light-button:focus-visible {
    background: linear-gradient(135deg, #052f1d 0%, #007a3d 100%);
    box-shadow:
        0 22px 42px rgb(7 61 37 / 30%),
        inset 0 1px 0 rgb(255 255 255 / 16%);
}

.contact-actions .contact-outline-button:hover,
.contact-actions .contact-outline-button:focus-visible {
    border-color: rgb(0 122 61 / 38%);
    background: rgb(255 255 255 / 94%);
    box-shadow:
        0 22px 42px rgb(6 70 37 / 15%),
        inset 0 1px 0 #fff;
}

.contact-actions .light-button:hover .hero-action-icon,
.contact-actions .light-button:focus-visible .hero-action-icon {
    transform: rotate(7deg) scale(1.05);
    background: rgb(255 255 255 / 22%);
}

.contact-actions .contact-outline-button:hover .hero-action-icon,
.contact-actions .contact-outline-button:focus-visible .hero-action-icon {
    transform: scale(1.05);
}

.contact-actions .light-button:active,
.contact-actions .contact-outline-button:active {
    transform: translateY(0) scale(0.985);
}

@media (max-width: 600px) {
    .contact-actions {
        align-items: center;
    }

    .contact-actions .light-button,
    .contact-actions .contact-outline-button {
        width: min(100%, 320px);
        min-height: 72px;
        padding-left: 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .contact-actions .light-button,
    .contact-actions .contact-outline-button,
    .contact-actions .hero-action-icon {
        transition: none;
    }
}

@media (min-width: 961px) {
    .feature-section {
        grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
        gap: clamp(56px, 4.5vw, 72px);
    }

    .feature-section.reverse {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    }

    .feature-copy h2 {
        font-size: clamp(2.8rem, 3.35vw, 3.75rem);
    }
}

@media (max-width: 960px) {
    .site-header,
    .site-header.open {
        position: sticky;
        top: 0;
        display: grid;
        grid-template-columns: auto 1fr auto;
        align-content: center;
        height: 70px;
        min-height: 70px;
        padding: 8px 14px;
        background: var(--green);
    }

    .site-header .brand,
    .site-header.logo-docked .brand {
        grid-column: 1;
        justify-self: start;
    }

    .site-header > .desktop-nav,
    .site-header.open > .desktop-nav,
    .site-header > .header-actions,
    .site-header.open > .header-actions {
        display: none;
    }

    .menu-toggle {
        grid-column: 3;
        display: inline-flex;
        width: 44px;
        height: 44px;
        align-items: center;
        justify-content: center;
        gap: 4px;
        justify-self: end;
        padding: 0;
        border: 1px solid rgb(255 255 255 / 35%);
        border-radius: 12px;
        background: rgb(255 255 255 / 10%);
        color: #fff;
        cursor: pointer;
    }

    .menu-toggle span {
        width: 4px;
        height: 4px;
        margin: 0;
        border-radius: 50%;
        background: currentColor;
    }

    .mobile-menu-panel:not([hidden]) {
        position: absolute;
        top: calc(100% + 8px);
        right: 14px;
        display: grid;
        width: min(270px, calc(100vw - 28px));
        padding: 8px;
        border: 1px solid var(--line);
        border-radius: 14px;
        background: #fff;
        color: var(--ink);
        box-shadow: 0 18px 50px rgb(5 48 26 / 22%);
    }

    .mobile-menu-panel nav {
        display: grid;
    }

    .mobile-menu-panel a,
    .mobile-menu-panel button {
        display: flex;
        width: 100%;
        min-height: 44px;
        align-items: center;
        padding: 10px 13px;
        border: 0;
        border-radius: 9px;
        background: transparent;
        color: var(--ink);
        cursor: pointer;
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-align: left;
        text-transform: uppercase;
    }

    .mobile-menu-panel a:hover,
    .mobile-menu-panel a:focus-visible,
    .mobile-menu-panel button:hover,
    .mobile-menu-panel button:focus-visible {
        background: var(--mint);
        color: var(--green);
    }

    .mobile-menu-panel > button,
    .mobile-menu-panel > a {
        border-top: 1px solid var(--line);
    }
}

@media (max-width: 600px) {
    .staff-visual-stack {
        gap: 20px;
    }

    .product-window,
    .portfolio-window {
        width: 100%;
        margin-bottom: 0;
        transform: none;
    }

    .demo-modal {
        max-height: calc(100dvh - 24px);
    }

    .schedule-modal {
        padding: 18px 12px 14px;
    }

    .schedule-modal .modal-brand {
        margin-bottom: 12px;
    }

    .schedule-frame {
        height: min(62dvh, 640px);
    }
}

.hotel-showcase {
    padding: 58px max(40px, calc((100vw - var(--max)) / 2 + 40px)) 110px;
    overflow: hidden;
    background: var(--mint);
}

.hotel-showcase-heading {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
}

.hotel-showcase-heading h2 {
    margin: 0;
    font:
        600 clamp(2.8rem, 3.35vw, 3.75rem) / 1 'Instrument Sans',
        sans-serif;
    letter-spacing: -0.055em;
    text-wrap: balance;
}

.hotel-feature {
    display: grid;
    max-width: var(--max);
    margin: 64px auto 0;
    padding: clamp(32px, 4vw, 56px);
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
    gap: clamp(42px, 5vw, 76px);
    align-items: center;
    border: 1px solid rgb(0 122 61 / 13%);
    border-radius: 28px;
    background: rgb(255 255 255 / 84%);
    box-shadow: 0 28px 70px rgb(13 48 30 / 8%);
}

.hotel-feature-reverse {
    grid-template-columns: minmax(0, 1.28fr) minmax(0, 0.72fr);
}

.hotel-feature-reverse .hotel-feature-copy {
    order: 2;
}

.hotel-feature-reverse .hotel-feature-visual {
    order: 1;
}

.hotel-feature-copy {
    position: relative;
    z-index: 1;
}

.hotel-feature-number {
    display: block;
    margin-bottom: 18px;
    color: rgb(0 122 61 / 18%);
    font:
        600 clamp(3.5rem, 5vw, 5.5rem) / 0.8 'Instrument Sans',
        sans-serif;
    letter-spacing: -0.07em;
}

.hotel-feature-label {
    margin: 0 0 11px;
    color: var(--green);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.15em;
}

.hotel-feature-copy h3 {
    margin: 0 0 20px;
    font:
        600 clamp(2rem, 3vw, 3rem) / 1.03 'Instrument Sans',
        sans-serif;
    letter-spacing: -0.045em;
    text-wrap: balance;
}

.hotel-feature-copy > p:not(.hotel-feature-label) {
    margin: 0;
    color: var(--marketing-muted);
    font-size: 1rem;
    line-height: 1.7;
}

.hotel-feature-copy > p:not(.hotel-feature-label) + p {
    margin-top: 16px;
}

.hotel-feature-visual {
    width: 100%;
}

.hotel-feature-visual img {
    display: block;
    width: 100%;
    height: auto;
}

.hotel-crm-crop {
    overflow: hidden;
    background: #fff;
}

.hotel-crm-crop img {
    width: 100%;
}

.hotel-feature-tower-pages {
    grid-template-columns: minmax(0, 0.86fr) minmax(360px, 1.14fr);
    border-color: rgb(255 255 255 / 10%);
    background: linear-gradient(135deg, #0b2519 0%, #073d25 100%);
    color: #fff;
    box-shadow: 0 34px 80px rgb(5 43 24 / 20%);
}

.hotel-feature-tower-pages .hotel-feature-number {
    color: rgb(126 222 166 / 25%);
}

.hotel-feature-tower-pages .hotel-feature-label {
    color: #7edda6;
}

.hotel-feature-tower-pages .hotel-feature-copy > p:not(.hotel-feature-label) {
    color: #b7c9bf;
}

.hotel-feature-tower-pages .hotel-feature-copy strong {
    color: #fff;
}

.hotel-feature-tower-pages h3 a {
    text-decoration: underline;
    text-decoration-color: rgb(126 221 166 / 55%);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

.hotel-feature-tower-pages h3 a:hover,
.hotel-feature-tower-pages h3 a:focus-visible {
    color: #9ce8ba;
}

.hotel-feature-link {
    display: flex;
    width: 100%;
    min-height: 52px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
    padding: 14px 16px;
    border: 1px solid rgb(255 255 255 / 85%);
    border-radius: 10px;
    background: #fff;
    color: #07522f;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    box-shadow: 0 12px 28px rgb(0 0 0 / 14%);
    transition:
        color 160ms ease,
        background-color 160ms ease,
        transform 160ms ease;
}

.hotel-feature-link svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
}

.hotel-feature-link:hover,
.hotel-feature-link:focus-visible {
    border-color: #9ce8ba;
    background: #eaf8f0;
    color: #064126;
    transform: translateY(-1px);
}

.hotel-tower-pages-visual {
    max-width: 560px;
    justify-self: center;
}

.hotel-feature-agent {
    background:
        radial-gradient(
            circle at 88% 8%,
            rgb(148 225 179 / 22%),
            transparent 34%
        ),
        rgb(255 255 255 / 90%);
}

.hotel-feature-copy strong {
    color: var(--ink);
    font-weight: 650;
}

.tower-agent-demo {
    position: relative;
    height: clamp(480px, 52vw, 620px);
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scroll-behavior: smooth;
    scrollbar-color: #9fc8b0 #e5f0e9;
    scrollbar-width: thin;
    padding: clamp(18px, 3vw, 34px);
    background: #f4f8f5;
}

.tower-agent-demo-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #087a3e;
    box-shadow: 0 10px 24px rgb(18 66 42 / 12%);
    color: white;
}

.tower-agent-demo-header small {
    color: #c7eed7;
    font-size: clamp(0.56rem, 2.4vw, 0.68rem);
    letter-spacing: 0.04em;
    white-space: nowrap;
    text-transform: uppercase;
}

.tower-agent-conversation {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px 0;
}

.tower-agent-bubble {
    max-width: 78%;
    margin: 0;
    padding: 12px 14px;
    border-radius: 15px 15px 15px 4px;
    background: white;
    box-shadow: 0 8px 25px rgb(18 66 42 / 8%);
    color: #27372f;
    font-size: 0.86rem;
    line-height: 1.5;
}

.tower-agent-bubble.staff {
    align-self: flex-end;
    border-radius: 15px 15px 4px;
    background: #dff2e7;
}

.tower-agent-welcome,
.tower-agent-guest-message,
.tower-agent-staff-response,
.tower-agent-action-card,
.tower-agent-feedback-message,
.tower-agent-feedback-response,
.tower-agent-shift-note-card {
    opacity: 0;
    transform: translateY(10px);
}

.tower-agent-typing {
    display: flex;
    width: fit-content;
    gap: 4px;
    padding: 13px 15px;
    border-radius: 15px 15px 15px 4px;
    background: white;
    box-shadow: 0 8px 25px rgb(18 66 42 / 8%);
    opacity: 0;
}

.tower-agent-typing i {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #6d7b74;
}

.tower-agent-demo.tower-agent-playing .tower-agent-welcome {
    animation: tower-agent-message-in 0.5s ease-out 0.35s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-request-typing {
    animation: tower-agent-typing-life 1.8s ease 1.85s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-typing i {
    animation: tower-agent-typing-dot 0.75s ease-in-out infinite;
}

.tower-agent-demo.tower-agent-playing .tower-agent-typing i:nth-child(2) {
    animation-delay: 0.12s;
}

.tower-agent-demo.tower-agent-playing .tower-agent-typing i:nth-child(3) {
    animation-delay: 0.24s;
}

.tower-agent-message-stage {
    position: relative;
}

.tower-agent-message-stage .tower-agent-typing {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.tower-agent-demo.tower-agent-playing .tower-agent-guest-message {
    animation: tower-agent-message-in 0.5s ease-out 3.75s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-staff-response {
    animation: tower-agent-message-in 0.5s ease-out 8.6s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-action-card {
    animation: tower-agent-message-in 0.55s ease-out 5.25s forwards;
}

.tower-agent-feedback-conversation {
    padding-top: 16px;
    padding-bottom: 0;
}

.tower-agent-demo.tower-agent-playing .tower-agent-confirm-action {
    animation: tower-agent-confirm-press 0.75s ease 6.8s both;
}

.tower-agent-confirmed-label {
    display: none;
}

.tower-agent-demo.tower-agent-playing .tower-agent-confirm-label {
    animation: tower-agent-label-out 0.01s linear 7.4s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-confirmed-label {
    display: inline-flex;
    opacity: 0;
    animation: tower-agent-label-in 0.2s ease-out 7.4s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-feedback-typing {
    animation: tower-agent-typing-life 1.8s ease 10.1s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-feedback-message {
    animation: tower-agent-message-in 0.5s ease-out 12s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-feedback-response {
    animation: tower-agent-message-in 0.5s ease-out 13.5s forwards;
}

.tower-agent-demo.tower-agent-playing .tower-agent-shift-note-card {
    animation: tower-agent-message-in 0.55s ease-out 15s forwards;
}

@keyframes tower-agent-message-in {
    to {
        opacity: 1;
        transform: none;
    }
}

@keyframes tower-agent-typing-life {
    0%,
    15%,
    82% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }
}

@keyframes tower-agent-typing-dot {
    0%,
    60%,
    100% {
        transform: translateY(0);
    }

    30% {
        transform: translateY(-4px);
    }
}

@keyframes tower-agent-confirm-press {
    0% {
        min-width: 164px;
        min-height: 40px;
        padding: 0 14px;
        transform: scale(1);
        border-color: #087a3e;
        border-radius: 10px;
        background: #087a3e;
        box-shadow: 0 8px 18px rgb(8 122 62 / 16%);
        color: white;
    }

    45% {
        min-width: 164px;
        min-height: 40px;
        padding: 0 14px;
        transform: scale(0.94);
        border-radius: 10px;
        background: #055f31;
        box-shadow: 0 0 0 5px rgb(8 122 62 / 16%);
    }

    100% {
        min-width: 116px;
        min-height: 34px;
        padding: 0 12px;
        transform: scale(1);
        border-color: #9dccb0;
        border-radius: 999px;
        background: #e7f6ed;
        box-shadow: inset 0 0 0 1px rgb(8 122 62 / 4%);
        color: #075b31;
    }
}

@keyframes tower-agent-label-out {
    to {
        display: none;
        opacity: 0;
    }
}

@keyframes tower-agent-label-in {
    to {
        opacity: 1;
    }
}

.tower-agent-suggestion {
    padding: 18px;
    border: 1px solid #c4dfcf;
    border-radius: 14px;
    background: white;
    box-shadow: 0 18px 40px rgb(18 66 42 / 10%);
}

.tower-agent-suggestion > span {
    display: block;
    margin-bottom: 6px;
    color: #087a3e;
    font-size: 0.62rem;
    font-weight: 750;
    letter-spacing: 0.12em;
}

.tower-agent-suggestion strong {
    display: block;
    color: #17231d;
    font-size: 1rem;
}

.tower-agent-suggestion p {
    margin: 5px 0 16px;
    color: #64736b;
    font-size: 0.78rem;
}

.tower-agent-suggestion-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
}

.tower-agent-suggestion-action {
    display: inline-flex;
    min-height: 40px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    padding: 0 14px;
    border: 1px solid #b9d1c3;
    border-radius: 10px;
    background: white;
    color: #087a3e;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.tower-agent-edit-action {
    min-width: 64px;
}

.tower-agent-confirm-action {
    min-width: 164px;
    border-color: #087a3e;
    background: #087a3e;
    box-shadow: 0 8px 18px rgb(8 122 62 / 16%);
    color: white;
    text-align: center;
}

.tower-agent-confirmed-label {
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.tower-agent-confirmed-icon {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    box-sizing: border-box;
    padding: 3px;
    border-radius: 50%;
    background: #087a3e;
    color: white;
    stroke-width: 3;
}

.tower-agent-shift-note-card {
    margin-top: 18px;
    border-color: #8fc9a8;
    background: white;
}

.tower-agent-shift-note-status {
    border-radius: 999px;
    background: #d7f0e1;
    padding: 7px 10px;
    color: #075b31;
    font-size: 0.68rem;
    font-weight: 750;
}

@media (max-width: 960px) {
    .hotel-showcase {
        padding: 48px 28px 90px;
    }

    .hotel-feature,
    .hotel-feature-reverse,
    .hotel-feature-tower-pages {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .hotel-feature-reverse .hotel-feature-copy,
    .hotel-feature-reverse .hotel-feature-visual {
        order: initial;
    }

    .hotel-feature-visual {
        max-width: 760px;
        justify-self: center;
    }

    .hotel-tower-pages-visual {
        max-width: 520px;
    }
}

@media (max-width: 600px) {
    .hotel-showcase {
        padding: 38px 20px 72px;
    }

    .hotel-showcase-heading {
        text-align: left;
    }

    .hotel-showcase-heading h2 {
        font-size: 2.65rem;
    }

    .hotel-feature {
        margin-top: 38px;
        padding: 24px;
        gap: 30px;
        border-radius: 20px;
    }

    .hotel-feature-number {
        margin-bottom: 14px;
        font-size: 3.5rem;
    }

    .hotel-feature-copy h3 {
        font-size: 2rem;
    }

    .hotel-feature-copy > p:not(.hotel-feature-label) {
        font-size: 0.94rem;
    }

    .hotel-feature-visual .window-top {
        height: 34px;
        font-size: 0.5rem;
    }

    .tower-agent-demo {
        height: min(64vh, 520px);
        min-height: 440px;
        padding: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .tower-agent-welcome,
    .tower-agent-guest-message,
    .tower-agent-staff-response,
    .tower-agent-action-card,
    .tower-agent-feedback-message,
    .tower-agent-feedback-response,
    .tower-agent-shift-note-card {
        opacity: 1;
        transform: none;
    }

    .tower-agent-typing {
        display: none;
    }

    .tower-agent-demo.tower-agent-playing * {
        animation: none;
    }

    .tower-agent-confirm-label {
        display: none;
    }

    .tower-agent-confirmed-label {
        display: inline-flex;
        opacity: 1;
    }

    .tower-agent-confirm-action {
        min-width: 116px;
        min-height: 34px;
        padding: 0 12px;
        border-color: #9dccb0;
        border-radius: 999px;
        background: #e7f6ed;
        box-shadow: inset 0 0 0 1px rgb(8 122 62 / 4%);
        color: #075b31;
    }
}

/* Final public-site refinement pass. */
.site-header .desktop-nav {
    gap: 4px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
}

.site-header .desktop-nav a {
    position: relative;
    min-height: 38px;
    gap: 0;
    padding: 8px 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #fff;
    box-shadow: none;
    cursor: pointer;
    font-weight: 700;
    opacity: 1;
    transform: none;
}

.site-header .desktop-nav a::before {
    display: none;
    content: none;
}

.site-header .desktop-nav a::after {
    position: absolute;
    right: 11px;
    bottom: 2px;
    left: 11px;
    height: 3px;
    border-radius: 999px;
    background: #fff;
    content: '';
    opacity: 0;
    transform: scaleX(0.55);
    transition:
        opacity 160ms ease,
        transform 160ms ease;
}

.site-header .desktop-nav a:hover,
.site-header .desktop-nav a:focus-visible {
    background: rgb(255 255 255 / 15%);
    color: #fff;
    opacity: 1;
    transform: none;
}

.site-header .desktop-nav a.active,
.site-header .desktop-nav a[aria-current='true'] {
    border-color: transparent;
    background: transparent;
    color: #fff;
    box-shadow: none;
    opacity: 1;
    transform: none;
}

.site-header .desktop-nav a.active::after,
.site-header .desktop-nav a[aria-current='true']::after {
    opacity: 1;
    transform: scaleX(1);
}

.architectural-hero .hero-actions .primary-button,
.architectural-hero .hero-actions .explore-button {
    width: auto;
    min-height: 56px;
    padding: 8px 9px 8px 18px;
    border-radius: 13px;
}

.architectural-hero .hero-actions .primary-button {
    min-width: 190px;
}

.architectural-hero .hero-actions .explore-button {
    min-width: 230px;
}

.architectural-hero .hero-actions .hero-action-icon {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    border-radius: 11px;
}

.hotel-feature-sales {
    border-color: rgb(180 119 48 / 20%);
    background:
        radial-gradient(
            circle at 8% 10%,
            rgb(255 219 174 / 44%),
            transparent 38%
        ),
        linear-gradient(135deg, #fffaf4 0%, #fff 55%, #f7fbf8 100%);
}

.hotel-feature-sales .hotel-feature-number {
    color: rgb(173 105 35 / 20%);
}

.hotel-feature-lede {
    color: #38483f !important;
    font-size: 1.07rem !important;
}

.sales-stage-track {
    display: flex;
    align-items: center;
    margin-top: 24px;
}

.sales-stage-track span {
    display: inline-flex;
    min-height: 30px;
    align-items: center;
    padding: 6px 10px;
    border: 1px solid rgb(0 122 61 / 18%);
    border-radius: 999px;
    background: white;
    color: #075a33;
    font-size: 0.65rem;
    font-weight: 750;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    white-space: nowrap;
}

.sales-stage-track i {
    width: clamp(10px, 2vw, 24px);
    height: 1px;
    flex: 1 1 auto;
    background: rgb(0 122 61 / 28%);
}

.staff-feature-grid {
    display: grid;
    gap: 10px;
}

.staff-feature-item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
    border: 1px solid rgb(0 122 61 / 13%);
    border-radius: 14px;
    background: rgb(247 251 248 / 86%);
}

.staff-feature-icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 11px;
    background: #e1f2e8;
    color: #087a3e;
}

.staff-feature-icon svg {
    width: 18px;
    height: 18px;
    stroke-width: 1.8;
}

.staff-feature-item p {
    margin: 0;
    color: var(--marketing-muted);
    font-size: 0.86rem;
    line-height: 1.55;
}

.staff-feature-item strong {
    color: var(--ink);
}

#statistics.portfolio-performance-section {
    max-width: none;
    margin: 0;
    padding: 112px max(40px, calc((100vw - var(--max)) / 2 + 40px));
    border-top: 1px solid rgb(255 255 255 / 8%);
    background:
        radial-gradient(
            circle at 76% 22%,
            rgb(29 128 78 / 32%),
            transparent 34%
        ),
        linear-gradient(135deg, #061d13 0%, #073d25 58%, #07522f 100%);
    color: #fff;
}

.portfolio-performance-section .kicker {
    color: #91e1b2;
}

.portfolio-performance-section .feature-copy h2 {
    color: #fff;
}

.portfolio-performance-section .feature-copy > p.portfolio-performance-lede {
    margin: 24px 0 30px;
    color: #c7d9cf;
}

.portfolio-performance-section .feature-list {
    border-top-color: rgb(255 255 255 / 17%);
}

.portfolio-performance-section .feature-list li {
    border-bottom-color: rgb(255 255 255 / 17%);
}

.portfolio-performance-section .feature-list b {
    color: #fff;
}

.portfolio-performance-section .feature-list span {
    color: #b9cec2;
}

.portfolio-performance-section .portfolio-window {
    border-color: rgb(255 255 255 / 22%);
    box-shadow: 0 40px 90px rgb(0 0 0 / 31%);
}

.contact-choice {
    min-height: 72px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 17px 20px;
}

.contact-choice b {
    position: static;
    flex: 0 0 auto;
    margin-left: auto;
}

@media (max-width: 960px) {
    #statistics.portfolio-performance-section {
        padding: 84px 28px;
    }
}

@media (max-width: 600px) {
    .architectural-hero .hero-actions .primary-button,
    .architectural-hero .hero-actions .explore-button {
        width: min(100%, 280px);
        min-height: 56px;
        padding-left: 18px;
    }

    .hotel-feature-sales {
        background:
            radial-gradient(
                circle at 50% 0%,
                rgb(255 219 174 / 40%),
                transparent 34%
            ),
            linear-gradient(150deg, #fffaf4 0%, #fff 66%);
    }

    .sales-stage-track span {
        padding: 6px;
        font-size: 0.5rem;
    }

    .staff-feature-item {
        grid-template-columns: 34px minmax(0, 1fr);
        gap: 10px;
        padding: 12px;
    }

    .staff-feature-icon {
        width: 34px;
        height: 34px;
    }

    #statistics.portfolio-performance-section {
        padding: 70px 20px;
    }

    .portfolio-performance-section .feature-copy h2 {
        font-size: 2.55rem;
    }

    .contact-choice {
        min-height: 68px;
        padding: 15px 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header .desktop-nav a::after {
        transition: none;
    }
}

footer .business-identity {
    flex-direction: column;
    align-items: center;
    gap: 6px;
}

footer .business-identity a {
    display: block;
}

.hotel-feature.hotel-feature-dark {
    border-color: rgb(255 255 255 / 10%);
    background:
        radial-gradient(
            circle at 88% 8%,
            rgb(38 139 87 / 28%),
            transparent 34%
        ),
        linear-gradient(135deg, #0b2519 0%, #073d25 100%);
    color: #fff;
    box-shadow: 0 34px 80px rgb(5 43 24 / 20%);
}

.hotel-feature.hotel-feature-dark .hotel-feature-number {
    color: rgb(126 222 166 / 25%);
}

.hotel-feature.hotel-feature-dark h3,
.hotel-feature.hotel-feature-dark .hotel-feature-copy strong {
    color: #fff;
}

.hotel-feature.hotel-feature-dark
    .hotel-feature-copy
    > p:not(.hotel-feature-label) {
    color: #b7c9bf;
}

.hotel-feature.hotel-feature-dark .hotel-feature-lede {
    color: #d9e7df !important;
}

.hotel-feature.hotel-feature-light {
    border-color: rgb(0 122 61 / 13%);
    background:
        radial-gradient(
            circle at 88% 8%,
            rgb(148 225 179 / 22%),
            transparent 34%
        ),
        rgb(255 255 255 / 92%);
    color: var(--ink);
    box-shadow: 0 28px 70px rgb(13 48 30 / 8%);
}

.hotel-feature.hotel-feature-light .hotel-feature-number {
    color: rgb(0 122 61 / 18%);
}

.hotel-feature.hotel-feature-light
    .hotel-feature-copy
    > p:not(.hotel-feature-label) {
    color: var(--marketing-muted);
}

.hotel-feature.hotel-feature-light .hotel-feature-copy strong,
.hotel-feature.hotel-feature-light h3 a {
    color: var(--ink);
}

.hotel-feature.hotel-feature-light h3 a:hover,
.hotel-feature.hotel-feature-light h3 a:focus-visible {
    color: var(--green);
}

.hotel-feature.hotel-feature-light .hotel-feature-link {
    border-color: rgb(0 122 61 / 22%);
    background: #f2faf5;
    color: #07522f;
    box-shadow: 0 12px 28px rgb(6 70 37 / 10%);
}

.hotel-feature.hotel-feature-light .hotel-feature-link:hover,
.hotel-feature.hotel-feature-light .hotel-feature-link:focus-visible {
    border-color: rgb(0 122 61 / 40%);
    background: #e4f5eb;
    color: #063f25;
}
