/* Homepage presentation only. No shared theme tokens or modal/form selectors. */
body.home-page {
    --home-refresh-paper: #faf7f0;
    --home-refresh-ink: #462634;
    --home-refresh-muted: #70616a;
    --home-refresh-wine: #70374c;
    --home-refresh-gold: #ad8b4c;
    --home-refresh-line: #e6ddd3;
    --home-refresh-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
    --home-refresh-serif: Georgia, 'Times New Roman', serif;
    background: var(--home-refresh-paper);
}
body.home-page > .container { max-width:1320px; margin:0 auto; padding:0 36px; }
body.home-page .home-icon { display:inline-block; width:48px; height:48px; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; flex:0 0 auto; vertical-align:middle; }
body.home-page .navbar {
    min-height:96px; padding:16px max(28px, calc((100vw - 1260px)/2)); gap:22px;
    background:rgba(250,247,240,.97); border-bottom:1px solid var(--home-refresh-line);
    box-shadow:0 4px 18px #46263405;
}
body.home-page .navbar .logo { gap:12px; background:none; flex-shrink:0; -webkit-text-fill-color:var(--home-refresh-ink); }
/* Legacy QQ-theme logo has an important mobile height. Override only this image. */
body.home-page .navbar .site-logo-img { width:auto; height:52px !important; max-width:90px; object-fit:contain; }
body.home-page .navbar .logo span {
    color:var(--home-refresh-ink); -webkit-text-fill-color:var(--home-refresh-ink);
    font:400 29px/1.15 var(--home-refresh-serif); letter-spacing:.01em; text-transform:none;
}
body.home-page .navbar .home-brand-subtitle { display:block; margin-top:4px; color:#937047; font:600 9px/1.3 var(--home-refresh-sans); letter-spacing:.2em; text-transform:uppercase; }
body.home-page .navbar .nav-links { gap:24px; align-items:center; }
body.home-page .navbar .nav-links a {
    color:#64505a; -webkit-text-fill-color:#64505a; font:600 13px/1.45 var(--home-refresh-sans);
    letter-spacing:.015em; padding:10px 0; text-transform:none;
}
body.home-page .navbar .nav-links a.active,
body.home-page .navbar .nav-links a:hover { color:var(--home-refresh-wine); -webkit-text-fill-color:var(--home-refresh-wine); }
body.home-page .navbar .nav-links a.active::after { height:2px; bottom:3px; background:var(--home-refresh-gold); border-radius:0; }
body.home-page .navbar .nav-actions .btn {
    padding:11px 17px; min-height:44px; border-radius:8px; font:600 12px/1.4 var(--home-refresh-sans);
    letter-spacing:0; text-transform:none; box-shadow:none; white-space:normal;
}
body.home-page .navbar .nav-actions .btn-primary { color:#fff; background:var(--home-refresh-wine); border:1px solid var(--home-refresh-wine); }
body.home-page .navbar .nav-actions .btn-outline { color:var(--home-refresh-wine); border-color:#cbb7bd; background:transparent; }
body.home-page .navbar .nav-actions .btn:hover { transform:none; background:#522638; color:#fff; border-color:#522638; }
body.home-page .home-offer-bar {
    padding:12px 28px; gap:26px; color:#fefaf2; background:#482b38;
    box-shadow:none; font-family:var(--home-refresh-sans);
}
body.home-page .home-offer-bar-item { gap:10px; font-size:12px; line-height:1.5; }
body.home-page .home-offer-bar-item strong { color:#ead1a0; font-size:13px; font-weight:700; }
body.home-page .home-offer-bar .home-icon { display:inline-flex; width:24px; height:24px; color:#ead1a0; flex:0 0 24px; }
body.home-page .home-offer-bar .home-icon svg { width:24px; height:24px; }
body.home-page .home-offer-bar-divider { height:22px; background:#91727b; }
body.home-page .home-offer-bar .offer-bar-button { min-height:36px; padding:7px 16px; border-radius:6px; border-color:#b69b7a; background:transparent; font-size:12px; }
body.home-page .hero {
    display:block; min-height:0; margin:0; padding:62px 0 72px;
    background:none; border:0; border-radius:0; box-shadow:none; overflow:visible;
}
body.home-page .hero::before,
body.home-page .hero::after { content:none; display:none; animation:none; }
body.home-page .hero .hero-content {
    display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); align-items:center; gap:64px;
    width:100%; max-width:none; margin:0; padding:0; color:var(--home-refresh-ink); text-align:left;
    border:0; border-radius:0; background:none; box-shadow:none; backdrop-filter:none; -webkit-backdrop-filter:none;
}
body.home-page .hero .hero-copy { min-width:0; padding:18px 0; }
body.home-page .hero .hero-eyebrow {
    display:flex; gap:12px; align-items:center; color:#826a44;
    margin:0 0 23px; font:700 11px/1.5 var(--home-refresh-sans); letter-spacing:.18em; text-transform:uppercase;
}
body.home-page .hero .hero-eyebrow::before { width:32px; height:1px; flex:0 0 32px; background:var(--home-refresh-gold); }
body.home-page .hero .hero-content h1 {
    max-width:660px; margin:0 0 26px; color:var(--home-refresh-ink); -webkit-text-fill-color:currentColor;
    font:400 clamp(48px,5.2vw,72px)/1.06 var(--home-refresh-serif); letter-spacing:-.045em;
    text-shadow:none; overflow-wrap:normal; text-wrap:balance;
}
body.home-page .hero .hero-content h1 .hero-highlight { color:var(--home-refresh-wine); -webkit-text-fill-color:currentColor; }
body.home-page .hero .hero-content .hero-lead {
    max-width:540px; margin:0 0 28px; color:var(--home-refresh-muted);
    font:400 17px/1.8 var(--home-refresh-sans); letter-spacing:0; text-shadow:none;
}
body.home-page .hero .hero-buttons { max-width:520px; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:12px; }
body.home-page .hero .hero-buttons .btn {
    display:inline-flex; align-items:center; justify-content:center; min-width:0; width:100%; min-height:54px;
    padding:14px 18px; border-radius:8px; font:650 14px/1.4 var(--home-refresh-sans);
    letter-spacing:0; text-transform:none; text-align:center; white-space:normal; box-shadow:none;
}
body.home-page .hero .hero-buttons .hero-register-button { background:var(--home-refresh-wine); color:#fff; border:1px solid var(--home-refresh-wine); }
body.home-page .hero .hero-buttons .hero-book-button { background:transparent; color:var(--home-refresh-wine); border:1px solid #b99eaa; }
body.home-page .hero .hero-buttons .hero-member-button { grid-column:1/-1; color:#6f505b; border:1px solid var(--home-refresh-line); background:#fffcf6; }
body.home-page .hero .hero-buttons .btn:hover { background:#512535; border-color:#512535; color:#fff; transform:translateY(-1px); }
body.home-page .home-hero-visual {
    position:relative; width:100%; min-width:0; margin:0; padding:10px; border:1px solid #d5c6b1;
    border-radius:180px 180px 10px 10px; background:#f0e9df; box-shadow:18px 24px 0 #eae0d044;
}
body.home-page .home-hero-visual > img {
    display:block; width:100%; height:auto; aspect-ratio:4/5; max-height:560px; object-fit:cover; object-position:center;
    border-radius:172px 172px 4px 4px;
}
body.home-page .home-hero-visual figcaption,
body.home-page .home-hero-visual .home-photo-caption {
    display:flex; align-items:center; justify-content:center; gap:12px; margin:0; padding:15px 8px 5px; color:#6b5b4b; text-align:center;
    font:600 10px/1.6 var(--home-refresh-sans); letter-spacing:.16em; text-transform:uppercase;
}
body.home-page .home-hero-visual figcaption .home-icon { width:24px; height:24px; }
body.home-page .home-membership-section { margin:0 0 42px; padding:44px 0 0; border-top:1px solid var(--home-refresh-line); }
body.home-page .home-membership-section > .section-title { margin-bottom:28px; }
body.home-page .home-membership-section .hero-offer-panel { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
body.home-page .home-membership-section .hero-offer-card {
    display:grid; grid-template-columns:68px minmax(0,1fr); align-content:start; column-gap:18px;
    min-width:0; padding:30px; border:1px solid #ded3c8; border-radius:14px; background:#fffdf8;
    color:var(--home-refresh-ink); box-shadow:0 7px 24px #46263404;
}
body.home-page .home-membership-section .hero-offer-card::after { content:none; }
body.home-page .home-membership-section .hero-offer-card.referral-offer { border-color:#bda391; background:#eee4d4; color:#482d34; }
body.home-page .home-benefit-icon {
    display:flex; align-items:center; justify-content:center; grid-column:1; grid-row:1/3;
    width:68px; height:76px; margin-top:6px; color:#966d39;
}
body.home-page .home-benefit-icon svg { width:56px; height:56px; display:block; }
body.home-page .home-membership-section .hero-offer-label {
    grid-column:2; margin:0 0 7px; color:#745748; font:700 10px/1.5 var(--home-refresh-sans); letter-spacing:.15em;
}
body.home-page .home-membership-section .hero-offer-number {
    grid-column:2; margin:0; color:var(--home-refresh-wine);
    font:400 clamp(60px,5.6vw,78px)/1 var(--home-refresh-serif); letter-spacing:-.045em;
}
body.home-page .home-membership-section .hero-offer-card h2 { grid-column:1/-1; margin:22px 0 11px; color:var(--home-refresh-ink); font:400 26px/1.2 var(--home-refresh-serif); letter-spacing:-.018em; }
body.home-page .home-membership-section .hero-offer-card p { grid-column:1/-1; margin:0; color:#66505a; font:400 15px/1.7 var(--home-refresh-sans); letter-spacing:0; text-shadow:none; }
body.home-page .home-membership-section .hero-offer-terms {
    grid-column:1/-1; display:block; margin:18px 0 0; padding:14px 0 0; color:#765d61;
    border-top:1px solid #ddcfc3; border-radius:0; background:none; font:400 11px/1.65 var(--home-refresh-sans); letter-spacing:0;
}
body.home-page .home-membership-section .hmv-guide {
    display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,340px); grid-template-rows:auto auto; gap:6px 36px;
    align-items:center; margin:22px 0 0; padding:26px 30px; border:1px solid #ddd2c9; border-radius:14px;
    color:var(--home-refresh-ink); background:#f1ece4;
}
body.home-page .home-membership-section .hmv-guide h2 { grid-column:1; grid-row:1; margin:0; color:var(--home-refresh-ink); font:400 27px/1.25 var(--home-refresh-serif); letter-spacing:-.02em; }
body.home-page .home-membership-section .home-video-copy { min-width:0; grid-column:1; grid-row:1/3; }
body.home-page .home-membership-section .home-video-copy h2 { margin-bottom:8px; }
body.home-page .home-membership-section .hmv-guide p { grid-column:1; grid-row:2; max-width:650px; margin:0; color:var(--home-refresh-muted); font:400 13px/1.65 var(--home-refresh-sans); letter-spacing:0; }
body.home-page .home-membership-section .hmv-launch {
    grid-column:2; grid-row:1/3; gap:14px; min-height:78px; padding:15px 18px; width:100%;
    border:1px solid #a57b87; border-radius:9px; background:#6d3548; color:#fff; font:600 14px/1.45 var(--home-refresh-sans);
}
body.home-page .home-membership-section .hmv-launch svg { width:30px; height:30px; }
body.home-page .home-membership-section .hmv-launch small { color:#eee0e0; font:400 11px/1.5 var(--home-refresh-sans); }
body.home-page .home-membership-section .hmv-launch:hover { background:#502535; }
body.home-page .quick-actions {
    display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:18px;
    margin:0 0 70px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; overflow:visible;
}
body.home-page .quick-actions::before,
body.home-page .quick-actions::after { content:none; display:none; animation:none; }
body.home-page .quick-actions .quick-card {
    display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:28px;
    border:1px solid var(--home-refresh-line); border-radius:12px; background:#fffdf8; box-shadow:none;
    color:var(--home-refresh-ink); text-align:left; text-decoration:none; transition:border-color .18s,transform .18s,box-shadow .18s;
}
body.home-page .quick-actions .quick-card:hover { background:#fffdf8; border-color:#baa083; transform:translateY(-3px); box-shadow:0 12px 28px #46263408; }
body.home-page .quick-actions .quick-icon {
    display:flex; align-items:center; justify-content:center; width:72px; height:72px; margin:0 0 22px;
    border-radius:18px; background:#f1e8db; color:#855139; flex:0 0 auto;
}
body.home-page .quick-actions .quick-icon svg { width:38px; height:38px; display:block; }
body.home-page .quick-actions .home-card-arrow { width:25px; height:25px; margin-top:18px; align-self:flex-end; color:#926d48; }
body.home-page .quick-actions .quick-card h4 { margin:0 0 10px; color:var(--home-refresh-ink); font:600 20px/1.3 var(--home-refresh-sans); letter-spacing:-.025em; }
body.home-page .quick-actions .quick-card p { margin:0; color:var(--home-refresh-muted); font:400 14px/1.65 var(--home-refresh-sans); letter-spacing:0; }
body.home-page > .container > .section { margin-top:70px; margin-bottom:70px; }
body.home-page .section .section-title { align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:28px; }
body.home-page .section .section-title h2,
body.home-page .home-membership-section .section-title h2 {
    margin:0; color:var(--home-refresh-ink); font:400 clamp(30px,3.4vw,44px)/1.16 var(--home-refresh-serif); letter-spacing:-.025em;
}
body.home-page .section .section-title h2::before,
body.home-page .home-membership-section .section-title h2::before { content:none; }
body.home-page .home-section-eyebrow { display:block; margin:0 0 12px; color:#92734b; font:700 10px/1.5 var(--home-refresh-sans); letter-spacing:.19em; text-transform:uppercase; }
body.home-page .section .section-title a { color:var(--home-refresh-wine); font:600 12px/1.5 var(--home-refresh-sans); letter-spacing:.03em; text-transform:none; padding:8px 0; border-bottom:1px solid #c5a77a; }
body.home-page .premium-about .premium-about-copy { max-width:650px; margin:42px; padding:38px; background:rgba(255,252,245,.97); color:var(--home-refresh-ink); border:1px solid #efe2d0; border-radius:12px; backdrop-filter:none; -webkit-backdrop-filter:none; }
body.home-page .premium-about .premium-about-copy h2 { color:var(--home-refresh-ink); font:400 clamp(30px,3.3vw,44px)/1.16 var(--home-refresh-serif); letter-spacing:-.03em; margin-bottom:20px; }
body.home-page .premium-about .premium-about-copy p { color:#6a5760; font:400 14px/1.85 var(--home-refresh-sans); letter-spacing:0; margin-bottom:14px; }
body.home-page .section .gallery-swipe-hint { color:var(--home-refresh-muted); font:400 12px/1.6 var(--home-refresh-sans); margin-bottom:18px; }
body.home-page .section .hero-slideshow { border:1px solid #e2d5c7; border-radius:16px; box-shadow:none; }
body.home-page .section .services-grid { gap:22px; }
body.home-page .section .service-card { padding:0; border:1px solid #e4d9cf; border-radius:14px; overflow:hidden; background:#fffdfa; box-shadow:none; }
body.home-page .section .service-card .service-info { padding:20px; }
body.home-page .section .service-card h3 { color:var(--home-refresh-ink); font:600 18px/1.35 var(--home-refresh-sans); letter-spacing:-.02em; }
body.home-page .section .service-card p { color:var(--home-refresh-muted); font:400 13px/1.65 var(--home-refresh-sans); letter-spacing:0; }
body.home-page .section .service-card .service-price { color:var(--home-refresh-wine); font:500 23px/1.3 var(--home-refresh-serif); }
body.home-page .section .home-service-symbol { display:flex; width:100%; height:100%; min-height:150px; align-items:center; justify-content:center; color:#9b7550; background:#f2eadd; }
body.home-page .section .home-service-symbol .home-icon { width:78px; height:78px; stroke-width:1.2; }
body.home-page .section .service-card .btn { padding:10px 15px; min-height:42px; color:var(--home-refresh-wine); border:1px solid #cfb4bb; border-radius:7px; background:none; font:600 12px/1.4 var(--home-refresh-sans); letter-spacing:0; text-transform:none; box-shadow:none; }
body.home-page .section .tech-card,
body.home-page .section .level-card { border:1px solid #e5dacf; border-radius:12px; background:#fffdf8; box-shadow:none; }
body.home-page .section .tech-card h4,
body.home-page .section .level-card h4 { color:var(--home-refresh-ink); font:600 19px/1.35 var(--home-refresh-sans); letter-spacing:-.02em; }
body.home-page .section .tech-card p,
body.home-page .section .level-requirement { color:var(--home-refresh-muted); font:400 13px/1.6 var(--home-refresh-sans); letter-spacing:0; }
body.home-page .section .tech-rating { display:flex; align-items:center; justify-content:center; gap:6px; }
body.home-page .section .tech-rating .home-icon { width:19px; height:19px; color:#a58145; }
body.home-page .section .level-icon .home-icon { width:46px; height:46px; color:#976f44; }
body.home-page .home-partnership-icon { margin:0 auto 18px; color:#947044; }
body.home-page .home-partnership-icon .home-icon { width:58px; height:58px; }
body.home-page .partnership-section a .home-icon { width:22px; height:22px; margin-right:5px; }
body.home-page .home-picker-icon { display:flex; align-items:center; justify-content:center; width:52px; height:52px; flex:0 0 52px; border-radius:13px; color:#fff; }
body.home-page .home-picker-icon .home-icon { width:30px; height:30px; }
body.home-page .floating-buttons { right:20px; bottom:22px; gap:9px; z-index:90; }
body.home-page .floating-buttons .float-btn { width:auto; height:auto; min-height:54px; gap:10px; padding:11px 15px; border-radius:11px; background:#5e3043; border:1px solid #856475; box-shadow:0 5px 17px #46263420; font:600 12px/1.4 var(--home-refresh-sans); color:#fff; letter-spacing:0; }
body.home-page .floating-buttons .float-directions { background:#fcf8ef; color:#63394a; border-color:#c7b5a0; }
body.home-page .floating-buttons .float-icon { display:inline-flex; width:30px; height:30px; }
body.home-page .floating-buttons .float-icon svg { width:30px; height:30px; }
body.home-page .floating-buttons .float-label { display:inline; }
body.home-page .floating-buttons .float-btn:hover { transform:translateY(-2px); box-shadow:0 6px 22px #46263420; }
body.home-page .footer { padding:36px max(20px,calc((100vw - 1100px)/2)); margin-top:64px; color:#6d5a60; border-top:1px solid var(--home-refresh-line); background:#f0e9df; font:400 12px/1.8 var(--home-refresh-sans); letter-spacing:0; }
body.home-page .footer #footerInfo { color:var(--home-refresh-ink); font-weight:600; }
body.home-page .footer a { color:var(--home-refresh-wine); }
body.home-page .hero .btn:focus-visible,
body.home-page .quick-actions .quick-card:focus-visible,
body.home-page .home-membership-section .hmv-launch:focus-visible,
body.home-page .navbar a:focus-visible,
body.home-page .navbar button:focus-visible,
body.home-page .floating-buttons a:focus-visible { outline:3px solid #a48249; outline-offset:4px; }
@media (min-width:769px) and (max-width:1120px) {
    body.home-page .navbar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 20px; padding:16px 28px; }
    body.home-page .navbar .logo { grid-column:1; grid-row:1; }
    body.home-page .navbar .nav-actions { grid-column:2; grid-row:1; }
    body.home-page .navbar .nav-links { grid-column:1/-1; grid-row:2; gap:30px; justify-content:center; }
    body.home-page .hero .hero-content { gap:36px; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
    body.home-page .hero .hero-content h1 { font-size:clamp(43px,5.4vw,61px); }
    body.home-page .hero .hero-content .hero-lead { font-size:15px; }
    body.home-page .hero .hero-buttons .btn { font-size:12px; padding:13px 10px; }
    body.home-page .home-membership-section .hero-offer-card { padding:25px; }
}
@media (max-width:768px) {
    body.home-page > .container { padding:0 max(20px,env(safe-area-inset-left)) 0 max(20px,env(safe-area-inset-right)); }
    body.home-page .navbar { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:10px; min-height:78px; padding:12px 20px; }
    body.home-page .navbar .logo { grid-column:1; grid-row:1; gap:10px; }
    body.home-page .navbar .logo span { font-size:25px; }
    body.home-page .navbar .nav-actions { grid-column:2; grid-row:1; }
    body.home-page .navbar .mobile-menu-btn { grid-column:3; grid-row:1; }
    body.home-page .navbar .nav-links { align-items:stretch; gap:8px; }
    body.home-page .navbar .nav-links a { padding:11px 12px; font-size:15px; }
    body.home-page .navbar .nav-links a.active::after { bottom:4px; left:12px; width:28px; }
    body.home-page .navbar .nav-actions .btn { padding:10px 13px; font-size:12px; }
    body.home-page .home-offer-bar { padding:11px 20px; gap:12px; flex-wrap:wrap; }
    body.home-page .home-offer-bar-item { font-size:11px; }
    body.home-page .hero { padding:38px 0 44px; }
    body.home-page .hero .hero-content { grid-template-columns:minmax(0,1fr); gap:32px; }
    body.home-page .hero .hero-copy { padding:0; }
    body.home-page .hero .hero-eyebrow { margin-bottom:18px; font-size:10px; }
    body.home-page .hero .hero-content h1 { max-width:620px; font-size:clamp(42px,7.7vw,62px); line-height:1.08; margin-bottom:20px; }
    body.home-page .hero .hero-content .hero-lead { max-width:620px; font-size:15px; line-height:1.75; margin-bottom:24px; }
    body.home-page .hero .hero-buttons { max-width:none; }
    body.home-page .hero .hero-buttons .btn { min-height:52px; font-size:13px; padding:13px 12px; }
    body.home-page .home-hero-visual { width:min(100%,560px); margin:auto; border-radius:120px 120px 10px 10px; box-shadow:8px 10px 0 #eae0d044; }
    body.home-page .home-hero-visual > img { aspect-ratio:5/4; max-height:390px; border-radius:112px 112px 4px 4px; }
    body.home-page .home-membership-section { padding-top:32px; margin-bottom:28px; }
    body.home-page .home-membership-section .hero-offer-panel { gap:15px; }
    body.home-page .home-membership-section .hero-offer-card { padding:22px; grid-template-columns:52px minmax(0,1fr); column-gap:10px; }
    body.home-page .home-benefit-icon { width:52px; height:68px; }
    body.home-page .home-benefit-icon svg { width:46px; height:46px; }
    body.home-page .home-membership-section .hero-offer-number { font-size:60px; }
    body.home-page .home-membership-section .hero-offer-card h2 { font-size:25px; margin-top:18px; }
    body.home-page .home-membership-section .hero-offer-card p { font-size:14px; }
    body.home-page .home-membership-section .hmv-guide { grid-template-columns:minmax(0,1fr); gap:10px; padding:23px; }
    body.home-page .home-membership-section .home-video-copy,
    body.home-page .home-membership-section .hmv-guide h2,
    body.home-page .home-membership-section .hmv-guide p,
    body.home-page .home-membership-section .hmv-launch { grid-column:1; grid-row:auto; }
    body.home-page .home-membership-section .hmv-launch { margin-top:6px; min-height:72px; }
    body.home-page .quick-actions { gap:14px; margin-bottom:44px; grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr)); }
    body.home-page .quick-actions .quick-card { padding:24px; }
    body.home-page .quick-actions .quick-icon { margin-bottom:18px; }
    body.home-page > .container > .section { margin-top:44px; margin-bottom:44px; }
    body.home-page .section .section-title h2,
    body.home-page .home-membership-section .section-title h2 { font-size:34px; }
    body.home-page .premium-about .premium-about-copy { margin:22px; padding:27px; }
    body.home-page .premium-about .premium-about-copy h2 { font-size:34px; }
    body.home-page .floating-buttons { right:12px; bottom:max(12px,env(safe-area-inset-bottom)); gap:7px; }
    body.home-page .floating-buttons .float-btn { min-height:48px; padding:9px 11px; gap:8px; border-radius:10px; font-size:11px; }
    body.home-page .floating-buttons .float-icon,
    body.home-page .floating-buttons .float-icon svg { width:27px; height:27px; }
    body.home-page .footer { margin-top:44px; padding:28px 24px 110px; }
}
@media (max-width:520px) {
    body.home-page .home-membership-section .hero-offer-panel { grid-template-columns:minmax(0,1fr); }
    body.home-page .home-membership-section .hero-offer-card { padding:25px; grid-template-columns:60px minmax(0,1fr); column-gap:16px; }
    body.home-page .home-benefit-icon { width:60px; }
    body.home-page .home-benefit-icon svg { width:52px; height:52px; }
    body.home-page .home-membership-section .hero-offer-number { font-size:68px; }
    body.home-page .quick-actions { grid-template-columns:minmax(0,1fr); }
    body.home-page .quick-actions .quick-card { display:grid; grid-template-columns:64px minmax(0,1fr); column-gap:18px; padding:20px; }
    body.home-page .quick-actions .quick-icon { grid-column:1; grid-row:1/3; width:64px; height:64px; margin:0; border-radius:15px; }
    body.home-page .quick-actions .home-card-arrow { grid-column:2; grid-row:3; width:22px; height:22px; justify-self:end; margin-top:10px; }
    body.home-page .quick-actions .quick-card h4 { grid-column:2; font-size:20px; margin-bottom:6px; }
    body.home-page .quick-actions .quick-card p { grid-column:2; font-size:12px; }
    body.home-page .hero .hero-content h1 { font-size:clamp(39px,10vw,49px); }
    body.home-page .home-offer-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; }
    body.home-page .home-offer-bar-item { grid-column:1; align-items:center; }
    body.home-page .home-offer-bar-divider { display:none; }
    body.home-page .home-offer-bar .offer-bar-button { grid-column:2; grid-row:1/3; min-height:42px; max-width:72px; padding:8px 11px; white-space:normal; }
    body.home-page .home-offer-bar-item strong { font-size:12px; }
}
@media (max-width:480px) {
    body.home-page .navbar { grid-template-columns:minmax(0,1fr) auto; gap:8px 12px; padding:10px 18px; }
    body.home-page .navbar .logo span { font-size:27px; }
    body.home-page .navbar .mobile-menu-btn { grid-column:2; grid-row:1; }
    body.home-page .navbar .nav-actions { grid-column:1/-1; grid-row:2; width:100%; }
    body.home-page .navbar .nav-actions #userInfo { display:flex; width:100%; gap:10px; }
    body.home-page .navbar .nav-actions #userInfo > .btn { flex:1 1 0; }
    body.home-page .navbar .nav-actions #userInfo > span { flex:1 1 0; }
}
@media (max-width:359px) {
    body.home-page > .container { padding-left:16px; padding-right:16px; }
    body.home-page .navbar { padding:10px 16px; }
    body.home-page .navbar .logo span { font-size:25px; }
    body.home-page .home-offer-bar { padding:10px 16px; }
    body.home-page .home-offer-bar-item { gap:7px; font-size:10px; }
    body.home-page .home-offer-bar .home-icon,
    body.home-page .home-offer-bar .home-icon svg { width:20px; height:20px; flex-basis:20px; }
    body.home-page .hero .hero-buttons { grid-template-columns:minmax(0,1fr); }
    body.home-page .hero .hero-content h1 { font-size:39px; }
    body.home-page .home-membership-section .hero-offer-card { padding:22px; }
    body.home-page .home-membership-section .hmv-guide { padding:20px; }
    body.home-page .premium-about .premium-about-copy { margin:14px; padding:22px; }
    body.home-page .premium-about .premium-about-copy h2 { font-size:29px; }
    body.home-page .section .section-title h2,
    body.home-page .home-membership-section .section-title h2 { font-size:30px; }
}
@media (prefers-reduced-motion:reduce) {
    body.home-page .hero .hero-buttons .btn,
    body.home-page .quick-actions .quick-card,
    body.home-page .floating-buttons .float-btn { transition:none; transform:none; }
}
