
/* Responsive refinement: phones 320px+, tablets and landscape. */
html{scroll-padding-top:100px}body{min-width:0}main,section,article,aside,form,details,summary{min-width:0}img,video,iframe{max-width:100%}input,select,textarea{min-width:0;max-width:100%}button,.button{white-space:normal;overflow-wrap:anywhere}h1,h2,h3,p,summary{overflow-wrap:break-word}header nav{max-height:calc(100dvh - 94px);overflow-y:auto}header .brand{min-width:0}header .menu{flex-shrink:0}.offer-grid,.course-grid,.gallery-grid,.partner-grid,.partner-visual-grid,.booking-controls,.form-row{min-width:0}.offer-grid>*,.course-grid>*,.gallery-grid>*,.partner-grid>*,.partner-visual-grid>*,.booking-controls>*{min-width:0}.contact-email{overflow-wrap:anywhere}.contact-route{min-width:0}.contact-route>span{min-width:0}.calendar-scroll{max-width:100%;overscroll-behavior-x:contain}#gallery-lightbox{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}#gallery-thumbnails{max-width:100%;overflow-x:auto}#gallery-full{max-width:100%;object-fit:contain}.floating-whatsapp{right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
@media(max-width:720px){
 html{scroll-padding-top:85px}header nav{top:75px;max-height:calc(100vh - 75px);max-height:calc(100dvh - 75px);padding-bottom:max(20px,env(safe-area-inset-bottom))}header nav a{min-height:44px;display:flex;align-items:center}.hero{height:auto;min-height:0;max-height:none}.hero-content{padding:48px 6% 28px}.hero-bottom{position:relative;bottom:auto;left:auto;right:auto;margin:0 6%;padding:20px 0 28px;flex-wrap:wrap;gap:16px 26px}.hero-bottom a:not(.hero-location){margin-left:auto}.hero h1{font-size:clamp(34px,9.5vw,58px)}.hero p{font-size:clamp(16px,4vw,18px)}.hero .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hero .actions .button{min-height:48px;padding:12px 10px;font-size:14px}.hero .actions .button:first-child{grid-column:1/-1}.section-heading h2,.contact h2,.about h2{font-size:clamp(30px,8vw,46px)}.section h1{font-size:clamp(30px,8vw,46px)}.contact .phone{font-size:clamp(26px,6.5vw,38px);gap:10px;max-width:100%}.contact-email{font-size:clamp(17px,4.5vw,22px);gap:10px;max-width:100%}.contact-route{gap:14px;padding:15px 0;align-items:center}.contact-route b{flex-shrink:0;white-space:nowrap;font-size:16px}.contact-route>span{font-size:clamp(16px,4.5vw,20px)}.contact-icons-enabled .contact-line-icon{width:21px;height:21px;flex:0 0 21px}.inquiry-disclosure summary{font-size:clamp(17px,4.8vw,22px);line-height:1.4;padding:20px 46px 20px 18px}.contact-social-end{padding-bottom:72px}.social-links{flex-wrap:wrap}.social-link{min-width:0;min-height:48px}.gallery-navigation{flex-wrap:wrap}.gallery-navigation button{min-height:44px;padding:10px 12px}.gallery-navigation #gallery-counter{font-size:14px}#gallery-lightbox{width:calc(100vw - 16px);max-width:calc(100vw - 16px);padding:12px;border-radius:10px}#gallery-close{min-width:44px;min-height:44px}#gallery-lightbox:has(#gallery-album-title:not([hidden])) #gallery-full{height:clamp(130px,30dvh,300px)}#gallery-caption{overflow-wrap:anywhere;font-size:14px}.booking-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-controls input,.booking-controls select,.booking textarea{font-size:16px}.course-day{min-width:0}.course-day small{font-size:11px;overflow-wrap:anywhere}.partner-visual-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-nameplate{overflow-wrap:break-word}.unit-actions{flex-wrap:wrap}
}
@media(max-width:420px){
 .hero .actions{grid-template-columns:1fr}.hero .actions .button:first-child{grid-column:auto}.hero-bottom{gap:14px 24px}.hero-bottom a:not(.hero-location){width:100%;margin:0}.section{padding-left:18px;padding-right:18px}.contact-route{align-items:flex-start;gap:12px}.contact-route>span{font-size:16px;line-height:1.5}.contact-route b{font-size:14px;padding-top:2px}.contact-email{font-size:17px}.contact .phone{font-size:26px}.contact .social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.contact .social-link{padding:12px 8px;font-size:14px}.contact .social-link svg{width:19px;flex-shrink:0}.floating-whatsapp{width:54px;height:54px;padding:14px;justify-content:center;border-radius:50%;gap:0}.floating-whatsapp span{display:none}.floating-whatsapp svg{width:25px;height:25px}.floating-whatsapp:not(:has(svg)){width:auto;height:auto;border-radius:28px;padding:12px;font-size:13px}.booking-controls,#b-add{grid-template-columns:1fr}.partner-visual-grid{grid-template-columns:1fr}.gallery-card img{height:auto;aspect-ratio:4/3;object-fit:cover}.route-card{min-width:0}.route-card h2,.route-card h3{font-size:23px}#course-calendar{gap:3px}.course-day{padding:5px 3px;min-height:76px}.course-day b{font-size:16px}.course-day small{font-size:10px}#course-calendar>strong{font-size:11px}.calendar-header{gap:12px;flex-wrap:wrap;padding:16px}.calendar-header img{width:115px}.calendar-header a{font-size:14px}.about-links a{font-size:16px}.unit-price{overflow-wrap:break-word}
}
@media(max-height:500px) and (orientation:landscape){header{position:relative}.hero-content{padding-top:28px}#gallery-lightbox #gallery-full{height:38dvh}#gallery-lightbox{max-height:calc(100dvh - 12px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}

.partner-actions{display:flex;flex-wrap:wrap;gap:12px 20px}.partner-actions a{min-height:44px;display:inline-flex;align-items:center}.woda-partner .pv-copy{padding-top:12px}.woda-partner .pv-copy h3{font-size:clamp(20px,2vw,26px);overflow-wrap:anywhere}

.hero-bottom a.hero-location{display:block;min-height:48px;padding:4px 0;margin:0;width:auto;letter-spacing:.1em;border-radius:4px}.hero-bottom a.hero-location:hover{color:var(--cyan)}
