/* Expanded local homepage: distinct sections and full source content. */
.home-expanded { --hv-bg:#090e16; --hv-band:#0d1726; --hv-card:#142237; --hv-line:#304360; --hv-blue:#80aaff; --hv-copy:#c0ccdc; }
.hv-container { width:min(1200px,calc(100% - 80px)); margin-inline:auto; }
.hv-section-heading { margin:0 0 34px; }
.hv-section-heading h2, h2.hv-section-heading { color:#f6f8fc; font:600 42px/1.2 'Oswald',sans-serif; letter-spacing:.005em; text-transform:uppercase; }
.hv-section-heading p { margin-top:14px; max-width:850px; color:var(--hv-copy); font:400 18px/1.65 'Roboto',sans-serif; }
.hv-centered { text-align:center; }
.hv-centered p { margin-inline:auto; }
.hv-band { padding:76px 0; background:var(--hv-band); border-block:1px solid var(--hv-line); }
.hv-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:56px; padding:16px 24px; border:1px solid #4784ec; border-radius:6px; background:linear-gradient(135deg,#2165ff,#0d3eac); color:white; font:500 17px/1.4 'Oswald',sans-serif; letter-spacing:.045em; text-transform:uppercase; text-decoration:none; cursor:pointer; }
.hv-button:hover { background:linear-gradient(135deg,#3374ff,#1952c1); border-color:#8cb6ff; text-decoration:none; }
.hv-button--outline { background:transparent; border-color:#799ac9; color:#b1ceff; }
.hv-button--outline:hover { background:#192d49; }
.hv-button svg,.hv-text-link svg { width:24px; height:24px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.hv-text-link { display:inline-flex; align-items:center; gap:12px; color:#99bfff; padding:0; background:none; border:0; font:500 18px/1.5 'Roboto',sans-serif; text-decoration:underline; text-underline-offset:5px; cursor:pointer; }
.hv-actions { display:flex; flex-wrap:wrap; gap:20px; margin-top:24px; }
.hv-page-nav { background:#102039; border-block:1px solid var(--hv-line); }
.hv-page-nav .hv-container { display:grid; grid-template-columns:repeat(7,1fr); }
.hv-page-nav a { display:flex; align-items:center; justify-content:center; text-align:center; padding:23px 12px; color:#e7effc; font:500 17px/1.4 'Oswald',sans-serif; border-inline-start:1px solid var(--hv-line); text-decoration:none; }
.hv-page-nav a:last-child { border-inline-end:1px solid var(--hv-line); }
.hv-page-nav a:hover { color:white; background:#1b3862; }
.hv-after { padding:62px 0 72px; }
.hv-after .hv-section-heading h2 { font-size:32px; }
.hv-after .hv-section-heading p { max-width:850px; }
.hv-after-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding:0; margin:0; list-style:none; }
.hv-after-grid li { display:flex; gap:18px; padding:24px; margin:0; background:#122038; border:1px solid var(--hv-line); border-radius:8px; }
.hv-after-grid li>span { color:var(--hv-blue); font:500 32px/1 'Oswald',sans-serif; }
.hv-after-grid h3 { font:500 23px/1.3 'Oswald',sans-serif; margin-bottom:12px; }
.hv-after-grid p { font:400 17px/1.6 'Roboto',sans-serif; color:var(--hv-copy); }
.hv-payment-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:24px; }
.hv-payment-feature,.hv-payment-card { padding:30px; border:1px solid #3a5379; border-radius:8px; background:#132139; }
.hv-payment-feature { display:flex; flex-direction:column; justify-content:space-between; background:linear-gradient(135deg,#162f54,#101e35); }
.hv-payment-label { display:flex; align-items:center; gap:20px; }
.hv-icon-box { display:grid; place-items:center; flex-shrink:0; width:60px; height:60px; border:1px solid #486b9b; border-radius:8px; color:var(--hv-blue); background:#183254; }
.hv-icon-box svg { width:35px; height:35px; fill:none; stroke:currentColor; stroke-width:1.35; stroke-linecap:round; stroke-linejoin:round; }
.hv-payment-label h3 { font:500 26px/1.3 'Oswald',sans-serif; text-transform:uppercase; }
.hv-payment-feature>strong { display:block; margin:40px 0 32px; white-space:nowrap; color:var(--hv-blue); font:600 clamp(58px,6.1vw,88px)/1.15 'Oswald',sans-serif; }
.hv-payment-feature>p { border-top:1px solid #425b7e; padding-top:22px; color:#e4ecf8; font-size:22px; line-height:1.6; }
.hv-payment-side { display:grid; gap:20px; }
.hv-payment-card { padding:24px 28px; }
.hv-payment-card .hv-icon-box { width:48px; height:48px; }
.hv-payment-card .hv-icon-box svg { width:30px; height:30px; }
.hv-payment-card .hv-payment-label h3 { font-size:23px; }
.hv-payment-card>strong { display:block; margin:12px 0 14px; color:var(--hv-blue); font:600 44px/1.3 'Oswald',sans-serif; }
.hv-payment-card>strong small { font:500 .74em/1.2 'Oswald',sans-serif; }
.hv-payment-card>p { padding-top:14px; border-top:1px solid var(--hv-line); font:400 18px/1.55 'Roboto',sans-serif; color:var(--hv-copy); }
.hv-payment-note { color:var(--hv-copy); margin-top:22px; font-size:17px; line-height:1.65; }
.hv-premiums { margin-top:32px; border:1px solid #3a5379; border-radius:8px; background:#102139; overflow:hidden; }
.hv-premiums summary { display:flex; align-items:center; gap:22px; padding:24px 28px; list-style:none; cursor:pointer; }
.hv-premiums summary::-webkit-details-marker,.hv-faq-list summary::-webkit-details-marker { display:none; }
.hv-premiums summary strong { display:block; font:500 26px/1.35 'Oswald',sans-serif; text-transform:uppercase; }
.hv-premiums summary small { display:block; margin-top:5px; font:400 17px/1.5 'Roboto',sans-serif; color:var(--hv-copy); }
.hv-disclosure-mark { position:relative; display:block; width:22px; height:22px; flex-shrink:0; margin-left:auto; color:var(--hv-blue); }
.hv-disclosure-mark::before,.hv-disclosure-mark::after { content:''; position:absolute; inset:10px 1px auto; height:2px; background:currentColor; }
.hv-disclosure-mark::after { transform:rotate(90deg); }
[open]>summary .hv-disclosure-mark::after { display:none; }
.hv-premium-content { padding:0 28px 28px; border-top:1px solid var(--hv-line); }
.hv-premium-content>p { color:var(--hv-copy); font-size:18px; line-height:1.7; padding-top:24px; }
.hv-premium-content dl { margin:20px 0 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.hv-premium-content dl>div { padding:18px 20px; background:#192b45; border:1px solid var(--hv-line); border-radius:6px; }
.hv-premium-content dt { color:#d1dceb; font-size:17px; line-height:1.5; }
.hv-premium-content dd { color:var(--hv-blue); margin:8px 0 0; font:500 27px/1.25 'Oswald',sans-serif; }
.hv-faq { background:#0a1220; }
.hv-faq-list { display:grid; gap:12px; }
.hv-faq-list details { background:#14233b; border:1px solid #38506f; border-radius:8px; overflow:hidden; }
.hv-faq-list summary { display:flex; align-items:center; gap:24px; padding:22px 26px; list-style:none; cursor:pointer; font:600 20px/1.45 'Roboto',sans-serif; }
.hv-faq-list summary:hover { background:#1b3050; }
.hv-faq-list details>p { border-top:1px solid var(--hv-line); padding:22px 26px; margin:0; font-size:18px; line-height:1.7; color:#d0dbea; background:#0e1a2d; }
.hv-contact { padding:72px 0; background:linear-gradient(135deg,#142641,#0c1728); border-bottom:1px solid var(--hv-line); }
.hv-contact-grid { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:24px; }
.hv-contact-grid>* { min-width:0; }
.hv-contact-call,.hv-address,.hv-regions { padding:30px; border:1px solid #44618a; border-radius:8px; background:#12233c; }
.hv-contact-call { display:flex; flex-direction:column; justify-content:center; align-items:stretch; text-align:center; background:linear-gradient(135deg,#16335b,#102039); }
.hv-contact-card-heading { display:flex; align-items:center; gap:24px; text-align:left; }
.hv-contact-card-heading h3,.hv-regions h3 { font:500 26px/1.35 'Oswald',sans-serif; }
.hv-contact-icon { color:#8db7ff; display:block; width:54px; flex-shrink:0; }
.hv-contact-icon svg { width:54px; height:54px; fill:none; stroke:currentColor; stroke-width:1.3; stroke-linecap:round; stroke-linejoin:round; }
.hv-contact-phone { font:500 clamp(25px,2.9vw,40px)/1.3 'Oswald',sans-serif; color:#f6f8ff; margin:28px 0; padding-top:28px; border-top:1px solid #41618c; text-decoration:none; white-space:nowrap; }
.hv-contact-telegram { display:inline-flex; align-items:center; justify-content:center; gap:12px; margin-top:22px; color:#9fc4ff; font-size:18px; }
.hv-contact-telegram svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; }
.hv-contact-call>p { margin-top:24px; color:var(--hv-copy); font-size:16px; line-height:1.6; }
.hv-addresses { display:grid; grid-template-columns:minmax(0,1fr); gap:18px; }
.hv-address { padding:25px 28px; }
.hv-address address { font-style:normal; color:#f3f7ff; font-size:22px; line-height:1.5; margin-top:10px; }
.hv-address p { margin-top:6px; color:var(--hv-copy); font-size:17px; line-height:1.5; }
.hv-address>a { display:flex; justify-content:space-between; margin-top:20px; padding-top:18px; border-top:1px solid #3a5273; }
.hv-regions { margin-top:24px; display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; }
.hv-regions p { margin-top:14px; color:var(--hv-copy); font-size:18px; line-height:1.65; }
.hv-region-links { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.hv-region-links a { border:1px solid #608bc5; border-radius:6px; padding:18px; text-decoration:none; }
.hv-region-links a:hover { background:#1a365d; }
.hv-region-links strong { color:#a0c6ff; font:500 21px/1.3 'Oswald',sans-serif; }
.hv-region-links span { display:block; color:var(--hv-copy); font-size:14px; line-height:1.6; margin-top:12px; }
.home-expanded .hm-footer { padding-bottom:48px; }
.home-expanded main>section[id^="hv-"] { scroll-margin-top:0; }
@media(max-width:1100px) {
  .hv-after-grid li { flex-direction:column; }
  .hv-payment-label { gap:14px; }
  .hv-payment-label h3 { font-size:23px; }
  .hv-payment-card .hv-payment-label h3 { font-size:21px; }
  .hv-payment-feature { padding:24px; }
  .hv-payment-feature>strong { font-size:66px; }
  .hv-contact-card-heading { gap:16px; }
  .hv-regions { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .hv-container { width:calc(100% - 40px); }
  .hv-section-heading { margin-bottom:28px; }
  .hv-section-heading h2,h2.hv-section-heading { font-size:34px; }
  .hv-section-heading p { font-size:18px; }
  .hv-band,.hv-contact { padding-block:52px; }
  .hv-page-nav .hv-container { display:flex; overflow:auto; width:100%; padding:0 20px; }
  .hv-page-nav a { white-space:nowrap; padding:18px 22px; font-size:17px; }
  .hv-after { padding:42px 0 50px; }
  .hv-after-grid { grid-template-columns:1fr; gap:14px; }
  .hv-after-grid li { flex-direction:row; gap:20px; padding:22px; }
  .hv-after-grid li h3 { font-size:24px; }
  .hv-after-grid li p { font-size:17px; }
  .hv-payment-grid { grid-template-columns:1fr; gap:16px; }
  .hv-payment-feature,.hv-payment-card { padding:24px; }
  .hv-payment-side { gap:16px; }
  .hv-payment-label h3,.hv-payment-card .hv-payment-label h3 { font-size:23px; }
  .hv-payment-feature>strong { font-size:clamp(42px,11vw,74px); margin:34px 0 26px; }
  .hv-payment-feature>p { font-size:20px; }
  .hv-payment-feature>p br,.hv-payment-card>p br { display:none; }
  .hv-payment-card>strong { font-size:40px; }
  .hv-payment-card>p { font-size:18px; }
  .hv-payment-note { font-size:16px; }
  .hv-actions { flex-direction:column; gap:14px; }
  .hv-actions>* { width:100%; }
  .hv-button { font-size:16px; padding:15px 18px; }
  .hv-premiums summary { padding:20px; gap:14px; }
  .hv-premiums summary>.hv-icon-box { display:none; }
  .hv-premiums summary strong { font-size:24px; }
  .hv-premiums summary small { font-size:16px; }
  .hv-premium-content { padding:0 20px 24px; }
  .hv-premium-content dl { grid-template-columns:1fr 1fr; }
  .hv-premium-content dl>div { padding:16px; }
  .hv-premium-content dd { font-size:25px; }
  .hv-faq-list summary { padding:20px; font-size:18px; gap:16px; }
  .hv-faq-list details>p { padding:20px; font-size:17px; }
  .hv-contact-grid { grid-template-columns:minmax(0,1fr); }
  .hv-contact-call,.hv-address,.hv-regions { padding:24px; }
  .hv-contact-card-heading h3,.hv-regions h3 { font-size:26px; }
  .hv-contact-phone { font-size:34px; margin:25px 0; padding-top:22px; }
  .hv-contact-icon,.hv-contact-icon svg { width:42px; height:42px; }
  .hv-contact-call>p { font-size:15px; }
  .hv-contact-call .hv-button { padding-inline:12px; }
  .hv-address address { font-size:21px; }
  .hv-address p { font-size:16px; }
  .hv-region-links { grid-template-columns:1fr; }
  .hv-region-links strong { font-size:22px; }
  .hv-region-links span { font-size:16px; margin-top:7px; }
  .hv-centered { text-align:left; }
}
@media(max-width:380px) {
  .hv-contact-card-heading { gap:12px; }
  .hv-contact-card-heading h3 { font-size:22px; }
  .hv-contact-icon,.hv-contact-icon svg { width:32px; height:32px; }
  .hv-contact-phone { font-size:clamp(22px,8vw,29px); }
  .hv-contact-call,.hv-address,.hv-regions,.hv-payment-feature,.hv-payment-card { padding:20px; }
  .hv-payment-label h3,.hv-payment-card .hv-payment-label h3 { font-size:21px; }
  .hv-payment-card>strong { font-size:34px; }
  .hv-icon-box { width:48px; height:48px; }
  .hv-premium-content dl { grid-template-columns:1fr; }
}

/* Payment source is preserved when the local homepage replaces production. */
.hv-payment-source{display:block;margin-top:14px;font:400 13px/1.5 Roboto,Arial,sans-serif;color:#bac6d8;white-space:normal;letter-spacing:normal;text-transform:none}
.hv-payment-source a{color:#9dc1ff;text-decoration:underline;text-underline-offset:3px}
.hv-payment-source a:hover{color:#fff}
.hv-payment-source a:focus-visible{outline:2px solid #9dc1ff;outline-offset:3px}
.hm-hero-payment .hv-payment-source{max-width:480px;margin-top:10px}
