/* Only this page's content container is widened; Avada header/footer remain intact. */
body.elm-modular-page #main{width:100%;max-width:none;padding-left:0!important;padding-right:0!important}
body.elm-modular-page #main>.fusion-row{width:100%!important;max-width:none!important;margin:0!important}
body.elm-modular-page #main .elm-landing{width:100%;max-width:none;margin:0;background:#fff;color:var(--ink)}
#main .elm-landing :where(h1,h2,h3,h4){font-family:var(--warm-serif)!important;text-transform:none!important;font-weight:400}
#main .elm-landing :where(p,li,a,button,label,input,textarea){text-transform:none!important}
#main .elm-landing .eyebrow,#main .elm-landing .daily-grid h3{font-family:var(--warm-sans)!important}
#main .elm-landing .button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:none}
#main .elm-landing .practice-grid,#main .elm-landing .programme-inclusions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8%;width:100%}
#main .elm-landing .practice-grid>article,#main .elm-landing .programme-inclusions>article{display:grid;grid-template-columns:44px minmax(0,1fr);gap:24px;width:auto;max-width:none;min-width:0}
#main .elm-landing .practice-grid>article>div,#main .elm-landing .programme-inclusions>article>div{min-width:0;width:auto;max-width:none}
#main .elm-landing .practice-grid :where(h3,p),#main .elm-landing .programme-inclusions :where(h3,p){width:auto;max-width:none;white-space:normal;word-break:normal;overflow-wrap:break-word}
#main .elm-landing svg{display:block;overflow:visible}
#main .elm-landing .pillar-icon svg{fill:none;stroke:currentColor}
#main .elm-landing .final-section:before{background-image:var(--elm-final-image,url('assets/gallery-5.png'))}
#main .elm-landing .naoko-content h2{font-size:clamp(36px,3.5vw,55px)}
#main .elm-landing .naoko-portrait img{max-height:800px;object-fit:contain}
#main .elm-landing .contact-form{margin:0}
#main .elm-landing .contact-form input,#main .elm-landing .contact-form textarea{box-sizing:border-box;height:auto;min-height:40px;font-family:var(--warm-sans)}
#main .elm-landing .contact-submit:disabled{cursor:default;opacity:.6}
@media(max-width:700px){
 #main .elm-landing .practice-grid,#main .elm-landing .programme-inclusions{grid-template-columns:minmax(0,1fr)}
 #main .elm-landing .practice-grid>article,#main .elm-landing .programme-inclusions>article{grid-template-columns:32px minmax(0,1fr);gap:17px}
 body.elm-modular-page.mobile-bar-active{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}
 #main .elm-landing .gallery-set img{max-width:none}
}
/* Programme: approved split composition. Native booking markup and states stay intact. */
#main .elm-landing .programme-section{padding-block:64px 70px}
#main .elm-landing .programme-section .conversion-inner{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:7%;align-items:start}
#main .elm-landing .programme-heading{margin-bottom:38px}
#main .elm-landing .programme-heading h2{font-size:46px;line-height:1.14;margin-bottom:24px}
#main .elm-landing .programme-inclusions{grid-template-columns:minmax(0,1fr);gap:32px}
#main .elm-landing .programme-inclusions article{padding-top:25px;gap:20px}
#main .elm-landing .programme-inclusions h3{font-size:29px;line-height:1.3}
#main .elm-landing .programme-reservation{display:block;background:#f8f7f7;color:#351b32;padding:30px;border-top:2px solid #ae976c;margin:0;min-width:0}
#main .elm-landing .programme-investment{padding:0 0 22px;border-bottom:1px solid #d9d4d8;max-width:none;margin-bottom:23px}
#main .elm-landing .programme-investment .programme-price{font-size:52px;color:#351b32;margin-bottom:8px}
#main .elm-landing .programme-investment>p:last-child{color:#6a5c67;font-size:13px;line-height:1.6}
#main .elm-landing .programme-actions{padding:0;max-width:none}
#main .elm-landing .booking-heading{color:#351b32;font-size:23px;line-height:1.3;margin-bottom:22px}
#main .elm-landing .programme-button,#main .elm-landing .elm-booking .single_add_to_cart_button{width:100%;background:#4a154b!important;color:#fff!important;margin-top:20px;font:400 11px/1.6 var(--warm-sans);letter-spacing:1px;padding:18px 16px;border:0;box-shadow:none;height:auto;white-space:normal}
#main .elm-landing .programme-question{border-top:1px solid #d9d4d8;padding-top:18px;margin-top:22px;text-align:center}
#main .elm-landing .programme-question p{color:#6a5c67}
#main .elm-landing .programme-whatsapp{color:#4a154b;border-color:#b7a8b4}
#main .elm-landing .elm-booking{scroll-margin-top:100px;color:#351b32}
#main .elm-landing .elm-booking form.cart{display:block;width:100%;margin:0}
#main .elm-landing .elm-booking .wc-bookings-booking-form{border:0;padding:0;margin:0;max-width:100%}
#main .elm-landing .elm-booking label{color:#351b32}
#main .elm-landing .elm-booking .single_add_to_cart_button:disabled{opacity:.5;cursor:not-allowed}
#main .elm-landing .programme-calendar:has(form) + .programme-button{display:none}
#main .elm-landing .elm-booking .ui-datepicker{width:100%;padding:0;background:transparent;border:0;box-shadow:none;font-family:var(--warm-sans)}
#main .elm-landing .elm-booking .ui-datepicker-header{background:#f8f7f7!important;color:#351b32!important;border:0}
#main .elm-landing .elm-booking .ui-datepicker table{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:3px}
#main .elm-landing .elm-booking .ui-datepicker th{color:#7c747c;font-size:11px;background:none}
#main .elm-landing .elm-booking .ui-datepicker td{padding:0;border:0;background:#e9e7e8!important}
#main .elm-landing .elm-booking .ui-datepicker td a,#main .elm-landing .elm-booking .ui-datepicker td span{display:block;text-align:center;padding:9px 0;font-size:13px;border:0;background:#e9e7e8!important;color:#938b93!important;text-shadow:none}
#main .elm-landing .elm-booking .ui-datepicker td.bookable a{background:#4a154b!important;color:#fff!important}
#main .elm-landing .elm-booking .ui-datepicker td a.ui-state-active,#main .elm-landing .elm-booking .ui-datepicker td.bookable a:hover{background:#351b32!important;color:#fff!important;box-shadow:inset 0 0 0 1px #ae976c}
#main .elm-landing .elm-booking .ui-datepicker td.ui-datepicker-unselectable{opacity:1}
#main .elm-landing .elm-booking .block-picker{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0;padding:0}
#main .elm-landing .elm-booking .block-picker li{list-style:none;padding:0;width:auto!important}
#main .elm-landing .elm-booking .block-picker li a{background:#e9e7e8!important;color:#351b32!important;padding:9px 14px;box-shadow:none}
#main .elm-landing .elm-booking .block-picker li a.selected,#main .elm-landing .elm-booking .block-picker li a:hover{background:#4a154b!important;color:#fff!important}
#main .elm-landing .elm-booking .wc-bookings-booking-cost{background:#e9e7e8;color:#351b32;margin:16px 0 0;padding:12px}
@media(max-width:800px){#main .elm-landing .programme-section .conversion-inner{grid-template-columns:minmax(0,1fr);gap:38px}#main .elm-landing .programme-heading h2{font-size:36px}#main .elm-landing .programme-reservation{padding:24px}}
/* Client copy revision: long biography and accessible optional rest explanation. */
#main .elm-landing .naoko-layout{align-items:start;height:auto}
#main .elm-landing .naoko-content{height:auto;max-height:none;overflow:visible}
#main .elm-landing .naoko-content>p:not(.eyebrow){margin-bottom:18px}
#main .elm-landing .elm-rest-details{max-width:850px;margin:25px auto 0;border-top:1px solid #806b50;border-bottom:1px solid #806b50;padding:18px 0;color:#f4eee5;text-align:left}
#main .elm-landing .elm-rest-details summary{cursor:pointer;font:400 24px/1.4 var(--warm-serif);color:#f4eee5;list-style:none;display:flex;justify-content:space-between;gap:20px}
#main .elm-landing .elm-rest-details summary::-webkit-details-marker{display:none}
#main .elm-landing .elm-rest-details summary::after{content:'＋';color:#c9b68e}
#main .elm-landing .elm-rest-details[open] summary::after{content:'−'}
#main .elm-landing .elm-rest-details summary:focus-visible{outline:2px solid #c9b68e;outline-offset:5px}
#main .elm-landing .elm-rest-details p{font:400 16px/1.8 var(--warm-sans);color:#e4d9df;margin:20px 0 0;text-align:left}

/* Small presentation changes, October 12. */
#main .elm-landing .elm-rest-details summary{justify-content:flex-start;gap:12px;flex-wrap:wrap}
#main .elm-landing .elm-rest-details summary>span:first-child{flex:1 1 240px}
#main .elm-landing .elm-disclosure-hint{font:400 12px/1.5 var(--warm-sans);color:#c9b68e;align-self:center;white-space:nowrap}
#main .elm-landing .elm-rest-details summary::after{flex:0 0 auto;align-self:center}
#main .elm-landing em.elm-calm-phrase{font-style:italic}

/* Hero disclosure remains in normal flow, allowing the hero to grow on opening. */
#main .elm-landing .hero:has(.elm-hero-details[open]){height:auto}
#main .elm-landing .elm-hero-details{max-width:540px;margin:10px 0 25px;color:var(--plum)}
#main .elm-landing .elm-hero-details summary{display:flex;align-items:center;gap:16px;cursor:pointer;list-style:none;font:400 13px/1.5 var(--warm-sans)}
#main .elm-landing .elm-hero-details summary::-webkit-details-marker{display:none}
#main .elm-landing .elm-hero-details summary::after{content:'＋';color:#a28b59;font-size:19px}
#main .elm-landing .elm-hero-details[open] summary::after{content:'−'}
#main .elm-landing .elm-hero-details summary:focus-visible{outline:2px solid #a28b59;outline-offset:5px}
#main .elm-landing .elm-hero-details[open]{background:rgba(248,247,247,.94);padding:18px 20px}
#main .elm-landing .elm-hero-details p{font:400 15px/1.7 var(--warm-sans);margin:15px 0 0;color:var(--plum)}
#main .elm-landing .gallery-set img[data-elm-fit="contain"]{object-fit:contain;background:#f8f7f7}

#main .elm-landing .elm-hero-details summary{display:flex;flex-wrap:wrap;gap:8px;align-items:baseline}
#main .elm-landing .elm-hero-summary-text{font:400 17px/1.6 var(--warm-sans)}
#main .elm-landing .elm-hero-toggle{font-size:12px;white-space:nowrap}
#main .elm-landing .elm-hero-details summary::after{align-self:baseline}
#main .elm-landing .gallery-set img[data-elm-fit="contain"]{object-fit:contain!important;object-position:center!important;aspect-ratio:4/3!important;height:auto!important;transform:none!important;clip-path:none!important;background:#f8f7f7}

/* Visible introductory copy, in the natural flow above the booking button. */
#main .elm-landing .hero{height:auto;min-height:640px}
#main .elm-landing .hero-content{padding-top:48px;padding-bottom:48px}
#main .elm-landing .elm-hero-intro{max-width:550px;margin:20px 0 26px;padding:0 0 0 20px;border-left:1px solid #a28b59;color:var(--plum)}
#main .elm-landing .elm-hero-intro p{font:400 16px/1.65 var(--warm-sans);color:inherit;margin:0 0 12px}
#main .elm-landing .elm-hero-intro p:last-child{margin-bottom:0;font-family:var(--warm-serif);font-size:19px;font-style:italic}
@media(max-width:700px){#main .elm-landing .hero{min-height:0}#main .elm-landing .hero-content{padding:29px 24px 32px}#main .elm-landing .elm-hero-intro{max-width:none;margin:18px 0 24px;padding-left:15px}#main .elm-landing .elm-hero-intro p{font-size:15px}}
