@import url("reference-fonts.css");
:root { font-family: "Noto Sans", Arial, sans-serif; --bg:#f4f9fa; --ink:#0c191e; --muted:#304149; --cyan:#0faec1; --aqua:#18bfd0; --yellow:#ffb914; --red:#e50914; --accent:#007785; }
.wrap { width:min(1160px, calc(100% - 64px)); }
h1,h2,h3,.brand strong,.brand small,.film-detail,.film-details dt,.film-price,.eyebrow { font-family:Unbounded,Arial,sans-serif; }
h2 { font-size:clamp(28px,4vw,52px); letter-spacing:-.055em; font-weight:600; line-height:1.16; }
h2 em { color:#008391; font-style:normal; }
h3 { font-weight:550; letter-spacing:-.035em; }
.section { padding-block:105px; }
.eyebrow { color:#007f8c; font-size:13px; letter-spacing:0; font-weight:450; }
.eyebrow i { display:none; }
.site-head { background:#0b171a; }
.head-inner { gap:20px; min-height:91px; justify-content:initial; }
.brand { gap:6px; color:inherit; }
.site-head .mark,.mark { background:none; color:inherit; width:56px; }
.brand strong { font-size:24px; font-weight:400; letter-spacing:-.07em; }
.site-head .brand small,.brand small { color:#0faec1; font-weight:500; letter-spacing:.17em; text-align:center; display:block; margin-top:4px; }
.city-pill,.head-phone { display:inline-flex; align-items:center; gap:6px; border:1px solid #67939a65; border-radius:100px; padding:7px 16px; color:#fff; font-size:13px; }
.city-pill { margin-left:15px; }
.head-caption { color:#fff; font-size:14px; line-height:1.35; margin-left:18px; }
.head-phone { margin-left:auto; padding:9px 17px; font-size:14px; font-family:Unbounded,Arial,sans-serif; }
.head-phone svg { color:var(--aqua); }
.header-mail { width:36px; height:36px; background:#13aebd; color:#09252b; border-radius:50%; display:grid; place-items:center; }
.nav-menu { position:relative; }
.nav-menu summary { list-style:none; cursor:pointer; display:grid; gap:7px; padding:5px 0 5px 6px; }
.nav-menu summary::-webkit-details-marker { display:none; }
.nav-menu summary span { width:34px; height:3px; border-radius:6px; background:#fff; }
.nav-menu nav { position:absolute; right:0; top:48px; min-width:225px; border-radius:12px; padding:14px; display:grid; gap:0; color:#fff; background:#101f24; box-shadow:0 15px 35px #0005; }
.nav-menu nav a { padding:9px 10px; }
.video-hero { background:#242e32; }
.hero-film { object-position:50% 50%; }
.hero-shade { background:linear-gradient(0deg,#10181cd9,#152026a9); }
.film-layout { display:block; min-height:720px; padding-block:164px 76px; }
.film-copy h1 { font-weight:400; font-size:clamp(37px,4.15vw,60px); line-height:1.32; letter-spacing:-.06em; margin:0 0 39px; }
.film-copy h1 > span,.film-copy h1 em { display:block; }
.film-copy h1 em { color:var(--cyan); font-weight:680; }
.title-first { display:flex!important; align-items:center; flex-wrap:wrap; gap:12px 36px; }
.film-price { background:var(--red); color:white; padding:15px 22px; border-radius:7px; font-size:clamp(14px,1.65vw,24px); font-weight:500; line-height:1.2; letter-spacing:-.06em; }
.film-copy p { font-size:24px; color:#f1f3f4; line-height:1.55; }
.film-copy p strong { color:var(--yellow); font-weight:650; }
.film-copy .hero-actions { gap:38px; margin-top:57px; }
.film-copy .button { min-height:65px; padding-inline:34px; font-size:15px; font-weight:650; }
.video-hero .primary,.feature-story .primary { background:var(--cyan); color:#071c24; }
.video-hero .primary:hover,.feature-story .primary:hover { background:#34cbda; }
.film-outline { background:transparent; border-color:#6d9aa180; }
.film-details { position:absolute; right:0; bottom:85px; border:0; min-width:190px; padding:0; margin:0; display:grid; gap:19px; }
.film-details dt { color:var(--cyan); font-size:34px; font-weight:450; letter-spacing:-.065em; }
.film-details dd { color:#e4e8ea; font-size:17px; margin:0; }
.film-credit { font-size:11px; bottom:14px; opacity:.85; }
.offer-strip { background:#0b171a; color:#fff; }
.offer-strip .wrap,.route-strip .wrap { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px 34px; min-height:50px; }
.offer-tag { display:flex; align-items:center; gap:6px; color:#2ac5d5; border:1px solid #42717a; padding:3px 14px; border-radius:30px; font-size:15px; }
.offer-strip b { color:#ffd525; }
.route-strip { background:var(--red); color:#fff; font-size:19px; font-weight:600; text-align:center; }
.route-strip .wrap { min-height:70px; gap:13px; }
.prices { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:60px; }
.tariff { overflow:hidden; border-radius:20px; background:white; box-shadow:0 14px 22px #20283321; display:flex; flex-direction:column; }
.tariff-top { padding:23px 21px 32px; background:#27363d; color:#f0f0f0; min-height:302px; }
.tariff-top h3 { color:var(--yellow); font-size:clamp(19px,2vw,28px); text-transform:uppercase; }
.tariff-top > span { font-family:Unbounded,Arial,sans-serif; font-size:13px; display:block; margin-top:19px; }
.tariff-top strong { display:block; border-top:1px solid var(--yellow); margin-top:23px; padding-top:27px; color:#26ccdd; font:550 21px Unbounded,Arial,sans-serif; }
.tariff-top p { text-transform:uppercase; margin-top:29px; font-size:16px; }
.tariff-body { padding:28px 21px; flex:1; display:flex; flex-direction:column; }
.tariff-body p,.tariff-body ul { margin:0 0 20px; }
.tariff-body ul,.feature-story ul { list-style:none; padding:0; }
.tariff-body li { font-weight:700; margin:3px 0; }
.tariff-body li::before,.feature-story li::before { content:"✓"; color:#007c87; margin-right:8px; }
.tariff-body .button { margin-top:auto; align-self:start; background:#0d1d22; }
.extras { grid-template-columns:repeat(4,1fr); margin-top:32px; }
.extras h3 { grid-column:1/-1; font-size:20px; }
.extras h3 br { display:none; }
.feature-story { background:linear-gradient(#0c181b,#27373f); color:#fff; }
.story-layout { display:grid; grid-template-columns:40% 1fr; align-items:center; gap:40px; }
.story-layout figure { border-radius:16px; overflow:hidden; }
.story-layout img { width:100%; height:205px; object-fit:cover; }
.story-layout figcaption { font-size:12px; padding:10px 14px; background:#0d181b; }
.story-time { color:var(--yellow); font-family:Unbounded,Arial,sans-serif; font-size:15px; }
.story-layout h2 { font-size:clamp(26px,3.1vw,45px); margin-block:18px; }
.story-layout h2 em { color:#22c4d6; }
.story-layout p { color:#e4eaec; }
.story-layout ul { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feature-story li::before { color:#ff525b; }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:40px; }
.benefit-grid article { background:white; border:1px solid var(--line); border-radius:20px; padding:29px; }
.benefit-grid article:nth-child(2) { border:1px dashed var(--cyan); }
.benefit-grid svg { color:#009cac; }
.benefit-grid h3 { margin:20px 0 12px; font-size:21px; }
.benefit-action { background:transparent; padding:0; color:var(--accent); margin-top:10px; }
.gallery-section { padding-bottom:0; }
.estimate { background:#dfedf0; }
.faq { padding-top:0; }
.faq details { border-top:1px solid var(--line); padding:18px 4px; }
.faq summary { cursor:pointer; font-weight:700; }
.faq p { margin-top:8px; }
.float-phone { position:fixed; z-index:2; bottom:29px; left:19px; width:54px; height:54px; display:grid; place-items:center; color:#fff; background:#138741; border-radius:100%; box-shadow:0 4px 20px #0003; }
.policy-graphic { color:#007f8b; }
.site-foot .mark { color:#10282d; }
@media (max-width:1000px) {
 .head-caption { display:none; }
 .film-details { bottom:72px; min-width:0; }
 .film-details dt { font-size:24px; }
 .film-details dd { font-size:13px; }
 .film-copy p { font-size:20px; }
 .prices,.benefit-grid { gap:20px; }
 .section { padding-block:70px; }
 .gallery-section { padding-bottom:0; }
 .faq { padding-top:0; }
}
@media (max-width:780px) {
 .wrap { width:calc(100% - 38px); }
 .head-inner { flex-wrap:nowrap; gap:10px; padding:0; min-height:76px; }
 .header-mail,.city-pill { display:none; }
 .film-layout { min-height:0; padding-block:119px 64px; }
 .film-copy h1 { font-size:clamp(25px,6.15vw,43px); line-height:1.35; margin-bottom:24px; }
 .title-first { gap:7px 13px; }
 .film-price { order:-1; padding:7px 10px; font-size:11px; }
 .film-copy p { font-size:16px; }
 .film-copy .hero-actions { gap:10px; margin-top:21px; }
 .film-copy .button { min-height:46px; padding-inline:12px; font-size:12px; }
 .film-details { position:static; display:flex; gap:15px; margin-top:23px; }
 .film-details dt { font-size:17px; }
 .film-details dd { font-size:11px; }
 .offer-strip .wrap,.route-strip .wrap { padding-block:11px; gap:8px; font-size:13px; }
 .offer-strip .wrap { flex-direction:column; }
 .route-strip span { display:none; }
 .prices,.benefit-grid,.story-layout { grid-template-columns:1fr; }
 .prices { margin-top:30px; }
 .tariff-top { min-height:0; }
 .extras { grid-template-columns:repeat(2,1fr); }
 .story-layout { gap:21px; }
 .story-layout img { height:160px; }
 .float-phone { left:auto; right:10px; bottom:13px; width:40px; height:40px; }
 .faq { padding-top:0; }
 .policy-head h1 { overflow-wrap:anywhere; }
}
@media (max-width:450px) {
 .brand strong { font-size:16px; }
 .brand small { font-size:7px; }
 .mark,.site-head .mark { width:36px; }
 .head-phone { padding:7px; font-size:9px; }
 .head-phone svg { width:13px; }
 .nav-menu summary { gap:4px; }
 .nav-menu summary span { width:22px; height:2px; }
 .film-copy h1 { max-width:100%; }
 .title-first { display:grid!important; justify-items:start; }
}
.film-copy h1 { letter-spacing:-.038em; }
.policy-head h1 { font-size:clamp(31px,4.1vw,54px); font-weight:600; letter-spacing:-.04em; }
.policy-graphic { right:5%; }
.float-help { display:flex; align-items:center; gap:12px; position:fixed; z-index:2; right:25px; bottom:29px; border:0; border-radius:17px; padding:10px 16px; min-height:53px; background:#d5f579; box-shadow:0 4px 20px #0002; color:#263616; text-align:left; font-size:12px; font-weight:700; }
.float-help small { display:block; font-size:11px; font-weight:450; }
@media (max-width:780px) {
 .float-help { display:none; }
 .policy-head h1 { font-size:clamp(19px,5.9vw,40px); }
 .policy-graphic { opacity:.24; }
}
.story-layout .workshop-photo img { height:auto; }
@media (max-width:780px) {
 .story-layout .workshop-photo { max-width:460px; width:100%; margin-inline:auto; }
}
