:root{color-scheme:dark;--bg:#080808;--ink:#f8f6f3;--muted:#d2ceca;--orange:#ff6917;--paper:#fcfaf7;--dark:#171411}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.5}
a{color:inherit}
a:focus-visible{outline:3px solid currentColor;outline-offset:5px}
img{display:block;max-width:100%}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.09;letter-spacing:-.04em;text-wrap:balance}
h1{font-size:clamp(2.6rem,6vw,4.55rem);font-weight:700}
h2{font-size:clamp(2rem,4.15vw,3.35rem)}
h3{font-size:clamp(1.5rem,3vw,2.15rem)}
em{font-style:normal;color:var(--orange)}
.wrap{width:min(1100px,calc(100% - 48px));margin-inline:auto}
.masthead{min-height:102px;background:var(--orange);display:grid;place-items:center;padding:12px 20px}
.brand{display:inline-block;text-align:left;text-decoration:none;color:#101010}
.brand-with-mark{display:inline-flex;align-items:center;gap:10px}
.brand-mark{flex:none}
.brand span{display:block;font-weight:900;font-size:1.16rem;line-height:1.02;letter-spacing:.025em}
.brand span:first-child{letter-spacing:.21em;font-size:.96rem;margin-bottom:5px}
.hero{text-align:center;padding:44px 0 65px}
.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.84rem;font-weight:750}
.hero .eyebrow{text-transform:none;font-size:clamp(.77rem,1.5vw,1.09rem);margin-bottom:22px}
.sub{margin:25px auto 29px;font-size:clamp(1rem,2vw,1.24rem);color:#ffb582}
.questionnaire{max-width:860px;margin:0 auto;background:#fff;color:#181410;color-scheme:light;border-radius:9px;overflow:hidden;text-align:left;scroll-margin-top:20px}
.quiz-top{display:flex;justify-content:space-between;gap:12px;padding:13px clamp(18px,4.5vw,48px);background:var(--orange);color:#16100b;font-size:.8rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.quiz-progress{height:3px;background:#f4e8dc}
.quiz-progress span{display:block;width:calc(100% / 6);height:100%;background:#be4c08;transition:width .22s ease}
.quiz-form{min-height:376px;padding:clamp(24px,5vw,52px) clamp(18px,5.5vw,64px) 30px}
.quiz-step{animation:quiz-slide .24s ease-out}
.quiz-step.is-back{animation-name:quiz-slide-back}
@keyframes quiz-slide{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
@keyframes quiz-slide-back{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
.quiz-step h2{font-size:clamp(1.35rem,3vw,1.9rem);line-height:1.2;letter-spacing:-.025em;text-wrap:pretty;margin-bottom:18px}
.quiz-step h2:focus{outline:none}
.quiz-choices{display:grid;gap:8px;max-width:460px}
.quiz-form button{font:inherit;cursor:pointer}
.quiz-choices button{display:flex;align-items:center;gap:10px;padding:8px 12px;text-align:left;background:#fffaf5;color:#21170f;border:1px solid #dbc9bb;border-radius:5px;font-weight:700}
.quiz-choices button:hover,.quiz-choices button[aria-pressed=true]{background:#ffeddf;border-color:#b6551a}
.quiz-choices button span{display:grid;place-items:center;background:#ffdfc7;color:#63300e;border-radius:3px;min-width:23px;height:23px;font-size:.8rem}
.quiz-step input{width:min(100%,500px);border:1px solid #c9bcb0;border-radius:5px;padding:13px 14px;color:#181410;background:#fff;font:inherit;font-size:1rem}
.quiz-form :is(input,button):focus-visible{outline:2px solid #a44105;outline-offset:3px}
.quiz-actions{display:flex;gap:10px;align-items:center;margin-top:18px}
.quiz-next,.quiz-back{padding:9px 15px;border-radius:4px;font-weight:800!important}
.quiz-next{background:var(--orange);color:#21170f;border:1px solid transparent}
.quiz-back{background:#fff;color:#38271a;border:1px solid #dbc9bb}
.quiz-next:disabled,.quiz-back:disabled{cursor:wait;opacity:.65}
.quiz-privacy,.quiz-error{margin-top:13px;font-size:.86rem;color:#574b40}
.quiz-error{color:#9f2618;font-weight:700}
.quiz-booking{padding:26px clamp(12px,3vw,32px) 14px;text-align:center;scroll-margin-top:20px}
.quiz-booking h2{font-size:clamp(1.65rem,3vw,2.2rem);margin:7px 0 10px}
.quiz-booking-status{color:#8d3400;font-size:.85rem;font-weight:800}
.booking-calendar-container{margin-top:16px}
.booking-calendar-container iframe{display:block;width:100%;height:760px;border:0;border-radius:6px;background:#fff}
.booking-page .closing-panel{padding-inline:clamp(12px,3vw,34px)}
.booking-page h1,.booking-page p{text-align:center}
@media(max-width:600px){.booking-calendar-container iframe{height:880px}.quiz-booking{padding-inline:4px}}

@media(prefers-reduced-motion:reduce){.quiz-step,.quiz-step.is-back{animation:none}.quiz-progress span{transition:none}}
.cta{display:inline-flex;align-items:center;justify-content:center;gap:17px;background:var(--orange);color:#140c07;border-radius:4px;text-decoration:none;padding:18px 27px;min-height:60px;font-size:.9rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.cta:hover{background:#ff853e}
.questionnaire-call{margin:18px auto 0;color:var(--muted);line-height:1.65}
.phone-cta{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:7px;min-height:44px;margin:4px;padding:8px 15px;border:1px solid #75401f;border-radius:999px;background:#2a1c13;color:#ffb582;font-size:1rem;font-weight:700;letter-spacing:normal;vertical-align:middle;white-space:nowrap}
.phone-cta:hover{background:#3d2617}
.cta span{font-size:1.14em}
.strip,.testimonials{background:var(--paper);color:var(--dark);color-scheme:light}
.strip{text-align:center;padding:38px 0 42px}
.strip h2{font-size:clamp(1.6rem,3vw,2.05rem)}
.partner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:13px 18px;max-width:980px;margin:23px auto 0;padding:0;list-style:none}
.partner-grid li{display:grid;place-items:center;min-height:62px}
.partner-grid img{width:auto;height:auto;max-width:min(100%,132px);max-height:60px;object-fit:contain;mix-blend-mode:multiply}
.partner-grid .partner-round{border-radius:50%}
.partner-grid .partner-lake{transform:rotate(4.5deg)}
@media(max-width:760px){
 .partner-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 13px;margin-top:19px}
 .partner-grid li{min-height:48px}
 .partner-grid img{max-height:45px}
}
.why-section{background:#000}
.why{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,72px);align-items:center;padding:96px 0 112px}
.why-copy{grid-column:1;grid-row:1}
.why h2{font-size:clamp(2rem,4.1vw,2.875rem)}
.checks{list-style:none;padding:0 0 0 18px;margin:22px 0 24px;display:grid;gap:11px}
.checks li{display:flex;gap:7px;align-items:flex-start;font-size:1.05rem}
.checks li::before{content:"✓";flex:0 0 17px;height:17px;margin-top:4px;display:grid;place-items:center;border-radius:50%;background:var(--orange);color:#120c08;font-size:.75rem;font-weight:900;line-height:1}
.why .cta{min-height:62px;padding-inline:32px}
.why-photos{grid-column:2;grid-row:1;position:relative;justify-self:center;width:min(100%,410px);aspect-ratio:41/51;isolation:isolate}
.why-photos a{position:absolute;display:block;width:45%;left:5%}
.why-photos a:first-child{top:0}
.why-photos a:nth-child(2){bottom:0}
.why-photos a:last-child{top:50%;left:44%;transform:translateY(-50%);z-index:1;box-shadow:0 0 0 3px #000}
.why-photos a:focus-visible{z-index:2}
.why-photos img{width:100%;height:auto}
.testimonials{padding:71px 0}
.section-intro{text-align:center;margin-bottom:50px}
.section-intro .eyebrow{color:#a63c00;margin-bottom:9px}
.testimonial-videos{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;max-width:1040px;margin-inline:auto}
.testimonial-videos iframe{display:block;flex:0 0 calc((100% - 22px)/2);width:100%;height:auto;min-width:0;min-height:200px;aspect-ratio:16/9;border:0;border-radius:8px;background:#141210}
@media(max-width:680px){
 .testimonial-videos{gap:16px}
 .testimonial-videos iframe{flex-basis:100%}
}
.screenshots{text-align:center}
/* Suppress the retired link if a browser is still showing cached gallery markup. */
.screenshots > a[href*="instagram.com"]{display:none}
.testimonial-gallery{column-count:3;column-gap:clamp(32px,5vw,66px);max-width:1040px;margin:0 auto;padding:16px 8px 0;list-style:none}
.testimonial-gallery li{break-inside:avoid;padding-bottom:clamp(38px,6vw,78px)}
.testimonial-gallery img{display:block;position:relative;border-radius:9px;box-shadow:0 2px 5px #25180f16,0 8px 20px #25180f14;transition:transform .18s ease,box-shadow .18s ease}
.testimonial-gallery img{width:100%;height:auto}
.testimonial-gallery img:hover{transform:translateY(-3px);box-shadow:0 5px 10px #25180f24,0 12px 24px #25180f20;z-index:1}
.video-heading{text-align:center;margin:58px 0 32px}
@media(min-width:901px){
 .testimonial-gallery li:nth-child(5n+2) img{rotate:-1.15deg}
 .testimonial-gallery li:nth-child(5n+4) img{rotate:1.15deg}
}
@media(max-width:900px){.testimonial-gallery{column-count:2}}
@media(max-width:600px){
 .testimonial-gallery{column-count:1;max-width:390px;padding-inline:5px}
 .testimonial-gallery li{padding-bottom:39px}
 .testimonial-gallery img{border-radius:6px}
 .video-heading{margin:43px 0 24px}
}
@media(prefers-reduced-motion:reduce){.testimonial-gallery img{transition:none}}
.closing{padding:79px 0 98px;background:#000}
.closing-panel{max-width:984px;padding:54px clamp(24px,5vw,59px) 68px;border:2px solid #40454e;border-radius:21px;background:#131313}
.closing .eyebrow{margin-bottom:17px;color:#a4aab5;font-size:clamp(.82rem,1.5vw,1.15rem);letter-spacing:.085em}
.closing h2{max-width:740px;text-wrap:wrap;font-size:clamp(2rem,4vw,3.2rem);line-height:1.15}
.closing p:not(.eyebrow){margin:24px 0 38px;color:#a4aab5;font-size:clamp(1rem,1.45vw,1.125rem)}
.closing .cta{width:min(100%,339px);min-height:63px}
.site-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px 10px;border-top:1px solid #332b25;padding:20px 18px;color:#c8beb5;font-size:.85rem;text-align:center}
.site-footer a{text-underline-offset:3px}
.terms-page{background:#fff;color:#171411;color-scheme:light}
.terms-content{width:min(1080px,calc(100% - 40px));margin:auto;padding:58px 0 50px;text-align:center;font-size:clamp(.92rem,1.35vw,1rem);line-height:1.55}
.terms-brand{color:#b94200;margin-bottom:22px}
.terms-brand span{font-size:clamp(1.7rem,4vw,2.45rem)}
.terms-brand span:first-child{font-size:clamp(1.25rem,2.8vw,1.9rem)}
.terms-content h1{font-size:clamp(1.75rem,3.7vw,2.3rem);margin-bottom:8px}
.terms-content h2{font-size:1.05rem;letter-spacing:normal;margin:21px 0 5px}
.terms-content p{max-width:90ch;margin-inline:auto}
.terms-content .terms-date{color:#5c5650;margin-bottom:19px;font-size:.86rem}
.terms-content a:not(.brand){color:#a53800;text-underline-offset:3px}
.terms-back{display:inline-block;margin-top:27px}
.terms-page .site-footer{background:#080808}
@media(max-width:680px){
 .wrap{width:calc(100% - 32px)}.wide{display:none}.masthead{min-height:84px}
 .hero{padding:36px 0 44px}.sub{margin:18px auto 24px}
 .strip{padding:29px 0 33px}
 .why{grid-template-columns:1fr;gap:34px;padding:54px 0 60px}
 .why-copy,.why-photos{grid-column:1;grid-row:auto}
 .why-photos{width:min(88%,340px)}
 .checks{padding-left:0}
 .testimonials{padding:49px 0}.section-intro{margin-bottom:31px}
 .closing{padding:43px 0 52px}.closing-panel{padding:32px 24px 38px}.closing p:not(.eyebrow){margin:17px 0 26px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.booking-confirmation{text-align:center}
.booking-confirmation .closing-panel{max-width:760px}
.booking-confirmation h1{font-size:clamp(2.2rem,6vw,4rem)}
.booking-confirmation p:last-child{margin-bottom:0}
