:root{--ink:#20352f;--cream:#f5f0e7;--paper:#fbfaf7;--orange:#df623d;--sage:#c8d2bf;--line:#d9d6cd}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.65 Manrope,Arial,sans-serif}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}.header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid var(--line);position:relative;z-index:3;background:var(--paper)}.brand{font-weight:700;display:flex;align-items:center;gap:11px}.brand span{display:grid;place-items:center;border:1px solid var(--ink);border-radius:50%;width:38px;height:38px;font-family:Prata;font-size:13px}.header nav{display:flex;gap:32px}.header nav a{font-size:13px}.header nav a:hover,.text-link:hover{color:var(--orange)}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--orange);color:white;border:0;border-radius:3px;padding:15px 25px;font:600 13px Manrope;cursor:pointer;transition:.2s}.button:hover{background:#c94f2d;transform:translateY(-1px)}.button--small{padding:11px 19px}.hero{min-height:690px;display:grid;grid-template-columns:54% 46%;background:var(--cream)}.hero__content{padding:100px 6vw 55px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:700;color:var(--orange);margin:0 0 20px}.hero h1,.section h2,.about h2,.booking h2{font:400 clamp(44px,5.5vw,80px)/1.07 Prata,Georgia,serif;margin:0}.hero h1 em,.about h2 em,.booking h2 em{color:var(--orange);font-style:italic}.lead{max-width:610px;font-size:17px;margin:28px 0;color:#455751}.hero__actions{display:flex;align-items:center;gap:28px;margin-top:33px}.text-link{font-weight:600;font-size:13px;border-bottom:1px solid;padding-bottom:3px}.hero__stats{display:flex;gap:60px;margin-top:65px;padding-top:28px;border-top:1px solid #cfc8ba}.hero__stats div{display:flex;gap:12px;align-items:center}.hero__stats strong{font:26px Prata}.hero__stats span{font-size:11px;line-height:1.35;color:#62706b}.hero__visual{position:relative;padding:26px 26px 26px 0}.hero__visual img{border-radius:180px 0 0 0}.hero__note{position:absolute;left:-43px;bottom:70px;width:108px;height:108px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font:italic 16px Prata;transform:rotate(-9deg)}.marquee{height:75px;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-around;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.marquee i{color:var(--orange)}.section{padding:110px 5vw}.section__head{display:flex;align-items:end;justify-content:space-between;margin-bottom:48px}.section__head h2{font-size:52px}.section__head>p{color:#66746e}.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tour-card{background:white;border:1px solid var(--line);transition:.25s}.tour-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px #283e3520}.tour-card__image{height:300px;position:relative}.tour-card__image>span{position:absolute;top:16px;left:16px;background:var(--orange);color:white;border-radius:20px;padding:5px 12px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.tour-card__image>span.new{background:var(--ink)}.tour-card__body{padding:25px}.meta{text-transform:uppercase;letter-spacing:.11em;font-size:10px;color:#78837e}.tour-card h3{font:23px/1.25 Prata;margin:10px 0}.tour-card__body>p:not(.meta){min-height:73px;color:#66736e}.tour-card__body>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px}.choose-tour{border:0;background:none;color:var(--orange);font-weight:700;cursor:pointer}.about{background:var(--sage);padding:110px 7vw;display:grid;grid-template-columns:44% 48%;gap:8%;align-items:center}.about__images{height:640px;position:relative;padding:0 30px 45px 0}.about__main{border-radius:0 0 190px 0}.about__badge{position:absolute;right:-25px;bottom:0;background:var(--orange);color:white;width:135px;height:135px;border-radius:50%;display:grid;place-items:center;text-align:center;font:italic 16px/1.4 Prata;transform:rotate(7deg)}.about h2{font-size:42px}.about__copy>p:not(.eyebrow){font-size:16px;color:#44534e}.about ul{list-style:none;padding:20px 0 0;border-top:1px solid #a9b6a2}.about li{margin:8px 0}.about li:before{content:'✓';color:var(--orange);margin-right:10px}.social__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.social__grid a{height:320px;position:relative;overflow:hidden}.social__grid img{transition:.4s}.social__grid a:hover img{transform:scale(1.04)}.social__grid span{position:absolute;left:16px;bottom:16px;background:white;padding:7px 12px;font-size:11px;font-weight:700}.booking{background:var(--ink);color:white;padding:110px 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.booking h2{font-size:55px}.booking>div>p:not(.eyebrow){color:#bdc8c3;max-width:480px}.secure{margin-top:35px;color:#dce4df;font-size:12px}.booking form{background:var(--paper);color:var(--ink);padding:36px}.booking label{display:grid;gap:8px;font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:18px}.booking input,.booking select{width:100%;border:0;border-bottom:1px solid #bac1bd;background:transparent;padding:12px 2px;font:14px Manrope;color:var(--ink);outline:none}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.total{display:flex;justify-content:space-between;align-items:center;margin:25px 0}.total strong{font:25px Prata}.button--full{width:100%}.booking small{display:block;text-align:center;color:#88908d;margin-top:12px;font-size:9px}footer{padding:40px 5vw;display:flex;justify-content:space-between;align-items:center;background:#182a25;color:white}footer p{font-size:10px;color:#9eaaa5;text-align:center}footer>div{display:flex;gap:20px;font-size:12px}.modal{position:fixed;inset:0;background:#14241fbb;display:none;place-items:center;padding:20px;z-index:10}.modal.open{display:grid}.modal__box{position:relative;background:var(--paper);padding:45px;max-width:470px;text-align:center}.modal__box>button:first-child{position:absolute;right:15px;top:10px;background:none;border:0;font-size:28px;cursor:pointer}.modal__box h3{font:28px Prata}.success{width:60px;height:60px;background:var(--sage);border-radius:50%;display:grid;place-items:center;margin:auto;font-size:25px}
@media(max-width:900px){.header nav{display:none}.hero{grid-template-columns:1fr}.hero__content{padding:70px 7vw}.hero__visual{height:500px;padding:0 7vw 40px}.hero__visual img{border-radius:130px 0 0 0}.hero__note{left:auto;right:4vw;bottom:15px}.tour-grid{grid-template-columns:1fr}.tour-card{display:grid;grid-template-columns:45% 55%}.about{grid-template-columns:1fr}.about__images{height:540px}.booking{grid-template-columns:1fr}.social__grid a{height:250px}}
@media(max-width:600px){.header{height:70px;padding:0 20px}.header>.button{display:none}.hero__content{padding:60px 20px 40px}.hero h1{font-size:45px}.lead{font-size:15px}.hero__stats{gap:18px}.hero__stats div{display:block}.hero__visual{height:420px;padding:0 20px 25px}.marquee span:nth-of-type(even),.marquee i:nth-of-type(even){display:none}.section{padding:75px 20px}.section__head{align-items:start;display:block}.section__head h2{font-size:39px}.section__head>p{margin-top:20px}.tour-card{display:block}.tour-card__image{height:260px}.about{padding:75px 20px}.about__images{height:430px}.about__badge{right:-8px}.about h2{font-size:34px}.social__grid{grid-template-columns:1fr 1fr}.social__grid a{height:210px}.social__grid a:last-child{display:none}.booking{padding:75px 20px}.booking h2{font-size:42px}.booking form{padding:24px 20px}.form-row{grid-template-columns:1fr}footer{gap:25px;align-items:start;flex-direction:column}footer p{text-align:left}}
.reviews{background:#f7f0e8}.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.review-card{background:#fff;border:1px solid rgba(34,39,45,.09);border-radius:22px;padding:26px;box-shadow:0 12px 34px rgba(34,39,45,.06)}.review-card__stars{color:#d47b47;letter-spacing:3px;font-size:18px}.review-card blockquote{margin:16px 0 24px;font-size:17px;line-height:1.65}.review-card blockquote p{margin:0}.review-card footer{padding:0;background:none;color:#22272d;display:flex;align-items:center;justify-content:space-between}.review-card footer span{font-size:13px;color:#757575}.reviews-empty{padding:28px;background:#fff;border-radius:18px}.review-form-wrap{margin-top:46px;padding:38px;background:#fff;border-radius:24px;display:grid;grid-template-columns:.8fr 1.2fr;gap:48px}.review-form-wrap h3{font:34px Prata;margin:0 0 14px}.review-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}.review-form label{display:grid;gap:7px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;min-width:0}.review-form label:nth-of-type(4),.review-form .button,.review-form__message{grid-column:1/-1}.review-form input,.review-form select,.review-form textarea{display:block;width:100%;max-width:100%;min-width:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:13px 14px;font:16px/1.35 Manrope;color:var(--ink)}.review-form input,.review-form select{min-height:48px}.review-form textarea{resize:vertical;min-height:132px}.review-form small{font-weight:400;text-transform:none;letter-spacing:0}.review-form .button{min-height:50px}.review-form__message{margin:0;padding:12px 14px;border-radius:4px}.success-message{background:#e2eee5;color:#28543a}.error-message{background:#f7e4df;color:#7b3020}@media(max-width:850px){.review-grid,.review-form-wrap{grid-template-columns:1fr}.review-form-wrap{gap:25px}.review-form{grid-template-columns:1fr}.review-form label{grid-column:1/-1}}@media(max-width:600px){.reviews.section{padding-left:14px;padding-right:14px}.review-grid{gap:14px}.review-card{padding:20px;border-radius:16px}.review-card footer{align-items:flex-start;gap:8px;flex-direction:column}.review-form-wrap{margin-top:28px;padding:24px 16px;border-radius:16px;gap:18px}.review-form-wrap h3{font-size:29px}.review-form{gap:14px}.review-form .button{width:100%}}
.tour-card__thumbs{display:grid!important;grid-template-columns:repeat(3,1fr);gap:9px;border:0!important;padding:0!important;margin:8px 0 20px}.tour-gallery__item{display:block;border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden;border-radius:6px;aspect-ratio:4/3}.tour-gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.tour-gallery__item:hover img{transform:scale(1.04)}.tour-lightbox{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;background:#101a17eF;padding:70px 72px}.tour-lightbox.open{display:flex}.tour-lightbox__image{max-width:min(1100px,100%);max-height:calc(100vh - 110px);width:auto;height:auto;object-fit:contain;border-radius:4px}.tour-lightbox__close,.tour-lightbox__prev,.tour-lightbox__next{position:absolute;border:0;background:#fff;color:var(--ink);cursor:pointer;border-radius:50%;display:grid;place-items:center}.tour-lightbox__close{right:22px;top:20px;width:46px;height:46px;font-size:30px}.tour-lightbox__prev,.tour-lightbox__next{top:50%;width:48px;height:48px;font-size:30px;transform:translateY(-50%)}.tour-lightbox__prev{left:18px}.tour-lightbox__next{right:18px}@media(max-width:600px){.tour-card__thumbs{grid-template-columns:repeat(2,1fr)}.tour-gallery__item{aspect-ratio:3/2}.tour-lightbox{padding:64px 12px}.tour-lightbox__prev,.tour-lightbox__next{top:auto;bottom:12px;transform:none}.tour-lightbox__close{right:12px;top:10px}}



/* Улучшенная компоновка бронирования на широких экранах */
@media (min-width:1000px){
  .booking{
    grid-template-columns:minmax(300px,.72fr) minmax(620px,1.28fr);
    gap:clamp(48px,6vw,92px);
    align-items:start;
    padding:110px max(5vw,48px);
  }
  .booking>div{padding-top:28px;position:sticky;top:100px}
  .booking>div>p:not(.eyebrow){font-size:16px;line-height:1.7}
  .booking form{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    column-gap:28px;
    padding:42px 46px;
    border-radius:24px;
    box-shadow:0 24px 70px rgba(0,0,0,.24);
  }
  .booking form>label,.booking .form-row>label{margin-bottom:22px}
  .booking form>label:first-child{grid-column:1;grid-row:1}
  .booking .form-row{display:contents}
  .booking .form-row>label:first-child{grid-column:1/-1;grid-row:2}
  .booking .form-row>label:last-child{grid-column:2;grid-row:1}
  .booking form>label:nth-of-type(2){grid-column:1;grid-row:3}.booking form>label:nth-of-type(3){grid-column:2;grid-row:3}.booking form>label:nth-of-type(2),.booking form>label:nth-of-type(3){align-self:start}
  .booking .total{grid-column:1/-1;grid-row:4;margin-top:4px}
  .booking form>.button{grid-column:1/-1;grid-row:5}
  .booking-submit-status{grid-column:1/-1}
  .booking input,.booking select{font-size:15px;min-height:48px}
  #selected-date-display{font-size:16px;padding:13px 14px}
  .sonya-public-calendar{margin:12px 0 16px;padding:20px 22px;border-radius:20px}
  .sonya-public-calendar__head{margin-bottom:15px}
  .sonya-public-calendar__head strong{font-size:18px}
  .sonya-public-calendar__grid{gap:7px}
  #booking .sonya-public-calendar__day{font-size:14px;border-radius:11px;aspect-ratio:auto!important;min-height:46px;height:46px}
  .sonya-time-wrap{margin:14px 0 4px}
}

/* Дипломы и благодарности в блоке «Обо мне» */
.about-materials{margin-top:30px;padding-top:24px;border-top:1px solid #a9b6a2}.about-materials h3{margin:0 0 15px;font:22px/1.3 Prata,Georgia,serif}.about-materials__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.about-materials__item{min-width:0;padding:0;border:1px solid rgba(32,53,47,.16);border-radius:9px;overflow:hidden;background:#fff;color:var(--ink);cursor:zoom-in;text-align:left;box-shadow:0 5px 16px rgba(32,53,47,.08);transition:transform .2s,box-shadow .2s}.about-materials__item:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(32,53,47,.15)}.about-materials__item img{height:118px;object-fit:cover}.about-materials__item span{display:block;padding:8px 9px;font-size:11px;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-lightbox__caption{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);max-width:min(760px,calc(100% - 150px));margin:0;padding:7px 13px;border-radius:18px;background:rgba(255,255,255,.94);color:var(--ink);font-size:13px;text-align:center}
@media(max-width:600px){.about-materials__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-materials__item img{height:120px}.material-lightbox__caption{bottom:18px;max-width:calc(100% - 130px);font-size:11px}}

.booking label .field-note{display:block;margin:2px 0 0;text-align:left;color:#6f7d77;font-size:10px;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:500}

.review-form input[name="review_author"],.review-form input[name="review_email"]{height:52px;min-height:52px}

.review-form label:has(>input[name="review_author"]),.review-form label:has(>input[name="review_email"]){grid-template-rows:auto 52px auto;align-content:start}
.review-form .review-email-note{display:block;margin:0;text-align:left;font-size:11px;line-height:1.4;color:#6f7d77;text-transform:none;letter-spacing:0;font-weight:500}
