

:root{--ink:#233f3c;--muted:#5c6d66;--cream:#fbf7ee;--orange:#ec7355;--yellow:#f6cd62;--mint:#d9e7d9;--line:#d9ded1}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a44a32;outline-offset:5px}button{cursor:pointer}.wrap{width:min(1200px,calc(100% - 80px));margin:auto}.header{border-bottom:1px solid var(--line);background:var(--cream);position:relative;z-index:5}.nav{display:flex;align-items:center;gap:32px;min-height:100px}.logo{font-family:'Outfit',sans-serif;font-weight:800;font-size:37px;letter-spacing:-2px;display:flex;align-items:center;gap:9px}.logo svg{width:35px;height:35px;fill:var(--orange)}.navlinks{display:flex;gap:28px;margin-left:auto;font-size:14px;font-weight:600}.navlinks a:hover{color:#b84e34}.lang{font-size:13px;font-weight:600;background:transparent;border:1px solid #b9c5b8;padding:9px 8px;border-radius:8px;color:var(--ink)}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border:1px solid var(--ink);border-radius:7px;padding:14px 24px;background:var(--ink);color:#fff;font-weight:600;font-size:14px;transition:transform .2s,background .2s}.button:hover{background:#365b50;transform:translateY(-2px)}.button.light{background:transparent;color:var(--ink)}.button.light:hover{background:#e5e8d9}.nav .button{padding:10px 18px}.menu{display:none}.hero{display:grid;grid-template-columns:1.04fr 1fr;align-items:center;gap:40px;padding:76px 0 64px}.eyebrow{display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:700}.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--orange)}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Outfit',sans-serif;line-height:1.1;font-weight:500;letter-spacing:-1.5px}h1{font-size:clamp(52px,5.35vw,73px);margin:24px 0}h1 .accent{color:#c45c40;position:relative;white-space:nowrap}h1 .accent::after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:9px;border-top:3px solid var(--orange);border-radius:50%}.intro{font-size:17px;color:var(--muted);max-width:440px;line-height:1.8}.heroactions{display:flex;gap:15px;align-items:center;margin:28px 0}.textlink{font-size:14px;font-weight:600;border-bottom:1px solid var(--ink);padding:6px 0}.location{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.heroart{position:relative;min-width:0}.heroart>svg{display:block;width:100%;height:auto;overflow:visible}.artnote{position:absolute;bottom:32px;right:-8px;background:#fffefa;border:1px solid #e4e5d7;box-shadow:0 8px 28px #2544390b;padding:17px 24px;border-radius:8px;transform:rotate(5deg);font-size:13px;line-height:1.5}.artnote strong{display:block;font-size:15px;font-family:'Outfit';font-weight:500}.ribbon{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:23px 0}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:500}.ribbon span{display:flex;gap:12px;align-items:center}.ribbon b{font-size:19px;color:#b96644;font-weight:400}.section{padding:96px 0}.headingrow{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:40px}h2{font-size:clamp(34px,3.5vw,48px);margin-top:16px}.headingrow p{max-width:360px;font-size:15px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.card{padding:32px;border:1px solid #d9ded1;border-radius:12px;position:relative;min-height:285px;transition:transform .2s}.card:hover{transform:translateY(-4px)}.card:nth-child(1){background:#eef0e1}.card:nth-child(2){background:#f8ead9}.card:nth-child(3){background:#e5ebe8}.cardnum{position:absolute;right:26px;top:28px;font-size:12px;color:var(--muted)}.icon{width:52px;height:52px;margin-bottom:26px}.card h3{font-size:25px;letter-spacing:-.7px;margin-bottom:14px}.card p{font-size:14px;color:var(--muted);line-height:1.8}.about{background:#e4ebdf;padding:75px 0}.aboutgrid{display:grid;grid-template-columns:.9fr 1fr;gap:90px;align-items:center}.aboutart{position:relative}.aboutart svg{width:100%;display:block}.aboutcopy p{color:#53675c;font-size:15px;margin-top:24px;line-height:1.9}.aboutcopy .textlink{display:inline-block;margin-top:24px}.values{display:flex;gap:8px;flex-wrap:wrap;margin-top:25px}.values span{font-size:12px;padding:7px 13px;border:1px solid #aabca8;border-radius:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.stepno{border-top:1px solid #b7c4b5;padding-top:18px;font-size:12px;display:flex;align-items:center;justify-content:space-between}.stepno span:last-child{font-size:22px;color:var(--orange)}.step h3{font-size:23px;letter-spacing:-.5px;margin:20px 0 14px}.step p{font-size:14px;color:var(--muted);line-height:1.8}.faq{display:grid;grid-template-columns:1fr 1.2fr;gap:80px;padding:0 0 90px}.faq h2{font-size:36px}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{list-style:none;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px}summary::-webkit-details-marker{display:none}summary::after{content:'+';font-size:21px;font-weight:400;line-height:1}details[open] summary::after{content:'−'}details p{color:var(--muted);font-size:14px;padding-top:15px}.contact{background:var(--ink);border-radius:16px;padding:52px 60px;display:flex;align-items:center;justify-content:space-between;gap:55px;color:var(--cream);position:relative;overflow:hidden}.contact h2{font-size:40px;max-width:570px;margin:0}.contact p{color:#cbd7c8;font-size:14px;margin-top:18px;max-width:470px}.contact .button{background:var(--yellow);color:var(--ink);border-color:var(--yellow);white-space:nowrap}.contactaside{display:flex;flex-direction:column;gap:15px;align-items:center}.contactaside>span{font-size:12px;color:#cbd7c8}footer{padding:58px 0 25px}.footerrow{display:flex;justify-content:space-between;gap:30px;align-items:center}.footercopy{font-size:12px;color:var(--muted);margin-top:6px}.socials{display:flex;gap:25px;font-size:13px}.bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:22px;margin-top:30px;font-size:11px;color:var(--muted)}.skip{position:fixed;top:-70px;left:20px;z-index:99;background:var(--ink);color:white;padding:10px}.skip:focus{top:10px}
@media(min-width:1500px){.hero{padding:95px 0}}@media(max-width:1000px){.wrap{width:calc(100% - 48px)}.nav{gap:16px}.navlinks{gap:18px}.nav .button{display:none}.hero{gap:20px}h1{font-size:53px}.heroactions{flex-wrap:wrap}.aboutgrid{gap:40px}.card{padding:25px}.contact{padding:40px}.faq{gap:40px}}@media(max-width:700px){.wrap{width:calc(100% - 40px)}.nav{min-height:80px;flex-wrap:wrap;gap:14px}.logo{font-size:32px}.lang{margin-left:auto}.menu{display:block;background:transparent;border:1px solid #b9c5b8;border-radius:8px;padding:8px;color:var(--ink);font-size:18px;line-height:1.1}.navlinks{display:none;width:100%;order:4;margin:0;padding:5px 0 20px;flex-wrap:wrap;gap:20px}.navlinks.open{display:flex}.hero{grid-template-columns:1fr;padding:45px 0 35px;gap:22px}.eyebrow{font-size:10px;letter-spacing:1.5px}h1{font-size:53px;max-width:500px;margin:20px 0}.intro{font-size:16px}.heroart{max-width:470px;margin:0 auto;width:100%}.artnote{bottom:25px;right:0;padding:12px 18px}.ribbon .wrap{flex-wrap:wrap;gap:15px 20px;justify-content:center;font-size:11px}.ribbon .wrap>span:last-child{display:none}.section{padding:60px 0}.headingrow{display:block;margin-bottom:28px}.headingrow p{margin-top:20px}.cards{grid-template-columns:1fr;gap:14px}.card{min-height:0;padding:28px}.icon{margin-bottom:18px}.about{padding:45px 0}.aboutgrid{grid-template-columns:1fr;gap:30px}.aboutart{max-width:350px;margin:auto}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.step h3{margin:12px 0}.faq{grid-template-columns:1fr;gap:25px;padding-bottom:55px}.contact{padding:35px 27px;display:block}.contact h2{font-size:34px}.contactaside{align-items:flex-start;margin-top:28px}.footerrow{align-items:flex-start}.socials{flex-direction:column;gap:10px}.bottom{flex-direction:column;gap:8px}footer{padding-top:40px}.heroactions{gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

:root{--ink:#313f48;--muted:#626f75;--cream:#fff9f5;--orange:#ed7775;--yellow:#f4a15b;--mint:#dff4ef;--line:#e9dfdb}.header{background:#fff}.brandcrop{display:block;position:relative;width:115px;height:94px;overflow:hidden}.brandcrop img{position:absolute;width:224px;height:224px;max-width:none;left:-55px;top:-64px}.nav{min-height:104px}.logo{flex-shrink:0}h1 .accent{color:#d26265}.button{background:#b94d59;border-color:#b94d59}.button:hover{background:#9f3c48}.navlinks a:hover{color:#b94d59}.eyebrow:before{background:#53baca}.card:nth-child(1){background:#ffeded}.card:nth-child(2){background:#eaf7fa}.card:nth-child(3){background:#fff0df}.card .icon{filter:none}.card:first-child svg>*{stroke:#ca6970}.card:nth-child(2) svg>*{stroke:#39899b}.card:nth-child(3) svg>*{stroke:#bb783b}.ribbon b{color:#d16d68}.about{background:#eaf6f4}.aboutcopy p{color:var(--muted)}.values span{border-color:#a6cdd0}.hero{gap:70px}.realhero{height:500px}.heroblob{position:absolute;inset:20px -5px -4px 25px;background:#fbd5a9;border-radius:48% 45% 38% 43%;transform:rotate(8deg)}.photoframe{position:absolute;top:30px;left:0;right:10px;height:410px;overflow:hidden;border-radius:140px 140px 28px 28px;background:#e2f5f5;border:8px solid #fff;box-shadow:0 12px 35px #5d3e3a10;transform:rotate(-3deg)}.photoframe img{width:160%;max-width:none;position:absolute;right:0;top:0}.flower{position:absolute;right:-13px;top:0;font-size:95px;color:#ed7775;line-height:1;transform:rotate(10deg)}.realhero .artnote{bottom:9px;right:-5px;background:#fff}.photolabel{position:absolute;left:5px;bottom:79px;background:#fff;padding:12px 19px;font-size:12px;border-radius:50px;display:flex;gap:9px;align-items:center;box-shadow:0 6px 20px #3030300a}.statusdot{width:8px;height:8px;background:#4eaf9b;border-radius:50%}.aboutart.room{width:100%;max-width:350px;transform:rotate(-3deg);padding:11px;background:white;border-radius:130px 130px 15px 15px;box-shadow:0 12px 30px #31504c0c}.room img{width:100%;height:360px;object-fit:cover;border-radius:120px 120px 8px 8px;display:block}.roomlink{font-size:13px;text-align:center;display:block;padding:14px 5px 6px}.contact{background:#354d59}.contact p,.contactaside>span{color:#e2e9eb}.contact .button{background:#f7b96f;color:#293944;border-color:#f7b96f}.contactaside>a:last-child{font-size:14px}.gallery{display:grid;grid-template-columns:1fr 1fr .8fr;gap:24px}.gallery>a{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;transition:transform .2s}.gallery>a:hover{transform:translateY(-4px)}.gallery img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff7f4}.gallery>a>span{display:block;padding:19px 22px;font-size:14px;font-weight:600}.gallerynote{padding:26px;background:#e9f7f7;border-radius:12px;display:flex;align-items:flex-start;justify-content:center;flex-direction:column}.bigmark{font-size:55px;color:#52a9b9;line-height:1;margin-bottom:22px}.gallerynote h3{font-size:28px;line-height:1.2;letter-spacing:-.5px}.gallerynote p{font-size:14px;color:var(--muted);margin:15px 0}.journal{padding-top:0}footer .brandcrop{height:100px}.footercopy{margin-top:0}.footerrow{align-items:center}
@media(max-width:1000px){.hero{gap:35px}.realhero{height:450px}.photoframe{height:350px}.photolabel{bottom:85px;font-size:11px}.gallery{grid-template-columns:1fr 1fr}.gallerynote{grid-column:span 2;display:block}.gallerynote .bigmark{float:left;margin-right:30px}.gallerynote h3 br{display:initial}.gallerynote p{margin:12px 0}}@media(max-width:700px){.nav{min-height:86px}.brandcrop{height:80px;width:90px}.brandcrop img{width:190px;height:190px;left:-50px;top:-54px}.hero{gap:25px}.realhero{height:410px;max-width:420px}.photoframe{height:330px;right:8px;top:20px;border-width:6px;border-radius:100px 100px 22px 22px}.flower{font-size:70px;right:0}.photolabel{bottom:68px;padding:10px 14px;font-size:10px}.realhero .artnote{bottom:0}.heroblob{inset:20px 8px 10px 15px}.gallery{gap:14px}.gallery>a>span{font-size:12px;padding:14px}.gallerynote{padding:25px}.room img{height:330px}.contactaside>a:last-child{font-size:15px}}
.program{background:#fff0e3;padding:75px 0}.programgrid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.programintro h2{font-size:62px;letter-spacing:-2px;color:#3a8997;margin:25px 0}.programintro h2 span{font-size:40px;color:#ec7774;margin-left:18px}.programintro p{font-size:16px;line-height:1.9;color:var(--muted);max-width:440px}.programintro .button{margin-top:28px}.programsource{display:block;font-size:12px;margin-top:16px;text-decoration:underline;text-underline-offset:4px}.programareas article{display:flex;gap:22px;padding:23px 0;border-top:1px solid #ddcfc0}.programareas article:last-child{border-bottom:1px solid #ddcfc0}.programareas article>span{font-size:12px;color:#ae614f;padding-top:5px}.programareas h3{font-size:22px;letter-spacing:-.4px;margin-bottom:9px}.programareas p{font-size:14px;color:var(--muted)}@media(max-width:1000px){.programgrid{gap:40px}.programintro h2{font-size:48px}}@media(max-width:700px){.program{padding:50px 0}.programgrid{grid-template-columns:1fr;gap:35px}.programintro h2{font-size:49px}.programareas article{padding:20px 0}}.aboutcopy .clinician{font-weight:700;font-size:14px;color:var(--ink);margin-top:18px}.contactaside .districts{font-size:11px;text-align:center;max-width:260px}footer .bottom{font-size:12px}
.testimonials{padding:72px 0;background:#354d59;color:#fff9f5;position:relative}.reviewsheading{display:grid;grid-template-columns:1fr .85fr;gap:65px;align-items:end;margin-bottom:34px}.testimonials .eyebrow{color:#c0e5e6}.testimonials .eyebrow:before{background:#f2ab87}.testimonials h2{margin-top:17px;font-size:46px}.reviewsheading p{font-size:15px;line-height:1.8;color:#e0e8eb;max-width:390px}.reviewsource{display:inline-block;color:#fff0d9;font-size:13px;font-weight:600;margin-top:16px;border-bottom:1px solid #9bb7c0;padding-bottom:4px}.reviewsource:hover{color:#f5bb94}.reviewcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reviewcard{margin:0;background:#fff9f5;color:#313f48;padding:28px 29px;border-radius:12px;display:flex;flex-direction:column;min-height:300px}.reviewcard:nth-child(2){background:#e7f5f4}.reviewcard:nth-child(3){background:#fff0e2}.quotemark{font-family:Georgia,serif;font-size:74px;height:53px;color:#ca6571;line-height:1}.reviewcard blockquote{font-family:'Outfit',sans-serif;font-size:25px;line-height:1.35;font-weight:400;letter-spacing:-.4px;margin:8px 0 24px}.reviewcard figcaption{display:flex;gap:12px;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid #d9dcd7}.reviewcard figcaption strong{font-size:12px;display:block}.reviewcard figcaption span:not(.reviewavatar){display:block;color:#626f75;font-size:11px;margin-top:3px}.reviewavatar{display:flex;width:34px;height:34px;flex-shrink:0;align-items:center;justify-content:center;border-radius:50%;background:#f4dedc;color:#ac505c;font-size:21px}.reviewcontext{font-size:12px;color:#5d7075;line-height:1.6;margin:-8px 0 20px}.reviewsnote{font-size:11px;color:#d5e1e5;margin-top:22px;line-height:1.7}.navlinks{gap:20px}.nav{gap:24px}@media(max-width:1000px){.reviewsheading{gap:35px}.reviewcard{padding:23px}.reviewcard blockquote{font-size:22px}.navlinks{gap:14px;font-size:12px}.nav{gap:16px}}@media(max-width:700px){.testimonials{padding:48px 0}.reviewsheading{grid-template-columns:1fr;gap:22px}.testimonials h2{font-size:36px}.reviewcards{grid-template-columns:1fr;gap:16px}.reviewcard{min-height:0;padding:26px}.reviewcard blockquote{font-size:25px}.reviewsnote{font-size:11px}.navlinks{font-size:14px}}

.header{position:sticky;top:0;background:rgba(255,255,255,.97);box-shadow:0 3px 16px #313f4805;z-index:20}.nav{min-height:86px}.brandcrop{height:82px;width:90px}.brandcrop img{width:190px;height:190px;top:-54px;left:-50px}.navlinks a{position:relative;padding:12px 0}.navlinks a[aria-current="location"]{color:#b94d59}.navlinks a[aria-current="location"]:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:#e7978d;border-radius:3px}.readingprogress{height:2px;background:#e99786;position:absolute;bottom:0;left:0;width:100%;transform:scaleX(0);transform-origin:left}html{scroll-padding-top:105px}.heromodes{display:flex;gap:7px;flex-wrap:wrap;margin:22px 0 0}.heromodes span{font-size:10px;letter-spacing:.1px;border:1px solid #dedfda;border-radius:30px;padding:5px 10px;color:#52666a}.hero{padding:58px 0}.heroactions{margin:25px 0}.hero h1{font-size:clamp(46px,5.1vw,72px);line-height:1.08}.card{display:flex;flex-direction:column;box-shadow:0 5px 15px #30303003}.card p{margin-bottom:24px}.serviceaction{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #cfccc7;padding-top:16px;font-size:13px;font-weight:600;margin-top:auto}.serviceaction:hover{color:#a24552}.aboutcopy .clinician{font-family:Outfit,sans-serif;font-size:21px;letter-spacing:-.3px;border-left:3px solid #54b6c4;padding-left:16px;margin:26px 0}.section{padding:80px 0}.journal{padding-top:0}.locations{background:#edf4f4;margin-bottom:70px}.locationsgrid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.locationcopy>p{font-size:16px;color:var(--muted);line-height:1.9;margin-top:22px}.districtchoices{display:flex;flex-direction:column;margin:28px 0 22px;gap:8px}.districtbutton{background:transparent;border:1px solid #c8d9d8;border-radius:8px;padding:14px 17px;text-align:left;color:var(--ink);font-size:14px;font-weight:600;display:flex;justify-content:space-between}.districtbutton.selected{background:white;border-color:#57aab6;box-shadow:0 4px 12px #345d6006}.districtinfo{font-size:12px;display:flex;align-items:flex-start;flex-direction:column;gap:4px}.districtinfo strong{font-size:17px}.districtinfo .textlink{font-size:12px;margin-top:4px}.locationcopy .mapnote{font-size:11px;line-height:1.7;max-width:330px;margin-top:22px}.limamap{position:relative;aspect-ratio:600/570;min-width:0}.limamap svg{display:block;width:100%;border:1px solid #d5e3e4;border-radius:28px}.mapmarker{position:absolute;display:flex;flex-direction:column;align-items:center;gap:7px;border:0;background:none;color:#41565b;font:600 13px/1.35 'DM Sans',sans-serif;padding:8px;transform:translate(-50%,-50%);white-space:nowrap}.marker-molina{left:74.5%;top:36%}.marker-vmt{left:73.2%;top:74%}.pin{height:12px;width:12px;border:3px solid white;border-radius:50%;background:#55aab6;box-shadow:0 0 0 7px #55aab625;transition:box-shadow .3s}.mapmarker.selected .pin{background:#d26e75;box-shadow:0 0 0 10px #d26e7525}.mapmarker>span:last-child{background:#ffffffdc;padding:5px 8px;border-radius:5px}.maplegend{position:absolute;bottom:18px;left:22px;display:flex;align-items:center;gap:8px;color:#526f75;font-size:10px}.maplegend i{display:block;width:6px;height:6px;background:#55aab6;border-radius:50%}.contact{display:grid;grid-template-columns:1fr .9fr;gap:50px;padding:50px}.contact .eyebrow{color:#bce1df;margin-bottom:22px}.contact h2{font-size:38px}.bookingform{background:#fff9f5;padding:30px;border-radius:13px;color:var(--ink)}.bookingform label{display:block;font-size:13px;font-weight:600;margin-bottom:9px}.bookingform select{width:100%;min-height:48px;background:#fff;border:1px solid #d5d9d5;border-radius:6px;color:#41505a;padding:11px 28px 11px 12px;font-size:13px;margin:0 0 22px;cursor:pointer}.bookingform .button{display:flex;width:100%;background:#b94d59;color:white;border-color:#b94d59;gap:12px}.contact .bookingnote{font-size:11px;color:#626f75;line-height:1.7;margin:14px 0 0}.contactphone{display:block;font:500 25px Outfit,sans-serif;margin-top:29px}.contactphone span{color:#f7b96f;font-size:20px}.contactname{display:block;color:#d5e1e4;font-size:12px;margin-top:9px}.quickcontact{position:fixed;right:23px;bottom:22px;z-index:15;background:#b94d59;color:white;display:flex;align-items:center;gap:10px;padding:13px 19px;border:1px solid #fff5;border-radius:50px;font-size:13px;font-weight:600;box-shadow:0 7px 28px #313f4825;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .25s,transform .25s,visibility .25s}.quickcontact.shown{opacity:1;visibility:visible;transform:none}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #47a7ba;outline-offset:5px}.reviewcard{min-width:0}.menu{min-width:44px;min-height:44px}.lang{min-height:44px}.room img{height:400px}.hero .realhero{align-self:center}.bottom{padding-bottom:30px}
@media(min-width:1001px){.navlinks{font-size:13px}.nav .button{font-size:12px}.programintro{position:sticky;top:130px;align-self:start}.programareas article{padding:29px 0}}
@media(max-width:1000px){.locationsgrid{gap:35px}.contact{padding:35px;gap:30px}.bookingform{padding:23px}.contact h2{font-size:33px}.nav .button{display:none}.navlinks{margin-left:auto}.hero .intro{font-size:16px}.room img{height:350px}}
@media(max-width:760px){.locationsgrid,.contact{grid-template-columns:1fr}.locationsgrid{gap:36px}.limamap{max-width:550px;width:100%;margin:auto}.contact{gap:30px}.contact h2{font-size:34px}.bookingform{padding:25px}.locations{margin-bottom:50px}.section{padding:58px 0}.journal{padding-top:0}.hero h1{font-size:clamp(42px,10.4vw,58px)}.hero{padding:35px 0 45px}.nav{min-height:76px}.brandcrop{height:76px}.brandcrop img{top:-57px}.navlinks{margin:0}.quickcontact{bottom:16px;right:16px;padding:13px 17px}.room img{height:330px}.heromodes span{font-size:10px}.realhero{height:390px}.bookingform select{font-size:16px}.mapmarker{font-size:11px}.maplegend{font-size:9px;bottom:14px;left:17px}.contact{padding:30px 22px}.contact .bookingform{padding:23px 18px}.contactphone{font-size:24px}.bottom{padding-bottom:50px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.hero h1{font-size:42px}.heroactions .button{padding:13px 18px}.realhero{height:345px}.photoframe{height:290px}.photolabel{font-size:9px;bottom:55px}.artnote strong{font-size:13px}.artnote{font-size:11px}.programintro h2{font-size:42px}.mapmarker{font-size:10px}.maplegend{font-size:8px}}
@media(prefers-reduced-motion:reduce){.quickcontact{transition:none}html{scroll-behavior:auto}}

/* Language control: small flag tiles, a clear selection, and comfortable hit areas. */
[hidden]{display:none!important}.languagepicker{position:relative;flex-shrink:0}.languagebutton{display:flex;align-items:center;gap:10px;min-height:44px;padding:9px 12px;background:#fff9f5;border:1px solid #eaded8;border-radius:30px;color:var(--ink);font:500 13px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,border-color .2s}.languagebutton:hover,.languagebutton[aria-expanded=true]{background:#fff1e9;border-color:#d6bcb1}.flag{display:block;width:25px;height:17px;object-fit:cover;border-radius:3px;box-shadow:0 0 0 1px #00000010;flex-shrink:0}.chevron{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7;transition:transform .2s}.languagebutton[aria-expanded=true] .chevron{transform:rotate(180deg)}.languageoptions{position:absolute;right:0;top:calc(100% + 12px);width:222px;padding:8px;background:#fff;border:1px solid #eaded8;border-radius:17px;box-shadow:0 16px 45px #354d591c;z-index:30;animation:menu-in .18s ease-out}.languagehint{padding:8px 10px 10px;font-size:10px;color:#758188;letter-spacing:1px;text-transform:uppercase}.languageoptions button{display:flex;gap:12px;align-items:center;text-align:left;width:100%;padding:11px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:500 14px 'DM Sans',sans-serif;cursor:pointer}.languageoptions button:hover{background:#f7f5f1}.languageoptions button[aria-checked=true]{background:#edf6f4}.languageoptions small{display:block;font-size:10px;font-weight:400;color:#6a7c7d;margin-top:2px}.languagecheck{margin-left:auto;color:#448c85;opacity:0}.languageoptions [aria-checked=true] .languagecheck{opacity:1}@keyframes menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
/* Authentic STARI images share a stable frame, so transitions never move the layout. */
.heroart.realhero{height:530px}.realhero .photoframe{height:405px;top:28px;border-radius:135px 135px 34px 34px;transform:rotate(-2deg)}.heroslide{position:absolute;inset:0;opacity:0;transition:opacity 1.15s ease;pointer-events:none}.heroslide.is-active{opacity:1}.photoframe .heroslide img{position:absolute;max-width:none}.photoframe .roomslide{inset:0;width:100%;height:100%;object-fit:cover;object-position:center 43%}.photoframe .activityslide{width:160%;right:0;top:0}.realhero .heroblob{inset:12px -2px 42px 20px}.realhero .photolabel{bottom:110px;left:15px;z-index:2;max-width:calc(100% - 35px);font-size:11px}.realhero .artnote{bottom:37px;right:-6px;padding:13px 20px;z-index:2}.slidecontrols{position:absolute;bottom:4px;left:8px;display:flex;gap:0;align-items:center;border:1px solid #e7dcd4;border-radius:30px;padding:3px;background:#fffdfb;box-shadow:0 5px 20px #354d5905}.slidecontrols button{display:flex;align-items:center;justify-content:center;background:transparent;border:0;color:#41545e;cursor:pointer;min-width:36px;height:38px;border-radius:50%;font-size:20px}.slidecontrols button:hover{background:#f5e9e2}.slidecontrols button:disabled{opacity:.4;cursor:default}.slidecontrols svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none}.slidecontrols .playicon{fill:currentColor;stroke:none}.slidedots{display:flex;align-items:center}.slidedots button{min-width:26px;width:26px}.slidedots button span{width:6px;height:6px;background:#c4cdcd;border-radius:20px;transition:width .3s,background .3s}.slidedots [aria-pressed=true] span{width:17px;background:#b94d59}.controldivider{width:1px;height:16px;background:#e6dfd9;margin:0 3px}
/* A consistent visual rhythm from the opening story to the final invitation. */
.scroll-reveal{transition:opacity .7s cubic-bezier(.2,.65,.3,1),translate .7s cubic-bezier(.2,.65,.3,1);transition-delay:var(--reveal-delay,0ms)}.reveal-pending{opacity:0;translate:0 26px}.reviewsheading h2,.pathheading h2{max-width:650px}.testimonials{border-radius:34px 34px 0 0}.reviewcard{border-radius:18px}.card{border-radius:20px;border-color:#e4dcd6}.card .icon{margin-bottom:30px}.servicehelp{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 4px 0;font-size:14px;color:var(--muted)}.servicehelp .textlink{font-size:13px;color:var(--ink)}.program{border-top:1px solid #f0e0d2;border-bottom:1px solid #f0e0d2}.programareas article>span{width:32px;height:32px;flex-shrink:0;border:1px solid #d9bba5;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;margin-top:1px}.steps{gap:35px}.stepno{border-top-color:#e0d6ce}.stepno>span:first-child{width:35px;height:35px;border:1px solid #d6deda;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#edf6f3;color:#477c78}.faq details{padding:23px 0}.faq summary::after{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:#f8eae2;color:#a9505a}.faq details[open] summary{color:#a34553}.contact{border-radius:26px}.footerrow{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px;align-items:start}.footernav,.socials{display:flex;flex-direction:column;align-items:flex-start;gap:13px;font-size:13px;padding-top:19px}.footerlabel{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#7a8589;margin-bottom:6px}.footernav a:hover,.socials a:hover{color:#a34553}.bottom{margin-top:40px}
@media(min-width:1100px){.section{padding-top:94px;padding-bottom:94px}.journal{padding-top:0}.testimonials{padding:84px 0}.about{padding:90px 0}.program{padding:90px 0}.hero{gap:64px;padding:62px 0 66px}}
@media(max-width:1000px){.heroart.realhero{height:470px}.realhero .photoframe{height:350px}.realhero .photolabel{bottom:105px}.realhero .artnote{bottom:39px;padding:11px 16px;font-size:11px}.realhero .artnote strong{font-size:13px}.nav{gap:14px}.languagebutton{gap:7px;padding:8px 10px;font-size:12px}.footerrow{gap:25px}}
@media(max-width:700px){.languagepicker{margin-left:auto}.languageoptions{right:-3px}.heroart.realhero{height:455px}.realhero .photoframe{height:345px;top:18px;border-radius:110px 110px 28px 28px}.realhero .flower{top:0}.realhero .photolabel{bottom:104px;left:10px;font-size:10px;padding:10px 13px}.realhero .artnote{bottom:43px;right:0}.realhero .heroblob{inset:12px 4px 43px 15px}.slidecontrols{bottom:0;left:7px}.slidecontrols button{height:44px;min-width:38px}.slidedots button{min-width:28px}.testimonials{border-radius:24px 24px 0 0}.servicehelp{align-items:flex-start;flex-direction:column;gap:10px;font-size:13px;padding-top:22px}.footerrow{grid-template-columns:1fr 1fr;gap:20px}.footerrow>div:first-child{grid-column:1/-1}.footernav,.socials{font-size:12px;gap:12px;padding-top:7px}.footerlabel{font-size:10px;letter-spacing:.6px}.contact{border-radius:20px}}
@media(max-width:370px){.heroart.realhero{height:413px}.realhero .photoframe{height:302px}.realhero .photolabel{font-size:9px}.realhero .artnote{padding:9px 12px}.realhero .artnote strong{font-size:12px}.languagebutton{font-size:12px;gap:6px}.languagebutton .flag{width:22px;height:15px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal,.heroslide,.languageoptions{transition:none!important;animation:none!important}.reveal-pending{opacity:1;translate:none}}
@media(max-width:700px){.realhero .heroblob{right:17px}}
/* A quiet, uninterrupted hero photo story. */
.realhero .photoframe{padding:0;text-align:inherit;cursor:pointer;color:inherit}.photoframe .heroslide img{width:100%;height:100%;inset:0;object-fit:cover;object-position:center}.heroslide[data-slide="0"] img{object-position:center 52%}.heroart.realhero{height:490px}.realhero .photolabel{bottom:71px}.realhero .artnote{bottom:1px}.realhero .heroblob{bottom:8px}.realhero .photoframe:focus-visible{outline:3px solid #47a7ba;outline-offset:6px}
@media(max-width:1000px){.heroart.realhero{height:430px}.realhero .photolabel{bottom:65px}.realhero .artnote{bottom:3px}}
@media(max-width:700px){.heroart.realhero{height:412px}.realhero .photolabel{bottom:61px}.realhero .artnote{bottom:0}.realhero .heroblob{bottom:4px}}
@media(max-width:370px){.heroart.realhero{height:370px}}
