Files
irkutsk_tour/assets/site.css
T

4148 lines
154 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:root{--navy:#072442;--navy2:#0c365d;--cream:#f4e6d6;--cream2:#fbf4ea;--gold:#c6924d;--brown:#6f4f3f;--ink:#0b2948;--line:rgba(198,146,77,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream2);color:var(--ink);font-family:Arial,"Helvetica Neue",sans-serif}a{color:inherit;text-decoration:none}
.hero{min-height:92vh;background:linear-gradient(90deg,rgba(244,230,214,.95) 0 33%,rgba(244,230,214,.28) 55%,rgba(7,36,66,.14)),url(images/image-029dc98bc55c.webp) center/cover no-repeat;position:relative;display:flex;align-items:center;overflow:hidden}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:165px;background:var(--navy);clip-path:path('M0 70 C180 30 330 135 520 95 C690 62 785 28 955 74 C1150 126 1250 25 1440 66 L1440 165 L0 165 Z')}
.hero-inner{position:relative;z-index:2;width:min(1240px,92%);margin:auto;padding:45px 0 140px}.kicker{display:inline-flex;align-items:center;gap:13px;color:var(--brown);font-size:18px;letter-spacing:.03em}.kicker:before{content:"";width:52px;height:1px;background:var(--gold)}.kicker:after{content:"◆";font-size:10px;color:var(--gold);margin-left:-15px}
.hero h1{font-size:clamp(74px,11vw,165px);line-height:.8;margin:24px 0 18px;text-transform:uppercase;letter-spacing:-.06em;color:var(--navy);max-width:760px}.hero h2{font-size:clamp(28px,4vw,54px);line-height:1.08;font-weight:500;text-transform:uppercase;margin:0;max-width:550px}.hero .meta{margin-top:50px;color:var(--gold);letter-spacing:.16em;text-transform:uppercase}
.nav{position:sticky;top:0;z-index:100;background:rgba(7,36,66,.96);backdrop-filter:blur(10px)}.nav-inner{width:min(1240px,94%);margin:auto;display:flex;gap:24px;overflow:auto;padding:14px 0;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em}.nav a{white-space:nowrap;opacity:.86}.nav a:hover{opacity:1;color:#e7bb78}
.page{width:min(1240px,92%);margin:auto;padding:86px 0}.page-title{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:end;margin-bottom:42px}.page-title h3{margin:0;font-size:clamp(44px,6vw,78px);line-height:.95;letter-spacing:-.045em;text-transform:uppercase}.page-title p{margin:0;color:#5f5149;font-size:18px;line-height:1.6}
.route-wrap{background:var(--cream);position:relative;overflow:hidden}.route-wrap:before,.architecture:before{content:"";position:absolute;left:-5%;right:-5%;height:150px;background:var(--navy);opacity:.98;bottom:-70px;border-radius:50% 55% 0 0/45% 55% 0 0;transform:rotate(-1.5deg)}.route-wrap:after{content:"";position:absolute;left:-8%;right:-8%;height:110px;border-top:2px solid rgba(198,146,77,.65);bottom:10px;border-radius:50%;transform:rotate(2deg)}
.map-card{position:relative;z-index:2;background:#fff8ef;border:1px solid rgba(198,146,77,.45);border-radius:28px;padding:18px;box-shadow:0 20px 60px rgba(47,34,24,.12)}.route-map-frame{height:min(72vh,760px);min-height:560px;border-radius:20px;overflow:hidden;background:#fff}.route-map-frame iframe{display:block;width:100%;height:100%;border:0}.map-legend,.map-chip{display:none!important}
.architecture{position:relative;background:linear-gradient(180deg,#fffaf3 0,#f5e7d8 78%,#e6d1bd 100%);overflow:hidden}.architecture .page{position:relative;z-index:2;padding-bottom:180px}.arch-intro{max-width:820px;font-size:19px;line-height:1.7;color:#67554a;margin:-10px 0 48px}
.arch-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:460px;margin:0 0 30px;background:rgba(255,250,244,.93);border:1px solid rgba(198,146,77,.35);border-radius:30px;overflow:hidden;box-shadow:0 20px 48px rgba(44,31,22,.10)}.arch-card:nth-child(even){grid-template-columns:.95fr 1.05fr}.arch-card:nth-child(even) .arch-photo{order:2}.arch-photo{position:relative;background:#d8c4ae center/cover no-repeat;min-height:390px}.arch-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(7,36,66,.42))}.arch-num{position:absolute;z-index:2;left:24px;top:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:700;border:2px solid rgba(255,255,255,.7)}.arch-text{padding:44px 44px 40px;display:flex;flex-direction:column;justify-content:center}.address{color:var(--gold);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px}.arch-text h4{font-size:34px;line-height:1.04;margin:0 0 18px;letter-spacing:-.03em}.arch-text p{font-size:17px;line-height:1.65;margin:0;color:#5f5149}.fact{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:#78634f}.fact b{color:var(--navy)}
.section-wave{height:155px;background:var(--navy);position:relative;overflow:hidden}.section-wave:before{content:"";position:absolute;left:-5%;right:-5%;top:-72px;height:125px;background:#f5e7d8;border-radius:0 0 50% 50%/0 0 55% 55%;transform:rotate(1deg)}.section-wave:after{content:"";position:absolute;left:-10%;right:-10%;top:32px;border-top:2px solid rgba(219,172,105,.75);height:90px;border-radius:50%;transform:rotate(-2deg)}
.simple{background:var(--navy);color:#fff}.simple .page-title p{color:#c9d7e4}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{background:#fff;color:var(--ink);padding:26px;border-radius:22px;min-height:160px}.tile h4{font-size:24px;margin:0 0 10px} .tile p{margin:0;line-height:1.55;color:#5b514b}
.food-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7eadc 0%,#fff9f2 62%,#e7d2bc 100%)}
.food-section:before{content:"";position:absolute;left:-8%;right:-8%;bottom:-85px;height:190px;background:var(--navy);border-radius:50% 50% 0 0/55% 55% 0 0;transform:rotate(-1.3deg)}
.food-section:after{content:"";position:absolute;left:-10%;right:-10%;bottom:34px;height:90px;border-top:2px solid rgba(198,146,77,.72);border-radius:50%;transform:rotate(1.8deg)}
.food-section .page{position:relative;z-index:2;padding-bottom:190px}.food-note{margin:-18px 0 42px;color:#7a6759;font-size:14px;line-height:1.55}
.restaurant-list{display:grid;gap:30px}.restaurant-card{display:grid;grid-template-columns:1.05fr .95fr;min-height:430px;background:rgba(255,250,244,.96);border:1px solid rgba(198,146,77,.38);border-radius:30px;overflow:hidden;box-shadow:0 20px 48px rgba(44,31,22,.10)}
.restaurant-card:nth-child(even){grid-template-columns:.95fr 1.05fr}.restaurant-card:nth-child(even) .restaurant-photo{order:2}.restaurant-photo{position:relative;min-height:360px;background:linear-gradient(135deg,#123a60,#7f5b3a);background-position:center;background-size:cover}.restaurant-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(7,36,66,.58))}.restaurant-num{position:absolute;z-index:2;left:24px;top:22px;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--navy);color:#fff;font-weight:700;border:2px solid rgba(255,255,255,.72)}
.restaurant-body{padding:40px 44px;display:flex;flex-direction:column;justify-content:center}.restaurant-kicker{color:var(--gold);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:13px;margin-bottom:10px}.restaurant-body h4{font-size:36px;line-height:1.03;letter-spacing:-.03em;margin:0 0 13px}.restaurant-address{font-size:14px;color:#796555;margin-bottom:20px}.restaurant-body p{font-size:16px;line-height:1.65;color:#5f5149;margin:0 0 20px}.restaurant-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.rmeta{padding:13px 14px;background:#f3e5d5;border:1px solid rgba(198,146,77,.28);border-radius:14px}.rmeta b{display:block;color:var(--navy);font-size:18px;margin-bottom:3px}.rmeta span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#8a735d}.price-mid{color:#855d2e}.price-high{color:#6f3f25}.restaurant-source{margin-top:17px;font-size:11px;color:#9a8879}.footer{padding:48px 20px;text-align:center;background:#041c34;color:#bfd0df}.footer b{color:#e4b36b}
.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{font-family:Arial,sans-serif;line-height:1.35}.route-marker{background:var(--navy);color:white;border:3px solid #fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;box-shadow:0 3px 10px rgba(0,0,0,.25)}
@media(max-width:850px){.hero{min-height:78vh;background-position:62% center}.hero-inner{padding-bottom:120px}.page{padding:64px 0}.page-title{grid-template-columns:1fr;gap:14px}.arch-card,.arch-card:nth-child(even),.restaurant-card,.restaurant-card:nth-child(even){grid-template-columns:1fr}.arch-card:nth-child(even) .arch-photo,.restaurant-card:nth-child(even) .restaurant-photo{order:0}.arch-text,.restaurant-body{padding:30px}.restaurant-meta{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}.route-map-frame{min-height:470px}}
/* тонкий орнамент иркутских деревянных наличников */
.window-ornament{position:relative;height:118px;margin:16px 0 34px;opacity:.86;overflow:hidden}
.window-ornament svg{display:block;width:100%;height:100%}.window-ornament .goldline{fill:none;stroke:var(--gold);stroke-width:1.25;vector-effect:non-scaling-stroke}.window-ornament .soft{opacity:.42}.window-corner{position:absolute;width:150px;height:210px;pointer-events:none;opacity:.24;z-index:1}.window-corner.left{left:10px;top:110px}.window-corner.right{right:10px;bottom:150px;transform:scaleX(-1)}
.regional-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#082846 0%,#0c365d 48%,#072442 100%);color:#fff}.regional-section .page{position:relative;z-index:2;padding-bottom:150px}.regional-section .page-title p{color:#c9d7e4}.regional-section:before{content:"";position:absolute;left:-12%;right:-12%;top:130px;height:170px;border-top:1px solid rgba(198,146,77,.46);border-radius:50%;transform:rotate(-2deg)}
.regional-section:after{content:"";position:absolute;left:-12%;right:-12%;bottom:40px;height:170px;border-top:2px solid rgba(198,146,77,.62);border-radius:50%;transform:rotate(2deg)}
.regional-section .restaurant-card{background:rgba(251,244,234,.98);color:var(--ink)}
.travel-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#f7eadc,#fffaf4 72%,#ead7c4);padding-bottom:30px}.travel-grid{display:grid;gap:30px}.travel-card{display:grid;grid-template-columns:1.08fr .92fr;min-height:500px;border:1px solid rgba(198,146,77,.4);border-radius:32px;overflow:hidden;background:rgba(255,250,244,.97);box-shadow:0 22px 54px rgba(39,28,20,.11)}.travel-card:nth-child(even){grid-template-columns:.92fr 1.08fr}.travel-card:nth-child(even) .travel-photo{order:2}.travel-photo{min-height:420px;background-position:center;background-size:cover;position:relative}.travel-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(7,36,66,.52))}.travel-body{padding:46px;display:flex;flex-direction:column;justify-content:center}.travel-kicker{color:var(--gold);font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.travel-body h4{font-size:38px;line-height:1.02;margin:0 0 17px;letter-spacing:-.03em}.travel-body p{font-size:17px;line-height:1.65;color:#5f5149;margin:0 0 18px}.travel-points{display:grid;gap:9px;margin-top:8px}.travel-points div{padding:10px 0;border-top:1px solid rgba(198,146,77,.28);font-size:14px;color:#6b5849}.travel-points b{color:var(--navy)}
@media(max-width:850px){.travel-card,.travel-card:nth-child(even){grid-template-columns:1fr}.travel-card:nth-child(even) .travel-photo{order:0}.travel-body{padding:30px}.window-ornament{height:88px}}
/* refined cover — clean image, no baked-in text */
.hero{min-height:900px;background:linear-gradient(90deg,#f8eee1 0 44%,#f8eee1 44%,#f0dfcd 100%);position:relative;display:flex;align-items:stretch;overflow:hidden;border-bottom:1px solid rgba(198,146,77,.38)}
.hero-photo{position:absolute;z-index:0;top:0;right:0;width:61%;height:100%;background-image:linear-gradient(90deg,rgba(248,238,225,.96) 0%,rgba(248,238,225,.42) 15%,rgba(248,238,225,0) 34%),url(images/image-95626fbe7811.webp);background-size:cover;background-position:center center;background-repeat:no-repeat;filter:saturate(.93) contrast(1.02)}
.hero:before{content:"";position:absolute;z-index:1;left:-4%;right:-4%;bottom:-58px;height:210px;background:#082b4f;clip-path:polygon(0 45%,7% 53%,15% 61%,24% 68%,34% 72%,44% 69%,55% 61%,65% 58%,75% 62%,84% 71%,92% 77%,100% 72%,100% 100%,0 100%)}
.hero:after{content:"";position:absolute;z-index:2;left:-3%;right:-3%;bottom:73px;height:118px;border-top:3px solid rgba(210,164,96,.95);border-radius:50%;transform:rotate(1.8deg);background:transparent;clip-path:none}
.hero-inner{position:relative;z-index:3;width:min(1240px,92%);margin:auto;padding:105px 0 155px;display:flex;flex-direction:column;justify-content:space-between;min-height:900px}
.hero-copy{width:min(560px,46vw);padding-left:34px}
.hero h1{font-size:clamp(92px,10.8vw,165px);line-height:.82;margin:0 0 28px;text-transform:uppercase;letter-spacing:-.065em;color:#073056;max-width:none}
.hero h2{font-size:clamp(34px,3.25vw,56px);line-height:1.12;font-weight:500;text-transform:uppercase;margin:0 0 36px;max-width:520px;letter-spacing:.01em;color:#0b3158}
.hero .kicker{display:flex;align-items:center;gap:14px;color:#7a5b3d;font-size:18px;letter-spacing:.025em}
.hero .kicker:before{content:"";width:56px;height:1px;background:#b98a4d}
.hero .kicker:after{content:"◆";font-size:9px;color:#b98a4d;margin-left:-16px}
.hero .meta{align-self:center;margin:0 0 -42px;color:#c7944f;letter-spacing:.18em;text-transform:uppercase;font-size:16px}
.hero-ornament{position:absolute;z-index:2;left:0;top:0;width:82px;height:72%;background:#0a3157;border-right:1px solid rgba(205,159,91,.7);box-shadow:16px 0 42px rgba(7,36,66,.08)}
.hero-ornament svg{width:100%;height:100%;padding:12px 10px;fill:none;stroke:#d4a55d;stroke-width:1.25;opacity:.84}
@media(max-width:900px){
.hero{min-height:760px;background:#f8eee1}
.hero-photo{width:100%;height:46%;top:auto;bottom:120px;background-image:linear-gradient(180deg,#f8eee1 0%,rgba(248,238,225,.08) 30%),url(images/image-95626fbe7811.webp);background-position:center 42%}
.hero-inner{min-height:760px;padding:82px 0 130px}
.hero-copy{width:100%;padding-left:54px}
.hero h1{font-size:clamp(68px,18vw,110px)}
.hero h2{font-size:clamp(28px,7vw,42px);max-width:430px}
.hero .kicker{font-size:15px}
.hero-ornament{width:48px;height:48%}
.hero .meta{margin-bottom:-34px;font-size:13px}
}
/* v6: обложка-шапка по референсу + золотая рыбка у иркутских окон */
.hero.hero-poster{display:block!important;min-height:0!important;height:auto!important;padding:0!important;background:none!important;overflow:hidden!important;position:relative!important}
.hero.hero-poster:before,.hero.hero-poster:after{display:none!important;content:none!important}
.hero-poster-img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#f7eadc}
.window-ornament{position:relative}
.window-ornament:after{content:"";position:absolute;right:8%;top:48%;width:92px;height:44px;transform:translateY(-50%);opacity:.9;background-repeat:no-repeat;background-size:contain;background-position:center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 80'%3E%3Cg fill='none' stroke='%23c6924d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 41c22-24 54-31 84-19 15 6 27 17 35 29-10 7-22 14-36 17-31 7-60-2-83-27z'/%3E%3Cpath d='M137 51l27-18-3 29zM77 20l-9-14 23 9M79 65l-9 12 24-8M40 34c8 8 8 16 0 23'/%3E%3Ccircle cx='113' cy='36' r='2.8' fill='%23c6924d'/%3E%3Cpath d='M22 41H5'/%3E%3C/g%3E%3C/svg%3E")}
@media(max-width:700px){.window-ornament:after{width:68px;height:34px;right:3%}.hero-poster-img{min-height:360px;object-fit:cover;object-position:center}}
/* ===== ЕДИНЫЙ ВИЗУАЛЬНЫЙ ЯЗЫК: ИРКУТСК · БАЙКАЛ · ПРИАНГАРЬЕ ===== */
body{
background:
radial-gradient(circle at 14% 7%,rgba(198,146,77,.08),transparent 24%),
radial-gradient(circle at 86% 48%,rgba(12,54,93,.06),transparent 25%),
#fbf4ea;
}
/* Шапка компактнее: меню видно сразу на большинстве ноутбуков */
.hero.hero-poster{
min-height:0!important;
height:clamp(430px,58vh,610px)!important;
max-height:610px!important;
background:#f7eadc!important;
}
.hero-poster-img{
width:100%!important;
height:100%!important;
max-height:610px!important;
object-fit:cover!important;
object-position:center 47%!important;
}
/* Навигация ближе к журнальному макету обложки */
.nav{
background:rgba(251,244,234,.97)!important;
border-bottom:1px solid rgba(198,146,77,.44);
box-shadow:0 8px 24px rgba(7,36,66,.07);
}
.nav-inner{
color:var(--navy)!important;
padding:13px 0!important;
font-weight:700;
letter-spacing:.055em!important;
}
.nav a{opacity:.92!important}
.nav a:hover{color:var(--gold)!important}
/* Заголовки разделов: тонкая линия, бурятский ромб и маленькая рыбка */
.page-title{
position:relative;
padding-top:26px;
border-top:1px solid rgba(198,146,77,.38);
}
.page-title:before{
content:"◇ ◆ ◇";
position:absolute;
top:-9px;
left:28px;
padding:0 10px;
color:var(--gold);
background:inherit;
font-size:15px;
letter-spacing:.22em;
}
.page-title:after{
content:"";
position:absolute;
top:-18px;
right:18px;
width:86px;
height:38px;
opacity:.8;
background-repeat:no-repeat;
background-size:contain;
background-position:center;
background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 80'%3E%3Cg fill='none' stroke='%23c6924d' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 41c22-24 54-31 84-19 15 6 27 17 35 29-10 7-22 14-36 17-31 7-60-2-83-27z'/%3E%3Cpath d='M137 51l27-18-3 29zM77 20l-9-14 23 9M79 65l-9 12 24-8M40 34c8 8 8 16 0 23'/%3E%3Ccircle cx='113' cy='36' r='2.8' fill='%23c6924d'/%3E%3C/g%3E%3C/svg%3E");
}
/* Общая декоративная рамка для ключевых карточек */
.arch-card,.restaurant-card,.museum-card,.map-card{
border:1px solid rgba(198,146,77,.48)!important;
box-shadow:0 20px 54px rgba(7,36,66,.09)!important;
}
.arch-card,.restaurant-card,.museum-card{
position:relative;
}
.arch-card:after,.restaurant-card:after,.museum-card:after{
content:"";
position:absolute;
pointer-events:none;
inset:9px;
border:1px solid rgba(198,146,77,.13);
border-radius:23px;
}
/* Мягкие волны Ангары между разделами */
.route-wrap,.architecture,.food-section,.museums-section{
background-image:
radial-gradient(ellipse at 15% 0%,rgba(198,146,77,.09),transparent 35%),
linear-gradient(180deg,#fffaf3 0%,#f7eadc 100%);
}
.route-wrap .page,.architecture .page,.food-section .page,.museums-section .page{
position:relative;
}
.route-wrap .page:after,.food-section .page:after,.museums-section .page:after{
content:"";
position:absolute;
left:2%;
right:2%;
bottom:24px;
height:62px;
opacity:.34;
pointer-events:none;
background:
radial-gradient(90% 65% at 20% 100%,transparent 63%,rgba(198,146,77,.75) 64%,transparent 66%),
radial-gradient(80% 65% at 70% 100%,transparent 63%,rgba(7,36,66,.45) 64%,transparent 66%);
}
/* Бурятские геометрические детали — тонко, как орнамент, а не этно-плакат */
.regional-section .page:before,.museums-section .page:before{
content:"◇ ◆ ◇ ◆ ◇ ◆ ◇";
position:absolute;
right:0;
top:28px;
color:rgba(198,146,77,.45);
letter-spacing:.34em;
font-size:13px;
}
.regional-section{
background:
linear-gradient(135deg,rgba(198,146,77,.07) 0 1px,transparent 1px 22px),
linear-gradient(45deg,rgba(198,146,77,.05) 0 1px,transparent 1px 22px),
linear-gradient(180deg,#082846,#0c365d 50%,#072442)!important;
background-size:22px 22px,22px 22px,auto!important;
}
/* ===== МУЗЕИ КАК ПОЛНОЦЕННЫЕ ИСТОРИЧЕСКИЕ БЛОКИ ===== */
.museums-section{
position:relative;
overflow:hidden;
background:
linear-gradient(180deg,#072442 0%,#0b3154 15%,#f7eadc 15%,#fffaf3 100%)!important;
padding-top:1px;
}
.museums-section .page-title{
color:#fff;
border-top-color:rgba(198,146,77,.62);
}
.museums-section .page-title p{color:#d6e0e8}
.museums-section .page-title:before{background:#082846}
.museum-ornament{margin-top:4px}
.museum-list{display:grid;gap:30px;margin-top:8px}
.museum-card{
display:grid;
grid-template-columns:1.05fr .95fr;
min-height:455px;
background:rgba(255,250,244,.98);
border-radius:30px;
overflow:hidden;
}
.museum-card:nth-child(even){grid-template-columns:.95fr 1.05fr}
.museum-card:nth-child(even) .museum-photo{order:2}
.museum-photo{
min-height:390px;
background-position:center;
background-size:cover;
position:relative;
}
.museum-photo:before{
content:"";
position:absolute;
inset:0;
background:linear-gradient(180deg,transparent 48%,rgba(7,36,66,.58));
}
.museum-num{
position:absolute;
z-index:2;
top:22px;
left:24px;
width:58px;
height:58px;
border-radius:50%;
display:grid;
place-items:center;
background:var(--navy);
color:#fff;
border:2px solid var(--gold);
font-weight:800;
font-size:18px;
}
.museum-body{
position:relative;
z-index:2;
padding:42px 44px;
display:flex;
flex-direction:column;
justify-content:center;
}
.museum-kicker{
color:var(--gold);
text-transform:uppercase;
letter-spacing:.12em;
font-size:13px;
font-weight:800;
margin-bottom:10px;
}
.museum-body h4{
color:var(--navy);
font-size:34px;
line-height:1.06;
margin:0 0 14px;
letter-spacing:-.03em;
}
.museum-address{
color:#8b6a43;
font-size:14px;
font-weight:700;
margin-bottom:16px;
}
.museum-body p{
margin:0;
color:#5f5149;
font-size:17px;
line-height:1.66;
}
.museum-fact{
margin-top:22px;
padding-top:17px;
border-top:1px solid rgba(198,146,77,.34);
color:#75614f;
font-size:14px;
line-height:1.55;
}
.museum-fact b{color:var(--navy)}
/* Наличники + рыба остаются повторяющимся мотивом */
.window-ornament{
filter:drop-shadow(0 5px 12px rgba(198,146,77,.08));
}
.window-ornament:before{
content:"◇";
position:absolute;
left:8%;
top:40%;
transform:translateY(-50%);
color:var(--gold);
opacity:.65;
font-size:28px;
}
/* Финал без отдельного блока Байкала */
.regional-footer{
position:relative;
overflow:hidden;
padding:54px 8% 50px!important;
text-align:center;
color:#f7eadc!important;
background:linear-gradient(180deg,#0c365d,#072442)!important;
border-top:2px solid var(--gold);
}
.regional-footer:before,.regional-footer:after{
content:"";
position:absolute;
left:-10%;
right:-10%;
height:70px;
border-top:1px solid rgba(198,146,77,.55);
border-radius:50%;
}
.regional-footer:before{top:20px;transform:rotate(-2deg)}
.regional-footer:after{bottom:-30px;transform:rotate(2deg)}
.footer-lineart{
color:var(--gold);
display:flex;
align-items:center;
justify-content:center;
gap:24px;
margin-bottom:14px;
font-size:22px;
letter-spacing:.15em;
}
.footer-window{font-size:32px}
.footer-fish{font-size:24px}
.regional-footer small{display:block;margin-top:9px;opacity:.8;letter-spacing:.06em}
/* Адаптация */
@media(max-width:900px){
.hero.hero-poster{height:430px!important}
.hero-poster-img{max-height:430px!important;object-position:center 47%!important}
.museum-card,.museum-card:nth-child(even){grid-template-columns:1fr}
.museum-card:nth-child(even) .museum-photo{order:0}
.museum-body{padding:30px}
.museum-photo{min-height:300px}
.page-title:after{width:64px;right:0}
}
@media(max-width:600px){
.hero.hero-poster{height:360px!important}
.hero-poster-img{max-height:360px!important}
.page-title:after{display:none}
}
/* ===== PREMIUM HERO V8 ===== */
.premium-topbar{
position:relative;
z-index:50;
height:76px;
background:rgba(251,246,238,.96);
backdrop-filter:blur(16px);
border-bottom:1px solid rgba(198,146,77,.26);
box-shadow:0 10px 34px rgba(7,36,66,.06);
}
.premium-nav-inner{
width:min(1320px,92%);
height:100%;
margin:auto;
display:flex;
align-items:center;
justify-content:space-between;
gap:30px;
}
.premium-brand{
display:flex;
align-items:center;
gap:12px;
color:var(--navy);
min-width:220px;
}
.brand-mark{width:42px;height:42px;display:grid;place-items:center;color:var(--gold)}
.brand-mark svg{width:100%;height:100%}
.premium-brand b{
display:block;
font-family:Georgia,"Times New Roman",serif;
font-size:23px;
letter-spacing:.05em;
line-height:1;
}
.premium-brand small{
display:block;
margin-top:4px;
font-size:8px;
letter-spacing:.16em;
font-weight:800;
}
.premium-menu{
display:flex;
align-items:center;
gap:28px;
font-size:13px;
font-weight:700;
color:var(--navy);
}
.premium-menu a{
position:relative;
padding:28px 0 24px;
opacity:.9;
transition:.25s ease;
}
.premium-menu a:after{
content:"";
position:absolute;
left:50%;
bottom:15px;
width:0;
height:2px;
background:var(--gold);
transform:translateX(-50%);
transition:.25s ease;
}
.premium-menu a:hover{color:var(--gold)}
.premium-menu a:hover:after{width:70%}
.premium-hero{
position:relative;
min-height:0;
height:clamp(540px,68vh,720px);
overflow:hidden;
isolation:isolate;
background:#e9d7c3;
}
.hero-photo{
position:absolute;
inset:0;
z-index:-5;
background-size:cover;
background-position:center 47%;
transform:scale(1.035);
animation:heroPhotoBreath 16s ease-in-out infinite alternate;
}
.hero-photo-shade{
position:absolute;
inset:0;
z-index:-4;
background:
linear-gradient(90deg,rgba(248,238,226,.18) 0 34%,rgba(248,238,226,.02) 53%,rgba(7,36,66,.08) 100%),
linear-gradient(180deg,rgba(7,36,66,.04),rgba(7,36,66,.08));
}
.hero-cream{
position:absolute;
z-index:-3;
left:0;
top:0;
bottom:0;
width:49%;
background:
radial-gradient(circle at 30% 28%,rgba(255,255,255,.84),transparent 25%),
linear-gradient(90deg,#fbf4ea 0%,rgba(251,244,234,.97) 60%,rgba(251,244,234,.82) 79%,rgba(251,244,234,0) 100%);
}
.hero-cream:after{
content:"";
position:absolute;
inset:0;
opacity:.25;
background-image:radial-gradient(rgba(111,79,63,.17) .6px,transparent .6px);
background-size:5px 5px;
mask-image:linear-gradient(90deg,#000 0 70%,transparent);
}
.window-lace{
position:absolute;
z-index:3;
top:0;
bottom:110px;
color:rgba(198,146,77,.63);
pointer-events:none;
}
.window-lace-left{left:0;width:88px}
.window-lace svg{width:100%;height:100%}
.hero-copy{
position:absolute;
z-index:8;
top:12%;
left:max(8.5%,calc((100vw - 1320px)/2 + 40px));
width:min(540px,42vw);
color:var(--navy);
}
.hero-eyebrow{
margin-bottom:16px;
font-size:14px;
letter-spacing:.28em;
font-weight:700;
opacity:.82;
animation:fadeUp .75s ease both .1s;
}
.hero-copy h1{
margin:0;
font-family:Georgia,"Times New Roman",serif;
font-size:clamp(76px,8vw,128px);
line-height:.84;
letter-spacing:-.055em;
font-weight:700;
animation:fadeUp .9s ease both .2s;
}
.hero-copy h2{
margin:18px 0 0;
font-size:clamp(29px,3.1vw,48px);
line-height:1.08;
letter-spacing:.055em;
font-weight:500;
animation:fadeUp .9s ease both .32s;
}
.hero-note{
display:flex;
align-items:center;
gap:10px;
margin-top:22px;
color:#9b743c;
font-size:17px;
letter-spacing:.045em;
animation:fadeUp .9s ease both .44s;
}
.hero-note span{width:76px;height:1px;background:var(--gold)}
.hero-note i{
width:9px;height:9px;
background:var(--gold);
transform:rotate(45deg);
margin-left:-15px;
}
.hero-actions{
display:flex;
gap:12px;
margin-top:24px;
animation:fadeUp .9s ease both .56s;
}
.hero-btn{
min-height:48px;
padding:0 23px;
border-radius:999px;
display:inline-flex;
align-items:center;
justify-content:center;
gap:10px;
font-size:14px;
font-weight:700;
transition:.25s ease;
}
.hero-btn-primary{
color:white;
background:linear-gradient(135deg,#0b426e,#072442);
box-shadow:0 12px 30px rgba(7,36,66,.22);
border:1px solid rgba(255,255,255,.14);
}
.hero-btn-light{
background:rgba(251,244,234,.78);
border:1px solid rgba(198,146,77,.72);
color:var(--navy);
backdrop-filter:blur(8px);
}
.hero-btn:hover{transform:translateY(-2px)}
.hero-btn-primary:hover{box-shadow:0 16px 34px rgba(7,36,66,.28)}
.hero-quote{
position:absolute;
z-index:8;
right:7%;
top:17%;
width:285px;
color:#0b3154;
text-shadow:0 1px 14px rgba(255,248,238,.75);
animation:fadeIn 1.2s ease both .75s;
}
.hero-quote blockquote{
margin:0;
font-family:Georgia,"Times New Roman",serif;
font-size:24px;
line-height:1.32;
font-style:italic;
}
.quote-line{
margin:18px 0 0 auto;
width:78px;
height:18px;
border-top:2px solid var(--gold);
border-radius:50%;
transform:rotate(-7deg);
}
.angara-badge{
position:absolute;
right:5.2%;
bottom:72px;
z-index:10;
width:146px;
height:146px;
border-radius:50%;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
color:#f6dfb3;
background:rgba(7,36,66,.64);
border:1px solid rgba(198,146,77,.8);
backdrop-filter:blur(8px);
box-shadow:0 18px 40px rgba(7,36,66,.22);
letter-spacing:.12em;
animation:floatBadge 4.2s ease-in-out infinite;
}
.angara-badge span{font-size:18px;margin-bottom:6px}
.angara-badge b{font-size:13px}
.angara-badge small{font-size:9px;margin-top:4px}
.angara-badge a{
position:absolute;
bottom:10px;
width:30px;height:30px;border-radius:50%;
border:1px solid rgba(246,223,179,.8);
display:grid;place-items:center;
font-size:18px;
}
.hero-waves{
position:absolute;
z-index:6;
left:0;right:0;bottom:-1px;
height:190px;
pointer-events:none;
}
.hero-waves svg{position:absolute;inset:0;width:100%;height:100%}
.wave1{fill:#082846;opacity:.98}
.wave2{fill:#0e4b79;opacity:.68}
.wave-line{fill:none;stroke:#d0a466;stroke-width:2;opacity:.75}
.wave-line-2{fill:none;stroke:#f2d8ae;stroke-width:1.5;opacity:.7}
.gold-fish{
position:absolute;
left:24%;
bottom:48px;
width:126px;
color:#c6924d;
animation:fishDrift 7s ease-in-out infinite;
}
.gold-fish svg{position:static;width:100%;height:auto}
.hero-feature-strip{
min-height:135px;
display:grid;
grid-template-columns:repeat(5,1fr);
background:#fbf4ea;
border-bottom:1px solid rgba(198,146,77,.25);
box-shadow:0 10px 30px rgba(7,36,66,.045);
}
.hero-feature-strip a{
min-width:0;
padding:24px 20px 20px;
text-align:center;
position:relative;
transition:.25s ease;
}
.hero-feature-strip a:not(:last-child):after{
content:"";
position:absolute;right:0;top:27%;bottom:27%;
width:1px;background:rgba(198,146,77,.28);
}
.hero-feature-strip a:hover{background:rgba(198,146,77,.055)}
.feature-icon{
display:block;
height:28px;
color:var(--gold);
font-size:26px;
line-height:1;
margin-bottom:8px;
}
.hero-feature-strip b{
display:block;
color:var(--navy);
font-size:13px;
letter-spacing:.04em;
}
.hero-feature-strip small{
display:block;
margin-top:6px;
color:#6c5a4d;
font-size:11px;
line-height:1.35;
}
@keyframes heroPhotoBreath{
from{transform:scale(1.035) translate3d(0,0,0)}
to{transform:scale(1.07) translate3d(-.4%,.3%,0)}
}
@keyframes fadeUp{
from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes fadeIn{
from{opacity:0}
to{opacity:1}
}
@keyframes floatBadge{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-7px)}
}
@keyframes fishDrift{
0%,100%{transform:translateX(0) rotate(-2deg)}
50%{transform:translateX(24px) rotate(2deg)}
}
@media(max-width:1120px){
.premium-menu{gap:16px;font-size:12px}
.premium-brand{min-width:185px}
.hero-quote{display:none}
.hero-copy{left:8%;width:48vw}
}
@media(max-width:850px){
.premium-topbar{height:auto}
.premium-nav-inner{padding:12px 0;flex-wrap:wrap}
.premium-menu{width:100%;overflow:auto;padding-bottom:3px}
.premium-menu a{padding:7px 0 9px;white-space:nowrap}
.premium-menu a:after{bottom:2px}
.premium-hero{height:610px}
.hero-cream{width:70%}
.hero-copy{left:9%;top:10%;width:70vw}
.hero-copy h1{font-size:72px}
.hero-copy h2{font-size:31px}
.angara-badge{right:4%;bottom:68px;width:116px;height:116px}
.hero-feature-strip{grid-template-columns:repeat(2,1fr)}
.hero-feature-strip a:last-child{grid-column:1/-1}
}
@media(max-width:560px){
.premium-brand small{display:none}
.premium-menu{gap:18px}
.premium-hero{height:565px}
.hero-photo{background-position:59% center}
.hero-cream{width:88%}
.window-lace{opacity:.45;width:54px}
.hero-copy{left:11%;top:8%;width:80vw}
.hero-eyebrow{font-size:10px}
.hero-copy h1{font-size:54px}
.hero-copy h2{font-size:24px}
.hero-note{font-size:13px}
.hero-note span{width:44px}
.hero-actions{flex-direction:column;align-items:flex-start}
.hero-btn{min-height:44px}
.angara-badge{display:none}
.gold-fish{left:11%;width:96px}
.hero-feature-strip{grid-template-columns:1fr}
.hero-feature-strip a:not(:last-child):after{top:auto;left:14%;right:14%;bottom:0;width:auto;height:1px}
.hero-feature-strip a:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
.hero-photo,.hero-eyebrow,.hero-copy h1,.hero-copy h2,.hero-note,.hero-actions,.hero-quote,.angara-badge,.gold-fish{
animation:none!important;
}
}
/* ===== V10: БАЙКАЛ + ИРКУТСК — РЫБЫ ТОЛЬКО В ШАПКЕ ===== */
.premium-hero .hero-photo{
background-size:cover!important;
background-position:center 43%!important;
filter:saturate(1.04) contrast(1.03);
}
/* Лёгкая водная дымка: ощущение Байкала поверх городского пейзажа */
.premium-hero:before{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;
background:
radial-gradient(ellipse at 58% 14%,rgba(255,255,255,.12),transparent 26%),
linear-gradient(180deg,rgba(7,56,94,.16) 0%,rgba(7,56,94,.05) 28%,transparent 52%);
mix-blend-mode:soft-light;
}
/* Рыбы существуют только внутри hero */
.hero-water-fish{
position:absolute;
inset:0;
z-index:7;
overflow:hidden;
pointer-events:none;
mask-image:linear-gradient(180deg,#000 0%,#000 82%,transparent 100%);
}
.hero-fish{
position:absolute;
display:block;
color:rgba(214,166,96,.68);
filter:drop-shadow(0 4px 8px rgba(3,29,51,.16));
opacity:0;
will-change:transform,opacity;
}
.hero-fish svg{display:block;width:100%;height:auto}
/* Разные глубины, размеры и направления */
.hf1{width:118px;top:15%;left:-16%;animation:diveRight1 17s linear infinite 0s}
.hf2{width:78px;top:28%;left:-14%;animation:diveRight2 21s linear infinite 4s;color:rgba(240,196,126,.58)}
.hf3{width:142px;top:42%;right:-18%;animation:diveLeft1 24s linear infinite 2s}
.hf4{width:64px;top:54%;left:-12%;animation:diveRight3 19s linear infinite 8s;color:rgba(14,67,104,.62)}
.hf5{width:96px;top:67%;right:-14%;animation:diveLeft2 22s linear infinite 11s;color:rgba(238,190,113,.54)}
.hf6{width:52px;top:36%;right:-12%;animation:diveLeft3 16s linear infinite 6s;color:rgba(14,67,104,.48)}
@keyframes diveRight1{
0%{transform:translate3d(-8vw,-18px,0) rotate(-7deg) scale(.92);opacity:0}
8%{opacity:.72}
28%{transform:translate3d(28vw,10px,0) rotate(5deg) scale(1)}
52%{transform:translate3d(58vw,62px,0) rotate(12deg) scale(.94);opacity:.78}
74%{transform:translate3d(84vw,16px,0) rotate(-4deg) scale(1.02)}
92%{opacity:.64}
100%{transform:translate3d(124vw,-36px,0) rotate(-9deg) scale(.9);opacity:0}
}
@keyframes diveRight2{
0%{transform:translate3d(-10vw,34px,0) rotate(9deg) scale(.8);opacity:0}
10%{opacity:.55}
36%{transform:translate3d(34vw,-26px,0) rotate(-10deg) scale(.92)}
64%{transform:translate3d(74vw,42px,0) rotate(13deg) scale(.86);opacity:.62}
100%{transform:translate3d(122vw,-12px,0) rotate(-5deg) scale(.78);opacity:0}
}
@keyframes diveRight3{
0%{transform:translate3d(-12vw,-12px,0) rotate(-4deg);opacity:0}
12%{opacity:.48}
46%{transform:translate3d(48vw,40px,0) rotate(11deg)}
76%{transform:translate3d(86vw,-32px,0) rotate(-9deg);opacity:.5}
100%{transform:translate3d(122vw,12px,0) rotate(4deg);opacity:0}
}
@keyframes diveLeft1{
0%{transform:translate3d(12vw,-28px,0) scaleX(-1) rotate(-6deg);opacity:0}
10%{opacity:.7}
32%{transform:translate3d(-28vw,20px,0) scaleX(-1) rotate(8deg)}
58%{transform:translate3d(-62vw,76px,0) scaleX(-1) rotate(14deg);opacity:.76}
82%{transform:translate3d(-92vw,4px,0) scaleX(-1) rotate(-5deg)}
100%{transform:translate3d(-126vw,-40px,0) scaleX(-1) rotate(-10deg);opacity:0}
}
@keyframes diveLeft2{
0%{transform:translate3d(10vw,18px,0) scaleX(-1) rotate(8deg);opacity:0}
12%{opacity:.52}
44%{transform:translate3d(-42vw,-30px,0) scaleX(-1) rotate(-11deg)}
70%{transform:translate3d(-78vw,44px,0) scaleX(-1) rotate(13deg);opacity:.56}
100%{transform:translate3d(-124vw,-8px,0) scaleX(-1) rotate(-5deg);opacity:0}
}
@keyframes diveLeft3{
0%{transform:translate3d(12vw,-8px,0) scaleX(-1) rotate(-4deg);opacity:0}
14%{opacity:.42}
50%{transform:translate3d(-48vw,34px,0) scaleX(-1) rotate(10deg)}
78%{transform:translate3d(-88vw,-22px,0) scaleX(-1) rotate(-8deg);opacity:.46}
100%{transform:translate3d(-122vw,6px,0) scaleX(-1) rotate(3deg);opacity:0}
}
/* Рыбы не перекрывают текст: слева они чуть тише */
.hero-water-fish:after{
content:"";
position:absolute;
inset:0;
pointer-events:none;
background:linear-gradient(90deg,rgba(251,244,234,.42) 0 32%,transparent 52%);
}
/* На мобильных оставляем только три рыбы */
@media(max-width:700px){
.hf2,.hf5,.hf6{display:none}
.hf1{width:86px}
.hf3{width:102px}
.hf4{width:54px}
}
/* Для пользователей с отключённой анимацией */
@media(prefers-reduced-motion:reduce){
.hero-fish{animation:none!important;opacity:.12}
}
/* ===== V11 — ШАПКА "БАЙКАЛ + ИРКУТСК" ПО РЕФЕРЕНСУ ===== */
.lux-topbar{
position:relative;z-index:100;height:76px;background:#fbf4ea;
border-bottom:1px solid rgba(198,146,77,.25);box-shadow:0 10px 30px rgba(7,36,66,.05)
}
.lux-topbar-inner{width:min(1340px,94%);height:100%;margin:auto;display:flex;align-items:center;gap:28px}
.lux-brand{display:flex;align-items:center;gap:10px;min-width:220px;color:var(--navy)}
.lux-brand-icon{width:42px;height:42px;color:var(--navy)}.lux-brand-icon svg{width:100%;height:100%}
.lux-brand-copy b{display:block;font:700 24px/1 Georgia,serif;letter-spacing:.04em}
.lux-brand-copy small{display:block;margin-top:4px;font-size:8px;letter-spacing:.14em;font-weight:800}
.lux-menu{display:flex;align-items:center;gap:24px;flex:1;justify-content:center;font-size:13px;font-weight:700}
.lux-menu a{position:relative;padding:28px 0 24px}.lux-menu a:after{content:"";position:absolute;left:50%;bottom:15px;width:0;height:2px;background:var(--gold);transform:translateX(-50%);transition:.25s}.lux-menu a:hover:after,.lux-menu a.active:after{width:75%}
.lux-actions{display:flex;gap:10px;align-items:center}.lux-circle,.lux-save{height:42px;border:1px solid rgba(198,146,77,.75);display:flex;align-items:center;justify-content:center;background:#fffaf3}.lux-circle{width:42px;border-radius:50%;font-size:22px}.lux-save{border-radius:999px;padding:0 18px;gap:8px}
.lux-hero{position:relative;height:650px;overflow:hidden;isolation:isolate;background:#e9d7c3}
.lux-city-photo{position:absolute;inset:0;z-index:-6;background-size:cover!important;background-position:center 45%!important;transform:scale(1.015);animation:luxPhoto 18s ease-in-out infinite alternate}
.lux-city-overlay{position:absolute;inset:0;z-index:-5;background:linear-gradient(90deg,rgba(251,244,234,.12) 0 34%,rgba(251,244,234,0) 56%),linear-gradient(180deg,rgba(7,36,66,.03),rgba(7,36,66,.08))}
.lux-cream-panel{position:absolute;left:0;top:110px;bottom:80px;width:46%;z-index:-2;background:linear-gradient(90deg,#fbf4ea 0%,rgba(251,244,234,.98) 62%,rgba(251,244,234,.82) 80%,rgba(251,244,234,0) 100%)}
.lux-lace{position:absolute;left:0;top:95px;bottom:95px;width:82px;z-index:8;color:rgba(198,146,77,.7)}.lux-lace svg{width:100%;height:100%}
.lux-water-zone{position:absolute;left:0;right:0;top:0;height:235px;z-index:9;overflow:hidden;background:linear-gradient(180deg,rgba(5,47,82,.97),rgba(6,60,99,.86) 58%,rgba(7,54,91,.55) 82%,rgba(7,54,91,0))}
.lux-water-zone:after{content:"";position:absolute;inset:auto 0 0;height:90px;background:linear-gradient(180deg,transparent,rgba(7,36,66,.04))}
.water-surface{position:absolute;left:-8%;width:116%;height:68px;border-radius:50%;border-top:3px solid rgba(255,236,201,.78);filter:drop-shadow(0 4px 12px rgba(255,214,149,.2))}
.surface-a{top:8px;animation:surfaceShift 7s ease-in-out infinite}.surface-b{top:34px;opacity:.65;animation:surfaceShift2 10s ease-in-out infinite}
.water-rays{position:absolute;inset:0;background:radial-gradient(ellipse at 60% 0%,rgba(255,223,169,.35),transparent 32%),repeating-linear-gradient(103deg,transparent 0 8%,rgba(255,241,214,.05) 9%,transparent 10%);mix-blend-mode:screen;animation:raysPulse 5s ease-in-out infinite}
.bubble-field i{position:absolute;bottom:-18px;left:var(--x);width:var(--s);height:var(--s);border:1px solid rgba(255,255,255,.52);border-radius:50%;animation:bubbleRise 8s linear infinite var(--d)}
.lux-fish{position:absolute;color:rgba(214,164,89,.92);will-change:transform;filter:drop-shadow(0 3px 5px rgba(0,0,0,.14))}
.lux-fish svg{width:100%;height:auto;display:block}
.lf1{width:120px;top:62px;left:-14%;animation:fishR 15s linear infinite}
.lf2{width:78px;top:118px;right:-10%;animation:fishL 18s linear infinite 3s}
.lf3{width:150px;top:134px;left:-16%;animation:fishRdeep 22s linear infinite 6s}
.lf4{width:66px;top:80px;right:-10%;animation:fishLdeep 16s linear infinite 8s}
.lf5{width:92px;top:154px;left:-12%;animation:fishR 20s linear infinite 10s;color:rgba(241,201,131,.68)}
.lux-water-phrase{position:absolute;right:9%;top:105px;color:#e2b16e;font:700 18px/1.35 Georgia,serif;letter-spacing:.06em}
.lux-copy{position:absolute;z-index:12;left:max(9%,calc((100vw - 1340px)/2 + 24px));top:245px;width:min(560px,44vw);color:var(--navy)}
.lux-eyebrow{color:#9b743c;font:700 15px/1.2 Georgia,serif;letter-spacing:.08em;margin-bottom:14px;animation:fadeUp .7s ease both .1s}
.lux-copy h1{margin:0;font:700 clamp(74px,7.4vw,118px)/.84 Georgia,serif;letter-spacing:-.055em;animation:fadeUp .85s ease both .2s}
.lux-copy h2{margin:19px 0 0;font:500 clamp(28px,2.8vw,44px)/1.08 Georgia,serif;letter-spacing:.025em;animation:fadeUp .85s ease both .3s}
.lux-note{margin-top:22px;color:#9b743c;font:700 15px/1.2 Georgia,serif;letter-spacing:.04em;animation:fadeUp .85s ease both .4s}
.lux-buttons{display:flex;gap:12px;margin-top:22px;animation:fadeUp .85s ease both .5s}
.lux-primary,.lux-secondary{height:50px;padding:0 25px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}
.lux-primary{background:linear-gradient(135deg,#0a426f,#072442);color:white;box-shadow:0 12px 28px rgba(7,36,66,.22)}
.lux-secondary{background:rgba(251,244,234,.82);border:1px solid rgba(198,146,77,.7);backdrop-filter:blur(8px)}
.lux-badge{position:absolute;right:5%;bottom:82px;z-index:14;width:150px;height:150px;border-radius:50%;background:rgba(7,36,66,.72);border:1px solid rgba(198,146,77,.85);color:#f0cf95;display:flex;flex-direction:column;align-items:center;justify-content:center;letter-spacing:.1em;backdrop-filter:blur(8px);animation:badgeFloat 4s ease-in-out infinite}
.lux-badge span{margin-bottom:7px}.lux-badge b{font:700 16px/1 Georgia,serif}.lux-badge small{font-size:9px;margin-top:7px}.lux-badge a{position:absolute;bottom:10px;width:32px;height:32px;border:1px solid #f0cf95;border-radius:50%;display:grid;place-items:center}
.lux-bottom-waves{position:absolute;left:0;right:0;bottom:-1px;height:150px;z-index:11}.lux-bottom-waves svg{width:100%;height:100%}.bw1{fill:#082846}.bw2{fill:#0d4a77;opacity:.68}.bwline{fill:none;stroke:#d0a466;stroke-width:2}.bwline2{stroke:#f1d4a9;stroke-width:1.4}
.lux-feature-strip{min-height:137px;display:grid;grid-template-columns:repeat(5,1fr);background:#fbf4ea;border-bottom:1px solid rgba(198,146,77,.24)}
.lux-feature-strip a{text-align:center;padding:24px 18px 20px;position:relative}.lux-feature-strip a:not(:last-child):after{content:"";position:absolute;right:0;top:28%;bottom:28%;width:1px;background:rgba(198,146,77,.3)}
.lux-feature-strip span{display:block;color:var(--gold);font-size:25px;margin-bottom:8px}.lux-feature-strip b{display:block;color:var(--navy);font:700 16px/1 Georgia,serif}.lux-feature-strip small{display:block;margin-top:7px;color:#5f5149;font-size:12px;line-height:1.35}
@keyframes luxPhoto{from{transform:scale(1.015)}to{transform:scale(1.055) translateX(-.4%)}}
@keyframes surfaceShift{0%,100%{transform:translateX(-1%) rotate(-1deg)}50%{transform:translateX(1.5%) rotate(1deg)}}
@keyframes surfaceShift2{0%,100%{transform:translateX(2%) rotate(1deg)}50%{transform:translateX(-1%) rotate(-1deg)}}
@keyframes raysPulse{0%,100%{opacity:.62}50%{opacity:1}}
@keyframes bubbleRise{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.7}100%{transform:translateY(-250px) scale(1.15);opacity:0}}
@keyframes fishR{0%{transform:translate3d(-12vw,0,0) rotate(-3deg);opacity:0}10%{opacity:1}45%{transform:translate3d(48vw,24px,0) rotate(6deg)}75%{transform:translate3d(82vw,-14px,0) rotate(-4deg)}100%{transform:translate3d(124vw,8px,0);opacity:0}}
@keyframes fishL{0%{transform:translate3d(12vw,0,0) scaleX(-1);opacity:0}10%{opacity:1}50%{transform:translate3d(-52vw,28px,0) scaleX(-1) rotate(7deg)}100%{transform:translate3d(-124vw,-8px,0) scaleX(-1);opacity:0}}
@keyframes fishRdeep{0%{transform:translate3d(-12vw,18px,0) rotate(7deg);opacity:0}12%{opacity:.9}52%{transform:translate3d(55vw,-10px,0) rotate(-8deg)}100%{transform:translate3d(126vw,22px,0) rotate(5deg);opacity:0}}
@keyframes fishLdeep{0%{transform:translate3d(10vw,10px,0) scaleX(-1);opacity:0}15%{opacity:.8}55%{transform:translate3d(-58vw,-18px,0) scaleX(-1) rotate(-6deg)}100%{transform:translate3d(-123vw,14px,0) scaleX(-1);opacity:0}}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(max-width:1080px){
.lux-menu{gap:14px;font-size:12px}.lux-actions{display:none}.lux-copy{width:52vw}.lux-water-phrase{display:none}
}
@media(max-width:800px){
.lux-topbar{height:auto}.lux-topbar-inner{padding:12px 0;flex-wrap:wrap}.lux-menu{order:3;width:100%;overflow:auto;justify-content:flex-start}.lux-menu a{white-space:nowrap;padding:8px 0 10px}
.lux-hero{height:620px}.lux-water-zone{height:205px}.lux-copy{left:10%;top:225px;width:78vw}.lux-copy h1{font-size:66px}.lux-copy h2{font-size:29px}.lux-cream-panel{width:78%;top:95px}.lux-badge{display:none}.lux-feature-strip{grid-template-columns:repeat(2,1fr)}.lux-feature-strip a:last-child{grid-column:1/-1}
}
@media(max-width:560px){
.lux-brand-copy small{display:none}.lux-hero{height:580px}.lux-water-zone{height:185px}.lux-copy{top:207px}.lux-copy h1{font-size:52px}.lux-copy h2{font-size:23px}.lux-buttons{flex-direction:column;align-items:flex-start}.lf2,.lf4{display:none}.lux-feature-strip{grid-template-columns:1fr}.lux-feature-strip a:last-child{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
.lux-city-photo,.water-surface,.water-rays,.bubble-field i,.lux-fish,.lux-badge,.lux-eyebrow,.lux-copy h1,.lux-copy h2,.lux-note,.lux-buttons{animation:none!important}
}
/* ===== V12 FIXES ===== */
/* Возвращаем изображению главный вес в шапке */
.lux-hero{
height:680px!important;
}
.lux-city-photo{
inset:0!important;
background-size:cover!important;
background-position:center 44%!important;
transform:scale(1.005)!important;
animation:luxPhotoFixed 20s ease-in-out infinite alternate!important;
}
.lux-city-overlay{
background:
linear-gradient(90deg,rgba(251,244,234,.11) 0 31%,rgba(251,244,234,.025) 50%,rgba(7,36,66,.05) 100%),
linear-gradient(180deg,rgba(7,36,66,.02),rgba(7,36,66,.055))!important;
}
/* Вода больше не перекрывает слишком большую часть фото */
.lux-water-zone{
height:190px!important;
background:
linear-gradient(180deg,rgba(5,47,82,.96) 0%,rgba(6,60,99,.80) 52%,rgba(7,54,91,.46) 78%,rgba(7,54,91,0) 100%)!important;
}
.lux-cream-panel{
top:92px!important;
bottom:86px!important;
width:46%!important;
}
.lux-copy{
top:214px!important;
}
.lux-water-phrase{
top:104px!important;
right:8%!important;
color:#efc27b!important;
font:700 18px/1.32 Georgia,serif!important;
letter-spacing:.055em!important;
text-align:left;
text-shadow:0 2px 12px rgba(7,36,66,.28);
}
/* Меньше декоративной воды внизу, чтобы не съедала арку и набережную */
.lux-bottom-waves{
height:118px!important;
}
/* Рыбы плывут носом вперёд: вправо — обычные, влево — зеркальные */
.lf1,.lf3,.lf5{
transform-origin:center;
}
.lf2,.lf4{
transform-origin:center;
}
/* Более плавные, длинные траектории */
.lf1{animation:fishForwardRight1 26s linear infinite 0s!important}
.lf2{animation:fishForwardLeft1 31s linear infinite 4s!important}
.lf3{animation:fishForwardRight2 34s linear infinite 7s!important}
.lf4{animation:fishForwardLeft2 28s linear infinite 11s!important}
.lf5{animation:fishForwardRight3 38s linear infinite 15s!important}
@keyframes fishForwardRight1{
0%{transform:translate3d(-18vw,0,0) rotate(-2deg);opacity:0}
8%{opacity:.82}
25%{transform:translate3d(18vw,7px,0) rotate(1deg)}
50%{transform:translate3d(52vw,18px,0) rotate(3deg)}
75%{transform:translate3d(86vw,2px,0) rotate(-1deg)}
92%{opacity:.82}
100%{transform:translate3d(124vw,-6px,0) rotate(-2deg);opacity:0}
}
@keyframes fishForwardLeft1{
0%{transform:translate3d(18vw,0,0) scaleX(-1) rotate(2deg);opacity:0}
8%{opacity:.8}
28%{transform:translate3d(-18vw,8px,0) scaleX(-1) rotate(-1deg)}
55%{transform:translate3d(-56vw,16px,0) scaleX(-1) rotate(-3deg)}
82%{transform:translate3d(-92vw,0,0) scaleX(-1) rotate(1deg)}
100%{transform:translate3d(-126vw,-5px,0) scaleX(-1) rotate(2deg);opacity:0}
}
@keyframes fishForwardRight2{
0%{transform:translate3d(-20vw,10px,0) rotate(2deg);opacity:0}
10%{opacity:.72}
32%{transform:translate3d(22vw,-6px,0) rotate(-2deg)}
60%{transform:translate3d(62vw,12px,0) rotate(2deg)}
86%{transform:translate3d(98vw,-2px,0) rotate(-1deg)}
100%{transform:translate3d(128vw,5px,0) rotate(1deg);opacity:0}
}
@keyframes fishForwardLeft2{
0%{transform:translate3d(18vw,6px,0) scaleX(-1) rotate(-2deg);opacity:0}
10%{opacity:.7}
35%{transform:translate3d(-24vw,-5px,0) scaleX(-1) rotate(2deg)}
65%{transform:translate3d(-68vw,11px,0) scaleX(-1) rotate(-1deg)}
90%{transform:translate3d(-106vw,-3px,0) scaleX(-1) rotate(1deg)}
100%{transform:translate3d(-130vw,4px,0) scaleX(-1) rotate(-1deg);opacity:0}
}
@keyframes fishForwardRight3{
0%{transform:translate3d(-16vw,6px,0) rotate(-1deg);opacity:0}
10%{opacity:.58}
35%{transform:translate3d(26vw,0,0) rotate(1deg)}
68%{transform:translate3d(74vw,10px,0) rotate(2deg)}
90%{transform:translate3d(106vw,-2px,0) rotate(-1deg)}
100%{transform:translate3d(126vw,3px,0) rotate(0deg);opacity:0}
}
/* Плавнее сама вода и фото */
@keyframes luxPhotoFixed{
from{transform:scale(1.005) translate3d(0,0,0)}
to{transform:scale(1.025) translate3d(-.18%,.08%,0)}
}
.surface-a{animation:surfaceShiftFixed 12s ease-in-out infinite!important}
.surface-b{animation:surfaceShiftFixed2 16s ease-in-out infinite!important}
.water-rays{animation:raysPulseFixed 8s ease-in-out infinite!important}
@keyframes surfaceShiftFixed{
0%,100%{transform:translateX(-.6%) rotate(-.5deg)}
50%{transform:translateX(.8%) rotate(.5deg)}
}
@keyframes surfaceShiftFixed2{
0%,100%{transform:translateX(.8%) rotate(.45deg)}
50%{transform:translateX(-.6%) rotate(-.45deg)}
}
@keyframes raysPulseFixed{
0%,100%{opacity:.52}
50%{opacity:.78}
}
@media(max-width:800px){
.lux-hero{height:620px!important}
.lux-water-zone{height:170px!important}
.lux-copy{top:195px!important}
.lux-city-photo{background-position:58% 44%!important}
}
/* ===== V13: БЕЗ ФОТО + РЫБЫ В ДРУГУЮ СТОРОНУ + ПУЗЫРЬКИ ПО ВСЕМУ САЙТУ ===== */
/* Полностью убираем фотографию из шапки */
.lux-city-photo{
background-image:none!important;
animation:none!important;
transform:none!important;
}
.lux-hero{
background:
radial-gradient(circle at 72% 42%,rgba(246,196,126,.28),transparent 22%),
radial-gradient(circle at 78% 48%,rgba(255,225,173,.18),transparent 30%),
linear-gradient(180deg,#0c385e 0 28%,#154d78 28% 43%,#f0d7b9 43% 61%,#fbf4ea 61% 100%)!important;
}
.lux-city-overlay{
background:
linear-gradient(180deg,rgba(7,36,66,.06),rgba(7,36,66,.02) 45%,rgba(251,244,234,.16))!important;
}
.lux-cream-panel{
background:
linear-gradient(90deg,#fbf4ea 0%,rgba(251,244,234,.99) 66%,rgba(251,244,234,.82) 83%,rgba(251,244,234,0) 100%)!important;
}
/* Рыбы теперь все идут справа налево и смотрят носом в сторону движения */
.lf1,.lf2,.lf3,.lf4,.lf5{
left:auto!important;
right:-18%!important;
transform-origin:center!important;
}
.lf1{animation:allFishLeft1 30s linear infinite 0s!important}
.lf2{animation:allFishLeft2 36s linear infinite 5s!important}
.lf3{animation:allFishLeft3 42s linear infinite 9s!important}
.lf4{animation:allFishLeft2 33s linear infinite 13s!important}
.lf5{animation:allFishLeft1 46s linear infinite 17s!important}
@keyframes allFishLeft1{
0%{transform:translate3d(14vw,0,0) scaleX(-1) rotate(1deg);opacity:0}
8%{opacity:.82}
28%{transform:translate3d(-22vw,8px,0) scaleX(-1) rotate(-1deg)}
56%{transform:translate3d(-58vw,16px,0) scaleX(-1) rotate(-2deg)}
82%{transform:translate3d(-94vw,2px,0) scaleX(-1) rotate(1deg)}
100%{transform:translate3d(-126vw,-5px,0) scaleX(-1) rotate(0deg);opacity:0}
}
@keyframes allFishLeft2{
0%{transform:translate3d(16vw,6px,0) scaleX(-1) rotate(-1deg);opacity:0}
10%{opacity:.7}
35%{transform:translate3d(-24vw,-5px,0) scaleX(-1) rotate(2deg)}
65%{transform:translate3d(-70vw,11px,0) scaleX(-1) rotate(-1deg)}
90%{transform:translate3d(-108vw,-3px,0) scaleX(-1) rotate(1deg)}
100%{transform:translate3d(-132vw,4px,0) scaleX(-1) rotate(0deg);opacity:0}
}
@keyframes allFishLeft3{
0%{transform:translate3d(18vw,-4px,0) scaleX(-1) rotate(1deg);opacity:0}
12%{opacity:.62}
40%{transform:translate3d(-30vw,6px,0) scaleX(-1) rotate(-1deg)}
72%{transform:translate3d(-78vw,15px,0) scaleX(-1) rotate(-2deg)}
92%{transform:translate3d(-110vw,0,0) scaleX(-1) rotate(1deg)}
100%{transform:translate3d(-134vw,-4px,0) scaleX(-1) rotate(0deg);opacity:0}
}
/* Пузырьки по всему сайту */
.site-bubbles{
position:fixed;
inset:0;
z-index:6;
pointer-events:none;
overflow:hidden;
}
.site-bubbles i{
position:absolute;
left:var(--x);
bottom:-40px;
width:var(--s);
height:var(--s);
border-radius:50%;
border:1px solid rgba(34,88,126,.18);
background:rgba(255,255,255,.12);
box-shadow:
inset 0 0 0 1px rgba(255,255,255,.16),
0 0 9px rgba(34,88,126,.05);
animation:siteBubbleUp var(--t) linear infinite var(--d);
}
@keyframes siteBubbleUp{
0%{
transform:translate3d(0,0,0) scale(.72);
opacity:0;
}
10%{opacity:.28}
45%{
transform:translate3d(12px,-50vh,0) scale(.92);
opacity:.24;
}
75%{
transform:translate3d(-8px,-82vh,0) scale(1.04);
opacity:.18;
}
100%{
transform:translate3d(6px,-115vh,0) scale(1.12);
opacity:0;
}
}
/* Чтобы пузыри не мешали чтению карточек */
.page,.lux-copy,.lux-topbar,.lux-feature-strip,.arch-card,.museum-card,.restaurant-card,.map-card,.regional-footer{
position:relative;
z-index:8;
}
@media(max-width:700px){
.site-bubbles{opacity:.55}
.site-bubbles i:nth-child(2n){display:none}
}
@media(prefers-reduced-motion:reduce){
.site-bubbles i,.lux-fish{animation:none!important;opacity:.08}
}
/* ===== V14: ТЕКСТ + ЗАМЕТНЫЕ ПУЗЫРИ + РЫБЫ НОСОМ ВПЕРЁД ===== */
/* Заголовок под новую формулировку */
.lux-copy h2{
font-size:clamp(24px,2.45vw,39px)!important;
line-height:1.08!important;
max-width:590px;
}
/* Пузырьков больше и они заметнее */
.site-bubbles i{
border:1.35px solid rgba(34,88,126,.32)!important;
background:
radial-gradient(circle at 32% 28%,rgba(255,255,255,.56) 0 12%,rgba(255,255,255,.16) 16%,rgba(90,151,190,.10) 55%,rgba(255,255,255,.03) 72%)!important;
box-shadow:
inset -2px -2px 5px rgba(34,88,126,.10),
inset 2px 2px 4px rgba(255,255,255,.34),
0 0 10px rgba(34,88,126,.10)!important;
}
@keyframes siteBubbleUp{
0%{
transform:translate3d(0,0,0) scale(.68);
opacity:0;
}
8%{opacity:.52}
38%{
transform:translate3d(14px,-42vh,0) scale(.9);
opacity:.46;
}
68%{
transform:translate3d(-10px,-78vh,0) scale(1.04);
opacity:.38;
}
100%{
transform:translate3d(8px,-118vh,0) scale(1.16);
opacity:0;
}
}
/* Рыбы: движение только слева направо, без scaleX(-1) */
.lf1,.lf2,.lf3,.lf4,.lf5{
left:-18%!important;
right:auto!important;
transform-origin:center!important;
}
.lf1{animation:fishNoseForward1 32s linear infinite 0s!important}
.lf2{animation:fishNoseForward2 38s linear infinite 5s!important}
.lf3{animation:fishNoseForward3 44s linear infinite 9s!important}
.lf4{animation:fishNoseForward2 35s linear infinite 13s!important}
.lf5{animation:fishNoseForward1 48s linear infinite 17s!important}
@keyframes fishNoseForward1{
0%{transform:translate3d(-16vw,0,0) rotate(-1deg);opacity:0}
8%{opacity:.84}
30%{transform:translate3d(24vw,7px,0) rotate(1deg)}
58%{transform:translate3d(62vw,14px,0) rotate(2deg)}
84%{transform:translate3d(98vw,2px,0) rotate(-1deg)}
100%{transform:translate3d(128vw,-4px,0) rotate(0deg);opacity:0}
}
@keyframes fishNoseForward2{
0%{transform:translate3d(-18vw,5px,0) rotate(1deg);opacity:0}
10%{opacity:.72}
34%{transform:translate3d(28vw,-4px,0) rotate(-1deg)}
65%{transform:translate3d(72vw,10px,0) rotate(1deg)}
90%{transform:translate3d(108vw,-2px,0) rotate(-1deg)}
100%{transform:translate3d(132vw,3px,0) rotate(0deg);opacity:0}
}
@keyframes fishNoseForward3{
0%{transform:translate3d(-20vw,-4px,0) rotate(-1deg);opacity:0}
12%{opacity:.64}
40%{transform:translate3d(32vw,5px,0) rotate(1deg)}
72%{transform:translate3d(80vw,12px,0) rotate(2deg)}
92%{transform:translate3d(112vw,0,0) rotate(-1deg)}
100%{transform:translate3d(134vw,-3px,0) rotate(0deg);opacity:0}
}
@media(max-width:700px){
.site-bubbles{opacity:.82!important}
}
/* ===== V15: БЕЗ РЫБ + РЕЗНЫЕ ИРКУТСКИЕ ОКОШКИ ПО БОКАМ ===== */
/* Рыб больше нет */
.lux-fish,.hf1,.hf2,.hf3,.hf4,.hf5,.hf6,.hero-fish,.gold-fish{
display:none!important;
}
/* Боковые резные наличники */
.irkutsk-side-windows{
position:fixed;
top:0;
bottom:0;
width:76px;
z-index:5;
pointer-events:none;
color:rgba(198,146,77,.34);
opacity:.95;
}
.irkutsk-side-windows svg{
width:100%;
height:100%;
display:block;
filter:drop-shadow(0 1px 3px rgba(7,36,66,.03));
}
.left-windows{left:0}
.right-windows{right:0;transform:scaleX(-1)}
/* Очень тонкое затухание, чтобы рамка не спорила с контентом */
.irkutsk-side-windows{
-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
mask-image:linear-gradient(180deg,transparent 0,#000 5%,#000 95%,transparent 100%);
}
/* Чуть больше воздуха от боковых декоративных рамок */
@media(min-width:1200px){
.page,
.lux-topbar-inner{
width:min(1320px,86%)!important;
}
}
/* На тёмных секциях наличники чуть светлее визуально за счёт blend */
.regional-section,
.regional-footer,
.museums-section{
isolation:isolate;
}
/* На мобильных не перегружаем экран */
@media(max-width:900px){
.irkutsk-side-windows{
width:46px;
color:rgba(198,146,77,.22);
}
}
@media(max-width:620px){
.irkutsk-side-windows{
display:none;
}
}
/* ===== V16: СТАТИЧНОЕ ИСТОРИЧЕСКОЕ ОФОРМЛЕНИЕ ПО БОКАМ САЙТА ===== */
/* Старые боковые рамки полностью отключены */
.irkutsk-side-windows{display:none!important}
/* Слой начинается ПОСЛЕ шапки и скроллится вместе со страницей */
body{position:relative}
.historic-side-frame{
position:absolute;
left:0;
right:0;
top:893px;
bottom:0;
z-index:3;
pointer-events:none;
overflow:hidden;
}
.historic-rail{
position:absolute;
top:0;
bottom:0;
width:94px;
opacity:.72;
color:#b98545;
background:
linear-gradient(90deg,transparent 0 25%,rgba(198,146,77,.22) 26% 27%,transparent 28% 72%,rgba(198,146,77,.22) 73% 74%,transparent 75%),
repeating-linear-gradient(180deg,
transparent 0 86px,
rgba(198,146,77,.22) 87px 88px,
transparent 89px 174px);
}
.historic-left{left:0}
.historic-right{right:0;transform:scaleX(-1)}
.carved-window{
position:absolute;
left:13px;
width:68px;
height:132px;
border:1.4px solid rgba(185,133,69,.55);
border-radius:34px 34px 6px 6px;
background:
linear-gradient(90deg,transparent 49%,rgba(185,133,69,.48) 50% 51%,transparent 52%),
linear-gradient(180deg,transparent 49%,rgba(185,133,69,.48) 50% 51%,transparent 52%);
box-shadow:
inset 0 0 0 7px rgba(244,230,214,.22),
0 0 0 1px rgba(185,133,69,.10);
}
.carved-window:before{
content:"";
position:absolute;
left:-9px;
right:-9px;
top:-27px;
height:43px;
clip-path:polygon(0 100%,10% 55%,20% 82%,30% 33%,40% 69%,50% 4%,60% 69%,70% 33%,80% 82%,90% 55%,100% 100%);
background:rgba(185,133,69,.45);
}
.carved-window:after{
content:"";
position:absolute;
left:-7px;
right:-7px;
bottom:-17px;
height:12px;
border-top:1.4px solid rgba(185,133,69,.55);
border-bottom:1.4px solid rgba(185,133,69,.35);
}
.cw1{top:90px}.cw2{top:23%}.cw3{top:45%}.cw4{top:67%}.cw5{top:88%}
.carved-rosette{
position:absolute;
left:29px;
width:36px;
height:36px;
border:1.4px solid rgba(185,133,69,.50);
transform:rotate(45deg);
}
.carved-rosette:before,
.carved-rosette:after{
content:"";
position:absolute;
inset:7px;
border:1px solid rgba(185,133,69,.45);
border-radius:50%;
}
.carved-rosette:after{
inset:14px;
background:rgba(185,133,69,.38);
border:0;
}
.historic-rail .carved-rosette:nth-of-type(2){top:16%}
.historic-rail .carved-rosette:nth-of-type(6){top:60%}
.carved-diamond-band{
position:absolute;
left:15px;
width:64px;
height:72px;
background:
linear-gradient(45deg,transparent 42%,rgba(185,133,69,.40) 43% 46%,transparent 47% 100%) 0 0/20px 20px,
linear-gradient(-45deg,transparent 42%,rgba(185,133,69,.40) 43% 46%,transparent 47% 100%) 0 0/20px 20px;
opacity:.82;
}
.historic-rail .carved-diamond-band:nth-of-type(4){top:35%}
.historic-rail .carved-diamond-band:nth-of-type(8){top:79%}
/* Дополнительная историческая резьба у заголовков разделов */
.page-title:before,
.section-title:before{
content:"";
display:inline-block;
width:42px;
height:18px;
margin-right:12px;
vertical-align:middle;
background:
linear-gradient(135deg,transparent 38%,rgba(198,146,77,.8) 39% 45%,transparent 46%) 0 0/14px 14px,
linear-gradient(45deg,transparent 38%,rgba(198,146,77,.8) 39% 45%,transparent 46%) 7px 0/14px 14px;
opacity:.78;
}
/* Тонкая декоративная линия в духе деревянного наличника */
.page-title:after,
.section-title:after{
content:"";
display:block;
width:88px;
height:5px;
margin-top:12px;
background:
repeating-linear-gradient(90deg,
rgba(198,146,77,.8) 0 8px,
transparent 8px 13px,
rgba(198,146,77,.5) 13px 16px,
transparent 16px 22px);
border-radius:99px;
}
/* На шапке декора боковых наличников нет */
.lux-topbar,
.lux-hero,
.lux-feature-strip{
position:relative;
z-index:10;
}
/* На узких экранах резьба становится тоньше */
@media(max-width:1100px){
.historic-rail{width:64px;opacity:.46}
.carved-window{left:10px;width:45px;height:94px}
.carved-rosette{left:19px;width:28px;height:28px}
.carved-diamond-band{left:9px;width:48px}
}
@media(max-width:760px){
.historic-side-frame{display:none}
}
/* Никакого движения декора при наведении или движении мыши */
.historic-side-frame,
.historic-side-frame *{
animation:none!important;
transition:none!important;
transform-origin:center;
}
.historic-right{transform:scaleX(-1)!important}
/* ===== V17 — СОВРЕМЕННАЯ ПОЛНОСТЬЮ СИНЯЯ ШАПКА ===== */
/* Верхняя навигация */
.lux-topbar{
background:#072f52!important;
border-bottom:1px solid rgba(255,255,255,.12)!important;
box-shadow:none!important;
color:#fff!important;
}
.lux-brand,
.lux-brand-icon,
.lux-menu a{
color:#fff!important;
}
.lux-brand-copy b{
font-family:Arial,Helvetica,sans-serif!important;
font-size:22px!important;
font-weight:700!important;
letter-spacing:.08em!important;
}
.lux-brand-copy small{
color:rgba(255,255,255,.66)!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:8px!important;
letter-spacing:.18em!important;
}
.lux-menu{
font-family:Arial,Helvetica,sans-serif!important;
font-size:12px!important;
font-weight:500!important;
letter-spacing:.015em!important;
}
.lux-menu a:after{
background:#d3a45f!important;
}
.lux-circle,.lux-save{
color:#fff!important;
background:rgba(255,255,255,.06)!important;
border-color:rgba(255,255,255,.28)!important;
backdrop-filter:blur(8px);
}
/* Вся hero-шапка — единый синий цвет, без градиентов */
.lux-hero{
height:630px!important;
background:#07365d!important;
}
.lux-city-photo{
display:none!important;
background:none!important;
}
.lux-city-overlay{
display:none!important;
}
.lux-cream-panel{
display:none!important;
}
/* Водная зона больше не отдельный градиент */
.lux-water-zone{
height:190px!important;
background:#07365d!important;
border-bottom:1px solid rgba(255,255,255,.06);
}
.lux-water-zone:after{
display:none!important;
}
.water-rays{
opacity:.12!important;
background:repeating-linear-gradient(
104deg,
transparent 0 10%,
rgba(255,255,255,.06) 10.5%,
transparent 11.5%
)!important;
}
.water-surface{
border-top-color:rgba(255,255,255,.22)!important;
filter:none!important;
}
.lux-water-phrase{
color:#d9ad69!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:13px!important;
font-weight:600!important;
line-height:1.4!important;
letter-spacing:.13em!important;
text-transform:uppercase;
text-shadow:none!important;
}
/* Основной текст — более современная типографика */
.lux-copy{
top:222px!important;
width:min(670px,55vw)!important;
color:#fff!important;
}
.lux-eyebrow{
margin-bottom:16px!important;
color:#d9ad69!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:12px!important;
font-weight:600!important;
letter-spacing:.16em!important;
}
.lux-copy h1{
color:#fff!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:clamp(68px,7vw,108px)!important;
font-weight:700!important;
line-height:.88!important;
letter-spacing:-.055em!important;
}
.lux-copy h2{
max-width:620px!important;
margin-top:22px!important;
color:#f8f2e9!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:clamp(25px,2.3vw,36px)!important;
font-weight:400!important;
line-height:1.08!important;
letter-spacing:-.025em!important;
}
.lux-note{
margin-top:21px!important;
color:#d9ad69!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:11px!important;
font-weight:600!important;
letter-spacing:.14em!important;
}
.lux-buttons{
margin-top:25px!important;
}
.lux-primary,.lux-secondary{
height:48px!important;
border-radius:7px!important;
font-family:Arial,Helvetica,sans-serif!important;
font-size:12px!important;
font-weight:600!important;
letter-spacing:.035em!important;
}
.lux-primary{
background:#d09a51!important;
color:#072f52!important;
box-shadow:none!important;
}
.lux-primary:hover{
background:#dfad68!important;
}
.lux-secondary{
color:#fff!important;
background:transparent!important;
border:1px solid rgba(255,255,255,.38)!important;
backdrop-filter:none!important;
}
/* Убираем резное окно именно из шапки */
.lux-lace{
display:none!important;
}
/* Нижняя часть шапки — тоже синяя, без цветового градиента */
.lux-bottom-waves{
height:105px!important;
}
.lux-bottom-waves .bw1{
fill:#062b4b!important;
}
.lux-bottom-waves .bw2{
fill:#07365d!important;
opacity:1!important;
}
.lux-bottom-waves .bwline{
stroke:rgba(217,173,105,.62)!important;
}
.lux-bottom-waves .bwline2{
stroke:rgba(255,255,255,.20)!important;
}
/* Бейдж — чище и проще */
.lux-badge{
width:132px!important;
height:132px!important;
bottom:78px!important;
background:#062b4b!important;
border:1px solid rgba(217,173,105,.72)!important;
box-shadow:none!important;
backdrop-filter:none!important;
}
.lux-badge b{
font-family:Arial,Helvetica,sans-serif!important;
font-size:13px!important;
letter-spacing:.14em!important;
}
.lux-badge small{
font-family:Arial,Helvetica,sans-serif!important;
color:rgba(255,255,255,.66)!important;
}
/* Блок под шапкой оставляем светлым для контраста */
.lux-feature-strip{
background:#fbf4ea!important;
}
/* Пузырьки в самой шапке чуть спокойнее */
.lux-hero .bubble-field i{
border-color:rgba(255,255,255,.28)!important;
opacity:.65;
}
@media(max-width:800px){
.lux-hero{height:590px!important}
.lux-copy{top:205px!important;width:80vw!important}
.lux-copy h1{font-size:62px!important}
.lux-copy h2{font-size:25px!important}
}
@media(max-width:560px){
.lux-copy h1{font-size:49px!important}
.lux-copy h2{font-size:21px!important}
}
/* ===== V18 — ШАПКА В ТОЧНОСТИ ПО ПРИСЛАННОМУ РЕФЕРЕНСУ ===== */
/* Скрываем прежнюю шапку целиком */
.lux-topbar,
.lux-hero,
.lux-feature-strip{
display:none!important;
}
/* Точная визуальная шапка по референсу */
.exact-reference-header{
position:relative;
z-index:30;
width:100%;
background:#062b4b;
overflow:hidden;
}
.exact-reference-visual{
width:100%;
line-height:0;
background:#062b4b;
}
.exact-reference-visual img{
display:block;
width:100%;
height:auto;
object-fit:cover;
}
/* Нижняя синяя навигационная плашка */
.exact-reference-nav{
min-height:54px;
display:flex;
align-items:center;
justify-content:center;
gap:38px;
padding:0 28px;
background:#082a48;
border-top:1px solid rgba(235,211,178,.72);
white-space:nowrap;
overflow-x:auto;
scrollbar-width:none;
}
.exact-reference-nav::-webkit-scrollbar{display:none}
.exact-reference-nav a{
position:relative;
color:#f4e6d6!important;
text-decoration:none;
font-family:Arial,Helvetica,sans-serif!important;
font-size:13px;
font-weight:600;
letter-spacing:.08em;
line-height:54px;
opacity:.92;
}
.exact-reference-nav a:after{
content:"";
position:absolute;
left:0;
right:0;
bottom:8px;
height:1px;
background:#c6924d;
transform:scaleX(0);
transform-origin:center;
transition:transform .22s ease;
}
.exact-reference-nav a:hover:after{transform:scaleX(1)}
/* Старое absolute-оформление начиналось с фиксированной высоты прежней шапки:
теперь запускаем его ниже референсной шапки */
.historic-side-frame{
top:calc(100vw * 0.4107 + 54px)!important;
}
/* Пузырьки оставляем на сайте, но не поверх самой шапки */
.exact-reference-header{
isolation:isolate;
}
.exact-reference-header ~ .site-bubbles,
.site-bubbles{
z-index:6;
}
.exact-reference-header{
z-index:40;
}
/* Адаптация: сохраняем весь дизайн, ничего не режем */
@media(max-width:900px){
.exact-reference-nav{
justify-content:flex-start;
gap:28px;
min-height:50px;
}
.exact-reference-nav a{
font-size:11px;
line-height:50px;
}
}
@media(max-width:560px){
.exact-reference-nav{
min-height:46px;
gap:22px;
padding:0 16px;
}
.exact-reference-nav a{
font-size:10px;
line-height:46px;
}
}
/* ===== V19: ИРКУТСК + БАЙКАЛ, ПОЛНОСТЬЮ HTML/CSS/SVG ===== */
/* Убираем все прежние версии шапки */
.exact-reference-header,
.lux-topbar,
.lux-hero,
.lux-feature-strip,
.premium-topbar,
.premium-hero,
.hero-feature-strip{
display:none!important;
}
/* Основная сцена */
.baikal-header{
--deep:#052c4d;
--deep2:#06365e;
--blue:#0c4c78;
--blue2:#2c739f;
--cream:#f7ebdc;
--gold:#c99552;
position:relative;
min-height:760px;
overflow:hidden;
isolation:isolate;
color:var(--cream);
background:
radial-gradient(circle at 77% 39%,rgba(41,108,151,.30),transparent 28%),
radial-gradient(circle at 58% 18%,rgba(15,79,121,.38),transparent 36%),
#052f52;
}
/* Небольшая водная глубина без использования изображений */
.baikal-header:before{
content:"";
position:absolute;
inset:0;
z-index:-3;
background:
repeating-linear-gradient(104deg,transparent 0 11%,rgba(119,178,210,.032) 11.3%,transparent 12.2%),
repeating-linear-gradient(0deg,transparent 0 72px,rgba(255,255,255,.017) 73px,transparent 74px);
}
/* Навигация */
.baikal-nav-wrap{
position:relative;
z-index:20;
height:88px;
display:flex;
align-items:center;
gap:36px;
width:min(1480px,92%);
margin:0 auto;
border-bottom:1px solid rgba(247,235,220,.10);
}
.baikal-brand{
flex:0 0 auto;
display:flex;
align-items:center;
gap:11px;
color:var(--cream);
}
.brand-window{
width:38px;height:38px;
fill:none;stroke:var(--gold);stroke-width:1.55;
}
.baikal-brand span{display:flex;flex-direction:column}
.baikal-brand b{
font:700 20px/1 Georgia,"Times New Roman",serif;
letter-spacing:.08em;
}
.baikal-brand small{
margin-top:5px;
font:600 7.5px/1 Arial,sans-serif;
letter-spacing:.18em;
color:rgba(247,235,220,.62);
}
.baikal-nav{
display:flex;
align-items:center;
justify-content:center;
gap:27px;
flex:1;
min-width:0;
}
.baikal-nav a{
position:relative;
padding:34px 0 30px;
color:rgba(247,235,220,.82);
font:500 11px/1 Arial,sans-serif;
letter-spacing:.015em;
white-space:nowrap;
}
.baikal-nav a:after{
content:"";
position:absolute;
left:50%;right:50%;bottom:20px;height:1px;
background:var(--gold);
transition:left .25s ease,right .25s ease;
}
.baikal-nav a:before{
content:"◇";
position:absolute;
left:50%;bottom:12px;
transform:translateX(-50%) scale(.5);
color:var(--gold);
opacity:0;
transition:opacity .2s ease,transform .2s ease;
}
.baikal-nav a:hover:after{left:0;right:0}
.baikal-nav a:hover:before{opacity:1;transform:translateX(-50%) scale(.72)}
.baikal-nav-actions{display:flex;align-items:center;gap:12px}
.nav-circle,.nav-save{
height:40px;
display:flex;align-items:center;justify-content:center;
border:1px solid rgba(201,149,82,.60);
color:var(--cream);
}
.nav-circle{width:40px;border-radius:50%;font-size:17px}
.nav-save{
border-radius:999px;padding:0 17px;
font:500 10px Arial,sans-serif;gap:7px;
}
/* Крупная резьба */
.carved-left{
position:absolute;
left:-18px;
top:74px;
height:690px;
width:310px;
z-index:5;
color:rgba(247,235,220,.86);
filter:drop-shadow(0 10px 22px rgba(0,0,0,.16));
}
.carved-left:after{content:""}
.carved-corner{
position:absolute;z-index:4;
color:rgba(247,235,220,.72);
}
.carved-corner-top{right:-10px;top:74px;width:230px;height:230px}
/* Текст */
.hero-copy{
position:relative;
z-index:12;
width:min(690px,47vw);
margin-left:max(330px,18vw);
padding-top:86px;
}
.hero-eyebrow{
display:flex;align-items:center;gap:14px;
color:var(--gold);
font:600 11px/1 Arial,sans-serif;
letter-spacing:.27em;
}
.hero-eyebrow span{width:42px;height:1px;background:var(--gold)}
.hero-copy h1{
margin:20px 0 6px;
color:var(--cream);
font:500 clamp(76px,7.6vw,126px)/.84 Georgia,"Times New Roman",serif;
letter-spacing:-.055em;
}
.hero-copy h2{
margin:22px 0 0;
color:#f5e6d2;
font:400 clamp(24px,2.1vw,36px)/1.08 Arial,sans-serif;
letter-spacing:-.025em;
}
.hero-copy p{
max-width:560px;
margin:20px 0 0;
color:rgba(247,235,220,.67);
font:400 13px/1.65 Arial,sans-serif;
}
.hero-actions{display:flex;gap:13px;margin-top:26px}
.hero-actions a{
height:48px;display:inline-flex;align-items:center;justify-content:center;
border-radius:999px;padding:0 23px;
font:600 11px Arial,sans-serif;
}
.hero-primary{
background:linear-gradient(180deg,#d9ac68,#c9914e);
color:#082b4a;
box-shadow:0 8px 24px rgba(0,0,0,.13);
}
.hero-primary b{font-size:18px;margin-left:18px}
.hero-primary{text-transform:uppercase}
.hero-primary-arrow{width:1.25em;height:1.25em;margin-left:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
/* Читаемая шапка: навигация не должна выглядеть как подпись к логотипу. */
.baikal-nav-wrap{height:118px!important;gap:30px!important}
.brand-window{width:44px;height:44px}
.baikal-brand b{font-size:24px!important}
.baikal-brand small{font-size:9px!important}
.baikal-nav{gap:20px!important}
.baikal-nav a{font-size:13px!important;padding:38px 0 34px!important}
.menu-toggle{display:none;border:0;background:transparent;color:var(--cream);padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:2px;margin:5px 0;background:currentColor;border-radius:2px;transition:transform .2s ease,opacity .2s ease}
@media(max-width:1200px){
.baikal-nav-wrap{height:108px!important;gap:22px!important}
.baikal-brand b{font-size:22px!important}
.baikal-nav{gap:14px!important}
.baikal-nav a{font-size:12px!important}
}
@media(max-width:900px){
.baikal-nav-wrap{height:96px!important;gap:14px!important}
.baikal-brand b{font-size:20px!important}
.baikal-nav{gap:9px!important}
.baikal-nav a{font-size:11px!important;padding:28px 0 24px!important}
}
.hero-secondary{
border:1px solid rgba(201,149,82,.72);
color:var(--cream);
}
/* Байкальский пейзаж справа */
.baikal-landscape{
position:absolute;
z-index:3;
right:-4%;
bottom:120px;
width:58%;
height:46%;
opacity:.90;
}
.deep-label{
position:absolute;z-index:10;
right:7%;top:155px;
display:flex;gap:12px;align-items:flex-start;
color:var(--gold);
font:600 11px/1.45 Arial,sans-serif;
letter-spacing:.13em;
}
.deep-label span{width:36px;height:1px;background:var(--gold);margin-top:7px}
/* Рыба */
.fish-lane{
position:absolute;
z-index:11;
left:28%;right:6%;
top:205px;
height:150px;
pointer-events:none;
}
.fish-swimmer{
position:absolute;
width:170px;height:72px;
color:#d1a15e;
animation:fishRoundTrip 28s linear infinite;
will-change:transform,opacity;
}
.baikal-fish{width:170px;height:72px;display:block}
.fish-trail{position:absolute;left:-18px;top:29px;width:35px;height:20px}
.fish-trail i{
position:absolute;
border:1px solid rgba(215,236,246,.58);
border-radius:50%;
background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.55),rgba(255,255,255,.04) 35%,transparent 70%);
animation:trailBubble 2.8s ease-out infinite;
}
.fish-trail i:nth-child(1){width:5px;height:5px;left:18px;top:8px;animation-delay:0s}
.fish-trail i:nth-child(2){width:7px;height:7px;left:10px;top:3px;animation-delay:.45s}
.fish-trail i:nth-child(3){width:4px;height:4px;left:2px;top:10px;animation-delay:.9s}
.fish-trail i:nth-child(4){width:6px;height:6px;left:15px;top:14px;animation-delay:1.35s}
.fish-trail i:nth-child(5){width:3px;height:3px;left:5px;top:2px;animation-delay:1.8s}
@keyframes fishRoundTrip{
0%{transform:translate3d(-8vw,0,0) scaleX(1) rotate(-1deg);opacity:0}
5%{opacity:.86}
45%{transform:translate3d(48vw,18px,0) scaleX(1) rotate(1deg);opacity:.86}
49%{transform:translate3d(53vw,22px,0) scaleX(1) rotate(0deg);opacity:0}
50%{transform:translate3d(53vw,22px,0) scaleX(-1) rotate(0deg);opacity:0}
55%{opacity:.86}
95%{transform:translate3d(-8vw,-3px,0) scaleX(-1) rotate(-1deg);opacity:.86}
100%{transform:translate3d(-8vw,-3px,0) scaleX(-1) rotate(0deg);opacity:0}
}
@keyframes trailBubble{
0%{transform:translate3d(0,0,0) scale(.65);opacity:0}
18%{opacity:.68}
100%{transform:translate3d(-15px,-20px,0) scale(1.15);opacity:0}
}
/* Волны и переход */
.baikal-waves{
position:absolute;
z-index:9;
left:0;right:0;bottom:-1px;
width:100%;height:235px;
}
.baikal-waves .w1{fill:#0b4a75}
.baikal-waves .w2{fill:#07395f}
.baikal-waves .w3{fill:#052a49}
.baikal-waves .gold-line{fill:none;stroke:#c99552;stroke-width:2.2;opacity:.82}
.baikal-waves .gold-line.thin{stroke-width:1.15;opacity:.55}
.baikal-waves .cream-transition{fill:#f8eddf}
/* Нижняя светлая панель */
.baikal-feature-strip{
position:relative;
z-index:15;
display:grid;
grid-template-columns:repeat(5,1fr);
gap:0;
min-height:135px;
padding:18px max(6vw,70px) 28px;
background:#f8eddf;
color:#082b4a;
}
.baikal-feature-strip a{
position:relative;
display:flex;flex-direction:column;
align-items:center;text-align:center;
justify-content:center;
padding:12px 28px;
}
.baikal-feature-strip a:not(:last-child):after{
content:"";
position:absolute;right:0;top:25%;bottom:15%;
width:1px;background:rgba(201,149,82,.35);
}
.baikal-feature-strip b{
color:#0a3153;
font:700 12px/1 Arial,sans-serif;
letter-spacing:.04em;
}
.baikal-feature-strip span{
margin-top:8px;
color:#37546d;
font:400 11px/1.45 Arial,sans-serif;
}
.baikal-feature-strip a:before{
content:"◇";
color:#c99552;
font-size:23px;
margin-bottom:7px;
}
/* 30 естественных пузырьков по всему сайту */
.site-bubbles{
position:fixed;
inset:0;
z-index:18;
overflow:hidden;
pointer-events:none;
}
.site-bubbles i{
position:absolute;
left:var(--x);
bottom:-24px;
width:var(--s);height:var(--s);
border-radius:50%;
border:1px solid rgba(220,241,250,.46);
background:
radial-gradient(circle at 29% 24%,rgba(255,255,255,.72) 0 10%,rgba(255,255,255,.16) 15%,transparent 40%),
radial-gradient(circle at 62% 68%,rgba(110,176,208,.16),transparent 62%);
box-shadow:
inset -1px -1px 3px rgba(20,83,116,.16),
0 0 8px rgba(88,157,191,.08);
filter:blur(var(--blur));
opacity:0;
animation:bubbleRise var(--dur) linear infinite var(--delay);
will-change:transform,opacity;
}
@keyframes bubbleRise{
0%{transform:translate3d(0,0,0) scale(.72);opacity:0}
8%{opacity:var(--op)}
38%{transform:translate3d(calc(var(--drift)*.35),-42vh,0) scale(.92);opacity:var(--op)}
72%{transform:translate3d(calc(var(--drift)*-.2),-82vh,0) scale(1.04);opacity:calc(var(--op)*.8)}
100%{transform:translate3d(var(--drift),-116vh,0) scale(var(--grow));opacity:0}
}
/* Боковой исторический декор не должен залезать в новую шапку */
.historic-side-frame{top:895px!important}
/* Адаптация */
@media(max-width:1180px){
.baikal-nav{gap:16px}
.baikal-nav a{font-size:10px}
.hero-copy{margin-left:260px;width:55vw}
.carved-left{width:250px;left:-30px}
}
@media(max-width:900px){
.baikal-header{min-height:700px}
.baikal-nav{display:none}
.baikal-nav-wrap{justify-content:space-between;height:74px}
.hero-copy{margin-left:80px;width:72vw;padding-top:110px}
.carved-left{width:190px;left:-95px;opacity:.72}
.baikal-landscape{width:72%;opacity:.55}
.fish-lane{left:20%;right:3%;top:210px}
.deep-label{display:none}
.baikal-feature-strip{grid-template-columns:1fr 1fr;padding:18px 25px}
.baikal-feature-strip a:nth-child(5){grid-column:1 / -1}
}
@media(max-width:620px){
.baikal-header{min-height:670px}
.baikal-brand small,.nav-save span{display:none}
.hero-copy{margin-left:28px;width:84vw;padding-top:108px}
.hero-copy h1{font-size:58px}
.hero-copy h2{font-size:22px}
.hero-copy p{font-size:12px}
.carved-left{width:140px;left:-95px;opacity:.55}
.carved-corner{opacity:.45}
.fish-lane{top:185px;left:22%}
.fish-swimmer,.baikal-fish{width:128px;height:56px}
.baikal-landscape{right:-18%;width:105%;bottom:125px}
.baikal-feature-strip{grid-template-columns:1fr}
.baikal-feature-strip a:nth-child(5){grid-column:auto}
.baikal-feature-strip a:after{display:none}
}
@media(prefers-reduced-motion:reduce){
.fish-swimmer,.fish-trail i,.site-bubbles i{
animation:none!important;
}
.fish-swimmer{transform:translate3d(26vw,10px,0) scaleX(1)!important;opacity:.72}
.site-bubbles i{opacity:.12}
}
/* ===== V20: ДВЕ РЫБЫ + "ПОГРУЗИТЬСЯ" + ПЕРЕНОС DEEP LABEL ===== */
/* Одна кнопка вместо двух */
.hero-actions{
margin-top:28px!important;
}
.hero-secondary{
display:none!important;
}
.hero-primary{
min-width:190px;
justify-content:space-between!important;
padding:0 24px!important;
}
/* "Глубже, чем кажется" — крупнее и в свободной зоне */
.deep-label{
right:5.5%!important;
top:112px!important;
gap:16px!important;
max-width:210px;
color:#d7a65f!important;
font-size:16px!important;
line-height:1.25!important;
font-weight:600!important;
letter-spacing:.10em!important;
text-align:left;
}
.deep-label span{
width:44px!important;
margin-top:10px!important;
flex:0 0 44px;
}
/* Две разные дорожки рыб */
.fish-lane{
position:absolute;
z-index:11;
pointer-events:none;
height:110px;
}
.fish-lane-one{
left:34%;
right:6%;
top:228px;
}
.fish-lane-two{
left:46%;
right:10%;
top:346px;
}
.fish-one{
animation:fishRoundTripOne 30s linear infinite!important;
}
.fish-two{
width:142px!important;
height:62px!important;
animation:fishRoundTripTwo 36s linear infinite 7s!important;
opacity:.82;
}
.fish-two .baikal-fish{
width:142px!important;
height:62px!important;
}
/* Рыба 1: головой вперед в обе стороны */
@keyframes fishRoundTripOne{
0%{
transform:translate3d(-10vw,2px,0) scaleX(1) rotate(-1deg);
opacity:0;
}
5%{opacity:.88}
44%{
transform:translate3d(44vw,14px,0) scaleX(1) rotate(1deg);
opacity:.88;
}
48%{
transform:translate3d(49vw,18px,0) scaleX(1) rotate(0deg);
opacity:0;
}
50%{
transform:translate3d(49vw,18px,0) scaleX(-1) rotate(0deg);
opacity:0;
}
55%{opacity:.88}
94%{
transform:translate3d(-10vw,-4px,0) scaleX(-1) rotate(-1deg);
opacity:.88;
}
100%{
transform:translate3d(-10vw,-4px,0) scaleX(-1) rotate(0deg);
opacity:0;
}
}
/* Рыба 2: другая скорость и траектория */
@keyframes fishRoundTripTwo{
0%{
transform:translate3d(37vw,0,0) scaleX(-1) rotate(1deg);
opacity:0;
}
7%{opacity:.72}
45%{
transform:translate3d(-4vw,12px,0) scaleX(-1) rotate(-1deg);
opacity:.72;
}
49%{
transform:translate3d(-8vw,14px,0) scaleX(-1) rotate(0deg);
opacity:0;
}
50%{
transform:translate3d(-8vw,14px,0) scaleX(1) rotate(0deg);
opacity:0;
}
57%{opacity:.72}
95%{
transform:translate3d(37vw,-3px,0) scaleX(1) rotate(1deg);
opacity:.72;
}
100%{
transform:translate3d(37vw,-3px,0) scaleX(1) rotate(0deg);
opacity:0;
}
}
/* У второй рыбки собственный чуть более редкий шлейф */
.fish-two .fish-trail i:nth-child(2),
.fish-two .fish-trail i:nth-child(5){
opacity:.55;
}
@media(max-width:900px){
.deep-label{
right:4%!important;
top:100px!important;
font-size:13px!important;
}
.fish-lane-one{left:28%;top:225px}
.fish-lane-two{left:38%;top:330px}
}
@media(max-width:620px){
.deep-label{
display:none!important;
}
.fish-lane-one{
left:28%!important;
top:205px!important;
}
.fish-lane-two{
left:42%!important;
top:305px!important;
}
.fish-two,.fish-two .baikal-fish{
width:108px!important;
height:48px!important;
}
}
@media(prefers-reduced-motion:reduce){
.fish-one,.fish-two{
animation:none!important;
}
.fish-one{
transform:translate3d(24vw,6px,0) scaleX(1)!important;
opacity:.65!important;
}
.fish-two{
transform:translate3d(9vw,0,0) scaleX(-1)!important;
opacity:.48!important;
}
}
/* ===== V21: OFFSET-PATH — РЫБА + БАЙКАЛЬСКАЯ НЕРПА + ГЛУБИНЫ ===== */
.baikal-carved-hero{
/* Траектории вынесены в отдельные параметры: их можно менять независимо. */
--fishPath: path("M -170 485 C 80 470, 180 415, 335 405 C 500 395, 585 455, 735 435 C 905 412, 1000 340, 1160 355 C 1325 370, 1430 440, 1770 410");
--sealPath: path("M 1760 525 C 1510 520, 1435 470, 1350 430 C 1240 375, 1115 380, 1040 425 C 980 462, 1000 505, 1090 518 C 1210 535, 1390 500, 1540 455 C 1650 422, 1740 445, 1810 500");
}
/* Старые V20-дорожки полностью выключаем, если браузер сохранил их правила. */
.fish-lane-one,.fish-lane-two{display:none!important}
.underwater-scene{
position:absolute;
inset:0;
z-index:10;
overflow:hidden;
pointer-events:none;
}
/* Текст, наличник и CTA всегда выше живых объектов. */
.carved-window,.hero-copy,.hero-actions,.deep-label{
position:relative;
z-index:24!important;
}
.baikal-waves{z-index:16!important}
/* Общая механика motion-path */
.motion-creature{
position:absolute;
left:0;
top:0;
width:1px;
height:1px;
offset-distance:0%;
offset-rotate:auto 0deg;
will-change:offset-distance,opacity;
}
/* Рыба: средний план, один проход ~22 сек + пауза внутри цикла. */
.fish-motion{
z-index:12;
offset-path:var(--fishPath);
-webkit-offset-path:var(--fishPath);
animation:fishPathTravel 26s linear infinite;
}
.fish-body{
position:absolute;
left:-82px;
top:-34px;
width:164px;
height:68px;
color:#d3a05a;
filter:drop-shadow(0 5px 8px rgba(2,28,50,.16));
animation:fishBodyFloat 3.8s ease-in-out infinite;
transform-origin:55% 50%;
}
.motion-fish-svg{width:100%;height:100%;overflow:visible}
.motion-fish-svg g{stroke-width:2.15}
.fish-outline{stroke:#e0b36d;stroke-width:2.5}
.fish-pattern{opacity:.68}
.fish-tail{
transform-box:fill-box;
transform-origin:right center;
animation:fishTailWag .95s ease-in-out infinite;
}
.fish-fin{
transform-box:fill-box;
transform-origin:center bottom;
animation:fishFinMove 1.8s ease-in-out infinite;
}
.fish-fin-bottom{animation-delay:-.7s}
@keyframes fishPathTravel{
0%{offset-distance:0%;opacity:0}
4%{opacity:.9}
84%{offset-distance:100%;opacity:.9}
89%{offset-distance:100%;opacity:0}
100%{offset-distance:100%;opacity:0}
}
@keyframes fishBodyFloat{
0%,100%{transform:rotate(-1.2deg) translateY(0)}
50%{transform:rotate(1.3deg) translateY(-3px)}
}
@keyframes fishTailWag{
0%,100%{transform:rotate(-7deg) scaleY(.94)}
50%{transform:rotate(8deg) scaleY(1.05)}
}
@keyframes fishFinMove{
0%,100%{transform:rotate(-4deg)}
50%{transform:rotate(6deg)}
}
/* Нерпа: более глубокий слой, медленнее, стартует с задержкой. */
.seal-motion{
z-index:9;
offset-path:var(--sealPath);
-webkit-offset-path:var(--sealPath);
animation:sealPathTravel 34s cubic-bezier(.45,.02,.55,.98) infinite;
animation-delay:-7s;
}
.seal-body{
position:absolute;
left:-96px;
top:-47px;
width:192px;
height:94px;
color:#c99a58;
opacity:.72;
filter:drop-shadow(0 7px 12px rgba(2,24,45,.12));
animation:sealBodyFloat 5.2s ease-in-out infinite;
transform-origin:55% 55%;
}
.motion-seal-svg{width:100%;height:100%;overflow:visible}
.motion-seal-svg g{stroke-width:2}
.seal-outline{stroke:#d9ad68;stroke-width:2.45}
.seal-pattern{opacity:.42}
.seal-flipper{
transform-box:fill-box;
transform-origin:center top;
animation:sealFlipper 2.6s ease-in-out infinite;
}
.seal-flipper-bottom{animation-delay:-1.15s}
.seal-tail{
transform-box:fill-box;
transform-origin:right center;
animation:sealTail 3.2s ease-in-out infinite;
}
@keyframes sealPathTravel{
0%{offset-distance:0%;opacity:0}
7%{opacity:.7}
43%{offset-distance:46%;opacity:.72}
/* мягкая "задержка" в центральной правой зоне */
51%{offset-distance:49%;opacity:.74}
59%{offset-distance:52%;opacity:.72}
88%{offset-distance:100%;opacity:.65}
93%{offset-distance:100%;opacity:0}
100%{offset-distance:100%;opacity:0}
}
@keyframes sealBodyFloat{
0%,100%{transform:rotate(-2deg) translateY(0)}
50%{transform:rotate(2deg) translateY(-5px)}
}
@keyframes sealFlipper{
0%,100%{transform:rotate(-5deg)}
50%{transform:rotate(8deg)}
}
@keyframes sealTail{
0%,100%{transform:rotate(-2deg)}
50%{transform:rotate(4deg)}
}
/* Пузырьки непосредственно у хвоста рыбы/нерпы */
.tail-bubbles{
position:absolute;
left:-12px;
top:50%;
width:20px;
height:20px;
transform:translateY(-50%);
z-index:-1;
}
.tail-bubbles i{
position:absolute;
display:block;
border:1px solid rgba(244,230,214,.62);
border-radius:50%;
opacity:0;
animation:tailBubbleRise 3.3s ease-out infinite;
}
.fish-tail-bubbles i:nth-child(1){width:5px;height:5px;left:2px;animation-delay:.1s}
.fish-tail-bubbles i:nth-child(2){width:8px;height:8px;left:-4px;animation-delay:1.05s}
.fish-tail-bubbles i:nth-child(3){width:4px;height:4px;left:6px;animation-delay:1.8s}
.fish-tail-bubbles i:nth-child(4){width:6px;height:6px;left:0;animation-delay:2.55s}
.seal-bubbles{left:-8px;top:54%}
.seal-bubbles i:nth-child(1){width:5px;height:5px;left:1px;animation-delay:.2s}
.seal-bubbles i:nth-child(2){width:9px;height:9px;left:-6px;animation-delay:1.4s}
.seal-bubbles i:nth-child(3){width:4px;height:4px;left:8px;animation-delay:2.7s}
.seal-bubbles i:nth-child(4){width:7px;height:7px;left:1px;animation-delay:3.8s}
.seal-bubbles i:nth-child(5){width:4px;height:4px;left:-3px;animation-delay:4.8s}
.seal-bubbles i{animation-duration:5.4s}
@keyframes tailBubbleRise{
0%{transform:translate(0,0) scale(.7);opacity:0}
15%{opacity:.72}
70%{opacity:.38}
100%{transform:translate(-12px,-62px) scale(1.25);opacity:0}
}
/* Несколько глубин пузырьков: задние медленнее/мельче, передние крупнее. */
.depth-bubbles{
position:absolute;
inset:0;
overflow:hidden;
}
.depth-bubbles i{
position:absolute;
bottom:-28px;
border-radius:50%;
border:1px solid rgba(238,224,203,.45);
opacity:0;
animation:bubbleParallax linear infinite;
}
.depth-bubbles-back{z-index:6;filter:blur(.15px)}
.depth-bubbles-back i:nth-child(1){left:19%;width:5px;height:5px;animation-duration:18s;animation-delay:-3s}
.depth-bubbles-back i:nth-child(2){left:33%;width:7px;height:7px;animation-duration:22s;animation-delay:-11s}
.depth-bubbles-back i:nth-child(3){left:53%;width:4px;height:4px;animation-duration:19s;animation-delay:-7s}
.depth-bubbles-back i:nth-child(4){left:67%;width:6px;height:6px;animation-duration:24s;animation-delay:-16s}
.depth-bubbles-back i:nth-child(5){left:79%;width:4px;height:4px;animation-duration:20s;animation-delay:-4s}
.depth-bubbles-back i:nth-child(6){left:88%;width:8px;height:8px;animation-duration:25s;animation-delay:-14s}
.depth-bubbles-back i:nth-child(7){left:44%;width:5px;height:5px;animation-duration:21s;animation-delay:-18s}
.depth-bubbles-front{z-index:14}
.depth-bubbles-front i{border-color:rgba(255,244,226,.55);filter:blur(.05px)}
.depth-bubbles-front i:nth-child(1){left:38%;width:13px;height:13px;animation-duration:13s;animation-delay:-4s}
.depth-bubbles-front i:nth-child(2){left:59%;width:17px;height:17px;animation-duration:15s;animation-delay:-10s}
.depth-bubbles-front i:nth-child(3){left:72%;width:11px;height:11px;animation-duration:12s;animation-delay:-7s}
.depth-bubbles-front i:nth-child(4){left:86%;width:15px;height:15px;animation-duration:16s;animation-delay:-2s}
.depth-bubbles-front i:nth-child(5){left:49%;width:9px;height:9px;animation-duration:14s;animation-delay:-12s}
@keyframes bubbleParallax{
0%{transform:translate3d(0,0,0) scale(.75);opacity:0}
10%{opacity:.45}
65%{opacity:.32}
100%{transform:translate3d(18px,-590px,0) scale(1.18);opacity:0}
}
/* Важные элементы композиции остаются чистыми и читаемыми. */
.deep-label{
z-index:25!important;
right:4.5%!important;
top:102px!important;
max-width:230px!important;
font-size:18px!important;
line-height:1.22!important;
}
.hero-actions{
z-index:25!important;
}
/* Современный fallback: если motion path не поддерживается, объекты остаются декоративными. */
@supports not (offset-path:path("M0 0 L1 1")){
.fish-motion{left:61%;top:405px;animation:none}
.seal-motion{left:79%;top:475px;animation:none}
.fish-body{opacity:.72}
.seal-body{opacity:.5}
}
/* Адаптивно сохраняем свободной текстовую зону. */
@media(max-width:1000px){
.baikal-carved-hero{
--fishPath:path("M -150 455 C 80 450, 190 405, 340 410 C 500 420, 630 455, 820 430 C 980 410, 1120 390, 1260 420");
--sealPath:path("M 1280 505 C 1110 500, 1010 460, 930 430 C 850 400, 790 420, 780 458 C 775 486, 850 505, 980 480 C 1090 460, 1190 465, 1300 500");
}
.fish-body{width:145px;height:61px}
.seal-body{width:165px;height:82px}
}
@media(max-width:700px){
.seal-motion{display:none}
.depth-bubbles-front i:nth-child(n+4){display:none}
.baikal-carved-hero{
--fishPath:path("M -120 410 C 80 405, 170 375, 285 382 C 420 390, 520 430, 760 405");
}
.fish-body{width:118px;height:50px}
}
@media(prefers-reduced-motion:reduce){
.fish-motion,.seal-motion,.fish-body,.seal-body,.fish-tail,.fish-fin,.seal-flipper,.seal-tail,
.tail-bubbles i,.depth-bubbles i{
animation:none!important;
}
.fish-motion{offset-distance:67%;opacity:.55}
.seal-motion{offset-distance:42%;opacity:.4}
}
/* ===== V22: ШКОЛА РЫБ + НЕРПА ТОЛЬКО В НИЖНЕЙ ЗОНЕ БАЙКАЛА ===== */
.baikal-carved-hero{
--schoolPathA:path("M -180 505 C 120 490, 260 535, 430 520 C 625 503, 760 550, 965 532 C 1180 513, 1350 550, 1780 520");
--schoolPathB:path("M -180 555 C 125 538, 270 580, 460 560 C 640 541, 825 586, 1030 564 C 1235 542, 1435 575, 1780 553");
--schoolPathC:path("M -180 605 C 130 590, 310 624, 490 610 C 695 594, 840 632, 1070 610 C 1300 588, 1480 620, 1780 603");
--sealSchoolPath:path("M 1780 590 C 1510 572, 1370 620, 1180 600 C 995 580, 870 615, 690 603 C 500 590, 320 620, -190 595");
}
/* Реальный контейнер анимации: животные появляются только из-за краев. */
.lower-baikal-zone{
position:absolute!important;
left:0!important;
right:0!important;
top:47%!important;
bottom:0!important;
z-index:12!important;
overflow:hidden!important;
pointer-events:none!important;
}
/* Никаких животных в верхней части. */
.lower-baikal-zone .school-creature{
position:absolute;
left:0;
top:0;
width:1px;
height:1px;
offset-distance:0%;
offset-rotate:auto 0deg;
will-change:offset-distance,opacity;
}
/* Волны дают ощущение воды: часть дальнего плана проходит за ними. */
.baikal-waves{z-index:13!important}
.depth-far{z-index:10}
.depth-mid{z-index:14}
.depth-near{z-index:15}
.seal-school{z-index:11}
.depth-bubbles-back{z-index:8}
.depth-bubbles-front{z-index:16}
/* Базовая рыба */
.school-fish-body{
position:absolute;
left:-78px;
top:-32px;
width:156px;
height:64px;
color:#d0a05d;
transform-origin:52% 50%;
animation:schoolFishFloat 3.6s ease-in-out infinite, fishFacingA 28s steps(1,end) infinite;
}
.school-fish-svg{width:100%;height:100%;overflow:visible}
.school-fish-svg g{stroke-width:2}
.school-fish-svg .fish-outline{stroke:#d9ab67;stroke-width:2.35}
.school-fish-svg .fish-pattern{opacity:.52}
.school-fish-svg .fish-tail{
transform-box:fill-box;
transform-origin:right center;
animation:schoolTailWag .9s ease-in-out infinite;
}
.school-fish-svg .fish-fin{
transform-box:fill-box;
transform-origin:center bottom;
animation:schoolFinMove 1.7s ease-in-out infinite;
}
.school-fish-svg .fish-fin-bottom{animation-delay:-.6s}
/* Не одинаковые копии: разные формы, размеры, глубина и контраст */
.fish-type-b .fish-outline{stroke-width:2.1}
.fish-type-c .fish-pattern{opacity:.65}
.depth-far .school-fish-body{
opacity:.42;
filter:blur(.15px);
}
.depth-mid .school-fish-body{opacity:.68}
.depth-near .school-fish-body{
opacity:.9;
filter:drop-shadow(0 5px 9px rgba(2,27,48,.13));
}
/* 7 рыб, три близкие волнообразные траектории.
Разворот тела происходит только когда offset-distance уже 0% или 100% — то есть за краем. */
.fish-1{
offset-path:var(--schoolPathA);
animation:fishRun1 22s linear infinite -13s;
}
.fish-1 .school-fish-body{width:88px;height:38px;left:-44px;top:-19px;animation-duration:3.1s,22s}
.fish-2{
offset-path:var(--schoolPathB);
animation:fishRun2 27s linear infinite -3s;
}
.fish-2 .school-fish-body{width:122px;height:51px;left:-61px;top:-25px;animation-duration:3.8s,27s}
.fish-3{
offset-path:var(--schoolPathC);
animation:fishRun3 34s linear infinite -21s;
}
.fish-3 .school-fish-body{width:184px;height:76px;left:-92px;top:-38px;animation-duration:4.5s,34s}
.fish-4{
offset-path:var(--schoolPathC);
animation:fishRun4 19s linear infinite -8s;
}
.fish-4 .school-fish-body{width:74px;height:32px;left:-37px;top:-16px;animation-duration:2.8s,19s}
.fish-5{
offset-path:var(--schoolPathA);
animation:fishRun5 25s linear infinite -17s;
}
.fish-5 .school-fish-body{width:108px;height:46px;left:-54px;top:-23px;animation-duration:3.4s,25s}
.fish-6{
offset-path:var(--schoolPathB);
animation:fishRun6 31s linear infinite -6s;
}
.fish-6 .school-fish-body{width:168px;height:70px;left:-84px;top:-35px;animation-duration:4.2s,31s}
.fish-7{
offset-path:var(--schoolPathC);
animation:fishRun7 24s linear infinite -23s;
}
.fish-7 .school-fish-body{width:96px;height:41px;left:-48px;top:-20px;animation-duration:3.2s,24s}
/* Общая логика движения туда-обратно:
0→46%: полностью слева → полностью справа;
46–50%: объект уже за правым краем, там меняется scaleX;
50→96%: справа → слева;
96–100%: за левым краем возвращается исходная ориентация. */
@keyframes fishRun1{0%{offset-distance:0%;opacity:0}3%{opacity:.65}46%{offset-distance:100%;opacity:.65}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.65}96%{offset-distance:0%;opacity:.65}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun2{0%{offset-distance:0%;opacity:0}3%{opacity:.72}46%{offset-distance:100%;opacity:.72}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.72}96%{offset-distance:0%;opacity:.72}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun3{0%{offset-distance:0%;opacity:0}3%{opacity:.82}46%{offset-distance:100%;opacity:.82}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.82}96%{offset-distance:0%;opacity:.82}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun4{0%{offset-distance:0%;opacity:0}3%{opacity:.48}46%{offset-distance:100%;opacity:.48}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.48}96%{offset-distance:0%;opacity:.48}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun5{0%{offset-distance:0%;opacity:0}3%{opacity:.66}46%{offset-distance:100%;opacity:.66}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.66}96%{offset-distance:0%;opacity:.66}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun6{0%{offset-distance:0%;opacity:0}3%{opacity:.88}46%{offset-distance:100%;opacity:.88}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.88}96%{offset-distance:0%;opacity:.88}98%,100%{offset-distance:0%;opacity:0}}
@keyframes fishRun7{0%{offset-distance:0%;opacity:0}3%{opacity:.62}46%{offset-distance:100%;opacity:.62}48%,50%{offset-distance:100%;opacity:0}53%{opacity:.62}96%{offset-distance:0%;opacity:.62}98%,100%{offset-distance:0%;opacity:0}}
/* Зеркальный разворот после полного выхода за границу.
На обратном ходе path tangent остается направлен вправо, поэтому зеркалим только внутренний SVG-контейнер. */
@keyframes fishFacingA{
0%,47.9%{scale:1 1}
48%,97.9%{scale:-1 1}
98%,100%{scale:1 1}
}
@keyframes schoolFishFloat{
0%,100%{rotate:-1.2deg;translate:0 0}
50%{rotate:1.3deg;translate:0 -3px}
}
@keyframes schoolTailWag{
0%,100%{transform:rotate(-7deg) scaleY(.94)}
50%{transform:rotate(8deg) scaleY(1.05)}
}
@keyframes schoolFinMove{
0%,100%{transform:rotate(-4deg)}
50%{transform:rotate(6deg)}
}
/* Нерпа — тот же нижний коридор, заметно медленнее. */
.seal-school{
offset-path:var(--sealSchoolPath);
animation:sealSchoolRun 72s linear infinite -29s;
}
.seal-school-body{
position:absolute;
left:-102px;
top:-48px;
width:204px;
height:96px;
color:#c89655;
opacity:.72;
transform-origin:52% 54%;
animation:sealSchoolFloat 5.4s ease-in-out infinite, sealFacing 72s steps(1,end) infinite -29s;
filter:drop-shadow(0 7px 12px rgba(2,24,45,.12));
}
.school-seal-svg{width:100%;height:100%;overflow:visible}
.school-seal-svg g{stroke-width:2}
.school-seal-svg .seal-outline{stroke:#d5a660;stroke-width:2.4}
.school-seal-svg .seal-pattern{opacity:.38}
.school-seal-svg .seal-flipper{
transform-box:fill-box;
transform-origin:center top;
animation:sealSchoolFlipper 2.8s ease-in-out infinite;
}
.school-seal-svg .seal-flipper-bottom{animation-delay:-1.2s}
.school-seal-svg .seal-tail{
transform-box:fill-box;
transform-origin:right center;
animation:sealSchoolTail 3.4s ease-in-out infinite;
}
@keyframes sealSchoolRun{
0%{offset-distance:0%;opacity:0}
3%{opacity:.68}
46%{offset-distance:100%;opacity:.68}
48%,50%{offset-distance:100%;opacity:0}
53%{opacity:.68}
96%{offset-distance:0%;opacity:.68}
98%,100%{offset-distance:0%;opacity:0}
}
@keyframes sealFacing{
0%,47.9%{scale:1 1}
48%,97.9%{scale:-1 1}
98%,100%{scale:1 1}
}
@keyframes sealSchoolFloat{
0%,100%{rotate:-1.5deg;translate:0 0}
50%{rotate:1.5deg;translate:0 -4px}
}
@keyframes sealSchoolFlipper{
0%,100%{transform:rotate(-5deg)}
50%{transform:rotate(8deg)}
}
@keyframes sealSchoolTail{
0%,100%{transform:rotate(-2deg)}
50%{transform:rotate(4deg)}
}
/* Пузырьки у хвостов и нерпы */
.lower-baikal-zone .tail-bubbles{
position:absolute;
left:-8px;
top:50%;
width:18px;
height:18px;
transform:translateY(-50%);
}
.lower-baikal-zone .tail-bubbles i{
position:absolute;
border-radius:50%;
border:1px solid rgba(238,230,214,.56);
background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.46),transparent 38%);
opacity:0;
animation:schoolTailBubble 3.1s ease-out infinite;
}
.lower-baikal-zone .tail-bubbles i:nth-child(1){width:4px;height:4px;left:3px;animation-delay:.1s}
.lower-baikal-zone .tail-bubbles i:nth-child(2){width:7px;height:7px;left:-3px;animation-delay:.9s}
.lower-baikal-zone .tail-bubbles i:nth-child(3){width:5px;height:5px;left:5px;animation-delay:1.7s}
.lower-baikal-zone .tail-bubbles i:nth-child(4){width:3px;height:3px;left:0;animation-delay:2.4s}
.lower-baikal-zone .seal-bubbles i{animation-duration:4.7s}
@keyframes schoolTailBubble{
0%{transform:translate3d(0,0,0) scale(.7);opacity:0}
15%{opacity:.6}
100%{transform:translate3d(-10px,-50px,0) scale(1.22);opacity:0}
}
/* Параллакс пузырьков внутри шапки */
.lower-baikal-zone .depth-bubbles{
position:absolute;inset:0;overflow:hidden;
}
.lower-baikal-zone .depth-bubbles i{
position:absolute;
bottom:-20px;
border-radius:50%;
border:1px solid rgba(238,224,203,.42);
background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.45),transparent 37%);
opacity:0;
animation:lowerBubbleRise linear infinite;
}
.lower-baikal-zone .depth-bubbles-back i:nth-child(1){left:12%;width:4px;height:4px;animation-duration:17s;animation-delay:-5s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(2){left:26%;width:6px;height:6px;animation-duration:21s;animation-delay:-13s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(3){left:39%;width:4px;height:4px;animation-duration:19s;animation-delay:-7s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(4){left:53%;width:7px;height:7px;animation-duration:24s;animation-delay:-17s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(5){left:66%;width:5px;height:5px;animation-duration:18s;animation-delay:-2s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(6){left:77%;width:4px;height:4px;animation-duration:22s;animation-delay:-10s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(7){left:88%;width:7px;height:7px;animation-duration:25s;animation-delay:-20s}
.lower-baikal-zone .depth-bubbles-back i:nth-child(8){left:95%;width:5px;height:5px;animation-duration:20s;animation-delay:-8s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(1){left:18%;width:12px;height:12px;animation-duration:12s;animation-delay:-3s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(2){left:34%;width:15px;height:15px;animation-duration:15s;animation-delay:-10s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(3){left:51%;width:10px;height:10px;animation-duration:13s;animation-delay:-6s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(4){left:69%;width:14px;height:14px;animation-duration:16s;animation-delay:-12s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(5){left:82%;width:11px;height:11px;animation-duration:14s;animation-delay:-8s}
.lower-baikal-zone .depth-bubbles-front i:nth-child(6){left:93%;width:16px;height:16px;animation-duration:17s;animation-delay:-4s}
@keyframes lowerBubbleRise{
0%{transform:translate3d(0,0,0) scale(.72);opacity:0}
12%{opacity:.42}
100%{transform:translate3d(16px,-330px,0) scale(1.15);opacity:0}
}
/* Заголовок, меню, описание и CTA остаются в спокойной верхней зоне. */
.baikal-nav-wrap,.hero-copy,.deep-label,.carved-left,.carved-corner{z-index:30!important}
/* На узких экранах уменьшаем стаю, но оставляем анимацию только внизу. */
@media(max-width:1000px){
.baikal-carved-hero{
--schoolPathA:path("M -140 360 C 120 350, 260 385, 450 370 C 650 354, 850 390, 1180 365");
--schoolPathB:path("M -140 400 C 120 390, 280 420, 470 405 C 680 390, 860 425, 1180 402");
--schoolPathC:path("M -140 438 C 130 430, 290 455, 500 442 C 720 428, 900 458, 1180 440");
--sealSchoolPath:path("M 1180 435 C 940 420, 790 450, 620 438 C 430 425, 260 455, -150 440");
}
.lower-baikal-zone{top:48%!important}
.seal-school-body{width:170px;height:82px;left:-85px;top:-41px}
.fish-3 .school-fish-body{width:150px;height:62px;left:-75px;top:-31px}
.fish-6 .school-fish-body{width:140px;height:58px;left:-70px;top:-29px}
}
@media(max-width:700px){
.fish-1,.fish-4{display:none}
.seal-school-body{width:138px;height:67px;left:-69px;top:-33px}
.lower-baikal-zone{top:51%!important}
}
/* При reduced motion животные статичны в нижней части, а не возле текста. */
@media(prefers-reduced-motion:reduce){
.lower-baikal-zone .school-creature,
.school-fish-body,.seal-school-body,
.school-fish-svg .fish-tail,.school-fish-svg .fish-fin,
.school-seal-svg .seal-tail,.school-seal-svg .seal-flipper,
.lower-baikal-zone .tail-bubbles i,
.lower-baikal-zone .depth-bubbles i{
animation:none!important;
}
.fish-2{offset-distance:26%;opacity:.4}
.fish-3{offset-distance:58%;opacity:.45}
.fish-5{offset-distance:76%;opacity:.35}
.fish-6{offset-distance:40%;opacity:.5}
.seal-school{offset-distance:23%;opacity:.35}
.fish-1,.fish-4,.fish-7{display:none}
}
/* ===== V23: ПОЛНОШИРИННАЯ АНИМАЦИЯ ЧЕРЕЗ translateX ===== */
/* Чёткая иерархия слоёв */
.baikal-header{position:relative!important;overflow:hidden!important}
.baikal-header:before,
.baikal-landscape,
.baikal-waves{z-index:1!important}
.water-animation-layer{z-index:2!important}
.carved-left,.carved-corner{z-index:3!important}
.hero-copy,.deep-label,.baikal-nav-wrap,.hero-actions{z-index:5!important}
/* Главный контейнер действительно занимает всю hero-секцию */
.water-animation-layer{
position:absolute!important;
left:0!important;
right:0!important;
bottom:0!important;
width:100%!important;
height:45%!important;
overflow:hidden!important;
pointer-events:none!important;
isolation:isolate;
}
/* Отключаем старую offset-path механику */
.school-creature,
.motion-creature,
.lower-baikal-zone{
display:none!important;
}
/* Рыбы: абсолютное позиционирование относительно ВСЕЙ ширины hero */
.free-fish,
.free-seal{
position:absolute;
left:-15vw;
width:auto;
height:auto;
will-change:transform,opacity;
}
/* Размеры и вертикальные уровни */
.fish-1{bottom:12%; animation:fishAcross1 36s linear infinite -11s}
.fish-2{bottom:22%; animation:fishAcross2 48s linear infinite -19s}
.fish-3{bottom:32%; animation:fishAcross3 58s linear infinite -7s}
.fish-4{bottom:17%; animation:fishAcross4 42s linear infinite -25s}
.fish-5{bottom:38%; animation:fishAcross5 64s linear infinite -31s}
.fish-6{bottom:27%; animation:fishAcross6 54s linear infinite -3s}
.fish-7{bottom:8%; animation:fishAcross7 46s linear infinite -37s}
/* Один цикл = проход туда + возврат.
Разворот происходит только в невидимой зоне после полного выхода за край. */
@keyframes fishAcross1{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.46}
22%{transform:translate3d(52vw,-20px,0);opacity:.46}
46%{transform:translate3d(145vw,8px,0);opacity:.46}
48%{transform:translate3d(145vw,8px,0);opacity:0}
50%{transform:translate3d(145vw,8px,0) scaleX(-1);opacity:0}
52%{opacity:.46}
74%{transform:translate3d(74vw,-16px,0) scaleX(-1);opacity:.46}
96%{transform:translate3d(0,4px,0) scaleX(-1);opacity:.46}
98%,100%{transform:translate3d(0,4px,0) scaleX(-1);opacity:0}
}
@keyframes fishAcross2{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.66}
23%{transform:translate3d(55vw,18px,0);opacity:.66}
46%{transform:translate3d(145vw,-8px,0);opacity:.66}
48%{opacity:0}
50%{transform:translate3d(145vw,-8px,0) scaleX(-1);opacity:0}
52%{opacity:.66}
73%{transform:translate3d(75vw,20px,0) scaleX(-1);opacity:.66}
96%{transform:translate3d(0,-6px,0) scaleX(-1);opacity:.66}
98%,100%{opacity:0}
}
@keyframes fishAcross3{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.88}
23%{transform:translate3d(50vw,-28px,0);opacity:.88}
46%{transform:translate3d(145vw,10px,0);opacity:.88}
48%{opacity:0}
50%{transform:translate3d(145vw,10px,0) scaleX(-1);opacity:0}
52%{opacity:.88}
72%{transform:translate3d(82vw,-22px,0) scaleX(-1);opacity:.88}
96%{transform:translate3d(0,6px,0) scaleX(-1);opacity:.88}
98%,100%{opacity:0}
}
@keyframes fishAcross4{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.40}
22%{transform:translate3d(48vw,16px,0);opacity:.40}
46%{transform:translate3d(145vw,-16px,0);opacity:.40}
48%{opacity:0}
50%{transform:translate3d(145vw,-16px,0) scaleX(-1);opacity:0}
52%{opacity:.40}
74%{transform:translate3d(72vw,12px,0) scaleX(-1);opacity:.40}
96%{transform:translate3d(0,-4px,0) scaleX(-1);opacity:.40}
98%,100%{opacity:0}
}
@keyframes fishAcross5{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.60}
24%{transform:translate3d(56vw,-18px,0);opacity:.60}
46%{transform:translate3d(145vw,14px,0);opacity:.60}
48%{opacity:0}
50%{transform:translate3d(145vw,14px,0) scaleX(-1);opacity:0}
52%{opacity:.60}
73%{transform:translate3d(78vw,-26px,0) scaleX(-1);opacity:.60}
96%{transform:translate3d(0,7px,0) scaleX(-1);opacity:.60}
98%,100%{opacity:0}
}
@keyframes fishAcross6{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.84}
22%{transform:translate3d(53vw,24px,0);opacity:.84}
46%{transform:translate3d(145vw,-10px,0);opacity:.84}
48%{opacity:0}
50%{transform:translate3d(145vw,-10px,0) scaleX(-1);opacity:0}
52%{opacity:.84}
75%{transform:translate3d(76vw,20px,0) scaleX(-1);opacity:.84}
96%{transform:translate3d(0,-8px,0) scaleX(-1);opacity:.84}
98%,100%{opacity:0}
}
@keyframes fishAcross7{
0%{transform:translate3d(0,0,0);opacity:0}
2%{opacity:.58}
23%{transform:translate3d(51vw,-14px,0);opacity:.58}
46%{transform:translate3d(145vw,18px,0);opacity:.58}
48%{opacity:0}
50%{transform:translate3d(145vw,18px,0) scaleX(-1);opacity:0}
52%{opacity:.58}
72%{transform:translate3d(80vw,-12px,0) scaleX(-1);opacity:.58}
96%{transform:translate3d(0,5px,0) scaleX(-1);opacity:.58}
98%,100%{opacity:0}
}
/* SVG-рыбы */
.free-fish-inner{
position:relative;
color:#d1a15f;
animation:freeFishBob 3.5s ease-in-out infinite;
transform-origin:center;
}
.free-fish svg{display:block;width:100%;height:100%;overflow:visible}
.free-fish svg g{stroke-width:2}
.free-fish .fish-outline{stroke:#d9aa66;stroke-width:2.35}
.free-fish .fish-tail{
transform-box:fill-box;
transform-origin:right center;
animation:freeTail .9s ease-in-out infinite;
}
.free-fish .fish-fin{
transform-box:fill-box;
transform-origin:center bottom;
animation:freeFin 1.7s ease-in-out infinite;
}
/* размеры: small 35–55, medium 60–90, large 100–140 */
.fish-1 .free-fish-inner{width:46px;height:46px;opacity:.42}
.fish-2 .free-fish-inner{width:78px;height:52px;opacity:.68}
.fish-3 .free-fish-inner{width:132px;height:74px;opacity:.92}
.fish-4 .free-fish-inner{width:38px;height:38px;opacity:.36}
.fish-5 .free-fish-inner{width:88px;height:58px;opacity:.62}
.fish-6 .free-fish-inner{width:118px;height:68px;opacity:.86}
.fish-7 .free-fish-inner{width:64px;height:46px;opacity:.58}
@keyframes freeFishBob{
0%,100%{rotate:-1.2deg}
50%{rotate:1.4deg}
}
@keyframes freeTail{
0%,100%{transform:rotate(-8deg) scaleY(.94)}
50%{transform:rotate(8deg) scaleY(1.05)}
}
@keyframes freeFin{
0%,100%{transform:rotate(-4deg)}
50%{transform:rotate(6deg)}
}
/* Нерпа в той же полноширинной зоне */
.free-seal{
bottom:18%;
animation:sealAcross 74s linear infinite -29s;
}
.free-seal-inner{
position:relative;
width:165px;
height:92px;
color:#c99757;
opacity:.74;
animation:sealBob 5.4s ease-in-out infinite;
}
.free-seal svg{display:block;width:100%;height:100%;overflow:visible}
.free-seal svg g{stroke-width:2}
.free-seal .seal-outline{stroke:#d7a965;stroke-width:2.35}
.free-seal .seal-tail{
transform-box:fill-box;
transform-origin:right center;
animation:sealTailMove 3.2s ease-in-out infinite;
}
.free-seal .seal-flipper{
transform-box:fill-box;
transform-origin:center top;
animation:sealFlipperMove 2.7s ease-in-out infinite;
}
@keyframes sealAcross{
0%{transform:translate3d(145vw,0,0) scaleX(-1);opacity:0}
2%{opacity:.72}
23%{transform:translate3d(82vw,-24px,0) scaleX(-1);opacity:.72}
46%{transform:translate3d(0,12px,0) scaleX(-1);opacity:.72}
48%{opacity:0}
50%{transform:translate3d(0,12px,0) scaleX(1);opacity:0}
52%{opacity:.72}
74%{transform:translate3d(73vw,-18px,0) scaleX(1);opacity:.72}
96%{transform:translate3d(145vw,8px,0) scaleX(1);opacity:.72}
98%,100%{opacity:0}
}
@keyframes sealBob{
0%,100%{rotate:-1.4deg}
50%{rotate:1.4deg}
}
@keyframes sealTailMove{
0%,100%{transform:rotate(-2deg)}
50%{transform:rotate(4deg)}
}
@keyframes sealFlipperMove{
0%,100%{transform:rotate(-5deg)}
50%{transform:rotate(8deg)}
}
/* Пузырьки у животных */
.water-animation-layer .tail-bubbles{
position:absolute;
left:-8px;
top:50%;
width:18px;height:18px;
transform:translateY(-50%);
pointer-events:none;
}
.water-animation-layer .tail-bubbles i{
position:absolute;
border-radius:50%;
border:1px solid rgba(240,232,217,.52);
background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.42),transparent 40%);
opacity:0;
animation:animalBubble 3.2s ease-out infinite;
}
.water-animation-layer .tail-bubbles i:nth-child(1){width:4px;height:4px;left:3px;animation-delay:.1s}
.water-animation-layer .tail-bubbles i:nth-child(2){width:7px;height:7px;left:-3px;animation-delay:.9s}
.water-animation-layer .tail-bubbles i:nth-child(3){width:5px;height:5px;left:5px;animation-delay:1.7s}
.water-animation-layer .tail-bubbles i:nth-child(4){width:3px;height:3px;left:0;animation-delay:2.4s}
.water-animation-layer .seal-bubbles i{animation-duration:4.6s}
@keyframes animalBubble{
0%{transform:translate3d(0,0,0) scale(.7);opacity:0}
15%{opacity:.58}
100%{transform:translate3d(-9px,-48px,0) scale(1.2);opacity:0}
}
/* Пузырьки по всей ширине hero, не привязаны к наличнику */
.hero-bubbles{
position:absolute;
inset:0;
width:100%;
height:100%;
pointer-events:none;
overflow:hidden;
}
.hero-bubbles i{
position:absolute;
bottom:-20px;
border-radius:50%;
border:1px solid rgba(238,225,206,.45);
background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.5),transparent 38%);
opacity:0;
animation:heroBubbleRise linear infinite;
}
.hero-bubbles-back{z-index:-1}
.hero-bubbles-front{z-index:20}
.hero-bubbles-back i:nth-child(1){left:5%;width:4px;height:4px;animation-duration:18s;animation-delay:-6s}
.hero-bubbles-back i:nth-child(2){left:16%;width:6px;height:6px;animation-duration:22s;animation-delay:-12s}
.hero-bubbles-back i:nth-child(3){left:28%;width:5px;height:5px;animation-duration:20s;animation-delay:-3s}
.hero-bubbles-back i:nth-child(4){left:39%;width:7px;height:7px;animation-duration:24s;animation-delay:-15s}
.hero-bubbles-back i:nth-child(5){left:51%;width:4px;height:4px;animation-duration:19s;animation-delay:-8s}
.hero-bubbles-back i:nth-child(6){left:63%;width:6px;height:6px;animation-duration:23s;animation-delay:-17s}
.hero-bubbles-back i:nth-child(7){left:72%;width:5px;height:5px;animation-duration:21s;animation-delay:-5s}
.hero-bubbles-back i:nth-child(8){left:81%;width:7px;height:7px;animation-duration:25s;animation-delay:-19s}
.hero-bubbles-back i:nth-child(9){left:90%;width:4px;height:4px;animation-duration:18s;animation-delay:-10s}
.hero-bubbles-back i:nth-child(10){left:97%;width:6px;height:6px;animation-duration:22s;animation-delay:-14s}
.hero-bubbles-front i:nth-child(1){left:9%;width:12px;height:12px;animation-duration:13s;animation-delay:-3s}
.hero-bubbles-front i:nth-child(2){left:23%;width:15px;height:15px;animation-duration:15s;animation-delay:-9s}
.hero-bubbles-front i:nth-child(3){left:36%;width:10px;height:10px;animation-duration:12s;animation-delay:-5s}
.hero-bubbles-front i:nth-child(4){left:49%;width:14px;height:14px;animation-duration:16s;animation-delay:-11s}
.hero-bubbles-front i:nth-child(5){left:61%;width:11px;height:11px;animation-duration:14s;animation-delay:-7s}
.hero-bubbles-front i:nth-child(6){left:73%;width:16px;height:16px;animation-duration:17s;animation-delay:-13s}
.hero-bubbles-front i:nth-child(7){left:84%;width:12px;height:12px;animation-duration:13s;animation-delay:-4s}
.hero-bubbles-front i:nth-child(8){left:94%;width:15px;height:15px;animation-duration:16s;animation-delay:-10s}
@keyframes heroBubbleRise{
0%{transform:translate3d(0,0,0) scale(.72);opacity:0}
10%{opacity:.42}
100%{transform:translate3d(18px,-310px,0) scale(1.15);opacity:0}
}
/* На мобильных сохраняется full-width логика */
@media(max-width:800px){
.water-animation-layer{height:42%!important}
.fish-3 .free-fish-inner{width:104px;height:60px}
.fish-6 .free-fish-inner{width:96px;height:58px}
.free-seal-inner{width:140px;height:78px}
}
@media(max-width:560px){
.fish-1,.fish-4{display:none}
.water-animation-layer{height:40%!important}
.free-seal-inner{width:120px;height:70px}
}
/* reduced motion */
@media(prefers-reduced-motion:reduce){
.free-fish,.free-seal,.free-fish-inner,.free-seal-inner,
.free-fish .fish-tail,.free-fish .fish-fin,
.free-seal .seal-tail,.free-seal .seal-flipper,
.water-animation-layer .tail-bubbles i,.hero-bubbles i{
animation:none!important;
}
.fish-2{transform:translateX(28vw);opacity:.38}
.fish-3{transform:translateX(57vw);opacity:.45}
.fish-5{transform:translateX(75vw);opacity:.34}
.fish-6{transform:translateX(41vw);opacity:.42}
.free-seal{transform:translateX(69vw);opacity:.3}
}
/* =========================================================
V25 — ГЛУБОКИЙ PURPLE/BLUE HERO + СВЕТЯЩИЙСЯ ИРКУТСК
Визуальный слой собран поверх существующего hero; рыбки остаются живыми SVG.
========================================================= */
.baikal-header{
min-height:clamp(760px,92vh,980px)!important;
background:
radial-gradient(circle at 78% 30%,rgba(86,64,165,.20),transparent 28%),
radial-gradient(circle at 58% 42%,rgba(18,83,145,.18),transparent 34%),
linear-gradient(135deg,#050b24 0%,#09153a 37%,#101449 67%,#07102e 100%)!important;
color:#f6f1e9!important;
isolation:isolate;
}
.baikal-header:before{
content:""!important;position:absolute!important;inset:0!important;z-index:0!important;
background:
linear-gradient(90deg,rgba(4,9,31,.96) 0%,rgba(5,12,36,.86) 31%,rgba(8,15,43,.26) 56%,rgba(8,12,35,.10) 78%,rgba(6,10,29,.52) 100%),
linear-gradient(180deg,rgba(4,7,23,.55) 0%,transparent 22%,transparent 68%,rgba(4,9,28,.62) 100%)!important;
pointer-events:none!important;
}
.v25-scene-art{
position:absolute;z-index:1;left:31%;right:-2%;top:94px;bottom:175px;
background-image:url("images/image-b99c51de35dc.webp");
background-repeat:no-repeat;background-size:1580px auto;background-position:68% 48%;
filter:saturate(.88) contrast(1.06) brightness(.92);
opacity:.96;pointer-events:none;overflow:hidden;
-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 78%,transparent 100%),linear-gradient(180deg,transparent 0%,#000 8%,#000 82%,transparent 100%);
-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 10%,#000 80%,transparent 100%);
}
.v25-scene-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,13,38,.45),transparent 24%,transparent 78%,rgba(7,12,34,.62));}
.carved-left,.carved-corner,.baikal-landscape{display:none!important}
.v25-flow-lines{position:absolute;z-index:2;left:0;top:75px;width:100%;height:430px;overflow:visible;pointer-events:none;opacity:.65}
.v25-flow-lines path{fill:none;stroke:#4d63bb;stroke-width:1.4;opacity:.42}
.v25-flow-lines .gold{stroke:#d7a45b;stroke-width:1.5;opacity:.8;filter:drop-shadow(0 0 5px rgba(215,164,91,.2))}
.v25-moon-ring{position:absolute;z-index:2;right:26%;top:150px;width:150px;height:150px;border:1.5px solid rgba(220,169,91,.72);border-radius:50%;box-shadow:0 0 36px rgba(91,76,174,.11);pointer-events:none}
.baikal-nav-wrap{z-index:8!important;width:min(1480px,92vw)!important;height:105px!important;border-bottom:1px solid rgba(214,166,94,.18)!important}
.baikal-brand{color:#f5eee4!important}
.baikal-brand .brand-window{color:#d5a35d!important;filter:drop-shadow(0 0 7px rgba(215,164,91,.25))}
.baikal-brand b{letter-spacing:.08em!important}
.baikal-brand small{color:#d5a35d!important;opacity:.9!important}
.baikal-nav a{color:rgba(249,245,239,.87)!important}
.baikal-nav a:hover{color:#e2b36d!important}
/* Хедер остаётся доступным при прокрутке всей страницы. */
.baikal-header{padding-top:118px!important}
.baikal-nav-wrap{
position:fixed!important;
top:0!important;
width:100%!important;
max-width:none!important;
height:118px!important;
margin:0!important;
padding:0 max(4vw,24px)!important;
background:rgba(4,13,39,.82)!important;
border-bottom:1px solid rgba(214,166,94,.28)!important;
box-shadow:0 8px 24px rgba(0,0,0,.18)!important;
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
z-index:1002!important;
}
/* Фиксированная панель не должна выглядеть отдельной рамкой. */
.baikal-nav-wrap{
background:rgba(4,13,39,.82)!important;
border-bottom:1px solid rgba(214,166,94,.28)!important;
box-shadow:none!important;
backdrop-filter:blur(14px);
-webkit-backdrop-filter:blur(14px);
}
@media(max-width:1200px){
.baikal-header{padding-top:108px!important}
.baikal-nav-wrap{height:108px!important}
}
@media(max-width:900px){
.baikal-header{padding-top:96px!important}
.baikal-nav-wrap{height:96px!important}
}
.baikal-nav-actions a{border-color:rgba(215,164,91,.72)!important;color:#e1b066!important;background:rgba(6,11,34,.42)!important;backdrop-filter:blur(8px)}
.hero-copy{z-index:7!important;left:6.5%!important;top:50%!important;transform:translateY(-45%)!important;width:min(610px,42vw)!important;max-width:none!important}
.hero-copy .hero-eyebrow{color:#d9ab67!important;letter-spacing:.24em!important;font-size:11px!important}
.hero-copy h1{font-family:Georgia,'Times New Roman',serif!important;font-size:clamp(86px,9.6vw,160px)!important;line-height:.84!important;font-weight:500!important;letter-spacing:-.045em!important;color:#fffaf3!important;text-shadow:0 14px 40px rgba(0,0,0,.2)!important;margin:14px 0 24px!important}
.hero-copy h2{font-size:clamp(24px,2.05vw,34px)!important;line-height:1.08!important;font-weight:400!important;letter-spacing:.09em!important;color:#dfac62!important;margin:0 0 22px!important}
.hero-copy p{font-size:15px!important;line-height:1.55!important;max-width:480px!important;color:rgba(246,242,236,.82)!important}
.hero-primary{background:linear-gradient(135deg,#e0b568,#cf9d4f)!important;color:#091431!important;border:1px solid rgba(255,225,166,.55)!important;box-shadow:0 12px 34px rgba(0,0,0,.22)!important;padding:16px 28px!important}
.hero-primary:hover{transform:translateY(-2px)!important;box-shadow:0 16px 38px rgba(0,0,0,.3)!important}
.deep-label{z-index:8!important;color:#f2eee7!important;right:4.8%!important;bottom:78px!important}
.deep-label:after{background:#d5a35d!important}
.baikal-waves{z-index:4!important;height:250px!important;bottom:-2px!important;filter:drop-shadow(0 -9px 24px rgba(0,0,0,.18))}
.baikal-waves .w1{fill:#0d2350!important}
.baikal-waves .w2{fill:#0a1a43!important}
.baikal-waves .w3{fill:#071535!important}
.baikal-waves .gold-line{stroke:#d4a05b!important;opacity:.84!important}
.baikal-waves .cream-transition{fill:#08142f!important;opacity:1!important}
.water-animation-layer{z-index:6!important;left:0!important;right:0!important;bottom:0!important;height:58%!important;overflow:hidden!important}
.free-fish-inner{color:#79bce5!important;filter:drop-shadow(0 0 8px rgba(65,162,222,.25))}
.free-fish .fish-outline{stroke:#8dd0f0!important}
.free-fish svg g{stroke:#6fafd8!important}
.water-animation-layer .tail-bubbles i,.hero-bubbles i{border-color:rgba(153,211,241,.42)!important}
.free-seal{display:none!important}
.baikal-feature-strip{background:linear-gradient(180deg,#f8efe4,#f4e7d8)!important;border-top:1px solid rgba(198,146,77,.2)!important}
@media(max-width:1100px){
.v25-scene-art{left:30%;right:-18%;background-position:72% 48%;opacity:.72}
.v25-moon-ring{right:14%;width:120px;height:120px}
.hero-copy{left:5%!important;width:min(620px,58vw)!important}
.baikal-nav a:nth-child(n+5){display:none!important}
}
@media(max-width:760px){
.baikal-header{min-height:760px!important}
.v25-scene-art{left:8%;right:-45%;top:190px;bottom:170px;background-size:1350px auto;background-position:75% 55%;opacity:.48}
.v25-flow-lines{top:130px;height:300px}
.v25-moon-ring{right:8%;top:170px;width:92px;height:92px;opacity:.7}
.hero-copy{left:6%!important;top:47%!important;width:88vw!important}
.hero-copy h1{font-size:clamp(70px,20vw,104px)!important}
.hero-copy h2{font-size:20px!important;max-width:84vw!important}
.hero-copy p{font-size:13px!important;max-width:80vw!important}
.water-animation-layer{height:50%!important}
.baikal-nav{display:none!important}
.baikal-nav-wrap{height:82px!important}
.baikal-nav-actions .nav-save span{display:none!important}
}
/* =========================================================
V26 — FIX HERO BACKGROUND GEOMETRY
Фоновая иллюстрация больше не определяет размеры hero.
Дизайн, контент, рыбки и декоративные слои не изменяются.
========================================================= */
html,body{
max-width:100%;
overflow-x:hidden;
}
.baikal-header{
position:relative!important;
width:100%!important;
max-width:100vw!important;
overflow:hidden!important;
min-height:clamp(720px,88vh,920px)!important;
}
.v25-scene-art{
position:absolute!important;
inset:0!important;
width:100%!important;
height:100%!important;
max-width:none!important;
background-repeat:no-repeat!important;
background-size:cover!important;
background-position:right center!important;
overflow:hidden!important;
pointer-events:none!important;
z-index:1!important;
opacity:.96!important;
filter:saturate(.88) contrast(1.06) brightness(.92)!important;
-webkit-mask-image:none!important;
mask-image:none!important;
}
.v25-scene-art:after{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(90deg,rgba(7,13,38,.58) 0%,rgba(7,13,38,.34) 27%,rgba(7,13,38,.05) 56%,rgba(7,12,34,.18) 100%),
linear-gradient(180deg,rgba(5,9,29,.18),transparent 28%,transparent 70%,rgba(5,9,29,.32));
pointer-events:none;
}
.baikal-nav-wrap,
.hero-copy,
.v25-flow-lines,
.v25-moon-ring,
.water-animation-layer,
.baikal-waves,
.deep-label{
position:absolute;
}
.baikal-nav-wrap{position:relative!important}
@media (max-width:1440px){
.v25-scene-art{
inset:0!important;
background-size:cover!important;
background-position:68% center!important;
opacity:.92!important;
}
}
@media (max-width:1100px){
.baikal-header{min-height:clamp(700px,86vh,860px)!important}
.v25-scene-art{
inset:0!important;
background-size:cover!important;
background-position:72% center!important;
opacity:.76!important;
}
}
@media (max-width:760px){
.baikal-header{min-height:720px!important}
.v25-scene-art{
inset:0!important;
width:100%!important;
height:100%!important;
background-size:cover!important;
background-position:76% center!important;
opacity:.52!important;
}
}
@media (max-width:480px){
.baikal-header{min-height:700px!important}
.v25-scene-art{background-position:79% center!important}
}
/* ===== V27: НОВАЯ НОЧНАЯ ИЛЛЮСТРАЦИЯ HERO — ЕДИНСТВЕННЫЙ ФОН ===== */
.baikal-header{
position:relative!important;
min-height:100svh!important;
height:auto!important;
overflow:hidden!important;
isolation:isolate!important;
color:#f7ebdc!important;
background-image:url("images/image-ef4cae8a5d1e.webp")!important;
background-size:cover!important;
background-repeat:no-repeat!important;
background-position:58% center!important;
}
.baikal-header::before{content:none!important}
.baikal-header::after{
content:"";
position:absolute;
inset:0;
z-index:1;
pointer-events:none;
background:linear-gradient(90deg,
rgba(3,8,35,.88) 0%,
rgba(3,8,35,.74) 24%,
rgba(3,8,35,.42) 40%,
rgba(3,8,35,.12) 54%,
rgba(3,8,35,0) 70%);
}
.baikal-header .baikal-nav-wrap{
position:relative!important;
z-index:5!important;
width:min(1480px,92%)!important;
margin:0 auto!important;
background:transparent!important;
}
.baikal-header .hero-copy{
position:relative!important;
z-index:5!important;
width:min(600px,42vw)!important;
margin-left:max(78px,7vw)!important;
padding-top:clamp(92px,13vh,150px)!important;
}
.baikal-header .hero-copy h1{
margin:0 0 22px!important;
max-width:100%!important;
color:#fffaf1!important;
font:500 clamp(74px,7vw,118px)/.86 Georgia,"Times New Roman",serif!important;
letter-spacing:-.055em!important;
text-shadow:0 4px 24px rgba(0,0,0,.28)!important;
}
.baikal-header .hero-copy h2{
margin:0!important;
max-width:560px!important;
color:#e7b66d!important;
font:500 clamp(24px,2vw,34px)/1.12 Arial,sans-serif!important;
letter-spacing:-.02em!important;
text-transform:uppercase!important;
}
.baikal-header .hero-copy p{
max-width:525px!important;
margin:22px 0 0!important;
color:rgba(255,250,241,.88)!important;
font:400 15px/1.65 Arial,sans-serif!important;
text-shadow:0 2px 14px rgba(0,0,0,.35)!important;
}
.baikal-header .hero-actions{margin-top:28px!important}
.baikal-header .hero-primary{
min-width:170px!important;
height:50px!important;
background:linear-gradient(180deg,#e1b56d,#c8944e)!important;
color:#071632!important;
box-shadow:0 12px 30px rgba(0,0,0,.22)!important;
}
/* Никаких старых декоративных слоёв поверх новой иллюстрации */
.baikal-header .v25-scene-art,
.baikal-header .v25-flow-lines,
.baikal-header .v25-moon-ring,
.baikal-header .carved-left,
.baikal-header .carved-corner,
.baikal-header .baikal-landscape,
.baikal-header .water-animation-layer,
.baikal-header .deep-label,
.baikal-header .baikal-waves{display:none!important}
@media(max-width:1200px){
.baikal-header{background-position:62% center!important}
.baikal-header .hero-copy{
width:min(540px,48vw)!important;
margin-left:6vw!important;
padding-top:clamp(78px,11vh,120px)!important;
}
.baikal-header .hero-copy p{font-size:14px!important}
}
@media(max-width:900px){
.baikal-header{
min-height:760px!important;
background-position:68% center!important;
}
.baikal-header::after{
background:linear-gradient(90deg,
rgba(3,8,35,.91) 0%,
rgba(3,8,35,.78) 42%,
rgba(3,8,35,.34) 66%,
rgba(3,8,35,0) 86%);
}
.baikal-header .hero-copy{
width:min(520px,68vw)!important;
margin-left:6vw!important;
padding-top:105px!important;
}
}
@media(max-width:620px){
.baikal-header{
min-height:720px!important;
background-position:72% center!important;
}
.baikal-header::after{
background:linear-gradient(90deg,
rgba(3,8,35,.94) 0%,
rgba(3,8,35,.82) 58%,
rgba(3,8,35,.35) 82%,
rgba(3,8,35,.08) 100%);
}
.baikal-header .hero-copy{
width:min(86vw,470px)!important;
margin-left:7vw!important;
padding-top:88px!important;
}
.baikal-header .hero-copy h1{font-size:clamp(54px,17vw,78px)!important;margin-bottom:18px!important}
.baikal-header .hero-copy h2{font-size:clamp(20px,5.5vw,26px)!important}
.baikal-header .hero-copy p{font-size:13px!important;line-height:1.55!important;max-width:88%!important}
}
/* ===== V28: корректировка hero — воздух, рыбы, многослойный переход ===== */
.baikal-header{
position:relative!important;
overflow:hidden!important;
}
.baikal-header .hero-copy{
position:absolute!important;
top:20%!important;
left:max(78px,7vw)!important;
z-index:7!important;
width:min(600px,42vw)!important;
margin:0!important;
padding:0!important;
}
.baikal-header .hero-copy h1{
font-size:clamp(68px,6.2vw,108px)!important;
line-height:.9!important;
}
.baikal-header .baikal-nav-wrap{z-index:9!important}
/* Рыбы поверх фона, независимо от фоновой иллюстрации */
.hero-fish-layer{
position:absolute;
inset:0;
z-index:5;
pointer-events:none;
overflow:hidden;
}
.hero-fish{
position:absolute;
left:-14vw;
width:clamp(72px,7vw,132px);
height:auto;
opacity:.72;
will-change:transform;
filter:drop-shadow(0 5px 10px rgba(0,13,42,.28));
}
.hero-fish svg{display:block;width:100%;height:auto;overflow:visible}
.hero-fish .body{fill:rgba(115,188,225,.22);stroke:#9ed7f2;stroke-width:1.5}
.hero-fish .detail{fill:none;stroke:rgba(232,190,118,.9);stroke-width:1.25;stroke-linecap:round}
.hero-fish .eye{fill:#f2c273}
.hero-fish.f1{bottom:17%;animation:heroFishLTR 34s linear infinite -11s}
.hero-fish.f2{bottom:25%;width:clamp(58px,5.5vw,104px);opacity:.58;animation:heroFishRTL 43s linear infinite -20s}
.hero-fish.f3{bottom:31%;width:clamp(86px,8vw,150px);opacity:.66;animation:heroFishLTR 52s linear infinite -7s}
.hero-fish.f4{bottom:13%;width:clamp(62px,6.2vw,116px);opacity:.54;animation:heroFishRTL 38s linear infinite -28s}
.hero-fish.f5{bottom:22%;width:clamp(76px,7.2vw,136px);opacity:.64;animation:heroFishLTR 47s linear infinite -33s}
@keyframes heroFishLTR{
0%{transform:translate3d(-8vw,0,0)}
25%{transform:translate3d(30vw,-9px,0)}
55%{transform:translate3d(78vw,7px,0)}
100%{transform:translate3d(132vw,-4px,0)}
}
@keyframes heroFishRTL{
0%{transform:translate3d(132vw,0,0) scaleX(-1)}
30%{transform:translate3d(88vw,8px,0) scaleX(-1)}
60%{transform:translate3d(43vw,-7px,0) scaleX(-1)}
100%{transform:translate3d(-8vw,3px,0) scaleX(-1)}
}
/* Многослойный тёмный переход к светлой секции */
.hero-transition-waves{
position:absolute;
left:0;
right:0;
bottom:-1px;
width:100%;
height:clamp(195px,22vw,250px);
z-index:6;
pointer-events:none;
}
.hero-transition-waves svg{display:block;width:100%;height:100%;overflow:visible}
.hero-transition-waves .wave-back{fill:#071c45;fill-opacity:.84}
.hero-transition-waves .wave-mid{fill:#061632;fill-opacity:.96}
.hero-transition-waves .wave-front{fill:#041226}
.hero-transition-waves .wave-gold{fill:none;stroke:#c99552;stroke-width:1.35;vector-effect:non-scaling-stroke;opacity:.92}
.hero-transition-waves .wave-blue{fill:none;stroke:#4ba6d3;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.48}
.hero-transition-waves .wave-light{fill:#fbf4ea}
.baikal-feature-strip{position:relative!important;z-index:7!important;margin-top:-1px!important}
@media(max-width:1200px){
.baikal-header .hero-copy{top:20%!important;left:6vw!important;width:min(540px,48vw)!important}
}
@media(max-width:900px){
.baikal-header .hero-copy{top:18%!important;left:6vw!important;width:min(520px,68vw)!important;padding:0!important}
.hero-transition-waves{height:210px}
.hero-fish.f3{display:none}
}
@media(max-width:620px){
.baikal-header .hero-copy{top:17%!important;left:7vw!important;width:min(86vw,470px)!important;padding:0!important}
.baikal-header .hero-copy h1{font-size:clamp(52px,15vw,72px)!important}
.hero-transition-waves{height:185px}
.hero-fish.f2,.hero-fish.f4{display:none}
.hero-fish.f1{bottom:15%}.hero-fish.f5{bottom:22%}
}
@media(prefers-reduced-motion:reduce){
.hero-fish{animation:none!important}
}
/* ===== V29: только положение hero-copy + возврат оригинальной V23-анимации рыб ===== */
.baikal-header .hero-copy{
position:relative!important;
top:auto!important;
right:auto!important;
bottom:auto!important;
left:auto!important;
transform:none!important;
z-index:10!important;
width:min(600px,42vw)!important;
margin:52px 0 0 max(78px,7vw)!important;
padding:0!important;
}
.baikal-header .baikal-nav-wrap{z-index:12!important}
.baikal-header .water-animation-layer{
display:block!important;
position:absolute!important;
left:0!important;
right:0!important;
bottom:0!important;
width:100%!important;
height:48%!important;
z-index:7!important;
overflow:hidden!important;
pointer-events:none!important;
opacity:1!important;
visibility:visible!important;
isolation:isolate!important;
}
.baikal-header .water-animation-layer .free-fish{
display:block!important;
visibility:visible!important;
pointer-events:none!important;
}
.baikal-header .water-animation-layer .free-fish-inner{
visibility:visible!important;
filter:drop-shadow(0 5px 12px rgba(0,10,38,.34));
}
.baikal-header .water-animation-layer .fish-outline{
stroke:#d9aa66!important;
stroke-width:2.5!important;
}
.baikal-header .water-animation-layer .hero-bubbles{
display:block!important;
visibility:visible!important;
}
.baikal-header .hero-transition-waves{z-index:6!important}
.baikal-header .hero-copy{z-index:10!important}
/* На высоких мониторах hero не должен растягиваться на всю высоту viewport. */
@media(min-width:1201px){
.baikal-header{
min-height:clamp(720px,88vh,980px)!important;
height:clamp(720px,88vh,980px)!important;
}
.baikal-header .hero-copy h1{font-size:clamp(78px,6.5vw,132px)!important}
.baikal-header .hero-copy h2{font-size:clamp(26px,2vw,38px)!important}
.baikal-header .hero-copy p{font-size:clamp(14px,1vw,16px)!important}
.baikal-header .hero-primary{height:clamp(50px,4vw,58px)!important;padding:0 clamp(20px,1.8vw,30px)!important;font-size:clamp(14px,1vw,16px)!important}
.baikal-header .hero-primary b{font-size:clamp(18px,1.3vw,21px)!important}
.page-title h3{font-size:clamp(52px,4.8vw,82px)}
.page-title p{font-size:clamp(16px,1.2vw,19px)}
.arch-intro{font-size:clamp(16px,1.15vw,19px)}
.baikal-nav a{font-size:13px}
}
@media(max-width:1200px){
.baikal-header .hero-copy{width:min(540px,48vw)!important;margin:50px 0 0 6vw!important}
.baikal-header .hero-copy h1{font-size:clamp(62px,8vw,100px)!important}
.baikal-header .hero-copy h2{font-size:clamp(22px,3vw,32px)!important}
.baikal-header .hero-copy p{font-size:clamp(14px,1.6vw,15px)!important}
.baikal-header .hero-primary{height:52px!important;padding:0 22px!important;font-size:14px!important}
}
@media(max-width:900px){
.baikal-header .hero-copy{width:min(520px,68vw)!important;margin:46px 0 0 6vw!important;padding:0!important}
.baikal-header .hero-copy h1{font-size:clamp(46px,8vw,64px)!important}
.baikal-header .hero-copy h2{font-size:clamp(20px,3.6vw,28px)!important}
.baikal-header .hero-copy p{font-size:14px!important}
.baikal-header .hero-primary{height:50px!important;padding:0 20px!important;font-size:13px!important}
.baikal-nav-wrap{gap:16px}
.baikal-nav{display:flex;gap:10px}
.baikal-nav a{font-size:10px;padding:26px 0 22px}
.baikal-header .water-animation-layer{height:45%!important}
.baikal-header .water-animation-layer .fish-1{display:none!important}
}
@media(max-width:620px){
.baikal-header .hero-copy{width:min(86vw,470px)!important;margin:38px 0 0 7vw!important;padding:0!important}
.baikal-header .hero-copy h1{font-size:clamp(40px,12vw,58px)!important}
.baikal-header .hero-copy h2{font-size:clamp(18px,5.5vw,24px)!important}
.baikal-header .hero-copy p{font-size:13px!important}
.baikal-header .hero-primary{height:48px!important;padding:0 18px!important;font-size:13px!important}
.baikal-nav{display:none}
.menu-toggle{display:block;margin-left:auto;z-index:2}
.baikal-nav.is-open{display:flex!important;position:absolute;top:82px;left:0;right:0;z-index:30;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px;background:rgba(5,23,49,.98);border:1px solid rgba(201,149,82,.45);box-shadow:0 14px 28px rgba(0,0,0,.25)}
.baikal-nav.is-open a{padding:13px 4px!important;font-size:14px!important;line-height:1.2;border-bottom:1px solid rgba(247,235,220,.14)}
.baikal-nav.is-open a:last-child{border-bottom:0}
.baikal-header .water-animation-layer{height:42%!important}
.baikal-header .water-animation-layer .fish-1,
.baikal-header .water-animation-layer .fish-4,
.baikal-header .water-animation-layer .fish-5{display:none!important}
}
@media(max-width:900px){
.page-title h3{font-size:clamp(36px,8vw,58px)}
.page-title p{font-size:clamp(15px,2.2vw,18px)}
.arch-intro{font-size:clamp(16px,2.3vw,18px)}
}
@media(max-width:620px){
.page-title h3{font-size:clamp(32px,10vw,46px)}
.page-title p{font-size:15px}
.arch-intro{font-size:16px;line-height:1.6}
}
.cafes-section{position:relative;overflow:hidden;background:linear-gradient(180deg,#fff9f2 0%,#f4e6d6 100%)}
.cafes-section .page{position:relative;z-index:2;padding-bottom:150px}
.cafes-section:before{content:"";position:absolute;left:-10%;right:-10%;bottom:-92px;height:180px;background:#0b2948;border-radius:50% 50% 0 0/55% 55% 0 0;transform:rotate(1deg);opacity:.96}
.cafes-section:after{content:"";position:absolute;left:-10%;right:-10%;bottom:20px;height:92px;border-top:2px solid rgba(198,146,77,.72);border-radius:50%;transform:rotate(-1.6deg)}
.cafes-section .page-title p{color:#6f6459}
/* Единое полноэкранное меню для desktop и mobile. */
body.menu-open{overflow:hidden}
.baikal-header:has(.baikal-nav.is-open){z-index:1000!important}
.menu-toggle{display:block!important;position:relative;z-index:1002;margin-left:auto;color:var(--cream)}
.menu-toggle span{transform-origin:center;transition:transform .25s ease,opacity .2s ease}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.baikal-header:has(.baikal-nav.is-open){overflow:visible!important}
.baikal-nav,
.baikal-nav.is-open{
display:flex!important;
position:fixed!important;
inset:0!important;
z-index:1001!important;
width:100%!important;
height:100dvh!important;
margin:0!important;
padding:120px 32px 60px!important;
flex-direction:column!important;
align-items:center!important;
justify-content:center!important;
gap:22px!important;
background:linear-gradient(135deg,rgba(4,13,39,.98),rgba(7,54,93,.98))!important;
border:0!important;
opacity:0!important;
visibility:hidden!important;
transform:translateY(-18px)!important;
transition:opacity .3s ease,transform .3s ease,visibility .3s ease!important;
}
.baikal-nav.is-open{opacity:1!important;visibility:visible!important;transform:translateY(0)!important}
.baikal-nav a,
.baikal-nav.is-open a{
padding:10px!important;
color:#f7ebdc!important;
font-size:clamp(24px,3vw,52px)!important;
line-height:1.15!important;
letter-spacing:.02em!important;
opacity:0;
transform:translateY(12px);
transition:opacity .25s ease,transform .25s ease,color .2s ease!important;
}
.baikal-nav.is-open a{opacity:1;transform:translateY(0)}
.baikal-nav.is-open a:nth-child(2){transition-delay:.03s!important}
.baikal-nav.is-open a:nth-child(3){transition-delay:.06s!important}
/* Финальное правило: верхняя панель всегда закреплена относительно viewport. */
.baikal-nav-wrap{
position:fixed!important;
top:0!important;
right:0!important;
left:0!important;
width:100%!important;
max-width:none!important;
margin:0!important;
z-index:1002!important;
}
/* На мобильных вводный текст центрируется в свободной части hero, а иллюстрация остаётся внизу. */
@media(max-width:620px){
.baikal-header{
display:flex!important;
flex-direction:column!important;
justify-content:center!important;
padding-top:96px!important;
padding-bottom:150px!important;
}
.baikal-header .hero-copy{
position:relative!important;
top:auto!important;
left:auto!important;
margin:0 auto!important;
align-self:center!important;
width:min(86vw,470px)!important;
}
}
/* Лёгкая анимация и плавное появление контента без сторонних библиотек. */
.baikal-header .hero-copy{
animation:heroCopyIn .7s cubic-bezier(.22,.8,.28,1) both;
}
.baikal-brand{
animation:brandIn .55s ease-out .08s both;
}
.reveal{
opacity:0;
transform:translateY(22px);
transition:opacity .65s ease,transform .65s cubic-bezier(.22,.8,.28,1);
}
.reveal.is-visible{
opacity:1;
transform:translateY(0);
}
.arch-card,.restaurant-card,.museum-card{
transition:opacity .75s ease,transform .75s cubic-bezier(.22,.8,.28,1),box-shadow .35s ease;
will-change:opacity,transform;
}
.arch-card:hover,.restaurant-card:hover,.museum-card:hover{
transform:translateY(-5px);
box-shadow:0 26px 58px rgba(39,28,20,.16);
}
[data-bg]{
background-image:linear-gradient(135deg,#123a60,#7f5b3a);
}
[data-bg].bg-loaded{
animation:backgroundIn .55s ease-out both;
}
@keyframes heroCopyIn{
from{opacity:0;transform:translateY(18px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes brandIn{
from{opacity:0;transform:translateY(-10px)}
to{opacity:1;transform:translateY(0)}
}
@keyframes backgroundIn{
from{opacity:.6}
to{opacity:1}
}
@media(prefers-reduced-motion:reduce){
.baikal-header .hero-copy,.baikal-brand,.baikal-brand .brand-window,.baikal-brand span{animation:none}
.reveal{opacity:1;transform:none;transition:none}
.arch-card,.restaurant-card,.museum-card{transition:none}
}
@media(max-width:620px) and (prefers-reduced-motion:no-preference){
.reveal{
transition:opacity .8s ease,transform .8s cubic-bezier(.22,.8,.28,1)!important;
}
}
/* Логотип всегда по центру панели, бургер — по правому краю и по вертикальному центру. */
.baikal-nav-wrap{
justify-content:center!important;
align-items:center!important;
}
.baikal-brand{
position:absolute!important;
left:50%!important;
top:50%!important;
max-width:calc(100% - 96px)!important;
transform:translate(-50%,-50%)!important;
will-change:opacity,transform;
animation:brandCenteredIn .85s cubic-bezier(.16,1,.3,1) .08s both!important;
}
.baikal-brand .brand-window{
will-change:opacity,transform;
animation:logoMarkIn .9s cubic-bezier(.16,1,.3,1) .16s both;
}
.baikal-brand span{
will-change:opacity,transform;
animation:logoTextIn .7s cubic-bezier(.16,1,.3,1) .24s both;
}
.menu-toggle{
position:absolute!important;
top:50%!important;
right:max(4vw,24px)!important;
margin:0!important;
transform:translateY(-50%)!important;
}
@keyframes brandCenteredIn{
from{opacity:0;transform:translate(-50%,calc(-50% - 14px)) scale(.96)}
to{opacity:1;transform:translate(-50%,-50%)}
}
@keyframes logoMarkIn{
from{opacity:0;transform:translateX(-8px) rotate(-8deg) scale(.86)}
to{opacity:1;transform:translateX(0) rotate(0) scale(1)}
}
@keyframes logoTextIn{
from{opacity:0;transform:translateX(8px)}
to{opacity:1;transform:translateX(0)}
}
.baikal-nav.is-open a:nth-child(4){transition-delay:.09s!important}
.baikal-nav.is-open a:nth-child(5){transition-delay:.12s!important}
.baikal-nav.is-open a:nth-child(6){transition-delay:.15s!important}
.baikal-nav.is-open a:nth-child(7){transition-delay:.18s!important}
.baikal-nav a:after,.baikal-nav a:before{display:none!important}
.baikal-nav a:hover{color:#e2b36d!important}
/* Самостоятельный SVG: старые стили плавающих нерп не влияют на рисунок. */
.baikal-header .hero-nerpa{
position:absolute;
right:8%;
bottom:7%;
display:block;
width:clamp(200px,19vw,290px);
height:auto;
z-index:8;
pointer-events:none;
}
@media(max-width:620px){
.baikal-header .hero-nerpa{
right:2%;
bottom:5%;
width:clamp(145px,42vw,185px);
}
}