.hero { height: 100svh; position: relative; overflow: visible; }
.hero::before { content: ''; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(6,27,25,.88) 0%, rgba(10,39,36,.76) 42%, rgba(7,29,27,.38) 72%, rgba(4,20,19,.28) 100%); }
.hero-video-stage { position: absolute; inset: 0; overflow: hidden; background: var(--primary); }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.025); transition: opacity 1.4s cubic-bezier(.22,.7,.2,1), transform 2.1s cubic-bezier(.22,.7,.2,1); will-change: opacity, transform; }
.hero-video.is-active { opacity: 1; transform: scale(1); }
.hero-inner { z-index: 2; height: 100%; display: flex; align-items: center; padding-top: 78px; padding-bottom: 64px; }
.hero-copy { width: 62%; max-width: 730px; }
.hero .eyebrow { color: #f5b273; animation: hero-copy-reveal .75s cubic-bezier(.22,.7,.2,1) .18s both; }
.hero h1 { max-width: 700px; margin-bottom: 32px; color: var(--paper); font-size: var(--h1-size); line-height: var(--h1-line-height); font-weight: 700; letter-spacing: var(--h1-letter-spacing); text-wrap: balance; animation: hero-copy-reveal .9s cubic-bezier(.22,.7,.2,1) .31s both; }
.hero-copy > p { max-width: 690px; color: rgba(255,255,255,.78); font-size: 1.06rem; animation: hero-copy-reveal .85s cubic-bezier(.22,.7,.2,1) .5s both; }
.trust-row { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 40px; color: rgba(255,255,255,.86); font-size: .79rem; font-weight: 600; animation: hero-copy-reveal .8s cubic-bezier(.22,.7,.2,1) .68s both; }
.trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.trust-row .icon { color: var(--accent); }
.search-box { width: min(980px, calc(100% - 48px)); position: absolute; z-index: 4; left: 24px; bottom: -25px; display: flex; align-items: stretch; gap: 8px; padding: 14px 10px; border: 1px solid rgba(18,60,56,.1); border-radius: 20px; background: rgba(255,255,255,.98); box-shadow: 0 24px 70px rgba(5,28,25,.24); }
.search-field { flex: 1; min-width: 0; display: flex; align-items: center; padding: 0 17px; border: 1px solid transparent; border-radius: 13px; background: #f4f6f3; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.search-field:focus-within { border-color: rgba(18,60,56,.24); background: var(--paper); box-shadow: 0 0 0 3px rgba(18,60,56,.06); }
.search-field select { width: 100%; min-height: 54px; color: var(--ink); background: transparent; border: 0; outline: none; font-weight: 600; cursor: pointer; }
.search-box .button { min-width: 154px; border-radius: 13px; }

@keyframes hero-copy-reveal {
    from { opacity: 0; transform: translate3d(0, 24px, 0); }
    to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
    .hero-video { transition: none; transform: none; }
    .hero .eyebrow, .hero h1, .hero-copy > p, .trust-row { animation: none; }
}

.stats-bar { padding: 108px 0 82px; background: var(--primary); }
.trust-heading { max-width: 760px; margin: 0 auto 46px; text-align: center; }
.trust-heading h2 { margin-bottom: 23px; color: var(--paper); font-size: clamp(2rem,4vw,3.25rem); line-height: 1.08; font-weight: 700; letter-spacing: -2px; }
.trust-heading p { color: rgba(255,255,255,.66); font-size: 1.02rem; }
.trust-benefits { display: flex; gap: 16px; }
.trust-benefits article { width: calc(25% - 12px); min-height: 215px; padding: 25px; border: 1px solid rgba(255,255,255,.12); border-radius: var(--radius); background: rgba(255,255,255,.055); transition: border-color .25s ease, background-color .25s ease, box-shadow .25s ease; }
.trust-benefits article:hover { border-color: rgba(245,178,115,.38); background: rgba(255,255,255,.085); box-shadow: 0 16px 35px rgba(3,20,18,.18); }
.trust-icon { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; margin-bottom: 28px; color: var(--accent); border-radius: 12px; background: rgba(238,155,82,.12); }
.trust-benefits h3 { margin-bottom: 9px; color: var(--paper); font-size: 1.02rem; font-weight: 700; }
.trust-benefits p { color: rgba(255,255,255,.56); font-size: .83rem; line-height: 1.6; }
.stats-inner { min-height: 0; display: flex; align-items: center; justify-content: space-around; gap: 24px; margin-top: 52px; padding-top: 44px; border-top: 1px solid rgba(255,255,255,.13); }
.stat { display: flex; flex-direction: column; align-items: center; gap: 4px; color: var(--paper); text-align: center; }
.stat strong { font-family: 'Manrope', sans-serif; font-size: 2rem; font-weight: 700; }
.stat span { color: rgba(255,255,255,.62); font-size: .82rem; }
.section-action { display: flex; justify-content: center; margin-top: 35px; }

.benefit-list { display: flex; gap: 24px; }
.benefit-card { flex: 1; min-height: 285px; position: relative; overflow: hidden; padding: 34px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); box-shadow: 0 12px 35px rgba(20,35,33,.05); }
.benefit-card::after { content: ''; position: absolute; width: 120px; height: 120px; right: -55px; bottom: -58px; border-radius: 50%; background: var(--primary-light); }
.benefit-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 42px; }
.benefit-number { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; color: var(--paper); background: var(--primary); border-radius: 13px 13px 13px 4px; font-weight: 700; }
.benefit-label { color: #85918f; font-size: .72rem; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.benefit-card h3 { margin-bottom: 10px; font-size: 1.22rem; font-weight: 700; }
.benefit-card p { font-size: .92rem; }
.owner-section { padding: 98px 0; }
.owner-panel { min-height: 520px; display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-large); background: #eef2ed; box-shadow: 0 22px 60px rgba(20,35,33,.08); }
.owner-copy { width: 56%; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 62px; }
.owner-copy h2 { max-width: 620px; margin-bottom: 24px; font-size: clamp(2.1rem,4vw,3.6rem); line-height: 1.07; font-weight: 700; letter-spacing: -2.5px; }
.owner-copy > p { max-width: 630px; font-size: 1rem; }
.owner-copy ul { display: flex; flex-wrap: wrap; gap: 16px 22px; margin: 42px 0; }
.owner-copy li { width: calc(50% - 11px); display: flex; align-items: flex-start; gap: 9px; color: var(--ink-soft); font-size: .84rem; line-height: 1.45; }
.owner-copy li .icon { margin-top: 2px; color: var(--success); }
.owner-copy > .button { min-height: 60px; padding: 0 34px; background: var(--accent); box-shadow: 0 0 0 6px rgba(238,155,82,.13), 0 16px 32px rgba(198,111,46,.2); font-size: 1rem; }
.owner-copy > .button:hover { background: #f5aa66; box-shadow: 0 0 0 8px rgba(238,155,82,.12), 0 18px 38px rgba(198,111,46,.25); }
.owner-visual { width: 44%; position: relative; min-height: 520px; }
.owner-visual > img { height: 100%; object-fit: cover; }
.owner-note { position: absolute; left: 24px; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 13px; padding: 17px; border: 1px solid rgba(255,255,255,.5); border-radius: 14px; background: rgba(255,255,255,.91); box-shadow: var(--shadow); backdrop-filter: blur(10px); }
.owner-note > span { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; color: var(--paper); background: var(--primary); border-radius: 11px; }
.owner-note strong { display: block; font-weight: 700; }
.owner-note p { font-size: .75rem; }
.categories { display: flex; flex-wrap: wrap; gap: 16px; }
.category-card { width: calc(25% - 12px); min-height: 230px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; overflow: hidden; padding: 22px; border-radius: var(--radius); color: var(--paper); background: var(--primary); }
.category-card img { position: absolute; inset: 0; height: 100%; object-fit: cover; opacity: .58; transition: transform .4s ease; }
.category-card::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,31,28,.92), transparent 75%); }
.category-card:hover img { transform: scale(1.05); }
.category-card span, .category-card strong { z-index: 1; }
.category-card strong { font-family: 'Manrope', sans-serif; font-size: 1.05rem; font-weight: 700; }
.category-card span { margin-top: 6px; color: rgba(255,255,255,.72); font-size: .76rem; }
.category-card .category-count { display: inline-flex; width: max-content; padding: 5px 8px; border-radius: 7px; background: rgba(255,255,255,.12); }
.membership-section { padding: 0 0 98px; }
.membership-panel { position: relative; overflow: hidden; padding: 62px; color: var(--paper); border-radius: var(--radius-large); background: linear-gradient(135deg, #0f3531, #1b514b); box-shadow: 0 24px 70px rgba(10,42,38,.17); }
.membership-panel::before { content: ''; position: absolute; width: 420px; height: 420px; right: -220px; top: -210px; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; box-shadow: 0 0 0 65px rgba(255,255,255,.025), 0 0 0 130px rgba(255,255,255,.018); }
.membership-panel > * { position: relative; z-index: 1; }
.membership-heading { max-width: 830px; margin: 0 auto; text-align: center; }
.promo-label { max-width: max-content; display: flex; align-items: center; gap: 8px; margin: 0 auto 22px; padding: 9px 14px; color: #ffd4ab; border: 1px solid rgba(245,178,115,.28); border-radius: 30px; background: rgba(238,155,82,.1); font-size: .75rem; font-weight: 700; }
.membership-heading > .eyebrow { width: max-content; display: flex; margin: 0 auto 15px; }
.membership-heading h2 { margin-bottom: 23px; font-size: clamp(2.2rem,4.5vw,3.7rem); line-height: 1.06; font-weight: 700; letter-spacing: -2.5px; }
.membership-heading > p { max-width: 760px; margin: 0 auto; color: rgba(255,255,255,.66); font-size: 1rem; }
.promo-period { display: inline-flex; align-items: center; gap: 12px; margin-top: 25px; padding: 12px 17px; border-radius: 13px; background: rgba(255,255,255,.08); text-align: left; }
.promo-period strong { font-family: 'Manrope',sans-serif; color: var(--accent); font-size: 2.4rem; line-height: 1; font-weight: 800; }
.promo-period span { color: rgba(255,255,255,.75); font-size: .72rem; line-height: 1.35; text-transform: uppercase; letter-spacing: .7px; }
.membership-plans { display: flex; align-items: stretch; gap: 18px; margin-top: 48px; }
.membership-plan { width: calc(33.333% - 12px); position: relative; display: flex; flex-direction: column; padding: 29px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--radius); background: rgba(255,255,255,.055); }
.plan-heading { padding-bottom: 21px; border-bottom: 1px solid rgba(255,255,255,.12); }
.plan-heading h3 { font-size: 1.4rem; font-weight: 700; }
.plan-heading span { color: rgba(255,255,255,.5); font-size: .75rem; }
.plan-price { display: block; margin-top: 22px; font-family: 'Manrope',sans-serif; font-size: 2rem; line-height: 1; font-weight: 700; }
.plan-price small { color: rgba(255,255,255,.48); font-size: .7rem; font-weight: 500; }
.membership-plan ul { flex: 1; display: flex; flex-direction: column; gap: 12px; margin: 23px 0 28px; }
.membership-plan li { display: flex; align-items: flex-start; gap: 9px; color: rgba(255,255,255,.82); font-size: .84rem; }
.membership-plan li .icon { margin-top: 1px; color: var(--accent); }
.membership-plan li.is-unavailable { color: rgba(255,255,255,.34); }
.membership-plan li.is-unavailable .icon { color: #ff8175; }
.plan-button { min-height: 49px; margin-top: auto; }
.premium-plan { color: var(--ink); border-color: var(--accent); outline: 3px solid rgba(238,155,82,.32); background: var(--paper); box-shadow: 0 22px 55px rgba(3,22,19,.3); }
.premium-plan .plan-heading { border-color: var(--line); }
.premium-plan .plan-heading span, .premium-plan li { color: var(--ink-soft); }
.premium-plan .plan-price { color: var(--primary); }
.premium-plan .plan-price small { color: var(--ink-soft); }
.premium-plan li .icon { color: var(--success); }
.recommended-label { position: absolute; top: -13px; right: 20px; display: inline-flex; align-items: center; gap: 5px; padding: 7px 11px; color: #18231f; background: var(--accent); border-radius: 20px; font-size: .68rem; font-weight: 800; }
.membership-action { display: flex; flex-direction: column; align-items: center; gap: 10px; margin-top: 38px; }
.membership-cta { min-height: 59px; padding: 0 32px; box-shadow: 0 12px 28px rgba(2,24,21,.24); font-size: 1rem; }
.membership-action p { color: rgba(255,255,255,.48); font-size: .73rem; }
.testimonial-list { display: flex; gap: 24px; }
.testimonial { flex: 1; display: flex; flex-direction: column; justify-content: space-between; gap: 28px; padding: 32px; background: var(--paper); border-radius: var(--radius); }
.testimonial > p { color: var(--ink); font-size: 1rem; line-height: 1.75; }
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.avatar { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--paper); background: var(--primary); font-weight: 700; }
.testimonial-author strong { display: block; font-weight: 700; }
.testimonial-author span { color: #788582; font-size: .78rem; }
.faq-list { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-button { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 0; text-align: left; color: var(--ink); background: transparent; font-family: 'Manrope', sans-serif; font-size: 1.02rem; font-weight: 700; }
.faq-button span:last-child { font-size: 1.5rem; font-weight: 400; transition: transform .2s ease; }
.faq-answer { display: none; padding: 0 45px 22px 0; }
.faq-item.is-open .faq-answer { display: block; }
.faq-item.is-open .faq-button span:last-child { transform: rotate(45deg); }
.contact-split { display: flex; align-items: flex-start; gap: 90px; }
.contact-copy { flex: 1; padding-top: 25px; }
.contact-copy h2 { margin-bottom: 24px; font-size: clamp(2rem,4vw,3.4rem); line-height: 1.08; font-weight: 700; letter-spacing: -2px; }
.contact-copy p { max-width: 470px; }
.contact-split .form-card { width: 52%; }

@media (max-width: 1100px) {
    .hero-copy { width: 72%; }
    .search-box { width: calc(100% - 48px); }
    .trust-benefits { flex-wrap: wrap; }
    .trust-benefits article { width: calc(50% - 8px); }
    .owner-copy { padding: 48px; }
    .membership-panel { padding: 52px 38px; }
    .membership-plans { flex-wrap: wrap; }
    .membership-plan { width: calc(50% - 9px); }
    .premium-plan { width: 100%; }
}
@media (max-width: 767px) {
    .hero::before { background: linear-gradient(90deg, rgba(6,27,25,.9), rgba(10,39,36,.58)); }
    .hero-inner { align-items: center; padding-top: 70px; padding-bottom: 260px; }
    .hero-copy { width: 100%; }
    .hero h1 { font-size: var(--h1-size); line-height: var(--h1-line-height); letter-spacing: var(--h1-letter-spacing); }
    .hero-copy > p { font-size: .94rem; }
    .search-box { width: calc(100% - 36px); left: 18px; bottom: -25px; flex-direction: column; align-items: stretch; gap: 8px; padding: 14px 12px; }
    .search-field { min-height: 50px; padding: 0 14px; }
    .search-field select { min-height: 48px; }
    .search-box .button { min-height: 50px; }
    .stats-bar { padding: 75px 0 68px; }
    .trust-heading { margin-bottom: 30px; text-align: left; }
    .trust-benefits { flex-direction: column; }
    .trust-benefits article { width: 100%; min-height: 0; }
    .stats-inner { min-height: 154px; flex-wrap: wrap; justify-content: flex-start; padding-top: 20px; padding-bottom: 20px; }
    .stat { width: calc(50% - 12px); align-items: flex-start; text-align: left; }
    .benefit-list, .testimonial-list, .contact-split { flex-direction: column; }
    .owner-section { padding: 72px 0; }
    .owner-panel { flex-direction: column; }
    .owner-copy, .owner-visual { width: 100%; }
    .owner-copy { padding: 38px 28px; }
    .owner-copy li { width: 100%; }
    .owner-visual { min-height: 340px; }
    .category-card { width: calc(50% - 8px); min-height: 180px; }
    .contact-split { gap: 35px; }
    .contact-split .form-card { width: 100%; }
    .membership-section { padding-bottom: 72px; }
    .membership-panel { padding: 42px 24px; }
    .membership-heading { text-align: left; }
    .promo-label, .membership-heading > .eyebrow { margin-left: 0; margin-right: 0; }
    .promo-label { align-items: flex-start; border-radius: 14px; }
    .promo-period { width: 100%; }
    .membership-plans { flex-direction: column; }
    .membership-plan, .premium-plan { width: 100%; }
    .membership-action { align-items: stretch; }
    .membership-cta { width: 100%; }
}
