/* Experienced LP only. General LP assets are intentionally untouched. */
.footer-brand img{flex-shrink:0}
.footer-address{display:block;text-wrap:wrap}
.footer-address>span{display:inline-block;white-space:nowrap}
.booking-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:14px 20px;border:1px solid var(--navy);border-radius:3px;background:var(--navy);color:#fff;font:700 15px/1.5 var(--sans);text-align:center;text-decoration:none;transition:background .18s}
.booking-button:hover{background:#244765;color:#fff}
.booking-button .arrow{margin-left:auto}
.line-button{background:transparent;color:var(--green);border-color:#86aa96;min-height:50px;font-size:14px}
.line-button:hover{background:#edf5ef;color:#065f38}
.cta-pair{display:grid;gap:10px}
.hero-content{padding-top:40px;padding-bottom:36px;min-height:0}
.hero-intro{max-width:560px}
.hero h1{font-size:43px}
.hero-lead{line-height:1.8}
.hero-offer{margin-top:22px}
.hero-area{margin:14px 0}
.hero-cta{width:400px}
.hero-cta .booking-button{min-height:58px;font-size:16px}
.hero-cta .line-button{min-height:48px;font-size:14px;padding:12px 18px}
.hero-cta .small{font-size:12px;margin-top:9px}
.header-actions .booking-button{min-height:44px;font-size:13px;padding:10px 15px;visibility:hidden;opacity:0}
.scrolled .header-actions .booking-button{visibility:visible;opacity:1}
.section{padding:72px 0}
.options-heading>p{max-width:340px}
.option{padding:25px 0}
.option h3{font-size:23px}
.benefits-cta,.conditions-cta{align-items:center}
.benefits-cta>.cta-pair,.conditions-cta>.cta-pair{grid-template-columns:1fr 1fr;flex:1;max-width:640px}
.benefits-cta>.cta-pair a,.conditions-cta>.cta-pair a{font-size:13px;padding:13px 14px;min-height:54px}
.benefits-cta>p,.conditions-cta>p{flex:0 1 300px}
.condition-details{border-bottom:1px solid var(--line)}
.condition-details>summary{cursor:pointer;display:flex;align-items:center;gap:15px;min-height:62px;padding:16px 0;font-size:14px;font-weight:600;color:var(--navy);list-style:none}
.condition-details>summary::-webkit-details-marker{display:none}
.condition-details>summary::after{content:'＋';margin-left:auto;color:var(--blue);flex-shrink:0}
.condition-details[open]>summary::after{content:'−'}
.condition-details .conditions-table{border-top:1px solid var(--line)}
.condition-details .condition:last-child{border-bottom:0}
.final-section h2{font-size:33px}
#final-cta{margin:26px auto 0;max-width:680px}
#final-cta .cta-pair{grid-template-columns:1.12fr 1fr}
#final-cta .line-button{font-size:14px}
.booking-dialog{padding:0;border:0;border-radius:8px;background:#fff;color:var(--ink);width:calc(100% - 48px);max-width:1000px;height:calc(100dvh - 48px);max-height:960px;margin:auto;overflow:hidden;box-shadow:0 20px 80px #172f4940}
.booking-dialog[open]{display:flex;flex-direction:column}
.booking-dialog::backdrop{background:rgba(16,35,51,.6)}
.booking-dialog-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 22px;border-bottom:1px solid var(--line);background:#fff;z-index:1}
.booking-dialog-header h2{font:600 19px/1.5 var(--sans);letter-spacing:.02em}
.booking-close{display:flex;align-items:center;justify-content:center;gap:10px;min-width:90px;min-height:44px;padding:8px 12px;border:1px solid #b8c4cc;background:#fff;border-radius:3px;color:var(--navy);font-size:14px}
.booking-close span{font-size:23px;line-height:1}
.booking-dialog-body{overflow:auto;overscroll-behavior:contain;min-height:0;flex:1;-webkit-overflow-scrolling:touch}
.booking-intro{padding:19px 26px 15px;background:var(--paper);font-size:14px;line-height:1.8}
.booking-intro .small{margin-top:9px;font-size:13px}
.booking-external{display:inline-flex;align-items:center;min-height:44px;margin-top:5px;font-size:13px;color:var(--blue)}
#booking-loading{padding:20px 26px;font-size:14px}
#booking-retry{margin-top:14px;padding:10px 16px;min-height:44px;font:inherit;color:var(--navy);border:1px solid #aab5b8;border-radius:3px;background:white}
#timerex_calendar{min-height:600px;max-width:100%;overflow-x:auto}
#timerex_calendar iframe{display:block;width:100%;border:0}
.booking-scroll-hint{display:none}
.booking-view-tools{display:none}
.booking-privacy{padding:20px 26px 26px;color:var(--muted);font-size:12px;line-height:1.8}
.booking-privacy a{display:inline-flex;align-items:center;min-height:44px;color:var(--blue)}
body.booking-open .floating-cta{display:none!important}
@media(max-width:1050px){
  .benefits-cta,.conditions-cta{display:block}
  .benefits-cta>p,.conditions-cta>p{margin-bottom:17px}
  .benefits-cta>.cta-pair,.conditions-cta>.cta-pair{max-width:none}
}
@media(max-width:760px){
  .header-actions .booking-button{display:none}
  .hero-content{padding-top:23px;padding-bottom:25px}
  .hero-intro{max-width:none;min-height:0}
  .hero-kicker{font-size:11px;margin-bottom:16px}
  .hero h1{font-size:32px;line-height:1.5;margin-bottom:14px;letter-spacing:.02em}
  .hero-lead{font-size:13px;max-width:290px;line-height:1.8}
  .hero-offer{margin-top:22px}
  .hero-pay-note{font-size:13px;line-height:1.7}
  .hero-area{font-size:11px;margin:12px 0 14px}
  .hero-cta{width:100%}
  .hero-cta .booking-button{font-size:15px;min-height:56px;padding:14px 16px}
  .hero-cta .line-button{font-size:14px;min-height:46px}
  .hero-cta .small{font-size:12px}
  .section{padding:50px 0}
  .section h2{font-size:27px}
  .options-grid{margin-top:25px}
  .option h3{font-size:21px}
  .option p{font-size:14px;line-height:1.8}
  .benefits-cta>.cta-pair,.conditions-cta>.cta-pair,#final-cta .cta-pair{grid-template-columns:1fr}
  .benefits-cta>.cta-pair a,.conditions-cta>.cta-pair a{font-size:14px}
  .condition-details>summary{font-size:13px}
  .final-section h2{font-size:26px}
  #final-cta .booking-button{width:100%;font-size:15px}
  #final-cta .line-button{min-height:48px;font-size:14px}
  .floating-cta{display:grid;grid-template-columns:1.45fr 1fr;gap:8px;padding:8px 12px calc(8px + env(safe-area-inset-bottom))}
  .floating-cta .booking-button,.floating-cta .line-button{font-size:12px;line-height:1.5;min-height:50px;padding:8px 9px;gap:0;text-align:center;text-wrap:balance}
  .floating-cta .arrow{display:none}
  .footer{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
  .booking-dialog{width:100%;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}
  .booking-dialog-header{padding:calc(8px + env(safe-area-inset-top)) 12px 8px}
  .booking-dialog-header h2{font-size:16px}
  .booking-close{min-width:78px;font-size:13px;gap:6px}
  .booking-intro{padding:15px 16px 9px;font-size:13px}
  .booking-intro .small{font-size:12px;line-height:1.8}
  .booking-external{font-size:12px;line-height:1.6}
  .is-calendar #timerex_calendar>div{min-width:600px!important}
  .booking-dialog:not(.is-calendar) #timerex_calendar>div{min-width:0!important}
  .booking-view-tools{display:flex;flex-shrink:0;justify-content:flex-end;padding:0 12px;background:var(--paper);border-bottom:1px solid var(--line)}
  #booking-wide-view{min-height:44px;padding:8px 4px;border:0;background:transparent;color:var(--blue);font-size:12px;text-decoration:underline;text-underline-offset:3px}
  .is-calendar .booking-scroll-hint{display:block;padding:8px 16px;background:var(--paper);font-size:12px;color:var(--muted)}
  .booking-privacy{padding:16px 16px calc(20px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){
  .hero h1{font-size:29px}
  .hero-lead{font-size:12px}
  .hero-kicker{font-size:10px}
  .hero-area{font-size:10px}
  .hero-pay-note{font-size:12px}
  .booking-button .arrow{font-size:18px}
  .floating-cta{padding-left:9px;padding-right:9px}
  .floating-cta .booking-button,.floating-cta .line-button{font-size:11px}
  .booking-dialog-header h2{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.booking-button{transition:none}}
