/* Responsive corrections from the mobile source audit. */
:root{--page-gutter:40px}
.hero-copy,.section-copy,.feature-copy,.feature-visual,.pricing-copy,.booking-visual-stack,.faq-layout>div,.stories-heading>div{min-width:0}
.story-top>div{min-width:0}
.story-top b,.story-top small{overflow-wrap:anywhere}
.story-filters{min-width:0}
.booking-summary{gap:8px;flex-wrap:wrap}
.image-zoom-dialog[open]{display:flex;flex-direction:column;height:min(95dvh,980px);max-height:95dvh;overflow:hidden}
.image-zoom-dialog .dialog-heading,.image-zoom-controls{flex-shrink:0}
.image-zoom-dialog .dialog-heading>div{min-width:0}
.image-zoom-frame{flex:1;min-height:0;height:auto}
.close-dialog,.close-image-dialog,.image-zoom-controls button{min-width:44px;min-height:44px}
.info-dialog{overscroll-behavior:contain}
.value-calculator input[type=range]{height:44px;padding:0;margin:10px 0 2px;background:transparent}
.value-calculator input[type=range]::-webkit-slider-runnable-track{height:7px;border-radius:6px;background:linear-gradient(to left,#ffc2de var(--cancellations-progress,20%),#ffffff45 var(--cancellations-progress,20%))}
.value-calculator input[type=range]::-moz-range-track{height:7px;border-radius:6px;background:linear-gradient(to left,#ffc2de var(--cancellations-progress,20%),#ffffff45 var(--cancellations-progress,20%))}
.value-calculator input[type=range]::-webkit-slider-thumb{width:24px;height:24px;margin-top:-8.5px}
.value-calculator input[type=range]::-moz-range-thumb{width:16px;height:16px}

@media(max-width:900px){
  :root{--page-gutter:28px}
  .hero-grid,.split-layout,.pricing-layout,.faq-layout{grid-template-columns:minmax(0,1fr)}
  .split-layout,.pricing-layout{gap:44px}
  .section-copy,.pricing-copy{max-width:680px}
  .pricing-layout{align-items:start}
  .price-card{width:100%;max-width:540px;margin-inline:auto}
  .header .nav-row{gap:10px}
  .menu-toggle{width:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center}
  .nav-row>.button{min-height:44px}
  .mobile-nav{max-height:calc(100dvh - 78px);overflow-y:auto;overscroll-behavior:contain}
  .hero h1{font-size:clamp(50px,14.5vw,86px)}
  .hero .hero-actions{flex-wrap:wrap}
  .hero-stage{width:min(400px,100%);height:650px;min-width:0;transform:none;margin:38px auto 0;justify-self:center}
  .hero-stage:before{inset:22px 0 46px;border-radius:30px;opacity:.4}
  .hero-stage .desktop-mock{display:none}
  .hero-stage .hero-phone{width:244px;max-width:86%;left:50%;top:48px;transform:translateX(-50%);min-height:406px}
  .hero-stage .phone-summary{margin-block:12px;padding-block:8px}
  .hero-stage .stage-ring{left:0;top:65px;width:100%;height:auto;aspect-ratio:1}
  .hero .hero-stage .stage-caption{top:0;left:0;right:0;transform:none;text-align:center;font-size:17px}
  .hero-stage .floating-note{max-width:calc(100% - 6px);padding:11px 13px;gap:8px;transform:none}
  .hero-stage .confirmation{left:auto;right:0;top:138px}
  .hero-stage .deposit{left:0;right:auto;bottom:75px}
  .hero .hero-stage .stage-foot{left:0;right:0;bottom:0;max-width:none;justify-content:center;gap:11px;font-size:13px}
  .hero .hero-stage .stage-foot small{font-size:10px;margin-top:0}
  .hero .hero-stage .stage-foot .icon{width:17px;height:17px}
  .hero .hero-bottom{margin-top:25px}
  .section h2 .underline,.section h3 .underline{white-space:normal}
  .feature-tabs{justify-content:flex-start}
  .booking-visual-stack{width:100%;max-width:680px;margin-inline:auto}
  .booking-picture{height:540px}
  .retention .client-card-demo{max-width:500px;width:100%;margin-inline:auto;transform:none}
  .stories-heading{display:block}
  .stories-heading h2{max-width:680px}
  .community-stats{margin-top:25px;max-width:420px}
  .value-calculator{max-width:580px}
  .close-dialog,.close-image-dialog,.image-zoom-controls button{width:44px;height:44px}
  .image-zoom-dialog{width:calc(100vw - 20px);max-width:100%;padding:16px}
  .image-zoom-dialog .dialog-heading{margin-bottom:12px;gap:12px}
  .image-zoom-dialog .dialog-heading h3{max-width:none;font-size:21px}
  .image-zoom-controls{gap:12px;margin-top:12px}
  .image-zoom-controls>span{flex:1;font-size:11px;max-width:none}
}
@media(max-width:760px){
  .feature-panel{grid-template-columns:minmax(0,1fr)}
  .feature-copy{padding:30px 26px 8px}
  .feature-visual{padding:24px 21px}
  .feature-tabs{flex-wrap:wrap;overflow:visible}
  .feature-tabs button{flex:1 0 28%;min-width:0;min-height:44px;padding:12px 10px;font-size:14px}
}
@media(max-width:640px){
  :root{--page-gutter:19px}
  html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom,0px));-webkit-text-size-adjust:100%;text-size-adjust:100%}
  .container{width:calc(100% - var(--page-gutter)*2)}
  .header .nav-row{gap:7px}
  .nav-row>.button{padding:9px 11px;font-size:14px;gap:6px}
  .nav-row>.button .icon{width:16px}
  .mobile-nav a{min-height:44px}
  .hero h1{font-size:clamp(50px,14.5vw,76px);letter-spacing:-2px}
  .hero-store-frame{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:340px;gap:8px;padding:9px}
  .hero-store-frame .store-badge{min-width:0;width:100%;padding:9px 7px;gap:6px;min-height:51px}
  .hero-store-frame .store-badge b{font-size:16px}
  .hero-store-frame .store-icon{width:23px}
  .hero .hero-actions{gap:12px}
  .hero .hero-actions .button{min-height:48px}
  .hero .hero-actions .text-button{min-height:44px}
  .hero-stage{margin-top:30px;height:650px}
  .hero .video-preview{grid-template-columns:minmax(0,1fr);margin-top:29px}
  .video-preview .video-preview-art{min-height:145px}
  .video-preview .preview-app-tile{width:100px;height:94px}
  .video-preview .preview-play{bottom:20px;left:calc(50% - 70px);width:38px;height:38px}
  .video-preview .video-preview-copy{padding:23px 24px}
  .video-preview .video-preview-copy h3{font-size:27px}
  .video-preview .video-preview-copy p{font-size:16px}
  .video-preview .video-preview-copy .inline-link{font-size:15px;line-height:1.5;min-height:44px}
  .feature-tabs button{min-height:44px}
  .feature-panel{min-height:0}
  .feature-visual{padding:23px 17px}
  .booking-picture{height:495px}
  .booking-live-demo .demo-label{text-align:center;line-height:1.8;flex-wrap:wrap}
  .booking-demo .booking-summary{font-size:13px}
  .booking-demo .booking-back{min-height:44px;margin-top:10px}
  .booking-demo .time-grid button{min-height:44px}
  .client-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .client-numbers b{font-size:23px}
  .client-numbers small{font-size:10px}
  .client-history>div{gap:6px;flex-wrap:wrap}
  .return-reminder{gap:10px}
  .return-reminder>div{min-width:0}
  .return-reminder b{line-height:1.5}
  .stories-track,.message-moments{margin-left:calc(var(--page-gutter)*-1);padding-left:var(--page-gutter)}
  .stories-demo-note{align-items:flex-start;flex-wrap:wrap;gap:5px 12px}
  .stories-demo-note b{max-width:none;flex:1 1 200px}
  .story-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  .story-filters button{min-height:44px;padding:8px 13px;flex-shrink:0}


  .story-card{flex-basis:92%;min-height:0}
  .story-chat{padding:17px 14px 20px}
  .story-footer{margin-top:auto}
  .price-card{width:auto;max-width:100%;margin-inline:4px}
  .price-card .button{white-space:normal;min-height:52px;line-height:1.4;padding-inline:15px}
  .price-card-label{gap:8px;flex-wrap:wrap}
  .value-calculator .cancellation-control>label{flex-wrap:wrap}
  .value-calculator input{scroll-margin-block:130px}
  .range-endpoints{margin-bottom:23px}
  .download-panel .store-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;max-width:340px;margin-inline:auto}
  .download-panel .store-badge{min-width:0;width:100%;gap:6px;padding:9px 7px}
  .download-panel .store-badge b{font-size:16px}
  .download-panel .store-icon{width:23px}
  .download-panel h2,.download-panel h2>span{font-size:clamp(34px,9vw,42px);overflow-wrap:normal}
  .download-alternative a{min-height:44px}
  .footer{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))}
  .footer-bottom>div{flex-wrap:wrap;gap:10px 18px}
  .footer-bottom button{min-height:44px}
  .mobile-download-bar{gap:8px;padding-inline:16px}
  .mobile-download-bar>span{min-width:0}
  .mobile-download-bar b{font-size:14px}
  .mobile-download-bar .button{min-height:44px;flex-shrink:0;padding-inline:12px;font-size:14px}
  .image-zoom-dialog .dialog-heading h3{font-size:19px;line-height:1.3;max-width:none}
  .image-zoom-controls>span{font-size:10px}
}
@media(max-width:365px){
  :root{--page-gutter:16px}
  .hero .hero-actions{flex-direction:column;gap:7px}
  .hero .hero-actions .button{width:100%}
  .hero .hero-actions .text-button{font-size:14px}
  .hero-store-frame .store-badge b,.download-panel .store-badge b{font-size:15px}
  .hero-store-frame .store-badge small,.download-panel .store-badge small{font-size:9px}
  .hero-store-frame .store-icon,.download-panel .store-icon{width:21px}
  .feature-tabs button{font-size:12px;padding-inline:7px;gap:5px}
  .feature-copy{padding-inline:21px}
  .booking-live-demo .booking-demo-wrap{padding-inline:13px}
  .booking-demo .booking-body{padding-inline:17px}
  .booking-demo .service-option{gap:7px;padding-inline:8px}
  .booking-demo .service-option b{font-size:15px}
  .booking-demo .service-option>span:last-child{font-size:15px;white-space:nowrap}
  .client-card-demo{padding-inline:18px}
  .mobile-download-bar{padding-inline:12px}
  .mobile-download-bar b{font-size:13px}
  .mobile-download-bar .button{font-size:13px;padding-inline:10px;gap:6px}
}
@media(max-height:500px) and (max-width:900px){
  .mobile-nav{max-height:calc(100dvh - 78px)}
  .image-zoom-dialog[open]{height:96dvh;max-height:96dvh;padding:10px 12px}
  .image-zoom-dialog .dialog-heading{margin-bottom:6px}
  .image-zoom-dialog .dialog-heading .kicker{display:none}
  .image-zoom-controls{margin-top:7px}
}
/* Frame only the top logo/menu bar at the mobile-navigation breakpoint. */
@media(max-width:900px){.header .nav-row{width:100%;padding-inline:var(--page-gutter);border:1px solid #111111}.header{border-bottom:0}}
