/* ============================================================
   index.css - index.php 전용 정적 스타일 (PHP 변수 없음)
   ============================================================ */

/* ───────── 기본 리셋 & 공통 ───────── */
body { max-width: 100%; overflow-x: hidden; }
body { background: var(--fv-bg); }

.fv-main .fv-inner { max-width: var(--wrap); margin: 0 auto; padding: 0 28px; }

/* unified section rhythm */
#fv-products .fv-section-head,
#fv-reviews .fv-section-head,
#fv-latest-package .fv-section-head,
#fv-install .fv-section-head {
    margin-bottom: 46px;
}
#fv-products .fv-section-title,
#fv-reviews .fv-section-title,
#fv-latest-package .fv-section-title,
#fv-install .fv-section-title {
    letter-spacing: -.035em;
    color: var(--fv-brand);
}
#fv-products .fv-section-desc,
#fv-reviews .fv-section-desc,
#fv-latest-package .fv-section-desc,
#fv-install .fv-section-desc {
    margin-top: 12px;
    line-height: 1.75;
    color: var(--txt-s);
}
#fv-about .fv-partner-title {
    letter-spacing: -.03em;
    color: var(--fv-brand);
}
#fv-about .fv-marquee-wrap {
    margin-top: 6px;
}

@media (max-width: 960px) { .fv-main .fv-inner { padding: 0 16px; } }

/* ───────── ① 히어로 이미지 슬라이더 ───────── */
/* ★ hero 관련 스타일은 index.hero.php로 이동됨 ★ */

/* ───────── ② 히어로 하단 바로가기 메뉴 ───────── */
#fv-index-menu {
    padding: 30px 0 38px;
    background: #ffffff;
    border-bottom: 1px solid rgba(0,91,172,.08);
}
.fv-index-menu-grid {
    display: grid;
    grid-template-columns: repeat(10, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
}
.fv-index-menu-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    min-width: 0;
    color: var(--txt);
    text-decoration: none;
}
.fv-index-menu-icon {
    width: 80px;
    height: 80px;
    border-radius: 18px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        linear-gradient(
            135deg,
            var(--fv-brand-light) 0%,
            var(--fv-bg) 100%
        );
    transition:
        transform .28s ease,
        box-shadow .28s ease,
        background .28s ease;
}
.fv-index-menu-icon i {
    display: block;
    color: var(--fv-brand);
    font-size: 34px;
    line-height: 1;
    transition:
        color .28s ease,
        transform .28s ease;
}
.fv-index-menu-item:hover .fv-index-menu-icon i {
    color: var(--fv-point);
    transform: scale(1.08);
}
.fv-index-menu-name {
    display: block;
    width: 100%;
    padding: 0 2px;
    overflow: hidden;
    color: var(--txt);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fv-index-menu-item:hover .fv-index-menu-icon {
    transform: translateY(-5px);
    background: var(--fv-brand-light);
    box-shadow: 0 12px 26px rgba(14, 69, 69, .12);
}
.fv-index-menu-item:hover .fv-index-menu-name {
    color: var(--fv-brand);
}

@media (max-width: 960px) {
    .fv-index-menu-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 22px 12px;
    }
    .fv-index-menu-icon {
        width: 72px;
        height: 72px;
    }
}

@media (max-width: 640px) {
    #fv-index-menu {
        padding: 20px 0 24px;
    }
    .fv-index-menu-grid {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 16px 6px;
    }
    .fv-index-menu-item {
        gap: 7px;
    }
    .fv-index-menu-icon {
        width: 65px;
        max-width: 100%;
        height: 65px;
        border-radius: 15px;
    }
    .fv-index-menu-name {
        font-size: 13px;
    }
}

/* ───────── ③ 파트너 마퀴 ───────── */
#fv-about {
    position: relative;
    padding: 78px 0 68px;
    overflow: hidden;
    background: #ffffff;
    border-top: 1px solid rgba(0,91,172,.06);
    border-bottom: 1px solid rgba(0,91,172,.08);
}
.fv-partner-head {
    margin-bottom: 38px;
    text-align: center;
}
.fv-partner-kicker {
    margin: 0 0 8px;
    color: var(--fv-brand-mid);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .15em;
    text-transform: uppercase;
}
.fv-partner-title {
    margin: 0;
    color: var(--fv-brand);
    font-size: clamp(22px, 3vw, 32px);
    font-weight: 800;
    line-height: 1.35;
    word-break: keep-all;
}
.fv-marquee-wrap {
    display: flex;
    flex-direction: column;
    gap: 22px;
    overflow: hidden;
}
.fv-marquee-row {
    width: 100%;
    overflow: hidden;
}
.fv-marquee-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: fv-partner-marquee-ltr var(--marquee-duration, 40s) linear infinite;
}
.fv-marquee-track.rtl {
    animation-name: fv-partner-marquee-rtl;
}
.fv-marquee-set {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    gap: 48px;
    padding-right: 48px;
}
.fv-client-card {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    line-height: 0;
}
.fv-client-card img {
    display: block;
    width: auto;
    height: auto;
    max-width: 190px;
    max-height: 60px;
    object-fit: contain;
}
@keyframes fv-partner-marquee-ltr {
    0%   { transform: translate3d(0,0,0); }
    100% { transform: translate3d(-50%,0,0); }
}
@keyframes fv-partner-marquee-rtl {
    0%   { transform: translate3d(-50%,0,0); }
    100% { transform: translate3d(0,0,0); }
}
@media (max-width: 640px) {
    #fv-about {
        padding: 56px 0 52px;
    }
    .fv-partner-head {
        margin-bottom: 28px;
    }
    .fv-marquee-set {
        gap: 16px;
        padding-right: 16px;
    }
    .fv-client-card img {
        max-width: 150px;
        max-height: 48px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .fv-marquee-track {
        animation-play-state: paused !important;
    }
}

/* ───────── ④ AI 맞춤 추천 섹션 ───────── */
.fv-ai-section {
    padding: 60px 0;
    background: #ffffff;
}

.fv-ai-box {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
    background: linear-gradient(135deg, var(--fv-brand-dark) 0%, var(--fv-brand) 100%);
    padding: 48px 40px;
    box-shadow: none;
}

.fv-ai-deco {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.fv-ai-deco-1 {
    right: -60px;
    top: -60px;
    width: 280px;
    height: 280px;
    background: rgba(58, 158, 158, 0.15);
    filter: blur(40px);
}
.fv-ai-deco-2 {
    left: -60px;
    bottom: -60px;
    width: 280px;
    height: 280px;
    background: rgba(93, 173, 226, 0.10);
    filter: blur(40px);
}

.fv-ai-content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.fv-ai-title {
    margin: 0 0 12px;
    color: #ffffff;
    font-size: clamp(24px, 3.2vw, 36px);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.02em;
}

.fv-ai-desc {
    max-width: 580px;
    margin: 0 0 28px;
    color: rgba(255, 255, 255, 0.8);
    font-size: clamp(15px, 1.2vw, 17px);
    font-weight: 300;
    line-height: 1.7;
}

.fv-ai-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 32px;
    border-radius: 999px;
    background: var(--fv-point);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(243, 156, 18, 0.3);
    cursor: pointer;
    border: none;
}

.fv-ai-btn:hover {
    background: var(--fv-point);
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 8px 32px rgba(243, 156, 18, 0.4);
    color: var(--fv-brand-dark);
}

.fv-ai-btn svg {
    transition: transform 0.3s ease;
}

.fv-ai-btn:hover svg {
    transform: translateX(4px);
}

@media (max-width: 768px) {
    .fv-ai-section {
        padding: 40px 0;
    }
    .fv-ai-box {
        padding: 32px 20px;
        border-radius: 18px;
    }
    .fv-ai-icon {
        width: 60px;
        height: 60px;
    }
    .fv-ai-icon svg {
        width: 28px;
        height: 28px;
    }
    .fv-ai-title {
        font-size: clamp(20px, 5vw, 26px);
    }
    .fv-ai-desc {
        font-size: 14px;
    }
    .fv-ai-desc-br {
        display: none;
    }
    .fv-ai-btn {
        padding: 12px 24px;
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    .fv-ai-box {
        padding: 24px 16px;
        border-radius: 14px;
    }
    .fv-ai-icon {
        width: 50px;
        height: 50px;
        margin-bottom: 14px;
    }
    .fv-ai-icon svg {
        width: 24px;
        height: 24px;
    }
    .fv-ai-title {
        font-size: 18px;
    }
    .fv-ai-desc {
        font-size: 13px;
        line-height: 1.6;
    }
    .fv-ai-btn {
        padding: 10px 18px;
        font-size: 13px;
        gap: 6px;
    }
    .fv-ai-btn svg {
        width: 16px;
        height: 16px;
    }
}

/* ───────── ★ 365 상시 서비스 안내 배너 ───────── */
#fv-365-banner {
    padding: 70px 0 80px;
    background: #ffffff;
    position: relative;
    z-index: 2;
    border-top: 1px solid rgba(0,91,172,.06);
    border-bottom: 1px solid rgba(0,91,172,.08);
}

.fv-365-box {
    position: relative;
    z-index: 1;
}

.fv-365-head {
    text-align: center;
    margin-bottom: 44px;
}

.fv-365-title {
    margin: 0;
    color: var(--fv-brand-dark);
    font-size: clamp(26px, 3.6vw, 38px);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.3;
}

.fv-365-title strong {
    color: var(--fv-brand);
    font-weight: 900;
}

.fv-365-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.fv-365-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 28px 20px 24px;
    border-radius: 16px;
    background: var(--fv-bg);
    border: 1px solid rgba(0,91,172,.08);
    transition: all 0.3s ease;
}

.fv-365-card:hover {
    transform: translateY(-6px);
    background: #ffffff;
    border-color: var(--fv-brand);
    box-shadow: 0 12px 40px rgba(0, 91, 172, 0.08);
}

.fv-365-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 16px;
    border-radius: 14px;
    background: var(--fv-brand-light);
    color: var(--fv-brand);
    font-size: 28px;
    transition: all 0.3s ease;
}

.fv-365-card:hover .fv-365-icon {
    background: var(--fv-brand);
    color: #fff;
    transform: scale(1.05);
}

.fv-365-card-title {
    margin: 0 0 10px;
    color: var(--fv-brand-dark);
    font-size: 17px;
    font-weight: 700;
    letter-spacing: -0.01em;
}

.fv-365-card-desc {
    margin: 0;
    color: var(--txt-s);
    font-size: 13.5px;
    line-height: 1.6;
    word-break: keep-all;
}

.fv-365-card-desc a {
    color: var(--fv-brand);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.fv-365-card-desc a:hover {
    color: var(--fv-point);
}

.fv-365-card-desc strong {
    color: var(--fv-point);
}

@media (max-width: 1024px) {
    .fv-365-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px;
    }
}

@media (max-width: 768px) {
    #fv-365-banner {
        padding: 40px 0 50px;
    }

    .fv-365-head {
        margin-bottom: 30px;
    }

    .fv-365-title {
        font-size: clamp(28px, 5vw, 32px);
        line-height: 1.4;
        word-break: keep-all;
    }

    .fv-365-title strong {
        display: block;
        color: var(--fv-brand);
        font-weight: 900;
        margin-top: 2px;
    }

    .fv-365-title .fv-365-title-prefix {
        display: block;
        color: var(--fv-brand-dark);
        font-weight: 700;
    }

    .fv-365-grid {
        gap: 12px;
    }

    .fv-365-card {
        padding: 20px 14px 18px;
    }

    .fv-365-icon {
        width: 52px;
        height: 52px;
        font-size: 22px;
        margin-bottom: 12px;
    }

    .fv-365-card-title {
        font-size: 15px;
    }

    .fv-365-card-desc {
        font-size: 12.5px;
    }
}

@media (max-width: 480px) {
    .fv-365-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .fv-365-card {
        padding: 16px 10px 14px;
        border-radius: 12px;
    }

    .fv-365-title {
        font-size: 28px;
    }

    .fv-365-icon {
        width: 44px;
        height: 44px;
        font-size: 18px;
        margin-bottom: 10px;
        border-radius: 10px;
    }

    .fv-365-card-title {
        font-size: 13px;
        margin-bottom: 6px;
    }

    .fv-365-card-desc {
        font-size: 11px;
        line-height: 1.5;
    }
}

/* ───────── ⑥ 설치 사례 (jj_review_lat 스킨) ───────── */
#fv-install {
    padding: 96px 0;
    background: #ffffff;
    border-top: 1px solid rgba(0,91,172,.06);
    border-bottom: 1px solid rgba(0,91,172,.08);
}

#fv-install .fv-inner {
    max-width: var(--wrap);
    margin: 0 auto;
    padding: 0 28px;
}

@media (max-width: 960px) {
    #fv-install {
        padding: 56px 0;
    }
    #fv-install .fv-inner {
        padding: 0 16px;
    }
}

/* ───────── ⑦ 최근 게시물 슬라이더 ───────── */
#fv-latest-package {
    padding: 100px 0;
    background: #ffffff;
    border-top: 1px solid rgba(0,91,172,.06);
    border-bottom: 1px solid rgba(0,91,172,.08);
}
@media (max-width: 960px) {
    #fv-latest-package { padding: 56px 0; }
}

/* ───────── ⑧ 최종 CTA (버튼 4개) ───────── */
#fv-cta-final {
    position: relative;
    overflow: hidden;
    padding: 118px 0;
    text-align: center;
    background: linear-gradient(135deg, var(--fv-brand-dark) 0%, var(--fv-brand) 58%, var(--fv-brand-mid) 100%);
}
#fv-cta-final::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 20% 25%, rgba(255,255,255,.07), transparent 30%),
        radial-gradient(circle at 80% 75%, rgba(243, 156, 18, .08), transparent 28%);
    pointer-events: none;
}
#fv-cta-final .fv-inner {
    position: relative;
    z-index: 1;
}
.fv-cta-labels {
    display: flex;
    gap: 10px;
    justify-content: center;
    margin-bottom: 24px;
}
.fv-cta-labels span {
    font-size: 12px;
    color: var(--fv-point);
    font-weight: 700;
    letter-spacing: 1px;
}
.fv-cta-final-title {
    font-size: clamp(26px,5vw,44px);
    font-weight: 900;
    color: #fff;
    line-height: 1.3;
    margin-bottom: 36px;
}

.fv-cta-final-title em {
    color: var(--fv-point);
    font-style: normal;
}
.fv-cta-final-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
}
.fv-cta-final-btns .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 34px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 1px;
    border: 1.5px solid rgba(255,255,255,.4);
    color: #fff;
    transition: all .25s;
    text-decoration: none;
    background: transparent;
}
.fv-cta-final-btns .btn:hover {
    background: var(--fv-point);
    color: var(--fv-brand-dark);
    border-color: var(--fv-point);
    transform: translateY(-2px);
}

/* reveal */
.reveal {
    opacity: 0;
    transform: translateY(26px);
    transition: opacity .6s ease, transform .6s ease;
    transition-delay: var(--delay, 0ms);
}
.reveal.is-in {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 960px) {
    #fv-about, #fv-install, #fv-latest-package, #fv-cta-final {
        padding: 56px 0;
    }
}

/* ===== OFFICEWITH HOME SECTIONS (index.php only) ===== */
/* Office With landing page, square-corner corporate language */
.ow-home,.ow-home *{box-sizing:border-box}.ow-home{--ow-navy:#002C5F;--ow-blue:#008FEC;color:#253549;background:#fff}.ow-home a{text-decoration:none}.ow-home button,.ow-home a,.ow-home article,.ow-home img,.ow-home div{border-radius:0!important}.ow-inner{max-width:1240px;margin:0 auto;padding:0 24px}.ow-section{padding:96px 0}.ow-section h2,.ow-trust h2,.ow-final-cta h2{font-weight:800;font-size:clamp(27px,3vw,43px);letter-spacing:-.035em;word-break:keep-all;line-height:1.32}.ow-section h2{color:var(--ow-navy);margin:12px 0 22px}.ow-eyebrow{font-weight:800;letter-spacing:.14em;color:var(--ow-blue);font-size:12px}.ow-intro{max-width:970px;line-height:1.85;font-size:16px;color:#536274;margin:0 auto 12px}.ow-intro-sub{margin-bottom:36px}.ow-hero{height:min(88vh,850px);min-height:580px;position:relative;overflow:hidden;background:#002C5F;margin-top:-70px;color:white}.ow-video-stage{position:absolute;inset:0;overflow:hidden;pointer-events:none}.ow-video{position:absolute;left:50%;top:50%;width:max(100%,177.78vh);height:max(100%,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none}.ow-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,25,60,var(--ow-video-overlay)),rgba(0,25,60,.16))}.ow-hero-content{position:relative;z-index:2;max-width:1240px;margin:auto;padding:115px 24px 40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;height:100%;pointer-events:none}.ow-hero-content>*{pointer-events:auto}.ow-hero-content h1{color:white;font-size:clamp(36px,5vw,66px);line-height:1.23;letter-spacing:-.04em;margin:18px 0 26px;word-break:keep-all}.ow-hero-content>p{max-width:760px;line-height:1.8;font-size:17px}.ow-hero-content .ow-eyebrow{color:#94D5FF}.ow-hero-categories{font-weight:700}.ow-button{display:inline-flex;gap:14px;align-items:center;justify-content:center;padding:17px 28px;background:var(--ow-blue);color:white!important;font-weight:700;margin-top:22px}.ow-button:hover{background:#006fb8}/* Scroll-driven horizontal showcase: only the event section is pinned. */
.ow-venue-section{position:relative;padding-top:82px!important;padding-bottom:0!important;background:#f6fafd;overflow:clip;text-align:center;--ow-venue-distance:0px;--ow-venue-header-offset:0px}
.ow-venue-intro{padding-bottom:38px}
.ow-venue-sticky{position:sticky;top:var(--ow-venue-header-offset);height:calc(100vh - var(--ow-venue-header-offset));min-height:540px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;background:#f6fafd}
.ow-venue-scroll-window{width:100%;overflow:visible}
.ow-venue-horizontal{display:flex;align-items:center;gap:28px;padding:0 max(24px,calc((100vw - min(67vw,860px))/2));width:max-content;will-change:transform;transform:translate3d(0,0,0)}
.ow-venue-panel{width:min(67vw,860px);flex:none;text-align:left;opacity:.5;filter:blur(3px);transform:scale(.91);transition:filter .22s linear,opacity .22s linear,transform .22s linear}
.ow-venue-panel.is-active{opacity:1;filter:none;transform:scale(1)}
.ow-venue-image{height:min(55vh,490px);min-height:290px;position:relative;background:#dce8f3;overflow:hidden}
.ow-venue-image img{height:100%;width:100%;object-fit:cover;display:block}
.ow-venue-placeholder{width:100%;height:100%;display:flex;gap:12px;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(135deg,#dbeafa,#a7cbe5);color:#45627f}
.ow-venue-placeholder i{font-size:40px}
.ow-venue-number{position:absolute;top:18px;left:22px;color:#fff;background:rgba(0,44,95,.65);padding:8px 12px;font-size:13px;font-weight:700}
.ow-venue-caption{padding:18px 0 5px}.ow-venue-caption h3{margin:0;color:#002c5f;font-size:clamp(19px,2vw,28px);font-weight:800;word-break:keep-all}
.ow-venue-progress{height:3px;background:#d9e8f4;margin:34px auto 0;width:min(67vw,860px)}
.ow-venue-progress span{display:block;height:100%;width:0;background:#008fec;transition:width .07s linear}
.ow-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:35px}.ow-post-card{min-width:0;border:1px solid #e1e9f1;background:#fff}.ow-post-image{aspect-ratio:4/3;background:#e7f0f8;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#728ca6}.ow-post-image i{font-size:38px}.ow-post-image span{font-size:11px;letter-spacing:.1em}.ow-post-copy{padding:20px 18px 24px}.ow-post-copy h3{font-size:19px;font-weight:750;color:var(--ow-navy);margin:0 0 8px}.ow-post-copy p{font-size:14px;color:#6b7b8b;margin:0}.ow-demo-note{font-size:12px;color:#8c98a4;margin-top:16px}.ow-text-link{display:table;margin:20px 0 0 auto;color:var(--ow-blue);font-weight:750}.ow-cases{background:#f6fafd}.ow-home #fv-about{padding:85px 0;background:white}.ow-home #fv-about .fv-partner-title{max-width:850px;margin:0 auto;text-align:center;word-break:keep-all}.ow-trust{padding:75px 0;text-align:center;background:var(--ow-navy);color:white}.ow-trust .ow-eyebrow{color:#81cbff}.ow-trust h2{color:white;margin:17px 0}.ow-trust p:last-child{color:#d9e9f7}.ow-reasons{text-align:center}.ow-reasons-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin-top:44px;background:#e0eaf2}.ow-reason{min-height:195px;background:#f2f7fb;padding:26px 14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px}.ow-reason:nth-child(4),.ow-reason:nth-child(7){background:var(--ow-navy);color:white}.ow-reason i{font-size:27px;color:var(--ow-blue)}.ow-reason:nth-child(4) i,.ow-reason:nth-child(7) i{color:#fff}.ow-reason h3{font-size:17px;line-height:1.65;font-weight:750;word-break:keep-all;margin:0}.ow-final-cta{padding:78px 0 98px;background:#002C5F;text-align:center;color:white}.ow-final-cta h2{color:white}.ow-final-cta p{color:#d9e9f7}.ow-final-cta .ow-button{margin-top:20px}
@media(max-width:900px){.ow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ow-reasons-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ow-section{padding:68px 0}}@media(max-width:600px){.ow-hero{min-height:580px;height:77vh}.ow-video{width:max(100%,177.78vh);height:max(100%,56.25vw)}.ow-hero-content{padding:110px 20px 40px}.ow-hero-content h1{font-size:clamp(30px,8vw,43px)}.ow-hero-content>p{font-size:14px}.ow-grid{grid-template-columns:1fr;gap:18px}.ow-reason{min-height:155px}.ow-reason h3{font-size:14px}.ow-inner{padding:0 18px}}

/* Responsive event showcase: smaller cards, native swipe when vertical pinning is unsuitable. */
@media(max-width:767px){.ow-venue-section{padding-top:60px!important;min-height:auto!important}.ow-venue-intro{padding-bottom:18px}.ow-venue-sticky{height:auto;min-height:0;position:relative;top:auto;padding:20px 0 26px}.ow-venue-scroll-window{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.ow-venue-scroll-window::-webkit-scrollbar{display:none}.ow-venue-horizontal{gap:16px;padding:0 8vw;transform:none!important}.ow-venue-panel{width:84vw;scroll-snap-align:center;opacity:1;filter:none;transform:none}.ow-venue-image{height:300px;min-height:0}.ow-venue-progress{margin-top:16px;width:84vw}}
@media(prefers-reduced-motion:reduce){.ow-venue-section{min-height:auto!important}.ow-venue-sticky{position:relative;height:auto;min-height:0;padding:24px 0}.ow-venue-scroll-window{overflow-x:auto;scroll-snap-type:x mandatory}.ow-venue-horizontal{transform:none!important;padding:0 6vw}.ow-venue-panel{width:min(75vw,660px);opacity:1;filter:none;transform:none;scroll-snap-align:center}.ow-venue-progress{display:none}}

/* OFFICEWITH: editable event captions and empty data state */
.ow-venue-caption .ow-venue-subtitle{margin:8px 0 0;font-size:clamp(14px,1.25vw,17px);line-height:1.65;color:#526577;word-break:keep-all}
.ow-venue-empty{min-height:0!important;padding-bottom:50px!important}
.ow-venue-empty .ow-venue-sticky{display:none}
