:root{--paper:#f7f3ea;--ink:#252522;--muted:#565650;--accent:#304bc5;--pink:#e9c4d0;--coral:#e87561;--butter:#e8be57;--line:#d6d1c7;--font:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font)}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-underline-offset:4px}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}::selection{background:var(--pink);color:var(--ink)}.wrap{width:calc(100% - 112px);max-width:1240px;margin:auto}.skip{position:absolute;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 0;border-bottom:1px solid var(--ink)}.brand{display:flex;align-items:center;gap:15px;text-decoration:none;flex-shrink:0}.brand-symbol{width:42px;height:59px;position:relative;display:block}.brand-symbol i{position:absolute;display:block}.brand-symbol i:first-child{width:25px;height:40px;background:var(--accent);border-radius:40px 0 0 40px;left:0;bottom:0}.brand-symbol i:last-child{width:17px;height:28px;background:var(--coral);border-radius:0 28px 28px 0;right:0;top:0}.brand-type{display:flex;flex-direction:column}.brand-type b{font-size:34px;letter-spacing:-1.6px;line-height:1.05}.brand-type small{font-size:11px;letter-spacing:5px;line-height:1.6;padding-top:5px}nav{display:flex;align-items:center;gap:30px;font-size:14px}nav a{text-decoration:none}nav a:hover{text-decoration:underline}.nav-cta{border:1px solid var(--ink);padding:11px 19px;border-radius:2px;transition:background .2s}.nav-cta:hover{background:var(--ink);color:var(--paper);text-decoration:none}.menu{display:none}.hero{padding:82px 0 76px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(0,.9fr);gap:65px;align-items:center}.eyebrow,.section-label{font-size:12px;letter-spacing:2.3px;font-weight:500;margin:0 0 29px;line-height:1.6}h1{font-size:clamp(46px,5.1vw,73px);font-weight:700;line-height:1.055;letter-spacing:-3.5px;margin:0 0 30px}h1 span{color:var(--accent)}.hero-copy{font-size:19px;line-height:1.55;margin:0 0 24px;max-width:520px}.eligibility{font-size:14px;margin:0 0 25px}.eligibility strong{font-weight:500}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:white;text-decoration:none;padding:15px 24px;border-radius:4px;font-size:17px;font-weight:500;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px);background:#253b9d}.hero-details{margin-top:17px}.booking-hint{font-size:13px;line-height:1.65;color:var(--muted);margin:0}.credentials{font-size:12px;color:var(--muted);line-height:1.65;margin:24px 0 0;padding-top:22px;position:relative}.credentials:before{content:'';width:45px;height:1px;background:var(--ink);position:absolute;left:0;top:0}.hero-visual{position:relative;isolation:isolate;width:100%;max-width:465px;justify-self:end;padding-right:22px}.hero-portrait{position:relative;z-index:1}.hero-portrait img{display:block;width:100%;height:560px;object-fit:cover;object-position:50% 27%;border-radius:0 105px 0 0}.portrait-caption{font-size:12px;letter-spacing:1.7px;margin:15px 0 12px}.shape{position:absolute;pointer-events:none;transform:translate3d(var(--mx,0px),var(--my,0px),0);transition:transform 1s ease-out}.shape i{display:block;width:100%;height:100%;animation:float 9s ease-in-out infinite}.shape-yellow{width:115px;height:115px;right:-13px;top:-32px;z-index:0}.shape-yellow i{background:var(--butter);animation-delay:-3s}.shape-pink{width:75px;height:235px;left:-42px;bottom:104px;z-index:0}.shape-pink i{background:var(--pink);animation-duration:11s;animation-delay:-5s}.shape-coral{width:150px;height:150px;right:-17px;bottom:76px;z-index:2}.shape-coral i{background:var(--coral);border-radius:100% 0 0 0;animation-duration:12s;animation-delay:-2s}.shape-arc{width:135px;height:285px;right:-32px;top:195px;z-index:0}.shape-arc i{border:1px solid var(--ink);border-left:0;border-radius:0 100% 100% 0;animation-duration:14s}.band{border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.section{padding:80px 0}h2{font-size:clamp(34px,3.8vw,51px);letter-spacing:-2px;font-weight:700;line-height:1.12;margin:0 0 25px}h3{font-size:23px;letter-spacing:-.7px;line-height:1.3;margin:0 0 12px;font-weight:600}.about-band{background:#f6e8e8}.about{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:center}.about-photo{margin:0;position:relative;max-width:420px}.about-photo:before{content:'';position:absolute;width:100px;height:100px;left:-22px;top:-22px;background:var(--accent);border-radius:50%;z-index:0}.about-photo img{display:block;position:relative;width:100%;height:auto;border-radius:4px 4px 75px 4px}.about-photo figcaption{font-size:14px;line-height:1.55;margin-top:18px;color:var(--muted)}.about-copy p{margin:0 0 18px}.about-copy .section-label{margin-bottom:20px}.about-copy .quiet{margin-bottom:0}.quiet{font-size:14px;color:var(--muted);line-height:1.7}.focus-heading{display:flex;justify-content:space-between;gap:30px;align-items:end}.focus-heading h2{margin:0}.focus-heading>p{font-size:14px;color:var(--muted);margin:0}.focus-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:37px;align-items:start}.focus-card{border:1px solid var(--line);background:#fffdf8;border-radius:4px;transition:border-color .2s}.focus-card:hover{border-color:var(--ink)}.focus-card summary{padding:28px;cursor:pointer;list-style:none}.focus-card summary::-webkit-details-marker,.questions summary::-webkit-details-marker{display:none}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.card-icon{display:flex;align-items:center;justify-content:center;width:43px;height:43px;border-radius:50%;background:#ece5f4;color:var(--ink)}.focus-card:nth-child(2) .card-icon{background:#f5dfbf}.focus-card:nth-child(3) .card-icon{background:#f1ced5}.focus-card:nth-child(4) .card-icon{background:#dfe5f9}.card-toggle{width:29px;height:29px;font-size:24px;display:flex;align-items:center;justify-content:center}.card-toggle:after{content:'+'}.focus-card[open] .card-toggle:after{content:'−'}.card-description{display:block;font-size:16px;line-height:1.65;color:var(--muted);max-width:440px}.card-content{margin:0 28px;border-top:1px solid var(--line);padding:18px 0 26px}.card-content p{font-size:15px;margin:0;color:var(--muted)}.approach{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;border-top:1px solid var(--line);padding-top:33px;margin-top:50px}.approach p{margin:0 0 17px}.approach p:last-child{margin:0}.faq-band{background:#eceef7}.faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px}.questions details{border-bottom:1px solid #c8ccdb;padding:21px 0}.questions details:first-child{padding-top:0}.questions summary{display:flex;justify-content:space-between;gap:20px;align-items:center;list-style:none;font-size:17px;cursor:pointer}.questions summary:after{content:'+';font-size:25px}.questions details[open] summary:after{content:'−'}.questions p{font-size:15px;color:var(--muted);margin:15px 30px 0 0}.start{display:grid;grid-template-columns:1fr auto;gap:24px 50px;align-items:center}.start h2{margin-bottom:17px}.start p{margin:0}.start .availability{font-size:14px;color:var(--muted);margin-top:12px}.booking-action .booking-hint{margin-top:13px}.booking-alternatives{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:45px;border-top:1px solid var(--line);padding-top:30px;margin-top:15px}.booking-alternatives h3{font-size:18px}.booking-alternatives p{font-size:15px;color:var(--muted)}.booking-alternatives a{overflow-wrap:anywhere}footer{border-top:1px solid var(--ink);padding:28px 0 34px;font-size:12px;color:var(--muted)}.footer-main{display:flex;gap:26px;align-items:center}.footer-main>span{margin-right:auto}footer button{border:0;background:none;padding:0;text-decoration:underline;color:inherit;font-size:12px}footer p{max-width:900px;margin:20px 0 0}dialog{width:calc(100% - 40px);max-width:590px;border:1px solid var(--ink);border-radius:5px;background:var(--paper);color:var(--ink);padding:28px}dialog::backdrop{background:#25252280}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{font-size:27px;margin:0}.dialog-head button{border:1px solid var(--line);background:transparent;padding:7px 12px;border-radius:3px;font-size:14px}dialog p{font-size:15px}@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-7px) rotate(1.2deg)}}
@media(min-width:1300px){h1{font-size:73px}.hero{padding-top:90px}}
@media(max-width:1050px){.wrap{width:calc(100% - 72px)}nav{gap:20px;font-size:13px}.brand-type b{font-size:29px}.brand-symbol{transform:scale(.85);margin-right:-4px}.hero-grid{gap:44px;grid-template-columns:1.1fr .9fr}.hero-portrait img{height:490px}.hero h1{font-size:55px;letter-spacing:-2.7px}.shape-coral{width:120px;height:120px}.about,.approach,.faq{gap:50px}.hero-copy{font-size:18px}}
@media(max-width:800px){nav{gap:15px}.nav-cta{padding:9px 12px}.hero-grid{gap:38px}.hero h1{font-size:45px;letter-spacing:-2px}.hero h1 br{display:none}.hero-portrait img{height:450px}.brand-type b{font-size:26px}.brand-type small{font-size:10px;letter-spacing:4px}.brand{gap:10px}.shape-arc{right:-20px}.hero{padding-top:65px}}
@media(max-width:680px){.wrap{width:calc(100% - 40px)}header{padding:21px 0;position:relative}.brand-type b{font-size:27px}.brand-symbol{width:37px;height:50px;transform:none}.brand-symbol i:first-child{width:22px;height:35px}.brand-symbol i:last-child{width:15px;height:24px}.menu{display:block;background:none;border:1px solid var(--ink);padding:7px 12px;font-size:14px;border-radius:3px}nav{display:none;position:absolute;top:100%;left:-20px;right:-20px;background:var(--paper);z-index:10;padding:25px 20px;border-bottom:1px solid var(--ink);flex-direction:column;align-items:flex-start;gap:24px;font-size:16px}nav.open{display:flex}.hero{padding:45px 0 49px}.hero-grid{grid-template-columns:1fr;gap:54px}.hero h1{font-size:clamp(42px,9.8vw,63px);letter-spacing:-2px;line-height:1.08}.eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:23px}.hero-copy{font-size:18px}.eligibility{font-size:14px}.hero-visual{width:calc(100% - 30px);max-width:390px;justify-self:center;padding-right:12px}.hero-portrait img{height:430px;border-radius:0 85px 0 0}.shape-yellow{width:90px;height:90px;right:-9px;top:-20px}.shape-pink{left:-18px;width:50px;height:190px}.shape-coral{width:110px;height:110px;right:-9px;bottom:80px}.shape-arc{height:220px;width:100px;right:-20px;top:150px}.portrait-caption{font-size:11px;letter-spacing:1px}.section{padding:52px 0}h2{font-size:37px;letter-spacing:-1.5px}.about,.faq,.approach{grid-template-columns:1fr;gap:30px}.about-photo{max-width:360px}.about-photo:before{width:65px;height:65px;left:-12px;top:-12px}.about-copy p{font-size:16px}.about-copy .quiet{font-size:14px}.focus-heading{display:block}.focus-heading>p{margin-top:17px}.focus-grid{grid-template-columns:1fr;gap:18px;margin-top:27px}.focus-card summary{padding:23px}.card-top{margin-bottom:22px}.card-content{margin:0 23px}.approach{gap:8px;margin-top:34px;padding-top:27px}.faq{gap:8px}.questions summary{font-size:16px}.start{grid-template-columns:1fr;gap:24px}.booking-action{justify-self:start}.booking-alternatives{grid-template-columns:1fr;gap:25px}.footer-main{flex-wrap:wrap;gap:17px}.footer-main>span{width:100%}.hero-details .credentials{font-size:12px}.hero-details .booking-hint{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.shape{transform:none!important}}

/* Larger shapes belong to the photo and booking composition. */
.about-photo:before{content:none}
.about-art{position:relative;isolation:isolate;margin:8px 0 26px}
.about-art img{position:relative;z-index:1}
.depth-shape{position:absolute;display:block;pointer-events:none;z-index:-1}
.depth-shape i{display:block;width:100%;height:100%;animation:depth-drift 16s ease-in-out infinite;animation-play-state:paused}
.about-disc{width:185px;height:185px;left:-35px;top:-30px}
.about-disc i{border-radius:50%;background:var(--accent);animation-delay:-5s}
.about-corner{width:155px;height:155px;right:-27px;bottom:-23px}
.about-corner i{border-radius:0 0 100% 0;background:var(--butter);animation-duration:19s;animation-delay:-10s}
.booking-action{position:relative;isolation:isolate;margin:28px 20px 28px 0;min-width:320px;max-width:380px}
.booking-surface{position:relative;z-index:1;background:#f6e8e8;padding:38px 28px;border-radius:3px 3px 46px 3px}
.booking-surface .button{width:100%}
.booking-surface .booking-hint{margin-top:17px}
.booking-corner{width:155px;height:155px;right:-29px;top:-28px}
.booking-corner i{background:var(--coral);border-radius:100% 0 0 0;animation-delay:-3s}
.booking-disc{width:145px;height:145px;left:-29px;bottom:-24px}
.booking-disc i{border:1px solid var(--ink);border-radius:50%;animation-duration:20s;animation-delay:-8s}
[data-motion-accent].is-in-view .depth-shape i{animation-play-state:running}
@keyframes depth-drift{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(max-width:1050px){.about-disc{width:155px;height:155px;left:-25px}.about-corner{width:130px;height:130px;right:-20px}.booking-action{min-width:300px}}
@media(max-width:680px){.about-art{width:calc(100% - 16px);margin:15px 0 25px 8px}.about-disc{width:145px;height:145px;left:-22px;top:-23px}.about-corner{width:120px;height:120px;right:-20px;bottom:-20px}.booking-action{min-width:0;width:calc(100% - 40px);max-width:360px;margin:26px 20px 28px;justify-self:center}.booking-surface{padding:34px 24px}.booking-corner{width:135px;height:135px;right:-23px;top:-25px}.booking-disc{width:120px;height:120px;left:-24px;bottom:-21px}}
@media(prefers-reduced-motion:reduce){.depth-shape i{animation:none!important;transform:none!important}}

/* Keep photo framing balanced after removing captions. */

.hero-visual .shape-pink{bottom:65px}
.hero-visual .shape-coral{bottom:44px}
.about-art{margin-bottom:12px}
.focus-heading h2{max-width:730px}
@media(max-width:680px){.hero-visual .shape-pink{bottom:55px}.hero-visual .shape-coral{bottom:44px}.about-art{margin-bottom:12px}.focus-heading h2{font-size:35px}}

.hero-visual .shape-pink{bottom:35px}.hero-visual .shape-coral{bottom:-2px}
@media(max-width:680px){.hero-visual .shape-pink{bottom:30px}.hero-visual .shape-coral{bottom:-2px}}

/* Editorial concept: an open, typography-led first impression. */
.hero-editorial{padding:70px 0 54px;position:relative}
.hero-editorial .hero-grid{display:block}
.hero-editorial .hero-content{position:relative}
.hero-editorial .eyebrow{font-size:14px;letter-spacing:1.8px;margin-bottom:29px}
.hero-editorial h1{font-size:clamp(56px,7.1vw,96px);line-height:1.035;letter-spacing:-4.8px;max-width:1080px;margin:0 0 42px}
.hero-editorial h1 span{color:var(--accent)}
.hero-editorial .hero-content:after{content:'';position:absolute;right:9px;top:95px;width:82px;height:144px;border-radius:0 144px 144px 0;background:var(--coral);opacity:.9;pointer-events:none}
.hero-bottom{display:grid;grid-template-columns:minmax(0,580px) auto;justify-content:space-between;gap:40px;align-items:start}
.hero-editorial .hero-copy{font-size:20px;line-height:1.6;max-width:570px;margin-bottom:15px}
.hero-editorial .eligibility{margin:0;font-size:14px}
.hero-action{padding-top:4px;min-width:263px}
.hero-action .button{width:100%}
.hero-action .booking-hint{font-size:14px;margin-top:13px}
.hero-editorial .credentials{font-size:14px;border-top:1px solid var(--line);padding-top:21px;margin-top:32px;line-height:1.6}
.hero-editorial .credentials:before{content:none}
.hero-editorial .credentials span{padding:0 7px}
.about-photo{max-width:400px}
.about-art{margin:0 12px 12px 0}
.about-art:before{content:'';position:absolute;inset:12px -12px -12px 12px;border:1px solid var(--accent);border-radius:4px 88px 4px 4px;z-index:0}
.about-art img{height:500px;object-fit:cover;object-position:50% 27%;border-radius:4px 88px 4px 4px}
.state-about .about-art img{height:430px}
.state-hero.hero-editorial h1{max-width:950px}
.state-hero.hero-editorial .hero-content:after{display:none}
@media(max-width:1050px){.hero-editorial h1{font-size:clamp(55px,7.4vw,80px);letter-spacing:-3.8px}.hero-editorial .hero-content:after{width:50px;height:100px;top:100px;right:0}.hero-bottom{gap:35px;grid-template-columns:minmax(0,1fr) 263px}.hero-editorial .hero-copy{font-size:18px}.about-art img{height:460px}}
@media(max-width:800px){.hero-editorial{padding-top:52px}.hero-editorial .hero-content:after{display:none}.hero-editorial h1{font-size:clamp(50px,7.7vw,66px);letter-spacing:-3px}.hero-bottom{grid-template-columns:1fr;gap:23px}.hero-action{max-width:310px}}
@media(max-width:680px){.hero-editorial{padding:42px 0 38px}.hero-editorial .eyebrow{font-size:12px;letter-spacing:1.3px;margin-bottom:24px}.hero-editorial h1{font-size:clamp(43px,10.5vw,65px);line-height:1.08;letter-spacing:-2.3px;margin-bottom:25px}.hero-editorial h1 .desktop-break{display:none}.hero-editorial .hero-copy{font-size:18px}.hero-editorial .credentials{font-size:14px;margin-top:27px}.hero-action{max-width:100%;min-width:0;width:100%}.hero-action .button{width:auto}.hero-action .booking-hint{font-size:14px}.about-art{width:calc(100% - 12px);margin:0 12px 12px 0}.about-art img{height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 25%}.state-about .about-art img{height:auto}}

/* A grouped geometric composition, with room around the headline. */
.hero-editorial .hero-content:after{content:none}
.hero-editorial h1{max-width:calc(100% - 260px);font-size:clamp(56px,6.4vw,86px);letter-spacing:-4px}
.hero-shapes{position:absolute;right:0;top:44px;width:230px;height:290px;pointer-events:none;isolation:isolate}
.hero-shapes .shape{display:block}
.editorial-loop{left:40px;top:12px;width:148px;height:236px;z-index:0}
.editorial-loop i{border:1px solid var(--ink);border-radius:50%;animation-duration:17s;animation-delay:-7s}
.editorial-square{left:16px;top:0;width:72px;height:72px;z-index:1}
.editorial-square i{background:var(--butter);animation-duration:12s;animation-delay:-4s}
.editorial-pink{left:5px;top:105px;width:74px;height:148px;z-index:1}
.editorial-pink i{background:var(--pink);border-radius:148px 0 0 148px;animation-duration:15s;animation-delay:-8s}
.editorial-blue{right:0;top:70px;width:101px;height:202px;z-index:2}
.editorial-blue i{background:var(--accent);border-radius:0 202px 202px 0;animation-duration:13s;animation-delay:-2s}
.editorial-coral{left:64px;bottom:-8px;width:104px;height:104px;z-index:3}
.editorial-coral i{background:var(--coral);border-radius:100% 0 0 0;animation-duration:16s;animation-delay:-6s}
.state-hero.hero-editorial h1{max-width:calc(100% - 260px)}
.state-hero.hero-editorial .hero-copy{max-width:calc(100% - 290px)}
@media(min-width:1600px){.hero-editorial h1{font-size:86px}}
@media(min-width:801px) and (max-width:1050px){.hero-editorial h1{max-width:calc(100% - 205px);font-size:6.3vw;letter-spacing:-3px}.hero-shapes{transform:scale(.78);transform-origin:right top;top:42px}.state-hero.hero-editorial h1{font-size:6.3vw;max-width:calc(100% - 205px)}}
@media(max-width:800px){.hero-editorial h1,.state-hero.hero-editorial h1{max-width:100%;font-size:clamp(43px,7.7vw,66px);letter-spacing:-2.8px;margin-bottom:26px}.hero-shapes{position:relative;top:auto;right:auto;width:min(100%,310px);height:102px;margin:0 0 30px;transform:none}.editorial-loop{left:87px;top:7px;width:137px;height:80px}.editorial-square{left:3px;top:17px;width:55px;height:55px}.editorial-pink{left:72px;top:24px;width:38px;height:76px}.editorial-blue{left:141px;right:auto;top:0;width:48px;height:96px}.editorial-coral{left:232px;bottom:auto;top:30px;width:66px;height:66px}.state-hero.hero-editorial .hero-copy{max-width:100%}}
@media(max-width:680px){.hero-editorial h1{font-size:clamp(43px,10.5vw,65px);letter-spacing:-2.3px}.hero-shapes{margin-bottom:27px}.hero-editorial{padding-top:38px}}
@media(max-width:360px){.editorial-coral{left:210px;width:60px;height:60px}}
