*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:84px;}
body{background:#F8F3E7;font-family:'Golos Text',sans-serif;color:#2E2C24;overflow-x:hidden;}

@keyframes happymarq{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes happymarqR{from{transform:translateX(-50%);}to{transform:translateX(0);}}

[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);}
[data-reveal].is-in{opacity:1;transform:none;}

@keyframes floaty{0%,100%{transform:translateY(0) rotate(var(--r,0deg));}50%{transform:translateY(-7px) rotate(var(--r,0deg));}}
.wig{animation:floaty 3.6s ease-in-out infinite;}
@keyframes fadein{from{opacity:0;transform:scale(1.03);}to{opacity:1;transform:none;}}
@keyframes tgpulse{0%{box-shadow:0 10px 28px rgba(60,95,94,.22),0 0 0 0 rgba(156,191,196,.55);}70%{box-shadow:0 10px 28px rgba(60,95,94,.22),0 0 0 16px rgba(156,191,196,0);}100%{box-shadow:0 10px 28px rgba(60,95,94,.22),0 0 0 0 rgba(156,191,196,0);}}

#portfolio .slot{transition:transform .5s cubic-bezier(.2,.7,.2,1);}
#portfolio .gal:hover .slot{transform:scale(1.06);}

/* ---- горизонтальные слайдеры (что входит + галерея): плавный авто-ход + управление ---- */
.slider-wrap{position:relative;}
.slider-vp{scrollbar-width:none;-ms-overflow-style:none;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-y;}
.slider-vp:active{cursor:grabbing;}
.slider-vp::-webkit-scrollbar{display:none;}
.slider-edge{position:absolute;top:0;bottom:0;width:74px;z-index:6;cursor:pointer;display:flex;align-items:center;background:transparent;opacity:0;transition:opacity .25s;color:#2E2C24;}
.slider-edge svg{width:26px;height:26px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.3));}
.slider-edge-left{left:0;justify-content:flex-start;padding-left:10px;}
.slider-edge-right{right:0;justify-content:flex-end;padding-right:10px;}
.slider-wrap:hover .slider-edge{opacity:.5;}
.slider-edge:hover{opacity:1;}
.fit-mode .slider-edge{display:none;}
@media (max-width:760px){ .slider-edge{width:48px;} .slider-edge svg{width:22px;height:22px;} }

/* ---- image-slot placeholders ---- */
.slot{position:relative;overflow:hidden;display:block;background:linear-gradient(150deg,#e7ddc6,#cdbfa0);}
.slot-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.slot.fit-contain .slot-bg{background-size:contain;}
.slot-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:14px;font-family:'Golos Text',sans-serif;color:#7c745b;}
.slot-ph b{font-family:'Unbounded',sans-serif;font-weight:600;font-size:12px;letter-spacing:.04em;color:#8E8531;word-break:break-word;}
.slot-ph small{font-size:11px;letter-spacing:.06em;opacity:.7;}
.slot.has-img .slot-ph{display:none;}
.gal .slot{cursor:zoom-in;}

@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1!important;transform:none!important;}
  .wig{animation:none!important;}
}

/* ---- mobile sticky booking bar (hidden on desktop) ---- */
.mobile-book-bar{display:none;}
.mbb-call{flex:none;width:48px;height:48px;border-radius:14px;background:#f1ece0;color:#2E2C24;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.mbb-cta{flex:1;text-align:center;background:#D8CC57;color:#37331a;font-family:'Unbounded',sans-serif;font-weight:600;font-size:15px;padding:15px 16px;border-radius:14px;text-decoration:none;}

/* ---- режим примерки фото (добавьте ?fit в адрес) ---- */
.fit-bar{display:none;}
body.fit-mode .fit-bar{display:flex;gap:12px;align-items:center;position:fixed;top:0;left:0;right:0;z-index:300;background:#2E2C24;color:#fff;font-family:'Golos Text',sans-serif;font-size:13px;line-height:1.3;padding:10px 16px;box-shadow:0 4px 16px rgba(0,0,0,.25);}
body.fit-mode .slot[data-img]{outline:2px dashed #B0A235;outline-offset:-2px;cursor:pointer;}
body.fit-mode .slot[data-img].fit-over{outline:3px solid #7fa8ab;}
.fit-tag,.fit-save{display:none;}
body.fit-mode .fit-tag{display:inline-block;position:absolute;top:6px;left:6px;z-index:6;background:rgba(46,44,36,.92);color:#fff;font-family:'Golos Text',sans-serif;font-size:11px;line-height:1;padding:5px 7px;border-radius:6px;pointer-events:none;}
body.fit-mode .slot[data-img].has-img{cursor:move;}
body.fit-mode .slot.fit-dragging{outline:3px solid #7fa8ab;}
.fit-ctrls{display:none;}
body.fit-mode .fit-ctrls{display:flex;gap:6px;position:absolute;top:6px;right:6px;z-index:7;}
body.fit-mode .fit-save{display:inline-block;background:#D8CC57;color:#37331a;font-family:'Golos Text',sans-serif;font-weight:600;font-size:11px;padding:6px 9px;border-radius:6px;border:none;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);}
body.fit-mode .fit-mini{display:inline-block;background:rgba(46,44,36,.92);color:#fff;font-family:'Golos Text',sans-serif;font-size:11px;line-height:1;padding:6px 8px;border-radius:6px;border:none;cursor:pointer;}

@media (max-width:1080px){
  .nav-main{display:none!important;}
  .burger{display:flex!important;}
}
@media (max-width:880px){
  /* header */
  .nav-main{display:none!important;}
  .burger{display:flex!important;}
  .hdr-pad{padding:0 20px!important;gap:12px!important;}
  .logo-sub{display:none!important;}

  /* tighter vertical rhythm */
  .sec-pad{padding:64px 0!important;}
  [style*="padding:104px 0"]{padding-top:56px!important;padding-bottom:56px!important;}
  .pad-x{padding-left:24px!important;padding-right:24px!important;}
  h2{font-size:30px!important;line-height:1.18!important;}
  .h2-big{font-size:30px!important;}
  .cta-h{font-size:30px!important;}

  /* hero */
  .hero-grid{grid-template-columns:1fr!important;padding-left:0!important;min-height:0!important;}
  .hero-photo{min-height:0!important;height:460px!important;}
  .hero-text{padding:40px 24px 56px!important;}
  .hero-text h1{font-size:40px!important;line-height:1.06!important;}
  .hero-cta{flex-direction:column!important;}
  .hero-cta a{width:100%!important;text-align:center!important;box-sizing:border-box!important;}
  .hero-sticker{width:108px!important;height:108px!important;left:16px!important;top:392px!important;bottom:auto!important;}
  .hero-sticker > div:first-child{font-size:13px!important;max-width:88px;}
  html.lang-uz .hero-sticker > div:first-child{font-size:11px!important;letter-spacing:.01em!important;}

  /* marquee */
  .marq3 div[style*="font-size"]{font-size:26px!important;}
  .marq3 > div:nth-child(3){display:none!important;}

  /* "что входит" callout */
  .include-callout{padding:32px 22px!important;margin-top:44px!important;}
  .include-callout > div:last-child{flex-direction:column!important;text-align:center!important;gap:12px!important;}

  /* social proof: centered, no side lines */
  .social-row{grid-template-columns:1fr!important;gap:0!important;justify-items:center!important;text-align:center!important;}
  .stat-cell{border-right:none!important;padding:18px 24px!important;width:100%!important;}
  .stat-cell > div:first-child{font-size:46px!important;}
  .stat-cell + .stat-cell{border-top:1px solid #e6dfc9!important;}
  .yandex-card{margin-left:0!important;margin-top:18px!important;justify-content:center!important;width:100%!important;box-sizing:border-box!important;}

  /* philosophy */
  .phil-grid{grid-template-columns:1fr!important;gap:30px!important;}
  .phil-grid .slot{height:380px!important;}

  /* process steps */
  .proc-card{grid-template-columns:1fr!important;}
  .proc-photo{min-height:0!important;height:auto!important;aspect-ratio:4/5!important;}
  .proc-content{padding:30px 24px 28px!important;min-width:0!important;}
  .proc-content p{font-size:16px!important;}
  .proc-num{font-size:40px!important;text-align:left!important;line-height:.9!important;}
  #step-tabs{gap:14px 20px!important;margin-top:28px!important;flex-wrap:wrap!important;}
  #step-tabs button{flex:none!important;white-space:nowrap;font-size:12px!important;padding-bottom:6px!important;}

  /* packages */
  .pkg-sec{min-height:0!important;padding:40px 0!important;}
  .pkg-bg{grid-template-columns:1fr!important;}
  .pkg-bg > .slot:last-child{display:none!important;}
  .pkg-giant{display:none!important;}
  .pkg-card{display:flex!important;flex-direction:column!important;width:92%!important;}
  .pkg-body{padding:32px 26px 36px!important;}
  .pkg-head{flex-direction:column!important;gap:6px!important;margin-bottom:22px!important;}
  .pkg-head h3{max-width:100%!important;font-size:30px!important;}
  .pkg-head > div{font-size:24px!important;}
  .pkg-tabs{order:-1!important;flex-direction:column!important;gap:6px!important;background:#fff!important;}
  .pkg-tabs button{writing-mode:horizontal-tb!important;transform:none!important;width:100%!important;flex:none!important;padding:19px 12px!important;font-size:13px!important;letter-spacing:.18em!important;color:#fff!important;}
  .pkg-tabs .pkgtab-off{background:#adcccb!important;}
  .pkg-tabs .pkgtab-on{background:#7fa8ab!important;}

  /* why */
  .why-grid{grid-template-columns:1fr!important;}
  .why-photo .slot{min-height:0!important;height:auto!important;aspect-ratio:4/5!important;}

  /* photographers → horizontal slider */
  .photogs{display:flex!important;overflow-x:auto!important;gap:14px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin:0 -24px!important;padding-left:24px;padding-right:24px;}
  .photogs > div{flex:0 0 80%!important;width:80%!important;max-width:80%!important;min-width:0!important;scroll-snap-align:center;}

  /* portfolio gallery — shorter photos */
  #portfolio [data-marquee] > div{width:188px!important;height:272px!important;}

  /* testimonials → horizontal slider */
  .testi-grid{display:flex!important;overflow-x:auto!important;gap:14px!important;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:10px;margin:0 -24px!important;padding-left:24px;padding-right:24px;}
  .testi-grid > *{min-width:82%!important;scroll-snap-align:center;}

  /* ask teaser → photo collage hidden on mobile */
  .ask-grid{grid-template-columns:1fr!important;}
  .ask-left{padding:64px 24px!important;}
  .ask-stripe{display:none!important;}

  /* FAQ compact */
  #faq button{padding:17px 18px!important;}
  #faq button span:first-child{font-size:15px!important;}

  /* location / form */
  .map-grid{grid-template-columns:1fr!important;}
  .form-card{grid-template-columns:1fr!important;}

  /* footer: centered, stacked */
  .foot-top{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:20px!important;padding:30px 22px 22px!important;}
  .foot-top > div{flex-direction:column!important;align-items:center!important;gap:18px!important;}
  .foot-top nav{flex-direction:column!important;align-items:center!important;gap:14px!important;}
  .foot-band{padding:24px 22px!important;}
  .foot-band-inner{grid-template-columns:repeat(3,1fr)!important;}
  .foot-band-inner > [data-img="foot4"],.foot-band-inner > [data-img="foot5"]{display:none!important;}
  .foot-bottom{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:16px!important;padding:24px 22px 28px!important;}
  .foot-copy{flex-direction:column!important;align-items:center!important;text-align:center!important;gap:6px!important;padding:18px 22px!important;}

  /* sticky bottom booking bar replaces floating telegram */
  .tgfloat{display:none!important;}
  .mobile-book-bar{display:flex!important;align-items:center;gap:10px;position:fixed!important;left:0;right:0;bottom:0;z-index:80;padding:9px 14px calc(9px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-top:1px solid #efe9d8;box-shadow:0 -6px 20px rgba(0,0,0,.06);}
  body{padding-bottom:72px!important;}
}
