/* ============================================
   Variables & Reset
   ============================================ */
:root {
    --gold: #F8B500;
    --gold-light: #F7DC6F;
    --gold-glow: rgba(248, 181, 0, 0.12);
    --dark: #2C1B18;
    --dark-soft: #3D2B27;
    --cream: #FFF9E6;
    --cream-dark: #F5EDD6;
    --white: #FFFFFF;
    --bg-light: #FAF8F5;
    --gray-mid: #9E948A;
    --font: 'Noto Serif KR', serif;
    --r-sm: 10px;
    --r-md: 16px;
    --r-lg: 24px;
    --r-xl: 32px;
    --shadow-s: 0 2px 12px rgba(44,27,24,0.06);
    --shadow-m: 0 8px 32px rgba(44,27,24,0.08);
    --shadow-l: 0 16px 48px rgba(44,27,24,0.12);
    --shadow-gold: 0 8px 28px rgba(248,181,0,0.3);
    --ease: cubic-bezier(0.4,0,0.2,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font);color:var(--dark);background:var(--white);line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;padding-bottom:100px}
img{display:block;max-width:100%;height:auto}
.container{max-width:1160px;margin:0 auto;padding:0 28px}

.text-gold{color:var(--gold)}
.text-gold-light{color:var(--gold-light)}
.left-align{text-align:left}

/* ============================================
   HERO
   ============================================ */
.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--dark);
    overflow:hidden;
    padding:60px 24px;
}

.hero-bg-glow{
    position:absolute;inset:0;
    background:
        radial-gradient(ellipse at 20% 40%,rgba(248,181,0,0.10) 0%,transparent 55%),
        radial-gradient(ellipse at 80% 60%,rgba(247,220,111,0.07) 0%,transparent 50%),
        radial-gradient(ellipse at 50% 90%,rgba(248,181,0,0.05) 0%,transparent 40%);
    animation:glowShift 10s ease-in-out infinite alternate;
}
@keyframes glowShift{
    0%{opacity:.8;transform:scale(1)}
    100%{opacity:1;transform:scale(1.05)}
}

.hero-inner{
    position:relative;z-index:2;
    display:grid;
    grid-template-columns:1fr 1.1fr 1fr;
    gap:32px;
    align-items:center;
    max-width:1200px;
    width:100%;
}

/* Hero images */
.hero-images{display:flex;flex-direction:column;gap:20px;min-width:0}
.hero-images--left{align-items:flex-end}
.hero-images--right{align-items:flex-start}

.hero-img-wrapper{
    position:relative;
    border-radius:var(--r-lg);
    overflow:hidden;
    box-shadow:0 12px 40px rgba(0,0,0,0.3);
    border:1px solid rgba(255,255,255,0.08);
    background:var(--dark-soft);
}
.hero-img-wrapper img{
    width:100%;height:auto;display:block;
    aspect-ratio:4/3;object-fit:cover;
    transition:transform 0.5s var(--ease);
}
.hero-img-wrapper:hover img{transform:scale(1.04)}

.hero-img--float-1{width:85%;animation:floatUp 6s ease-in-out infinite}
.hero-img--float-2{width:70%;animation:floatDown 7s ease-in-out 0.5s infinite}
.hero-img--float-3{width:70%;animation:floatDown 6.5s ease-in-out 0.3s infinite}
.hero-img--float-4{width:85%;animation:floatUp 7s ease-in-out infinite}

@keyframes floatUp{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-10px)}
}
@keyframes floatDown{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(8px)}
}

.hero-img-badge{
    position:absolute;bottom:12px;left:12px;
    background:rgba(44,27,24,0.85);
    backdrop-filter:blur(10px);
    color:var(--gold);
    padding:6px 14px;
    border-radius:50px;
    font-size:12px;font-weight:600;
    display:flex;align-items:center;gap:6px;
    border:1px solid rgba(248,181,0,0.25);
}
.hero-img-badge--br{left:auto;right:12px}

/* Hero center */
.hero-center{
    text-align:center;
    display:flex;flex-direction:column;
    align-items:center;gap:0;
}

.hero-badge{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(248,181,0,0.12);
    border:1px solid rgba(248,181,0,0.25);
    color:var(--gold);
    padding:8px 20px;border-radius:50px;
    font-size:13px;font-weight:500;
    letter-spacing:0.5px;margin-bottom:28px;
    backdrop-filter:blur(12px);
}

.hero-title{
    font-size:clamp(32px,5.5vw,60px);
    font-weight:900;color:var(--white);
    line-height:1.2;margin-bottom:16px;
    letter-spacing:-0.5px;
}

.hero-subtitle{
    font-size:clamp(14px,2vw,17px);
    color:rgba(255,255,255,0.6);
    margin-bottom:32px;line-height:1.8;
}

.btn-hero{
    display:inline-flex;align-items:center;gap:10px;
    background:linear-gradient(135deg,var(--gold) 0%,#E5A800 100%);
    color:var(--dark);font-family:var(--font);
    font-size:16px;font-weight:700;
    padding:16px 32px;border:none;border-radius:60px;
    cursor:pointer;letter-spacing:0.3px;
    box-shadow:var(--shadow-gold);
    transition:all 0.3s var(--ease);
    margin-bottom:36px;
}
.btn-hero:hover{transform:translateY(-3px);box-shadow:0 12px 36px rgba(248,181,0,0.45)}
.btn-hero:active{transform:translateY(0)}
.btn-kakao-icon{width:22px;height:22px;object-fit:contain}
.btn-hero i{font-size:14px;transition:transform 0.3s var(--ease)}
.btn-hero:hover i{transform:translateX(4px)}

.hero-stats{
    display:flex;align-items:center;gap:24px;
    background:rgba(255,255,255,0.05);
    border:1px solid rgba(255,255,255,0.08);
    border-radius:var(--r-lg);
    padding:18px 32px;
    backdrop-filter:blur(16px);
}
.stat{display:flex;flex-direction:column;align-items:center;gap:2px}
.stat-num{font-size:22px;font-weight:700;color:var(--gold)}
.stat-lbl{font-size:12px;color:rgba(255,255,255,0.5)}
.stat-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,0.2)}

.hero-scroll{
    position:absolute;bottom:32px;left:50%;transform:translateX(-50%);z-index:3;
    display:flex;flex-direction:column;align-items:center;gap:6px;
    color:rgba(255,255,255,0.3);font-size:11px;letter-spacing:2px;
    animation:scrollBounce 2s ease-in-out infinite;
}
@keyframes scrollBounce{
    0%,100%{transform:translateX(-50%) translateY(0)}
    50%{transform:translateX(-50%) translateY(6px)}
}

/* ============================================
   MARQUEE BAND
   ============================================ */
.marquee-band{
    background:var(--gold);
    padding:14px 0;
    overflow:hidden;
    white-space:nowrap;
}
.marquee-track{
    display:inline-flex;gap:48px;
    animation:marqueeScroll 25s linear infinite;
}
.marquee-track span{
    font-size:14px;font-weight:600;color:var(--dark);
    display:inline-flex;align-items:center;gap:8px;
    flex-shrink:0;
}
.marquee-track span i{font-size:12px}
@keyframes marqueeScroll{
    0%{transform:translateX(0)}
    100%{transform:translateX(-50%)}
}

/* ============================================
   SPLIT SECTIONS (图文交错)
   ============================================ */
.split-section{padding:100px 0;background:var(--white)}
.split-section--alt{background:var(--bg-light)}

.split-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:64px;
    align-items:center;
}
.split-row--reverse{direction:rtl}
.split-row--reverse > *{direction:ltr}

/* Media frame */
.media-frame{
    position:relative;
    border-radius:var(--r-xl);
    overflow:hidden;
}
.media-frame img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:var(--r-xl);
    transition:transform 0.5s var(--ease);
}
.media-frame:hover img{transform:scale(1.03)}

.media-accent{
    position:absolute;
    bottom:-16px;right:-16px;
    width:120px;height:120px;
    border-radius:var(--r-lg);
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    opacity:0.25;
    z-index:-1;
}
.media-accent--flip{right:auto;left:-16px}

/* Split text */
.split-text{display:flex;flex-direction:column;gap:0}

.section-tag{
    display:inline-flex;align-items:center;gap:8px;
    font-size:12px;font-weight:600;color:var(--gold);
    letter-spacing:2px;text-transform:uppercase;
    background:var(--gold-glow);
    padding:6px 16px;border-radius:50px;
    margin-bottom:16px;width:fit-content;
}
.section-tag--light{
    background:rgba(255,255,255,0.12);
    color:var(--gold-light);
}

.section-title{
    font-size:clamp(26px,4vw,38px);
    font-weight:700;color:var(--dark);
    line-height:1.35;margin-bottom:16px;
}

.section-desc{
    font-size:15px;color:var(--gray-mid);
    line-height:1.8;margin-bottom:28px;
}

.split-features{display:flex;flex-direction:column;gap:16px}
.sf-item{
    display:flex;align-items:flex-start;gap:16px;
    padding:16px 20px;
    background:var(--bg-light);
    border-radius:var(--r-md);
    border:1px solid transparent;
    transition:all 0.3s var(--ease);
}
.split-section--alt .sf-item{background:var(--white)}
.sf-item:hover{border-color:rgba(248,181,0,0.2);box-shadow:var(--shadow-s)}
.sf-icon{
    width:44px;height:44px;min-width:44px;
    border-radius:var(--r-sm);
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    display:flex;align-items:center;justify-content:center;
    font-size:18px;color:var(--dark);
}
.sf-item strong{font-size:15px;display:block;margin-bottom:2px;color:var(--dark)}
.sf-item p{font-size:13px;color:var(--gray-mid);margin:0}

.split-highlight-box{
    display:flex;align-items:center;gap:16px;
    background:linear-gradient(135deg,rgba(248,181,0,0.08),rgba(247,220,111,0.08));
    border:1px solid rgba(248,181,0,0.2);
    border-radius:var(--r-md);
    padding:20px 24px;
}
.split-highlight-box > i{font-size:28px;color:var(--gold)}
.split-highlight-box strong{font-size:15px;display:block;margin-bottom:2px;color:var(--dark)}
.split-highlight-box p{font-size:13px;color:var(--gray-mid);margin:0}

/* ============================================
   BANNER SECTION (全幅)
   ============================================ */
.banner-section{
    position:relative;
    padding:100px 0;
    overflow:hidden;
    background:var(--dark);
}
.banner-bg{
    position:absolute;inset:0;
    background-size:cover;background-position:center;
    opacity:0.15;
}
.banner-overlay{
    position:absolute;inset:0;
    background:linear-gradient(90deg,var(--dark) 40%,transparent 100%);
}
.banner-content{
    position:relative;z-index:2;
    display:grid;
    grid-template-columns:1.2fr 1fr;
    gap:48px;align-items:center;
}
.banner-text h2{
    font-size:clamp(26px,4vw,38px);
    font-weight:700;color:var(--white);
    line-height:1.35;margin-bottom:16px;
}
.banner-text p{
    font-size:15px;color:rgba(255,255,255,0.55);
    line-height:1.8;margin-bottom:28px;
}
.banner-features{display:flex;flex-wrap:wrap;gap:12px}
.bf-item{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(255,255,255,0.06);
    border:1px solid rgba(255,255,255,0.1);
    padding:8px 16px;border-radius:50px;
    font-size:13px;color:rgba(255,255,255,0.7);font-weight:500;
}
.bf-item i{color:var(--gold);font-size:13px}

.banner-image{
    border-radius:var(--r-xl);
    overflow:hidden;
    box-shadow:0 20px 60px rgba(0,0,0,0.3);
    border:1px solid rgba(255,255,255,0.06);
}
.banner-image img{
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
}

/* ============================================
   HOW SECTION (步骤)
   ============================================ */
.how-section{padding:100px 0;background:var(--white)}
.section-header{text-align:center;margin-bottom:56px}

.steps-row{
    display:flex;align-items:stretch;justify-content:center;gap:0;
}
.step-card{
    flex:1;max-width:280px;
    text-align:center;
    background:var(--bg-light);
    border-radius:var(--r-xl);
    padding:40px 28px 36px;
    position:relative;
    border:1px solid transparent;
    transition:all 0.35s var(--ease);
}
.step-card:hover{
    border-color:rgba(248,181,0,0.25);
    box-shadow:var(--shadow-m);
    transform:translateY(-6px);
}
.step-num{
    position:absolute;top:16px;right:20px;
    font-size:42px;font-weight:900;
    color:var(--gold-light);opacity:0.15;
    line-height:1;
}
.step-icon{
    width:64px;height:64px;margin:0 auto 20px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--gold),var(--gold-light));
    display:flex;align-items:center;justify-content:center;
    font-size:24px;color:var(--dark);
    box-shadow:var(--shadow-gold);
}
.step-card h4{font-size:18px;font-weight:700;margin-bottom:8px;color:var(--dark)}
.step-card p{font-size:14px;color:var(--gray-mid);line-height:1.7}

.step-arrow{
    display:flex;align-items:center;
    padding:0 12px;
    color:var(--gold-light);font-size:20px;opacity:0.4;
}

/* ============================================
   TESTIMONIALS
   ============================================ */
.testimonial-section{padding:100px 0;background:var(--bg-light)}
.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}
.testimonial-card{
    background:var(--white);
    border-radius:var(--r-xl);
    padding:32px 28px;
    border:1px solid transparent;
    transition:all 0.3s var(--ease);
    display:flex;flex-direction:column;gap:16px;
}
.testimonial-card:hover{
    border-color:rgba(248,181,0,0.2);
    box-shadow:var(--shadow-m);
    transform:translateY(-4px);
}
.tc-top{display:flex;align-items:center;gap:14px}
.tc-avatar-initial{
    width:48px;height:48px;min-width:48px;
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:20px;font-weight:700;
    color:var(--white);
    letter-spacing:0;
    box-shadow:0 4px 12px rgba(0,0,0,0.15);
}
.tc-top strong{font-size:15px;display:block;color:var(--dark)}
.tc-top span{font-size:12px;color:var(--gray-mid)}
.testimonial-card > p{
    font-size:14px;color:var(--dark-soft);
    line-height:1.8;flex:1;
    font-style:italic;
}
.tc-stars{display:flex;gap:3px}
.tc-stars i{font-size:14px;color:var(--gold)}

/* ============================================
   CTA BANNER (内嵌横幅)
   ============================================ */
.cta-banner-section{padding:60px 0;background:var(--white)}
.cta-banner{
    display:flex;align-items:center;justify-content:space-between;gap:32px;
    background:var(--dark);
    border-radius:var(--r-xl);
    padding:48px 48px;
    position:relative;overflow:hidden;
}
.cta-banner::before{
    content:'';position:absolute;
    top:-60%;right:-10%;width:400px;height:400px;
    background:radial-gradient(circle,rgba(248,181,0,0.12),transparent 60%);
}
.cta-banner-text{position:relative;z-index:2}
.cta-banner-text h2{
    font-size:clamp(22px,3vw,30px);
    font-weight:700;color:var(--white);
    line-height:1.35;margin-bottom:8px;
}
.cta-banner-text p{font-size:15px;color:rgba(255,255,255,0.5);margin:0}
.btn-cta-banner{
    position:relative;z-index:2;
    display:inline-flex;align-items:center;gap:10px;
    background:linear-gradient(135deg,var(--gold),#E5A800);
    color:var(--dark);font-family:var(--font);
    font-size:15px;font-weight:700;
    padding:14px 28px;border:none;border-radius:60px;
    cursor:pointer;white-space:nowrap;
    box-shadow:var(--shadow-gold);
    transition:all 0.3s var(--ease);
}
.btn-cta-banner:hover{transform:translateY(-2px);box-shadow:0 10px 36px rgba(248,181,0,0.45)}
.btn-cta-banner .btn-kakao-icon{width:20px;height:20px;object-fit:contain}
.btn-cta-banner i{font-size:13px;transition:transform 0.3s var(--ease)}
.btn-cta-banner:hover i{transform:translateX(4px)}

/* ============================================
   FAQ
   ============================================ */
.faq-section{padding:100px 0;background:var(--bg-light)}

.faq-layout{
    display:grid;
    grid-template-columns:0.8fr 1.2fr;
    gap:56px;
    align-items:start;
}
.faq-left{position:sticky;top:80px}
.faq-illust{
    width:80%;max-width:260px;
    margin-top:28px;
    border-radius:var(--r-lg);
    opacity:0.9;
}

.faq-right{display:flex;flex-direction:column;gap:12px}

.faq-item{
    background:var(--white);
    border-radius:var(--r-md);
    overflow:hidden;
    border:1px solid transparent;
    transition:all 0.3s var(--ease);
}
.faq-item.active{border-color:rgba(248,181,0,0.3);box-shadow:var(--shadow-s)}

.faq-question{
    display:flex;justify-content:space-between;align-items:center;
    padding:20px 24px;cursor:pointer;
    transition:background 0.3s var(--ease);
    user-select:none;
}
.faq-question:hover{background:var(--cream)}
.faq-question span{
    font-size:15px;font-weight:600;color:var(--dark);
    display:flex;align-items:center;gap:12px;
}
.faq-question span i{color:var(--gold);font-size:10px}
.faq-arrow{color:var(--gray-mid);font-size:14px;transition:transform 0.3s var(--ease)}
.faq-item.active .faq-arrow{transform:rotate(180deg);color:var(--gold)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease)}
.faq-answer p{padding:0 24px 20px 46px;font-size:14px;color:var(--gray-mid);line-height:1.8}

/* ============================================
   FOOTER
   ============================================ */
.footer{
    background:var(--dark);
    padding:48px 0 32px;
    border-top:1px solid rgba(248,181,0,0.12);
}
.footer-top{text-align:center;margin-bottom:28px}
.footer-brand h3{font-size:18px;font-weight:700;color:var(--gold);margin-bottom:6px}
.footer-brand p{font-size:14px;color:rgba(255,255,255,0.35)}
.footer-bottom{text-align:center}
.footer-links{
    display:flex;justify-content:center;gap:24px;
    margin-bottom:16px;flex-wrap:wrap;
}
.footer-links a{
    font-size:13px;color:rgba(255,255,255,0.45);
    text-decoration:none;transition:color 0.3s;
    display:inline-flex;align-items:center;gap:6px;
}
.footer-links a:hover{color:var(--gold)}
.footer-copy{font-size:12px;color:rgba(255,255,255,0.2)}

/* ============================================
   FIXED CTA
   ============================================ */
.fixed-cta{
    position:fixed;bottom:0;left:0;right:0;z-index:999;
    display:flex;justify-content:center;
    padding:16px 24px;
    background:linear-gradient(0deg,rgba(44,27,24,0.95) 50%,transparent 100%);
    pointer-events:none;
}
.cta-button{
    pointer-events:all;
    display:inline-flex;align-items:center;gap:10px;
    background:linear-gradient(135deg,var(--gold),#E5A800);
    color:var(--dark);font-family:var(--font);
    font-size:16px;font-weight:700;
    padding:16px 36px;border:none;border-radius:60px;
    cursor:pointer;
    box-shadow:0 6px 24px rgba(248,181,0,0.4);
    letter-spacing:0.5px;white-space:nowrap;
    max-width:400px;width:100%;justify-content:center;
    animation:ctaBounce 2.4s ease-in-out infinite;
}
.cta-button:hover{
    animation-play-state:paused;
    transform:translateY(-3px) scale(1.03);
    box-shadow:0 12px 40px rgba(248,181,0,0.55);
}
.cta-button:active{transform:translateY(0) scale(1);animation-play-state:paused}

@keyframes ctaBounce{
    0%,100%{transform:translateY(0);box-shadow:0 6px 24px rgba(248,181,0,0.4)}
    15%{transform:translateY(-8px);box-shadow:0 14px 36px rgba(248,181,0,0.55)}
    30%{transform:translateY(0);box-shadow:0 6px 24px rgba(248,181,0,0.4)}
    42%{transform:translateY(-4px);box-shadow:0 10px 28px rgba(248,181,0,0.48)}
    55%{transform:translateY(0);box-shadow:0 6px 24px rgba(248,181,0,0.4)}
}
.cta-kakao-icon{width:22px;height:22px;object-fit:contain}
.cta-button i{font-size:14px;transition:transform 0.3s var(--ease)}
.cta-button:hover i{transform:translateX(4px)}

/* ============================================
   MODALS
   ============================================ */
.modal-overlay{
    position:fixed;inset:0;
    background:rgba(44,27,24,0.7);
    backdrop-filter:blur(8px);
    z-index:10000;
    display:none;align-items:center;justify-content:center;
    padding:24px;opacity:0;transition:opacity 0.3s ease;
}
.modal-overlay.active{display:flex;opacity:1}

.modal-container{
    background:var(--white);
    border-radius:var(--r-lg);
    max-width:600px;width:100%;max-height:80vh;
    overflow:hidden;
    display:flex;flex-direction:column;
    box-shadow:var(--shadow-l);
    animation:modalUp 0.3s ease;
}
@keyframes modalUp{
    from{opacity:0;transform:translateY(20px)}
    to{opacity:1;transform:translateY(0)}
}
.modal-header{
    display:flex;justify-content:space-between;align-items:center;
    padding:24px 28px;border-bottom:1px solid var(--cream-dark);
}
.modal-header h3{font-size:18px;font-weight:700;color:var(--dark);display:flex;align-items:center;gap:10px}
.modal-header h3 i{color:var(--gold)}
.modal-close{
    width:36px;height:36px;border:none;
    background:var(--bg-light);border-radius:50%;
    cursor:pointer;display:flex;align-items:center;justify-content:center;
    color:var(--dark);font-size:16px;transition:all 0.3s;
}
.modal-close:hover{background:var(--cream-dark);color:var(--gold)}
.modal-body{padding:28px;overflow-y:auto}
.modal-body h4{font-size:15px;font-weight:700;color:var(--dark);margin:20px 0 8px}
.modal-body h4:first-child{margin-top:0}
.modal-body p{font-size:14px;color:var(--gray-mid);line-height:1.8}

/* ============================================
   ANIMATIONS
   ============================================ */
.fade-in{
    opacity:0;
    transform:translateY(36px);
    transition:opacity 0.7s ease,transform 0.7s ease;
}
.fade-in.visible{opacity:1;transform:translateY(0)}

.fade-in-left{
    opacity:0;
    transform:translateX(-36px);
    transition:opacity 0.7s ease,transform 0.7s ease;
}
.fade-in-left.visible{opacity:1;transform:translateX(0)}

.fade-in-right{
    opacity:0;
    transform:translateX(36px);
    transition:opacity 0.7s ease,transform 0.7s ease;
}
.fade-in-right.visible{opacity:1;transform:translateX(0)}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:1024px){
    .hero-inner{
        grid-template-columns:1fr;
        gap:40px;
        text-align:center;
    }
    .hero-images{
        flex-direction:row;
        justify-content:center;
        gap:16px;
    }
    .hero-img--float-1,.hero-img--float-2,
    .hero-img--float-3,.hero-img--float-4{width:45%}

    .split-row,.split-row--reverse{
        grid-template-columns:1fr;
        gap:40px;
    }
    .split-row--reverse{direction:ltr}
    .split-text{text-align:center;align-items:center}
    .section-tag{margin-left:auto;margin-right:auto}
    .split-features{align-items:stretch}

    .banner-content{grid-template-columns:1fr;text-align:center}
    .banner-text{display:flex;flex-direction:column;align-items:center}
    .banner-overlay{background:linear-gradient(180deg,var(--dark) 30%,transparent 100%)}

    .faq-layout{grid-template-columns:1fr;gap:32px}
    .faq-left{position:relative;top:auto;text-align:center;display:flex;flex-direction:column;align-items:center}
    .faq-illust{display:none}

    .cta-banner{flex-direction:column;text-align:center;padding:36px 28px}
}

@media(max-width:768px){
    body{padding-bottom:90px}

    .hero{padding:80px 16px 60px}
    .hero-images--left,.hero-images--right{flex-direction:row}
    .hero-img--float-1,.hero-img--float-2,
    .hero-img--float-3,.hero-img--float-4{width:48%}

    .hero-stats{
        flex-direction:row;flex-wrap:wrap;
        justify-content:center;gap:16px;
        padding:16px 20px;
    }

    .split-section{padding:64px 0}
    .media-accent{display:none}

    .steps-row{flex-direction:column;align-items:center;gap:16px}
    .step-arrow{transform:rotate(90deg);padding:4px 0}
    .step-card{max-width:100%;width:100%}

    .testimonial-grid{grid-template-columns:1fr;gap:16px}

    .banner-section{padding:64px 0}
    .banner-image{max-width:360px;margin:0 auto}

    .cta-button{font-size:15px;padding:14px 28px}
}

@media(max-width:480px){
    .container{padding:0 16px}
    .hero-badge{font-size:12px;padding:6px 14px}
    .hero-images--left,.hero-images--right{gap:10px}
    .hero-img--float-1,.hero-img--float-2,
    .hero-img--float-3,.hero-img--float-4{width:47%}
    .hero-img-badge{font-size:11px;padding:4px 10px}

    .section-title{font-size:24px}
    .btn-hero{font-size:14px;padding:14px 24px}

    .marquee-track span{font-size:13px}

    .footer-links{flex-direction:column;gap:12px;align-items:center}
    .cta-button{font-size:14px;padding:13px 24px}
    .fixed-cta{padding:12px 16px}
}
