@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600&display=swap');
:root{--green:#082f59;--cream:#fff5e6;--lime:#91c6e8;--muted:#405c70;--line:#ccdce0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--green);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,a,summary{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #287c83;outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:10px}header{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:24px 6%;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:38px;line-height:.85;letter-spacing:-2px}.brand span{display:block;font-family:'DM Sans',sans-serif;font-size:12px;letter-spacing:3px;margin-top:11px;text-transform:uppercase}nav{display:flex;gap:30px;font-size:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--green);color:white;padding:17px 25px;border-radius:5px;font-size:15px;font-weight:600;border:1px solid var(--green);min-height:48px;cursor:pointer}.button:hover{background:#16527a;text-decoration:none}.button.small{padding:11px 19px;font-size:14px}.hero{padding:60px 6% 0;display:grid;grid-template-columns:1.15fr 1fr;gap:0 7%;max-width:1600px;margin:auto}.hero-copy{padding:26px 0 60px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2.5px;margin:0 0 26px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(46px,5.4vw,82px);font-weight:400;letter-spacing:-3px;line-height:1.09;margin-bottom:27px}h1 em{font-weight:400;color:#287c83}.intro{max-width:455px;font-size:18px;color:var(--muted);margin-bottom:30px}.micro{font-size:13px;margin-top:24px}.hero-visual{background:var(--green);border-radius:180px 180px 8px 8px;min-height:460px;position:relative;overflow:hidden;background-size:cover;background-position:center}.visual-caption{position:absolute;bottom:0;left:0;right:0;padding:80px 36px 20px;color:white;background:linear-gradient(transparent,rgba(8,47,89,.8))}.visual-caption span{font-size:11px;letter-spacing:2px}.visual-caption p{font-family:Georgia,serif;font-size:29px;line-height:1.2;margin-top:12px}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-bottom:1px solid var(--line);font-size:14px}footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 6%;font-size:14px}footer p{margin:0}section[id]{scroll-margin-top:24px}@media(max-width:800px){header{padding:22px 6%;flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between;gap:12px;font-size:12px}.brand{font-size:31px}.hero{padding-top:30px;gap:20px}.hero-copy{padding:15px 0 20px}h1{letter-spacing:-2px}.hero-visual{min-height:380px}.hero-bottom{flex-wrap:wrap}footer{flex-wrap:wrap}}@media(max-width:600px){.hero{grid-template-columns:1fr}.hero-visual{min-height:340px;border-radius:150px 150px 8px 8px}.hero-bottom{display:grid;gap:8px}.intro{font-size:17px}header .button{font-size:12px;padding:10px 12px;gap:12px}footer{display:grid}.micro{font-size:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.hero-visual{background-image:url('hero-instagram.jpg')}.section{padding:90px 6%;max-width:1600px;margin:auto}h2{font-family:Georgia,serif;font-size:clamp(34px,3.7vw,54px);font-weight:400;line-height:1.12;letter-spacing:-1.6px;margin-bottom:28px}h3{font-family:Georgia,serif;font-size:29px;font-weight:400;line-height:1.2}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;margin-bottom:35px}.section-heading>p{max-width:350px;color:var(--muted)}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.services article{border-top:1px solid var(--line);border-right:1px solid var(--line);padding:28px 26px 10px;display:flex;flex-direction:column}.services article:first-child{padding-left:0}.services article:last-child{border-right:0}.number{font-size:11px;letter-spacing:1.8px;font-weight:600;display:block;margin-bottom:38px}.services p,.about>div>p{color:var(--muted)}.services article a{margin-top:auto;padding-top:22px;font-size:14px;text-decoration:underline;text-underline-offset:5px}.modalities{background:#e5f1f2;display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:55px}.modality .number{margin-bottom:24px}.modality p{color:var(--muted)}.modality a{font-size:14px;border-bottom:1px solid}.about{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.about-statement{background:var(--green);color:var(--cream);padding:70px 45px;min-height:390px;display:flex;flex-direction:column;justify-content:space-between;border-radius:5px}.about-statement p{font-family:Georgia,serif;font-size:clamp(35px,4vw,60px);line-height:1.16;letter-spacing:-1px;margin:25px 0 40px}.about-statement>span:last-child{font-size:13px}.review-note{border-left:2px solid #287c83;padding:8px 0 8px 18px;font-size:14px;margin:25px 0}.review-note p{margin:8px 0 0}.text-link{font-size:14px;text-decoration:underline;text-underline-offset:5px}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.3fr;gap:9%}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 25px 22px 0;position:relative;list-style:none;font-weight:500}summary::-webkit-details-marker{display:none}summary:after{content:'+';position:absolute;right:0;font-size:22px;top:18px}details[open] summary:after{content:'−'}details p{color:var(--muted);padding-right:20px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:9%;background:var(--green);color:var(--cream)}.contact h2{font-size:clamp(40px,4.4vw,66px)}.contact h2 em{color:var(--lime);font-weight:400}.contact-panel{padding:35px 0}.contact-panel h3{margin-bottom:15px}.contact-panel .button{display:flex;width:100%;margin-top:12px}.light{background:var(--lime);color:var(--green);border-color:var(--lime)}.light:hover{background:#c0e1f3}.outline{border-color:#91c6e8;background:transparent}.contact-status{font-size:13px;color:#dceaf3;line-height:1.5;margin:18px 0 23px}.instagram-link{font-size:14px;text-decoration:underline;text-underline-offset:4px}.privacy{font-size:12px;color:#dceaf3;margin:18px 0 0}@media(max-width:1000px){.services{grid-template-columns:repeat(2,1fr);gap:30px}.services article{padding:25px 0;border-right:0}.modalities{gap:25px;grid-template-columns:1fr 1fr}.modalities>div:first-child{grid-column:1/-1}.section-heading{align-items:start}}@media(max-width:600px){.section{padding:60px 6%}.section-heading{display:block}.section-heading>p{max-width:none}.services{grid-template-columns:1fr;gap:15px}.number{margin-bottom:20px}.services h3{margin-bottom:12px}.services article a{padding-top:8px}.modalities,.about,.faq,.contact{grid-template-columns:1fr;gap:30px}.modality{border-top:1px solid #c4dce4;padding-top:25px}.about-statement{min-height:290px;padding:35px}.contact-panel{padding:0}.faq h2{margin-bottom:0}}
.phone{font-size:18px;text-align:center;letter-spacing:1px;margin:16px 0}.contact-status{margin-top:10px}
@media(min-width:1001px){.services article:nth-child(3n){border-right:0}.services article:nth-child(4){padding-left:0}.services{row-gap:30px}}

.language{font-size:14px;font-weight:600;border-bottom:1px solid;padding:6px 0;white-space:nowrap}.steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.steps li{border-top:1px solid var(--line);padding-top:25px}.steps p{color:var(--muted)}.availability-note{font-size:14px;border-left:2px solid var(--lime);padding-left:15px;color:#e2edf5}header{gap:20px}nav{gap:20px}@media(max-width:1100px){header{flex-wrap:wrap}nav{order:3;width:100%;justify-content:space-between}.language{margin-left:auto}}@media(max-width:600px){.steps{grid-template-columns:1fr;gap:20px}nav{flex-wrap:wrap;font-size:14px}header .language{margin-left:0}.brand{margin-right:auto}.hero-bottom span{overflow-wrap:anywhere}}

.schedule-info{border-top:1px solid #779ab2;border-bottom:1px solid #779ab2;padding:24px 0;margin:25px 0}.schedule-info h3{font-size:25px}.schedule-info ul{padding-left:20px}.schedule-info p:last-child{font-size:14px;margin-bottom:0}
