
:root{--leaf-rail:clamp(220px,22vw,370px)}
.button{position:relative;isolation:isolate;overflow:hidden;min-height:64px;padding:17px 28px;font-size:18px;font-weight:500;box-shadow:0 7px 19px #054b5017;transition:transform .35s var(--ease),background .35s,box-shadow .35s}
.button:before{content:'';position:absolute;inset:-60% -100%;background:linear-gradient(115deg,transparent 40%,#fff3 50%,transparent 60%);transform:translateX(-65%);z-index:-1;pointer-events:none;transition:transform .65s var(--ease)}
.button:hover:before{transform:translateX(65%)}
.button:hover{transform:translateY(-3px);box-shadow:0 12px 28px #054b5030}
.button:active{transform:translateY(0) scale(.98)}
.button:focus-visible{outline:3px solid var(--sand);outline-offset:5px}
.button>span:last-child{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:50%;background:#ffffff17;transition:transform .35s var(--ease)}
.button-sand>span:last-child{background:#0b494a0d}
.button-featured{min-height:70px;min-width:280px;font-size:19px;padding:18px 30px;border:1px solid #bf995b;box-shadow:0 8px 24px #0c656225}
.section-cta{display:flex;justify-content:center;margin-top:42px}
.steps-section>.button,.slow-copy>.button,.closing-copy>.button,.hero-content>.button{display:flex;width:fit-content;margin-left:auto;margin-right:auto}
.header-actions>.button{min-height:52px;font-size:16px;padding:12px 20px}
.header-actions{gap:18px}.desktop-nav{gap:24px}
.sound-toggle{display:flex;align-items:center;justify-content:center;gap:10px;min-height:48px;border:1px solid #09636635;border-radius:30px;padding:10px 14px;color:var(--water-deep);background:#e4e9df;cursor:pointer;transition:background .3s,transform .3s}
.sound-toggle:hover{background:#d6e5db;transform:translateY(-2px)}
.sound-toggle[aria-pressed=true]{background:var(--water-deep);color:var(--cream)}
.sound-toggle svg{width:17px;height:17px;fill:currentColor;flex-shrink:0}
.sound-toggle .sound-pause{display:none}.sound-toggle[aria-pressed=true] .sound-play{display:none}.sound-toggle[aria-pressed=true] .sound-pause{display:block}
.sound-label{font-size:13px;white-space:nowrap}
.sound-wave{display:flex;align-items:center;gap:2px;height:20px;width:26px}
.sound-wave i{display:block;width:2px;height:18px;border-radius:2px;background:currentColor;transform:scaleY(.18)}
.sound-toggle[data-state=preparing] .sound-wave{opacity:.5}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;min-height:760px;padding:45px 6vw 100px}
.hero .water-ambience{background:radial-gradient(ellipse at 75% 50%,#14949a30,transparent 65%);opacity:1;filter:none}
.hero-content{width:auto;padding:0;min-width:0;z-index:7}
.hero-content h1{font-size:clamp(88px,7.6vw,146px);line-height:.89}
.hero-content .lead{font-size:22px}
.hero-content>.button{margin-top:30px}
.hero-film{position:relative;justify-self:center;width:min(100%,610px);height:min(68vh,750px);min-height:530px;isolation:isolate;z-index:8}
.hero-film-surface{position:absolute;inset:0;border-radius:44% 44% 24px 24px;overflow:hidden;background:#144b4d;box-shadow:0 20px 80px #031c2150}
.hero-film-surface:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#03333c00 55%,#033d4866);pointer-events:none}
.hero-reel{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.1s ease}
.hero-reel.is-active{opacity:1}
.hero-film figcaption{position:absolute;bottom:26px;left:26px;right:26px;z-index:2;font-size:13px;letter-spacing:.16em;text-align:center;color:#fff8ec}
.hero-film:before{content:'';position:absolute;inset:-13px;border:1px solid #d5b68170;border-radius:44% 44% 32px 32px;z-index:-1;transform:rotate(2deg)}
.hero-side{display:none}.hero-orbits{display:none}
.home .welcome,.home .home-help,.home .slow-scene,.home .first-step,.home .instagram-section{padding-right:calc(var(--leaf-rail) + 30px);position:relative}
.home .rail-point{left:calc(100% - var(--leaf-rail)/2);top:50%}
.home .instagram-widget{margin-inline:auto}
.home .home-help>.underlink{display:flex;width:fit-content;margin-inline:auto}
.home .slow-copy{text-align:center;padding-left:4vw}
.home .slow-copy h2{font-size:clamp(64px,5.1vw,94px)}
.form-page-heading{padding-bottom:55px}
.form-page-layout{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:8vw;align-items:start;padding-top:60px}
.form-sidebar{position:sticky;top:140px;max-width:380px}
.form-sidebar .photo{aspect-ratio:4/5;border-radius:45% 45% 12px 12px;max-height:460px}
.form-sidebar>p{font:44px/1.08 'Cormorant Garamond',Georgia,serif;margin:28px 0 18px}
.form-sidebar>span{display:block;font-size:17px;line-height:1.7;max-width:340px}
.ohlala-form{max-width:900px;width:100%}
.ohlala-form fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 42px;margin:0 0 42px;min-width:0}
.ohlala-form legend{font:46px/1.1 'Cormorant Garamond',Georgia,serif;padding:0;margin-bottom:26px;letter-spacing:-.03em}
.ohlala-form legend>span{font:13px 'Ohlala Sans',sans-serif;display:inline-block;margin-right:18px;color:var(--copper);vertical-align:middle;letter-spacing:.05em}
.ohlala-form label:not(.choice-card):not(.privacy-check){display:block;font-size:17px;margin:24px 0 10px}
.ohlala-form input:not([type=checkbox]),.ohlala-form select,.ohlala-form textarea{width:100%;min-height:58px;padding:16px 18px;background:#fffdf7;border:1px solid #1f665444;border-radius:10px;color:var(--ink);font:18px 'Ohlala Sans',sans-serif;transition:border-color .2s,box-shadow .2s}
.ohlala-form input:focus,.ohlala-form select:focus,.ohlala-form textarea:focus{border-color:var(--water);box-shadow:0 0 0 4px #0b8b8c12}
.ohlala-form textarea{resize:vertical;line-height:1.65;min-height:165px}
.form-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ohlala-form .form-help{font-size:15px;line-height:1.6;color:#59726b;margin-top:12px}
.form-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0 30px}
.form-choices-origin{grid-template-columns:1fr 1fr}
.choice-card{position:relative;display:flex;align-items:center;gap:10px;min-height:76px;padding:18px 16px;border:1px solid #28684b44;border-radius:14px;background:#fffdf6;cursor:pointer;transition:background .3s,transform .3s,border-color .3s}
.choice-card span{font-size:16px;line-height:1.4}.choice-card input{width:20px;height:20px;flex-shrink:0;accent-color:var(--water-deep)}
.choice-card i{font-style:normal;margin-left:auto;color:var(--water-deep);opacity:0;transform:scale(.7);transition:opacity .25s,transform .25s}
.choice-card:has(input:checked){background:#d9ece3;border-color:var(--water)}
.choice-card:has(input:checked) i{opacity:1;transform:scale(1)}
.choice-card:hover{transform:translateY(-2px);border-color:var(--water)}
.form-consents{display:flex;flex-direction:column;gap:20px}
.form-consents .privacy-check{display:flex;align-items:flex-start;gap:13px;font-size:16px;line-height:1.6}
.form-consents .privacy-check input{margin-top:4px;flex-shrink:0;accent-color:var(--water-deep)}
.form-consents a{text-decoration:underline;text-underline-offset:4px}
.form-submit-wrap{text-align:center;margin-top:30px}.form-submit-wrap .button{margin-inline:auto}
.ohlala-form .request-success{padding:40px;text-align:center;background:#e2ebe1;border-radius:25px}
.ohlala-form .success-ring{margin-inline:auto}.ohlala-form .request-success h2{font-size:clamp(55px,5vw,80px)}
@media(max-width:1250px){.desktop-nav{gap:18px}.desktop-nav a{font-size:14px}.sound-label{display:none}.hero{gap:4vw}.hero-content h1{font-size:clamp(85px,8vw,124px)}.hero-film{height:620px;min-height:460px}.welcome{gap:4vw}.welcome-copy h2{font-size:clamp(55px,5.6vw,76px)}.visual-paths{grid-template-columns:1fr}.visual-paths>a{min-height:180px;padding:26px 0}.visual-paths>a+a{border-left:0;border-top:1px solid var(--line)}.visual-paths .round-arrow{position:absolute;right:0;bottom:30px}.form-page-layout{gap:5vw}.form-choices{grid-template-columns:1fr}.form-choices-origin{grid-template-columns:1fr 1fr}}
@media(max-width:800px){:root{--leaf-rail:128px}.button{font-size:17px;min-height:58px;padding:15px 22px}.button-featured{min-width:0;max-width:100%;width:fit-content;min-height:64px;font-size:18px}.header-actions{gap:8px}.header-actions>.button{padding:10px 12px;font-size:14px;min-height:46px;gap:8px}.header-actions>.button>span:last-child{display:none}.sound-toggle{padding:10px;gap:8px;min-height:44px}.sound-label{display:none}.sound-wave{width:20px;gap:1px}.sound-toggle svg{width:15px;height:15px}.hero{height:auto;min-height:0;max-height:none;grid-template-columns:1fr;padding:40px 24px 90px;gap:40px}.hero-content{padding:0}.hero-content h1{font-size:clamp(79px,15vw,118px);max-width:100%;margin:28px 0}.hero-content .lead{font-size:19px}.hero-content>.button{margin-top:25px}.hero-film{width:min(85%,450px);height:470px;min-height:0;margin:10px 0 25px}.hero-bottom{left:24px;right:24px;bottom:15px}.home .welcome,.home .home-help,.home .first-step,.home .instagram-section{padding-right:calc(var(--leaf-rail) + 14px)}.home .welcome{min-height:0;gap:35px}.home .welcome-copy h2{font-size:46px}.home .welcome-copy .lead{font-size:18px}.home .welcome-image .photo{max-height:350px}.home .welcome-copy .underlink{font-size:16px}.home .home-help h2,.home .instagram-section h2{font-size:44px}.home .visual-paths h3{font-size:32px}.home .visual-paths p{font-size:16px;padding-right:25px}.home .visual-paths .round-arrow{width:34px;height:34px;right:-4px;bottom:16px}.home .slow-scene{padding-right:var(--leaf-rail)}.home .slow-copy{padding:35px 20px 45px;text-align:left}.home .slow-copy h2{font-size:48px}.home .slow-copy>.button{max-width:100%;font-size:16px;padding:12px 16px;gap:8px}.home .slow-copy>.button>span:last-child{min-width:20px;width:20px;height:20px}.home .slow-photo{height:290px}.home .first-step h2{font-size:44px}.home .first-step-price strong{font-size:78px}.home .instagram-widget{padding:14px;margin-left:0;margin-right:0}.home .ig-widget-header{flex-wrap:wrap;gap:10px}.home .instagram-widget .instagram-grid{grid-template-columns:1fr;gap:25px}.home .instagram-widget .instagram-tile>p{font-size:22px}.home .instagram-widget .ig-widget-header .button{font-size:13px;padding:9px 14px;min-height:40px}.home .instagram-widget .instagram-profile strong{font-size:17px}.home .instagram-widget .instagram-profile small{font-size:11px}.form-page-heading{padding-bottom:40px}.form-page-layout{grid-template-columns:1fr;padding:35px 24px 70px;gap:35px}.form-sidebar{position:static;max-width:none;display:none}.ohlala-form legend{font-size:38px}.form-pair{grid-template-columns:1fr;gap:0}.form-choices,.form-choices-origin{grid-template-columns:1fr}.ohlala-form input:not([type=checkbox]),.ohlala-form select,.ohlala-form textarea{font-size:17px}.ohlala-form label:not(.choice-card):not(.privacy-check){font-size:16px}.ohlala-form .request-success{padding:28px 20px}.form-submit-wrap .button{width:100%}}
@media(prefers-reduced-motion:reduce){.button,.button:before,.button>span:last-child,.sound-toggle,.hero-reel,.choice-card,.choice-card i{transition:none}.button:hover,.sound-toggle:hover,.choice-card:hover{transform:none}.sound-wave i{transform:scaleY(.3)!important}}

#leaf-traveller{opacity:0;transition:opacity .35s}

@media(max-width:800px){
 :root{--leaf-rail:clamp(96px,28vw,128px)}
 .home .instagram-widget .instagram-profile{width:100%;gap:8px;min-width:0}
 .home .instagram-widget .instagram-profile img{width:32px;height:32px;flex-shrink:0}
 .home .instagram-widget .instagram-profile span{min-width:0}
 .home .instagram-widget .instagram-profile strong{overflow-wrap:anywhere;font-size:17px}
 .home .instagram-widget>.underlink{width:100%;font-size:14px;justify-content:center;text-align:center}
}
@media(max-width:450px){
 .site-header{padding:0 14px;gap:10px}
 .site-header .wordmark-name{font-size:48px}
 .site-header .wordmark-sub{font-size:14px}
 .header-actions{gap:6px}
 .header-actions>.button{font-size:13px;padding:10px;min-height:44px}
 .sound-toggle{width:50px;padding:10px 8px;gap:5px;flex-shrink:0}
 .sound-toggle svg{width:13px;height:13px}
 .sound-wave{width:13px;gap:1px}
 .sound-wave i{width:1px}
 .menu-button{width:38px;height:44px;padding:7px;flex-shrink:0}
 .menu-button span{width:24px}
}
@media(prefers-reduced-motion:reduce){.hero:after{content:none}}
.home .instagram-widget .reel-media{aspect-ratio:9/16}
.home .instagram-tile:hover video{transform:none}
