/* Standalone Front Row only. All desktop dimensions share the original
   1200px composition; phones and touch tablets get deliberate reflow. */
.front-row-page {
    --fr-gutter: clamp(12px, 2.2vw, 54px);
    --fr-top-gap: 20px;
    --fr-unit: calc((100vw - 2 * var(--fr-gutter)) / 1200);
    --fr-body: max(16px, calc(18 * var(--fr-unit)));
    --fr-small: max(14px, calc(14 * var(--fr-unit)));
    --fr-header: max(86px, calc(86 * var(--fr-unit)));
}
.front-row-page .main-box-inner:has(> .lux-split-hover) {
    width: calc(100% - 2 * var(--fr-gutter));
    max-width: none;
    margin: calc(var(--fr-top-gap) + var(--fr-header)) auto 24px;
}
.front-row-page .main-box-inner > section {
    width: 100%; max-width: none;
    margin: calc(30 * var(--fr-unit)) 0 0 !important;
    border-radius: clamp(10px, 0.833333vw, 20px);
}
.front-row-page .main-box-inner > .lux-split-hover:first-of-type {
    margin-top: 0 !important;
    /* This edge joins the square bottom of the header, not a separate card. */
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.front-row-page .header-inner {
    width: calc(100% - 2 * var(--fr-gutter)) !important;
    max-width: none !important;
    top: var(--fr-top-gap) !important;
    height: var(--fr-header) !important;
    padding: 0 calc(36 * var(--fr-unit)) !important;
}
.front-row-page .header-inner a { font-size: max(16px, calc(16 * var(--fr-unit))) !important; }
.front-row-page .header-inner :is(.nav-left, .nav-right) { gap: calc(28 * var(--fr-unit)) !important; }
.front-row-page .header-inner .brand img { height: max(40px, calc(40 * var(--fr-unit))) !important; width: auto !important; }
.front-row-page .luxe-mega { top: calc(var(--fr-top-gap) + var(--fr-header)); margin-top: 0; }
.front-row-page:has(.luxe-mega.show) .header-inner { border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; }
.front-row-page .luxe-mega.show .luxe-mega-inner { border-top-left-radius: 0 !important; border-top-right-radius: 0 !important; }
/* Keep the original visible top gap across desktop browser zoom, independently
   of the horizontal gutter. Touch layouts retain a fixed 20px gap. */
@media (min-width: 1101px) and (pointer: fine), (min-width: 1367px) {
    .front-row-page { --fr-top-gap: calc(20px * var(--tlw-zoom-inverse, 1)); }
}
.front-row-page .luxe-mega-inner { max-width: none; width: calc(100% - 2 * var(--fr-gutter)); padding: calc(60 * var(--fr-unit)) calc(36 * var(--fr-unit)) !important; }
.front-row-page .luxe-service-grid { height: auto; gap: calc(16 * var(--fr-unit)); }
.front-row-page .luxe-service-card { aspect-ratio: 3 / 4; }
.front-row-page .luxe-service-title { font-size: max(20px, calc(24 * var(--fr-unit))); }

.front-row-page .lux-split-inner { height: calc(600 * var(--fr-unit)); min-height: 480px; }
.front-row-page .lux-content { right: calc(80 * var(--fr-unit)); width: calc(500 * var(--fr-unit)); height: auto; top: 60%; }
.front-row-page .lux-title { font-size: max(52px, calc(82 * var(--fr-unit))); line-height: 1.1; }
.front-row-page .lux-para { font-size: var(--fr-small); margin-bottom: 0; }
.front-row-page .lux-split-inner:focus-within .lux-para { opacity: 1; transform: none; }
.front-row-page .lux-split-inner:focus-within .lux-right-overlay { background: #0f2a1d; }
.front-row-page .lux-content:focus-visible { outline: 2px solid #f5f5ee; outline-offset: 8px; }
.front-row-page .lux-editorial-block { padding: calc(40 * var(--fr-unit)) 0; }
.front-row-page .lux-editorial-inner { padding: calc(40 * var(--fr-unit)) calc(100 * var(--fr-unit)) calc(80 * var(--fr-unit)); }
.front-row-page .lux-editorial-content { max-width: calc(880 * var(--fr-unit)); min-width: 0; }
.front-row-page .lux-editorial-title { font-size: calc(72 * var(--fr-unit)) !important; line-height: 1.08; letter-spacing: -0.041667em; margin-bottom: calc(40 * var(--fr-unit)); }
.front-row-page .lux-editorial-text { max-width: calc(700 * var(--fr-unit)); font-size: var(--fr-body) !important; line-height: 1.7 !important; }
.front-row-page .lux-editorial-inner > .row { width: 100%; margin: 0; }
.front-row-page .col-md-4.tfrimages { padding-inline: calc(6 * var(--fr-unit)); }
.front-row-page .lux-img-wrap { height: calc(440 * var(--fr-unit)); border-radius: calc(25 * var(--fr-unit)); }
.front-row-page :is(.lux-editorial-divider, .lux-editorial-divider-5) { width: 1px; margin-left: 0; z-index: 1; }
.front-row-page .lux-editorial-divider { height: calc(483 * var(--fr-unit)); }
.front-row-page .lux-editorial-divider-5 { height: calc(529 * var(--fr-unit)); }
.front-row-page .lux-editorial-divider-2 { height: 1px; margin-left: 0; left: 0; bottom: calc(50 * var(--fr-unit)); }

.front-row-page .unified-front-section { padding: calc(50 * var(--fr-unit)); }
.front-row-page .unified-front-box { padding-block: calc(60 * var(--fr-unit)); }
.front-row-page .marquee-track span { font-size: max(32px, calc(42 * var(--fr-unit))); letter-spacing: -0.047619em; }
.front-row-page .front-row-text { max-width: calc(600 * var(--fr-unit)); padding-inline: calc(24 * var(--fr-unit)); }
.front-row-page .front-row-text > span { font-size: max(16px, calc(16 * var(--fr-unit))); line-height: 1.65; }
.front-row-page .dir-btn { font-size: max(13px, calc(13 * var(--fr-unit))); min-height: 44px; }
.front-row-page .front-row-text .dir-btn { margin-top: calc(40 * var(--fr-unit)) !important; padding: calc(6 * var(--fr-unit)) calc(22 * var(--fr-unit)) !important; }
.front-row-page .faq-box { max-width: none; padding: calc(56 * var(--fr-unit)); }
.front-row-page .faq-title { font-size: max(32px, calc(42 * var(--fr-unit))); }
.front-row-page .faq-subtitle { font-size: max(16px, calc(16 * var(--fr-unit))); margin-bottom: calc(32 * var(--fr-unit)); }
.front-row-page .faq-question { font-size: var(--fr-small); padding-block: calc(18 * var(--fr-unit)); gap: 20px; min-height: 48px; }
.front-row-page .faq-answer { font-size: var(--fr-small); }

/* Dark footer, same original column proportions as the shared footer. */
.front-row-page .unified-footer-box { width: 100%; max-width: none; padding: calc(50 * var(--fr-unit)) calc(48 * var(--fr-unit)) 1px !important; }
.front-row-page .footer-main { max-width: none !important; grid-template-columns: minmax(0,1fr) calc(420 * var(--fr-unit)); gap: calc(48 * var(--fr-unit)); }
.front-row-page .footer-main::after { top: calc(-50 * var(--fr-unit)); bottom: calc(-6 * var(--fr-unit)); left: calc(100% - 449 * var(--fr-unit)); height: auto; margin-top: 0; }
.front-row-page .footer-columns { grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(28 * var(--fr-unit)) !important; }
.front-row-page .footer-col { min-width: 0; overflow-wrap: break-word; }
.front-row-page .footer-col :is(h5,li) { font-size: max(16px, calc(16 * var(--fr-unit))); }
.front-row-page .footer-col ul li.footi { font-size: max(13px, calc(13 * var(--fr-unit))) !important; line-height: 1.55 !important; }
.front-row-page .footer-brand.desk-only { display: flex !important; padding: calc(18 * var(--fr-unit)) 0 0 calc(48 * var(--fr-unit)) !important; gap: calc(12 * var(--fr-unit)); }
.front-row-page .footer-brand p { max-width: calc(320 * var(--fr-unit)); font-size: var(--fr-small); margin-bottom: calc(16 * var(--fr-unit)); }
.front-row-page .connect-right form { gap: calc(12 * var(--fr-unit)); }
.front-row-page .connect-right input { min-width: 0; min-height: 44px; font-size: max(16px, calc(14 * var(--fr-unit))); padding: calc(10 * var(--fr-unit)) calc(12 * var(--fr-unit)); }
.front-row-page .connect-right button { font-size: max(13px, calc(13 * var(--fr-unit))); margin-top: 0 !important; min-height: 44px; max-width: 100%; padding: calc(6 * var(--fr-unit)) calc(22 * var(--fr-unit)) !important; }
.front-row-page img.footerllogo { width: 112%; margin: 0 0 0 calc(-70 * var(--fr-unit)); height: auto; }
.front-row-page .footer-separator { width: calc(100% + 96 * var(--fr-unit)); margin: calc(6 * var(--fr-unit)) 0 calc(16 * var(--fr-unit)) calc(-48 * var(--fr-unit)); }
.front-row-page .footer-tagline { font-size: max(14px, calc(15 * var(--fr-unit))); padding-block: calc(15 * var(--fr-unit)); }
.front-row-page .section-divider { width: 100%; margin-left: 0; }

@media (max-width: 1100px), (max-width: 1366px) and (pointer: coarse) {
    .front-row-page { --fr-header: 86px; --fr-body: 17px; --fr-small: 16px; }
    .front-row-page .header-inner :is(.nav-left,.nav-right) { display: none !important; }
    .front-row-page .header-inner .brand { position: absolute !important; left: 50% !important; transform: translateX(-50%) !important; }
    .front-row-page .header-inner .brand img { width: 48px !important; height: auto !important; margin: 0 !important; }
    .front-row-page .mobile-toggle { display: block !important; position: absolute !important; left: 16px !important; top: 50% !important; transform: translateY(-50%) !important; width: 44px; height: 44px; }
    .front-row-page .mobile-toggle::before { top: 12px; }
    .front-row-page .mobile-toggle span { top: 20px; }
    .front-row-page .mobile-toggle::after { top: 28px; }
    .front-row-page .mobile-toggle::before, .front-row-page .mobile-toggle::after, .front-row-page .mobile-toggle span { left: 9px; }
    .front-row-page .mobile-menu { display: block !important; max-width: none !important; inset: var(--fr-top-gap) 12px 12px !important; margin: 0 !important; overflow-y: auto; max-height: calc(100dvh - var(--fr-top-gap) - 12px); }
    .front-row-page .mobile-menu.active { margin: 0 !important; }
    .front-row-page .lux-split-hover.desk-only { display: block !important; }
    .front-row-page .lux-split-inner { min-height: 480px; }
    .front-row-page .lux-content { width: 43%; right: 4%; top: 50%; }
    .front-row-page .lux-title { font-size: clamp(42px,6vw,68px); }
    .front-row-page .lux-para { opacity: 1; transform: none; margin: 20px 0 0; font-size: 16px !important; }
    .front-row-page .lux-right-overlay { background: #0f2a1d; }
    .front-row-page .lllux-carousel-section { display: none !important; }
    .front-row-page .lux-editorial-inner { padding: 48px 40px 56px; }
    .front-row-page .lux-editorial-title { font-size: clamp(40px,5.2vw,60px) !important; margin-bottom: 24px; }
    .front-row-page .lux-editorial-content { max-width: 100%; }
    .front-row-page .lux-editorial-text { max-width: 700px; }
    .front-row-page [class^="lux-editorial-divider"] { display: none; }
    .front-row-page .tfrimages.mobile-image-tfr { margin-top: 0; }
    .front-row-page .lux-img-wrap { height: auto; aspect-ratio: 3/4; }
    .front-row-page .unified-front-section { padding: 28px; }
    .front-row-page .front-row-text { max-width: 620px; }
    .front-row-page .faq-box { padding: 40px; }
    .front-row-page .unified-footer-box { padding: 40px 28px 1px !important; }
    .front-row-page .footer-main { grid-template-columns: 1fr; gap: 32px; }
    .front-row-page .footer-main::after { display: none; }
    .front-row-page .unified-footer-section .desk-only { display: none !important; }
    .front-row-page .unified-footer-section .mob-only { display: block !important; }
    .front-row-page .footer-brand { padding: 0 !important; border: 0; }
    .front-row-page .footer-brand > div { max-width: 600px; margin: auto; }
    .front-row-page .footer-brand p { max-width: 100%; }
    .front-row-page img.footerllogo { width: min(100%,460px); display: block; margin: 0 auto; }
    .front-row-page .footer-separator { width: calc(100% + 56px); margin-left: -28px; }
}
@media (min-width: 768px) {
    .front-row-page .lux-editorial-inner .tfrimages.desk-only { display: block !important; }
    .front-row-page .lux-editorial-inner.mob-only { display: none !important; }
}
@media (max-width: 767px) {
    .front-row-page { --fr-gutter: 12px; --fr-header: 78px; --fr-body: 16px; }
    .front-row-page .header-inner .brand img { width: 40px !important; }
    .front-row-page .lux-split-inner { min-height: 0; height: auto; display: block; background: #0f2a1d; }
    .front-row-page :is(.lux-left,.lux-right) { display: none; }
    .front-row-page .lux-content { position: static; width: 100%; height: auto; transform: none; padding: 40px 24px; }
    .front-row-page .lux-title { font-size: clamp(40px,10vw,60px); }
    .front-row-page .lllux-carousel-section { display: block !important; }
    .front-row-page .lllux-carousel { height: auto; aspect-ratio: 3/4; max-height: 600px; }
    .front-row-page .lllux-dots { bottom: 16px; gap: 0; }
    .front-row-page .lllux-dot { width: 44px; height: 44px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; }
    .front-row-page .lllux-dot::after { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #f5f5ee80; }
    .front-row-page .lllux-dot.active::after { background: #f5f5ee; }
    .front-row-page .lux-editorial-inner { padding: 32px 24px; }
    .front-row-page .lux-editorial-title { font-size: clamp(32px,8.5vw,42px) !important; line-height: 1.15; letter-spacing: -0.025em; }
    .front-row-page .lux-editorial-inner .col-md-4 { padding: 0; margin-bottom: 0; }
    .front-row-page .unified-front-section { padding: 16px; }
    .front-row-page .unified-front-box { padding: 36px 0; }
    .front-row-page .front-row-text { max-width: none; padding: 0 16px; }
    .front-row-page .front-row-text .dir-btn { margin-top: 28px !important; }
    .front-row-page .faq-box { padding: 32px 24px; }
    .front-row-page .faq-question { padding: 18px 0; gap: 12px; }
    .front-row-page .footer-columns { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px !important; }
    .front-row-page .footer-col:last-child { grid-column: 1/-1; }
}
@media (prefers-reduced-motion: reduce) {
    .front-row-page .marquee-track { animation-play-state: paused; }
    .front-row-page .zoom-img { transform: none !important; }
}
