@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300;400;500;600&family=Prata&display=swap');
:root{--ink:#0b1a38;--cream:#f4f2eb;--ice:#edf5f7;--navy:#12274c;--line:#cdd3d6}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font:400 14px/1.65 Manrope,Arial;color:var(--ink);background:var(--cream)}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-family:Prata,serif;font-weight:400;line-height:1.08}.cream{background:var(--cream)}.ice{background:var(--ice)}.navy{background:var(--navy);color:#fff}.eyebrow{font-size:9px;letter-spacing:.32em;font-weight:600}.header{height:92px;position:absolute;z-index:4;inset:0 0 auto;display:flex;align-items:center;padding:0 4vw;color:white;border-bottom:1px solid #ffffff18}.wordmark{letter-spacing:.18em;font-size:17px}.wordmark small{font-size:9px}.header nav{display:flex;gap:50px;margin:auto}.outlineButton{border:1px solid currentColor;padding:15px 30px}.hero{min-height:870px;background:url('public/glamping/hero-aug10.jpg') center/cover;position:relative;color:white}.shade{position:absolute;inset:0;background:linear-gradient(90deg,#020d1aec 0%,#03101cc8 43%,#07121e35),linear-gradient(0deg,#020d1ad9,transparent 48%)}.heroCopy{position:relative;z-index:1;padding:210px 4vw 120px;width:680px}.hero h1{font-size:68px;margin:25px 0 28px}.heroCopy>p:not(.eyebrow){font-size:16px;color:#d2d9de;max-width:540px;margin-bottom:28px}.lightButton{background:#f5f8f8;color:#0b1724;padding:18px 34px;display:inline-flex;justify-content:space-between;align-items:center;min-width:265px;border:0;font-weight:600}.quickSearch{margin-top:25px;border:1px solid #5d6c78;display:grid;grid-template-columns:1fr 1fr .8fr 60px;width:610px}.quickSearch span{padding:15px 20px;border-right:1px solid #455664;color:#aab6bf}.quickSearch small{display:block;color:white}.quickSearch b{display:grid;place-items:center}.heroFacts{position:absolute;z-index:1;bottom:38px;left:4vw;font-size:9px;letter-spacing:.2em}.routes,.legend,.houses,.weekend,.memories,.amenities,.booking,.contacts{padding:110px 4vw}.sectionHeading{display:grid;grid-template-columns:1.3fr 1fr;gap:7vw;align-items:end;margin-bottom:60px}.sectionHeading h2,.legend h2,.booking h2,.contacts h2{font-size:60px;margin-top:22px}.sectionHeading>p{font-weight:600;color:#6c7482;max-width:470px}.routeGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.routeGrid>a{height:530px;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden;padding:28px;color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.routeGrid>a:before,.experienceGrid article:before{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#071225e8,transparent 72%)}.routeGrid *,.experienceGrid *{position:relative}.routeGrid i{position:absolute;top:25px;border:1px solid white;border-radius:50%;padding:9px;font-style:normal}.routeGrid span{font-size:8px;letter-spacing:.2em}.routeGrid h3{font-size:35px;margin:8px 0 18px}.routeGrid b{border-top:1px solid #ffffff66;padding-top:15px;font-size:9px;letter-spacing:.18em}.legend{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.legend>div>p:not(.eyebrow){color:#657083;font-weight:500;margin:22px 0;max-width:580px}.legend blockquote{font:28px/1.45 Prata;border-left:1px solid;padding-left:26px;margin-top:35px}.archPhoto{height:720px;border-radius:160px 160px 22px 22px;overflow:hidden;position:relative}.archPhoto>span,.memoryPhoto>span{position:absolute;bottom:20px;right:20px;background:#f5f5f1;padding:20px 28px;border-radius:18px;font:26px Prata}.archPhoto small,.memoryPhoto small{display:block;font:7px Manrope;letter-spacing:.2em}.houseGrid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.houseCard{background:#fff;border-radius:22px;overflow:hidden}.houseCard .photo{height:390px;position:relative}.photo>span{position:absolute;z-index:1;top:20px;left:20px;background:#f8f8f5;padding:9px 14px;border-radius:22px;font-size:8px;letter-spacing:.15em}.houseCopy{padding:30px}.houseCopy>small{font-size:8px;letter-spacing:.18em}.houseCopy h3{font-size:44px;margin:5px 0}.houseCopy>strong{float:right;margin-top:-42px}.houseCopy>p{color:#677184;margin:18px 0}.houseCopy>div{display:flex;gap:8px}.houseCopy>div span{border:1px solid var(--line);border-radius:20px;padding:7px 13px;font-size:8px}.houseCopy>a{border-top:1px solid var(--line);margin-top:25px;padding-top:18px;display:flex;justify-content:space-between;font-weight:600}.weekend{background-image:radial-gradient(#ffffff35 1px,transparent 1px);background-size:90px 90px}.weekend .sectionHeading>p{color:#d2d9e2}.experienceGrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.experienceGrid article{height:470px;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.experienceGrid .wide{grid-column:span 2}.experienceGrid h3{font-size:38px}.experienceGrid span{font-size:8px;letter-spacing:.2em}.places{display:grid;grid-template-columns:1fr 1fr;margin-top:65px;border-top:1px solid #ffffff55}.places article{padding:40px 4vw 40px 0}.places article+article{border-left:1px solid #ffffff55;padding-left:4vw}.places h3{font-size:34px;margin:18px 0}.places p{color:#d1d9e1}.memories{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center}.memoryPhoto{height:690px;border-radius:30px 180px 30px 30px;overflow:hidden;position:relative}.memories h2{font-size:58px;margin:25px 0}.memories>div>p:not(.eyebrow){color:#667184;font-weight:500}.memories aside{border:1px solid var(--line);border-radius:20px;padding:26px;margin:35px 0;display:grid}.memories aside strong{font:34px Prata}.memories ol{list-style-position:inside}.memories li{border-top:1px solid var(--line);padding:17px}.amenityGrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.amenityGrid article{padding:35px 32px;min-height:230px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.amenityGrid b{font-size:9px;color:#7b8594}.amenityGrid h3{font-size:29px;margin:55px 0 10px}.amenityGrid p{color:#667184}.booking{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background-image:radial-gradient(#ffffff33 1px,transparent 1px);background-size:100px 100px}.bookingIntro>p:not(.eyebrow){color:#d4dbe4;max-width:500px}.bookedList{margin-top:35px;padding:20px;border-left:2px solid #a9e5ff;background:#ffffff08}.bookedList span,.bookedList b{display:block}.booking form{border:1px solid #7688a4;border-radius:24px;padding:40px;background:#ffffff05}.booking label{display:block;margin-top:15px}.booking label>span{display:block;font-size:8px;letter-spacing:.15em;margin-bottom:6px}.booking input,.booking select,.booking textarea{width:100%;background:#0d1d3a;border:1px solid #5c6d8b;border-radius:12px;color:white;padding:15px;font:inherit;color-scheme:dark}.booking input,.booking select{height:56px}.booking textarea{height:90px}.formRow{display:grid;grid-template-columns:1fr 1fr;gap:15px}.booking .lightButton{width:100%;margin-top:20px;border-radius:28px}.booking form>small{display:block;text-align:center;margin-top:10px}.calendarAdmin{margin-top:20px;border-top:1px solid #ffffff33;padding-top:15px}.calendarAdmin button{padding:10px;background:transparent;border:1px solid white;color:white}.contacts{display:grid;grid-template-columns:.8fr 1.2fr;gap:7vw}.contacts h3{font:25px Prata;margin:30px 0}.contacts dl{margin-top:40px}.contacts dt,.contacts dd{padding:14px;border-top:1px solid var(--line);display:inline-block}.contacts dt{width:30%}.contacts dd{width:68%}.contacts iframe{width:100%;min-height:500px;border:0;border-radius:170px 20px 20px 20px}.pageRemote{position:fixed;z-index:10;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;background:#f4f2eb;border-radius:24px;box-shadow:0 5px 25px #0003}.pageRemote a{width:46px;height:44px;display:grid;place-items:center;position:relative}.pageRemote span{display:none;position:absolute;right:55px;background:white;padding:5px 9px;border-radius:8px}.pageRemote a:hover span{display:block}footer{padding:35px 4vw;background:#08162c;color:white;display:flex;justify-content:space-between}footer span{color:#9da9b9}
@media(max-width:900px){.header nav{display:none}.routeGrid{grid-template-columns:1fr 1fr}.legend,.memories,.booking,.contacts{grid-template-columns:1fr}.archPhoto,.memoryPhoto{height:560px}.experienceGrid{grid-template-columns:1fr 1fr}.amenityGrid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.header{height:72px}.outlineButton{padding:10px}.hero{min-height:760px}.heroCopy{padding:145px 20px;width:auto}.hero h1{font-size:43px}.quickSearch{display:none}.heroFacts{left:20px;font-size:8px}.routes,.legend,.houses,.weekend,.memories,.amenities,.booking,.contacts{padding:80px 20px}.sectionHeading{grid-template-columns:1fr}.sectionHeading h2,.legend h2,.booking h2,.contacts h2,.memories h2{font-size:42px}.routeGrid,.houseGrid,.experienceGrid,.amenityGrid{grid-template-columns:1fr}.routeGrid>a{height:430px}.archPhoto,.memoryPhoto{height:480px;border-radius:100px 100px 20px 20px}.experienceGrid .wide{grid-column:auto}.experienceGrid article{height:400px}.places{grid-template-columns:1fr}.places article+article{border-left:0;border-top:1px solid #ffffff55;padding-left:0}.houseCard .photo{height:320px}.houseCopy>strong{float:none;display:block;margin:0}.amenityGrid{border-left:0}.formRow{grid-template-columns:1fr}.pageRemote{top:auto;bottom:10px;right:50%;transform:translateX(50%);flex-direction:row}footer{padding-bottom:75px;flex-direction:column;gap:8px}}

/* Карточки раздела «Что посмотреть»: единая линия текста и круглая нумерация. */
.routeGrid i{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%;line-height:1}
.routeGrid h3{min-height:76px;display:flex;align-items:flex-end;font-size:30px!important;letter-spacing:-.02em;overflow-wrap:normal;word-break:normal}
.vkButton{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:16px 22px;border-radius:28px;background:#2787f5;color:#fff;font-weight:600}

.calendarLegend{display:flex;flex-wrap:wrap;gap:18px;margin-top:22px;font-size:11px}.calendarLegend span{display:flex;align-items:center;gap:7px}.calendarLegend i{width:11px;height:11px;border-radius:50%;display:inline-block}.freeDot{background:#d7f2e2}.busyDot{background:#df7d7d}.selectedDot{background:#8bc8ff}.booking #houseSelect{position:absolute;opacity:0;pointer-events:none}.calendarHouseTabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0}.calendarHouseTabs button{border:1px solid #667894;background:#0d1d3a;color:#cbd5e2;border-radius:12px;padding:12px 8px;font:600 13px Manrope;cursor:pointer}.calendarHouseTabs button small{display:block;font-size:8px;letter-spacing:.1em;color:#8798af}.calendarHouseTabs button.active{background:#f3f7f8;color:#0b1a38;border-color:#f3f7f8}.calendarHouseTabs button.active small{color:#526078}.calendarToolbar{display:grid;grid-template-columns:45px 1fr 45px;align-items:center;margin:10px 0 16px}.calendarToolbar strong{text-align:center;font:22px Prata}.calendarToolbar button{height:40px;border:1px solid #667894;background:transparent;color:white;border-radius:10px;font-size:18px;cursor:pointer}.bookingCalendar{display:grid;grid-template-columns:1fr 1fr;gap:22px}.calendarMonth{background:#0d1d3a;border:1px solid #455878;border-radius:16px;padding:16px}.calendarMonth h3{text-align:center;font:18px Prata;margin-bottom:12px}.weekHeader,.monthDays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekHeader b{text-align:center;font-size:9px;color:#8090a8;padding:5px}.calendarDay{min-width:0;aspect-ratio:1;border:1px solid #3d5372;border-radius:9px;background:#142948;color:white;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer}.calendarDay span{font-weight:700}.calendarDay small{font-size:6px;color:#9eb0c7}.calendarDay.free:hover{border-color:#c3f1da;background:#1d4260}.calendarDay.busy{background:#512c39;border-color:#8e5060;color:#e8b9c2}.calendarDay.busy small{color:#e5aab5}.calendarDay.past{opacity:.3}.calendarDay.selected{background:#eaf5ff;color:#0b1a38;border-color:#fff}.calendarDay.selected small{color:#36536c}.calendarDay.inRange{background:#294c70;border-color:#6eaee5}.calendarSelection{display:grid;grid-template-columns:1fr 1fr;border:1px solid #5c6d8b;border-radius:14px;margin-top:16px;overflow:hidden}.calendarSelection span{padding:14px 16px}.calendarSelection span+span{border-left:1px solid #5c6d8b}.calendarSelection small{display:block;font-size:8px;letter-spacing:.15em;color:#8798af}.calendarSelection b{display:block;margin-top:4px}.formEyebrow{margin-top:30px}.calendarAdmin summary{cursor:pointer;font-weight:600;padding:8px 0}.adminPanel{margin-top:16px;padding:18px;background:#08162c;border-radius:14px}.adminPanel>button{width:100%;margin-top:16px;border-radius:10px;background:#eaf5ff;color:#0b1a38;font-weight:700}.adminPanel>p{margin-top:10px;color:#bcd4e7}.adminPanel #adminRanges{margin-top:18px;display:grid;gap:8px}.adminPanel #adminRanges>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:10px}.adminPanel #adminRanges span small{display:block;color:#8291a6}.adminPanel #adminRanges button{border-color:#9b6070;color:#f3cbd3;border-radius:8px}.booking form>select{display:none}

@media(max-width:1100px){.booking{grid-template-columns:1fr}.bookingIntro{max-width:800px}.booking form{padding:30px}}
@media(max-width:720px){.calendarHouseTabs{grid-template-columns:1fr 1fr}.bookingCalendar{grid-template-columns:1fr}.bookingCalendar .calendarMonth:nth-child(2){display:none}.calendarToolbar strong{font-size:18px}.calendarDay{border-radius:7px}.calendarDay small{display:none}.calendarMonth{padding:10px}.calendarSelection{grid-template-columns:1fr}.calendarSelection span+span{border-left:0;border-top:1px solid #5c6d8b}}

.instagramBooking #houseSelect.instagramHouse{position:static;opacity:1;pointer-events:auto;display:block}.instagramBooking form>select{display:block}.instagramHint{margin-top:35px;padding:22px;border-left:2px solid #d8b4ff;background:#ffffff09;display:grid;gap:5px}.instagramHint b{font:25px Prata}.instagramHint span{color:#cdd7e4}.instagramButton{background:linear-gradient(110deg,#f9ce34,#ee2a7b 48%,#6228d7);color:white}.instagramFallback{display:block;text-align:center;margin-top:16px;text-decoration:underline;text-underline-offset:5px;color:#c8d4e5}.instagramBooking input[type=date]{color-scheme:dark}

/* Dog friendly: спокойный редакционный блок в стиле остальных разделов. */
.dogFriendly{padding:110px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;background:#e7f0ea}.dogPhoto{height:640px;border-radius:24px 190px 24px 24px;overflow:hidden}.dogCopy h2{font-size:58px;margin:24px 0}.dogCopy>p:not(.eyebrow){font-size:16px;line-height:1.75;color:#596b63;max-width:600px;margin-top:16px}.dogLink{display:flex;align-items:center;justify-content:space-between;max-width:320px;margin-top:40px;padding:18px 0;border-top:1px solid #9aa9a1;font-weight:600}

/* Мягкое появление разделов при переходе по странице. */
.revealSection{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,.61,.36,1)}.revealSection.isVisible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.revealSection{opacity:1;transform:none;transition:none}}
@media(max-width:900px){.dogFriendly{grid-template-columns:1fr}.dogPhoto{height:540px}}
@media(max-width:620px){.dogFriendly{padding:80px 20px}.dogPhoto{height:460px;border-radius:90px 90px 20px 20px}.dogCopy h2{font-size:42px}}

/* Отдельная кнопка возврата к началу страницы в навигационном пульте. */
.pageRemote .toTop{border-top:1px solid #cdd3d6;font-size:19px;font-weight:600}
@media(max-width:620px){.pageRemote .toTop{border-top:0;border-left:1px solid #cdd3d6}}
