/* Common footer styling, taken from the home page.
   Page-specific offsets stay in each page; appearance and breakpoints are shared. */
.site-footer .abs,
.site-footer.abs {
position: absolute;
}
.site-footer .panel,
.site-footer.panel {
border-radius: 3px;
        background: var(--panel);
}
.site-footer .panel-border,
.site-footer.panel-border {
border: 2px solid var(--line);
}
.site-footer .century,
.site-footer.century {
font-family: "Century Gothic", Arial, sans-serif;
        font-weight: 400;
        font-style: normal;
}
.site-footer .century-bold,
.site-footer.century-bold {
font-family: "Century Gothic", Arial, sans-serif;
        font-weight: 700;
        font-style: normal;
}
.site-footer .pre-line,
.site-footer.pre-line {
white-space: pre-line;
}
.site-footer .address-map-link,
.site-footer.address-map-link {
margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: inherit;
        cursor: pointer;
        font: inherit;
        line-height: inherit;
        text-align: inherit;
        text-decoration: none;
        appearance: none;
        -webkit-appearance: none;
        transition: color 260ms ease;
}
.site-footer .address-map-link:hover,
.site-footer.address-map-link:hover,
.site-footer .address-map-link:focus-visible,
.site-footer.address-map-link:focus-visible {
color: var(--gold);
}
.site-footer .social-box,
.site-footer.social-box {
display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 15px;
        background: var(--accent);
        box-shadow: 0 0 0 rgba(241, 77, 80, 0);
        transform: translateZ(0);
        transition:
          transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 420ms cubic-bezier(0.22, 1, 0.36, 1),
          background 420ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 420ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform, box-shadow, filter;
}
.site-footer .social-box img,
.site-footer.social-box img {
display: block;
        max-width: 26px;
        max-height: 24px;
        transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: transform;
}
.site-footer .social-box.meta-social:not(.abs):not(.m320-abs):not(.t768-abs),
.site-footer.social-box.meta-social:not(.abs):not(.m320-abs):not(.t768-abs) {
position: relative;
}
.site-footer .meta-social::after,
.site-footer.meta-social::after {
content: "*";
        position: absolute;
        top: 6px;
        right: 10px;
        color: #fff;
        font-family: "Century Gothic", Arial, sans-serif;
        font-size: 10px;
        font-weight: 700;
        line-height: 1;
        pointer-events: none;
}
.site-footer .footer-logo-link,
.site-footer.footer-logo-link {
display: block;
        pointer-events: auto;
        cursor: pointer;
        text-decoration: none;
}
.site-footer .footer-logo-link img,
.site-footer.footer-logo-link img {
display: block;
        height: auto;
}
.site-footer .footer-logo-link:not(.mobile-footer-logo-link) img,
.site-footer.footer-logo-link:not(.mobile-footer-logo-link) img {
width: 100%;
}
.site-footer .mobile-footer-logo-link,
.site-footer.mobile-footer-logo-link {
display: inline-flex;
        flex: 0 0 auto;
        align-items: center;
}
.site-footer .contact-phone a,
.site-footer.contact-phone a,
.site-footer .t768-contact-phone a,
.site-footer.t768-contact-phone a,
.site-footer .m320-contact-phone a,
.site-footer.m320-contact-phone a,
.site-footer .mobile-contact-card strong a,
.site-footer.mobile-contact-card strong a {
color: inherit;
        font: inherit;
        line-height: inherit;
        text-decoration: none;
}
.site-footer .contact-phone a:hover,
.site-footer.contact-phone a:hover,
.site-footer .t768-contact-phone a:hover,
.site-footer.t768-contact-phone a:hover,
.site-footer .m320-contact-phone a:hover,
.site-footer.m320-contact-phone a:hover,
.site-footer .mobile-contact-card strong a:hover,
.site-footer.mobile-contact-card strong a:hover {
color: var(--gold);
}
.site-footer .footer-meta-note,
.site-footer.footer-meta-note {
display: block;
        color: var(--footer);
        font-size: 12px;
        line-height: 16px;
        opacity: 1 !important;
        visibility: visible !important;
        filter: none !important;
        transition: none !important;
}
.site-footer .contact-card .century,
.site-footer.contact-card .century,
.site-footer .contact-card .contact-phone,
.site-footer.contact-card .contact-phone,
.site-footer .t768-contact-text,
.site-footer.t768-contact-text,
.site-footer .t768-contact-phone,
.site-footer.t768-contact-phone,
.site-footer .m320-contact-text,
.site-footer.m320-contact-text,
.site-footer .m320-contact-phone,
.site-footer.m320-contact-phone,
.site-footer .mobile-contact-card address,
.site-footer.mobile-contact-card address,
.site-footer .mobile-contact-card p,
.site-footer.mobile-contact-card p,
.site-footer .mobile-contact-card p strong,
.site-footer.mobile-contact-card p strong {
color: #D9DBDD !important;
}
.site-footer .social-box:hover,
.site-footer.social-box:hover,
.site-footer .social-box:focus-visible,
.site-footer.social-box:focus-visible {
background: #ff5558;
        box-shadow: 0 18px 36px rgba(241, 77, 80, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.13) inset;
        filter: saturate(1.06) brightness(1.04);
        transform: translateY(-4px) scale(1.12);
}
.site-footer .social-box:hover img,
.site-footer.social-box:hover img,
.site-footer .social-box:focus-visible img,
.site-footer.social-box:focus-visible img {
transform: scale(1.06);
}
.site-footer .social-box:active,
.site-footer.social-box:active {
box-shadow: 0 10px 24px rgba(241, 77, 80, 0.24), 0 0 0 1px rgba(255, 255, 255, 0.12) inset;
        transform: translateY(-1px) scale(1.04);
        transition-duration: 140ms;
}
.site-footer .social-box.is-clicked,
.site-footer.social-box.is-clicked {
animation: social-click-pulse 520ms cubic-bezier(0.16, 1, 0.3, 1);
}
.site-footer .reveal,
.site-footer.reveal {
opacity: 0;
        filter: blur(12px);
        transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter;
}
.site-footer .reveal.is-visible,
.site-footer.reveal.is-visible {
opacity: 1;
        filter: blur(0);
}
.site-footer .social-box.reveal,
.site-footer.social-box.reveal {
transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1),
          transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 420ms cubic-bezier(0.22, 1, 0.36, 1),
          background 420ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter, transform, box-shadow;
}
.site-footer .cta-button.reveal,
.site-footer.cta-button.reveal {
transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1),
          background 420ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 420ms cubic-bezier(0.22, 1, 0.36, 1),
          transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter, transform, box-shadow;
}
.site-footer .install-summary-card.reveal,
.site-footer.install-summary-card.reveal {
overflow: visible;
        transform-origin: center;
        transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1),
          transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
          border-color 520ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter, transform, box-shadow;
}
.site-footer .install-summary-card.reveal.is-visible,
.site-footer.install-summary-card.reveal.is-visible {
transition-delay: 0ms !important;
}
.site-footer .contact-card.reveal,
.site-footer.contact-card.reveal {
overflow: visible;
        transform-origin: center;
        transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1),
          transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
          border-color 520ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter, transform, box-shadow;
}
.site-footer .contact-card.reveal.is-visible,
.site-footer.contact-card.reveal.is-visible {
transition-delay: 0ms !important;
}
.site-footer .factory-info-card.reveal,
.site-footer.factory-info-card.reveal {
transition:
          opacity 900ms cubic-bezier(0.22, 1, 0.36, 1),
          filter 900ms cubic-bezier(0.22, 1, 0.36, 1),
          transform 520ms cubic-bezier(0.22, 1, 0.36, 1),
          box-shadow 520ms cubic-bezier(0.22, 1, 0.36, 1),
          border-color 520ms cubic-bezier(0.22, 1, 0.36, 1);
        will-change: opacity, filter, transform;
}
.site-footer .factory-info-card.reveal.is-visible,
.site-footer.factory-info-card.reveal.is-visible {
transition-delay: 0ms !important;
}
@media (hover: hover) and (pointer: fine) {
.site-footer .install-summary-card.reveal:hover,
.site-footer.install-summary-card.reveal:hover,
.site-footer .install-summary-card.reveal:focus-within,
.site-footer.install-summary-card.reveal:focus-within,
.site-footer .install-summary-card.reveal.is-hovered,
.site-footer.install-summary-card.reveal.is-hovered {
z-index: 8;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 34px 95px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: scale(1.035);
}
.site-footer .contact-card.reveal:hover,
.site-footer.contact-card.reveal:hover,
.site-footer .contact-card.reveal:focus-within,
.site-footer.contact-card.reveal:focus-within,
.site-footer .contact-card.reveal.is-hovered,
.site-footer.contact-card.reveal.is-hovered {
z-index: 8;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 34px 95px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: translateY(-5px);
}
.site-footer .factory-info-card.reveal:hover,
.site-footer.factory-info-card.reveal:hover {
z-index: 8;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 34px 95px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: scale(1.035);
}
}
@media (min-width: 576px) and (max-width: 767.98px) {
.site-footer .mobile-wrap,
.site-footer.mobile-wrap {
width: min(100% - clamp(32px, 7vw, 128px), 1500px);
          margin: 0 auto;
}
.site-footer .mobile-logo,
.site-footer.mobile-logo {
width: clamp(178px, 52vw, 237px);
          height: auto;
}
.site-footer .mobile-logo-link .mobile-logo,
.site-footer.mobile-logo-link .mobile-logo {
display: block;
}
.site-footer .mobile-grid,
.site-footer.mobile-grid {
display: grid;
          grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
          gap: clamp(24px, 2.5vw, 42px);
          margin-top: 38px;
}
.site-footer .mobile-grid.three,
.site-footer.mobile-grid.three {
grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}
.site-footer .mobile-contact-card,
.site-footer.mobile-contact-card {
overflow: hidden;
          border: 2px solid var(--line);
          border-radius: 3px;
          background: var(--panel);
}
.site-footer .mobile-contact-card,
.site-footer.mobile-contact-card {
padding: clamp(26px, 2.4vw, 42px);
}
.site-footer .mobile-footer,
.site-footer.mobile-footer {
margin-top: clamp(78px, 14vw, 130px);
          padding: 48px 0 34px;
          border-top: 2px solid var(--line);
          background: #0b181f;
}
.site-footer .mobile-footer-top,
.site-footer.mobile-footer-top {
display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 24px;
          margin-bottom: 42px;
}
.site-footer .mobile-socials,
.site-footer.mobile-socials {
display: flex;
          gap: 10px;
}
.site-footer .mobile-socials .meta-social,
.site-footer.mobile-socials .meta-social {
position: relative;
}
.site-footer .mobile-socials .social-box,
.site-footer.mobile-socials .social-box {
width: 44px;
          height: 44px;
}
.site-footer .mobile-contact-card h3,
.site-footer.mobile-contact-card h3 {
margin: 0;
          color: var(--gold);
          font-family: "Roboto Thin", "Century Gothic", Arial, sans-serif;
          font-size: 20px;
          font-weight: 100;
          line-height: 1.38;
          overflow-wrap: normal;
          word-break: normal;
          hyphens: none;
          text-transform: uppercase;
}
.site-footer .mobile-contact-card address,
.site-footer.mobile-contact-card address,
.site-footer .mobile-contact-card p,
.site-footer.mobile-contact-card p {
margin: 20px 0 0;
          color: #aaaeb1;
          font-style: normal;
          font-size: 18px;
          line-height: 1.55;
}
.site-footer .mobile-contact-card .schedule,
.site-footer.mobile-contact-card .schedule {
color: var(--muted);
}
.site-footer .mobile-contact-card p strong,
.site-footer.mobile-contact-card p strong {
font-family: "Roboto Thin", "Roboto", Arial, sans-serif;
          font-size: 21px;
          font-weight: 100;
          line-height: 1.35;
}
.site-footer .mobile-legal,
.site-footer.mobile-legal {
display: flex;
          flex-wrap: wrap;
          gap: 14px 28px;
          margin-top: 38px;
          color: var(--footer);
          font-size: 13px;
          line-height: 1.4;
}
.site-footer .mobile-legal a,
.site-footer.mobile-legal a {
text-decoration: underline;
}
.site-footer .mobile-meta-note,
.site-footer.mobile-meta-note {
flex-basis: 100%;
          color: var(--footer);
          font-size: 10px;
          line-height: 14px;
}
@media (max-width: 720px) {
.site-footer .mobile-footer-top,
.site-footer.mobile-footer-top {
align-items: flex-start;
            flex-direction: column;
}
.site-footer .mobile-grid,
.site-footer.mobile-grid,
.site-footer .mobile-grid.three,
.site-footer.mobile-grid.three {
grid-template-columns: 1fr;
}
.site-footer .mobile-contact-card,
.site-footer.mobile-contact-card {
padding: 26px;
}
}
@media (max-width: 800px) {
.site-footer .mobile-logo,
.site-footer.mobile-logo {
width: clamp(176px, 45vw, 220px);
}
}
@media (max-width: 420px) {
.site-footer .mobile-logo,
.site-footer.mobile-logo {
width: 168px;
}
}
}
@media (min-width: 576px) and (max-width: 1119.98px) {
.site-footer .tablet-figma-768 .reveal,
.site-footer.tablet-figma-768 .reveal {
opacity: 1 !important;
          filter: none !important;
}
.site-footer .t768-abs,
.site-footer.t768-abs {
position: absolute;
          box-sizing: border-box;
}
.site-footer .t768-contact-card:hover,
.site-footer.t768-contact-card:hover,
.site-footer .t768-contact-card:focus-within,
.site-footer.t768-contact-card:focus-within {
z-index: 8;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 26px 70px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: translateY(-4px);
}
.site-footer .t768-footer-card,
.site-footer.t768-footer-card {
width: 701px;
          height: 505px;
          border: 2px solid var(--line);
          border-radius: 10px;
          background: #0d1920;
}
.site-footer .t768-contact-card,
.site-footer.t768-contact-card {
display: flex;
          flex-direction: column;
          width: 292px;
          height: 260px;
          padding: 20px 20px 0;
          border: 2px solid var(--line);
          border-radius: 3px;
          background: #0d1920;
          transition:
            transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 420ms ease,
            border-color 420ms ease;
}
.site-footer .t768-contact-title,
.site-footer.t768-contact-title {
margin: 0;
          color: var(--gold);
          font-family: "Roboto Thin", "Century Gothic", Arial, sans-serif;
          font-size: 17px;
          font-weight: 100;
          line-height: 22px;
          min-height: 48px;
          overflow-wrap: normal;
          word-break: normal;
          hyphens: none;
          text-transform: uppercase;
}
.site-footer .t768-contact-text,
.site-footer.t768-contact-text {
margin: 0;
          color: #aaaeb1;
          font-size: 16px;
          line-height: 22px;
}
.site-footer .t768-contact-phone,
.site-footer.t768-contact-phone {
color: #b7bdc1;
          font-family: "Roboto Thin", "Roboto", Arial, sans-serif;
          font-size: 19px;
          font-weight: 100;
          line-height: 25px;
          margin-top: 18px !important;
          margin-bottom: 0;
}
.site-footer .t768-contact-card .t768-contact-text:first-of-type,
.site-footer.t768-contact-card .t768-contact-text:first-of-type {
margin-top: 0 !important;
}
.site-footer .t768-social,
.site-footer.t768-social {
width: 40px;
          height: 40px;
          border-radius: 15px;
          background: var(--accent);
          display: flex;
          align-items: center;
          justify-content: center;
          transition:
            transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 360ms ease,
            background 360ms ease;
}
.site-footer .t768-social:hover,
.site-footer.t768-social:hover {
background: #f25759;
          box-shadow: 0 16px 38px rgba(233, 80, 82, 0.24);
          transform: translateY(-2px) scale(1.06);
}
.site-footer .t768-social:active,
.site-footer.t768-social:active {
transform: scale(0.95);
}
.site-footer .t768-social img,
.site-footer.t768-social img {
max-width: 21px;
          max-height: 21px;
}
.site-footer .t768-muted,
.site-footer.t768-muted {
color: var(--footer);
          font-size: 14px;
          line-height: 17px;
}
.site-footer .t768-footnote,
.site-footer.t768-footnote {
color: var(--footer);
          font-size: 10px;
          line-height: 14px;
}
}
@media (max-width: 575.98px) {
.site-footer .mobile-figma-320 .reveal,
.site-footer.mobile-figma-320 .reveal {
opacity: 1 !important;
          filter: none !important;
}
.site-footer .m320-abs,
.site-footer.m320-abs {
position: absolute;
          box-sizing: border-box;
}
.site-footer .m320-footer-card,
.site-footer.m320-footer-card {
left: 11px;
          
          width: 297px;
          height: 1042px;
          border: 2px solid var(--line);
          border-radius: 10px;
          background: #0d1920;
}
.site-footer .m320-contact-card,
.site-footer.m320-contact-card {
left: 17px;
          width: 260px;
          border: 2px solid var(--line);
          border-radius: 3px;
          background: #0d1920;
          padding: 35px 19px 0;
          transition:
            transform 420ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 420ms ease,
            border-color 420ms ease;
}
.site-footer .m320-contact-card:hover,
.site-footer.m320-contact-card:hover {
z-index: 5;
          border-color: rgba(255, 255, 255, 0.08);
          box-shadow: 0 34px 95px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: translateY(-3px);
}
.site-footer .m320-contact-title,
.site-footer.m320-contact-title {
margin: 0;
          color: var(--gold);
          font-family: "Roboto Thin", "Century Gothic", Arial, sans-serif;
          font-size: 16px;
          font-weight: 100;
          line-height: 21px;
          overflow-wrap: normal;
          word-break: normal;
          hyphens: none;
          text-transform: uppercase;
}
.site-footer .m320-contact-text,
.site-footer.m320-contact-text {
margin: 0;
          color: #aaaeb1;
          font-size: 15px;
          line-height: 22px;
}
.site-footer .m320-contact-phone,
.site-footer.m320-contact-phone {
color: #b7bdc1;
          font-family: "Roboto Thin", "Roboto", Arial, sans-serif;
          font-size: 19px;
          font-weight: 100;
          line-height: 23px;
}
.site-footer .m320-social,
.site-footer.m320-social {
width: 40px;
          height: 40px;
          border-radius: 15px;
          background: var(--accent);
          display: flex;
          align-items: center;
          justify-content: center;
          transition:
            transform 360ms cubic-bezier(0.22, 1, 0.36, 1),
            box-shadow 360ms ease,
            background 360ms ease;
}
.site-footer .m320-social:hover,
.site-footer.m320-social:hover {
background: #f25759;
          box-shadow: 0 16px 38px rgba(233, 80, 82, 0.24);
          transform: translateY(-2px) scale(1.06);
}
.site-footer .m320-social:active,
.site-footer.m320-social:active {
transform: scale(0.95);
}
.site-footer .m320-social img,
.site-footer.m320-social img {
max-width: 21px;
          max-height: 21px;
}
.site-footer .m320-muted,
.site-footer.m320-muted {
color: var(--footer);
          font-size: 14px;
          line-height: 18px;
}
.site-footer .m320-footnote,
.site-footer.m320-footnote {
color: var(--footer);
          font-size: 10px;
          line-height: 14px;
}
}
@media (hover: hover) and (pointer: fine) {
.site-footer .furniture-banner.reveal:hover,
.site-footer.furniture-banner.reveal:hover,
.site-footer .furniture-banner.reveal:focus-visible,
.site-footer.furniture-banner.reveal:focus-visible,
.site-footer .furniture-banner.reveal.is-hovered,
.site-footer.furniture-banner.reveal.is-hovered,
.site-footer .t768-furniture-banner.reveal:hover,
.site-footer.t768-furniture-banner.reveal:hover,
.site-footer .t768-furniture-banner.reveal:focus-visible,
.site-footer.t768-furniture-banner.reveal:focus-visible,
.site-footer .t768-furniture-banner.reveal.is-hovered,
.site-footer.t768-furniture-banner.reveal.is-hovered,
.site-footer .m320-furniture-banner.reveal:hover,
.site-footer.m320-furniture-banner.reveal:hover,
.site-footer .m320-furniture-banner.reveal:focus-visible,
.site-footer.m320-furniture-banner.reveal:focus-visible,
.site-footer .m320-furniture-banner.reveal.is-hovered,
.site-footer.m320-furniture-banner.reveal.is-hovered,
.site-footer .mobile-furniture-banner.reveal:hover,
.site-footer.mobile-furniture-banner.reveal:hover,
.site-footer .mobile-furniture-banner.reveal:focus-visible,
.site-footer.mobile-furniture-banner.reveal:focus-visible,
.site-footer .mobile-furniture-banner.reveal.is-hovered,
.site-footer.mobile-furniture-banner.reveal.is-hovered {
z-index: 8;
          box-shadow: 0 34px 95px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 255, 255, 0.04);
          transform: scale(var(--banner-hover-scale, 1.035));
}
}
@media (prefers-reduced-motion: reduce) {
.site-footer .reveal,
.site-footer.reveal,
.site-footer .reveal.is-visible,
.site-footer.reveal.is-visible {
opacity: 1;
          filter: none;
          transition: none;
}
}

/* The desktop positioning wrapper covers the stage; only footer content receives clicks. */
.site-footer--desktop { pointer-events: none; }
.site-footer--desktop > * { pointer-events: auto; }
