:root{--blue:#27c1ca;--deep:#29235c;--pale:#f1fafb;--ink:#363743;--line:#dcebed;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font:16px/1.7 Manrope,Arial,sans-serif;color:var(--ink);background:#fff}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--deep);outline-offset:5px}h1,h2,h3{font-family:Sora,sans-serif;color:var(--deep);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin:0 0 24px}h1{font-size:clamp(3rem,5.2vw,5.7rem)}h2{font-size:clamp(2.3rem,3.6vw,3.6rem)}h3{font-size:1.4rem;letter-spacing:-.025em}p{margin:0 0 22px}em{font-style:normal;color:#087a80}.wrap{width:min(1280px,calc(100% - 96px));margin-inline:auto}.section{padding-block:100px}.eyebrow{font-size:.8rem;letter-spacing:.15em;font-weight:600;color:var(--deep);margin-bottom:26px}.lead{font-size:1.18rem;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;min-height:52px;background:var(--blue);color:var(--deep);border:1px solid var(--blue);border-radius:40px;font-weight:600;cursor:pointer;transition:.2s}.button:hover{background:#58ced5}.text-button{background:none;border:0;border-bottom:1px solid var(--blue);padding:0 0 6px;color:var(--deep);font-weight:600;cursor:pointer;font-size:1rem}.text-button:hover{color:#087a80}.skip{position:absolute;top:-100px;background:#fff;padding:15px;z-index:100}.skip:focus{top:5px}header{height:96px;padding-inline:4%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:#ffffffed;backdrop-filter:blur(15px)}.logo{display:flex;align-items:center;gap:13px;color:var(--deep)}.logo img{width:45px;height:51px;object-fit:cover;object-position:top;clip-path:inset(0 0 18% 0)}.logo span{font-size:1rem;letter-spacing:.09em;font-weight:700;white-space:nowrap}.logo small{display:block;font-size:.65rem;letter-spacing:.1em;font-weight:500;margin-top:3px}header nav{display:flex;gap:28px;align-items:center;font-size:.9rem}header .button{padding:10px 22px;min-height:46px}.hero{padding-block:54px 72px;display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.hero-copy{padding-block:35px}.hero-copy .lead{max-width:490px;margin-bottom:34px}.hero-notes{display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:38px;font-size:.8rem;color:#5c6270}.hero-notes span{border-bottom:1px solid var(--line);padding-bottom:7px}.hero-photo{position:relative;margin:0;height:620px;border-radius:160px 12px 12px 12px;overflow:hidden;background:var(--pale)}.hero-photo img{height:100%;object-position:48%}.hero-photo:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#06132c9c)}.hero-photo figcaption{position:absolute;bottom:30px;left:32px;z-index:1;color:white;font-size:.8rem;letter-spacing:.14em}.image-tag{position:absolute;top:25px;right:25px;background:#ffffffde;color:var(--deep);padding:8px 15px;border-radius:30px;font-size:.8rem}.intro-band{position:relative;overflow:hidden;background:var(--pale);padding-block:65px}.intro-grid{display:grid;grid-template-columns:.8fr 1.25fr 1fr;gap:55px;align-items:center}.intro-grid h2{font-size:2rem;margin:0}.intro-grid p{margin:0}.palm{position:absolute;background:var(--blue);mask:url('/images/palm-brand.svg') center/contain no-repeat;-webkit-mask:url('/images/palm-brand.svg') center/contain no-repeat;width:300px;height:230px;opacity:.06;pointer-events:none;right:20px;bottom:0}.section-top{display:flex;align-items:end;justify-content:space-between;gap:60px;margin-bottom:45px}.section-top h2{margin-bottom:0}.section-top>p{max-width:410px;margin:0}.session-grid{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line)}.session-grid article{padding:35px 32px;display:flex;align-items:start;flex-direction:column;border-right:1px solid var(--line)}.session-grid article:first-child{padding-left:0}.session-grid article:last-child{border:0}.number{color:#087a80;font-size:.85rem;letter-spacing:.1em;margin-bottom:35px}.session-grid h3{margin-bottom:16px}.session-grid ul{padding:0;list-style:none;font-size:.9rem;margin:8px 0 30px}.session-grid li{padding-block:6px}.session-grid li:before{content:'✓';margin-right:10px;color:#087a80}.session-grid .text-button{margin-top:auto}.quote-note{display:grid;grid-template-columns:1fr 2fr;gap:40px;padding:28px 0 0;color:var(--deep)}.quote-note p{margin:0}.locations{background:var(--pale)}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.location-grid article{background:#fff;padding:32px;border-radius:12px;border:1px solid var(--line)}.location-grid article>span{font-size:.75rem;letter-spacing:.1em;color:#087a80;display:block;margin-bottom:24px}.location-grid small{font-size:.85rem;color:#666d78}.location-note{font-size:.9rem;margin:25px 0 0}.gallery{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px;align-items:start}.gallery figure{margin:0}.gallery img{height:400px;border-radius:9px}.gallery figure:nth-child(2){padding-top:50px}.gallery figure:nth-child(3) img{height:340px}.gallery figcaption{display:flex;justify-content:space-between;gap:16px;padding-top:15px;color:var(--deep);font-size:.95rem}.gallery small{font-size:.75rem;color:#6e737c}.about{background:var(--pale)}.about-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.about-grid>div:last-child{max-width:520px}.portrait-placeholder{min-height:390px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #88c5cd;border-radius:12px;background:#fff;color:var(--deep);gap:15px}.portrait-placeholder>span:last-child{font-size:.85rem;color:#69747a}.portrait-icon{color:var(--blue);font-size:4rem}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:35px;margin-top:50px}.process-grid article{border-top:1px solid var(--line);padding-top:24px}.process-grid span{color:#087a80;font-size:.9rem;display:block;margin-bottom:28px}.process-grid h3{font-size:1.18rem}.process-grid p{font-size:.95rem;margin:0}.booking{background:var(--deep);color:#fff}.booking-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:85px;align-items:start}.booking-copy{position:relative;isolation:isolate;min-height:540px}.booking h2,.booking .eyebrow{color:#fff}.booking em{color:var(--blue)}.booking-copy>p:not(.eyebrow){max-width:420px}.booking-note{font-size:.9rem;opacity:.75}.booking .palm{background:white;width:340px;height:250px;bottom:-20px;right:0;opacity:.08;z-index:-1}form{background:#fff;color:var(--ink);padding:35px;border-radius:14px}form h3{font-size:1.65rem;margin-bottom:28px}.fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{display:block;font-size:.9rem;font-weight:600;margin-bottom:20px;color:var(--deep)}input,select,textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #cbdde0;border-radius:6px;background:#fff;color:var(--ink);min-height:48px;font-size:1rem}input:focus,select:focus,textarea:focus{outline:2px solid #087a80;outline-offset:1px}textarea{resize:vertical}form .button{width:100%}.form-note{font-size:.8rem;line-height:1.6;text-align:center;margin:16px 0 0;color:#656d77}#form-status{font-size:.9rem;color:#087a80;margin:15px 0 0}.faq{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:22px 0;font-weight:600;color:var(--deep);font-size:1rem}details p{margin-bottom:22px}footer{background:var(--pale);color:var(--deep);padding-block:50px 20px}.footer-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}.footer-grid>p{font-family:Sora,sans-serif;font-size:1.2rem}.footer-grid>div{display:flex;flex-direction:column;gap:8px;font-size:.9rem}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:30px;margin-top:35px;border-top:1px solid var(--line);font-size:.8rem}
@media(max-width:1100px){.hero{gap:35px}.hero-photo{height:540px}.intro-grid{gap:28px;grid-template-columns:1fr 1fr}.intro-grid>.eyebrow{grid-column:1/-1}.about-grid,.booking-grid{gap:45px}.session-grid article{padding:30px 22px}.location-grid article{padding:25px}.gallery img{height:330px}.process-grid{gap:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div{grid-column:2}}
@media(max-width:800px){.wrap{width:calc(100% - 40px)}html{scroll-padding-top:85px}header{height:82px;padding-inline:20px}.logo img{width:35px;height:44px}.logo span{font-size:.83rem}.logo small{font-size:.58rem}header nav>a:not(.button){display:none}header nav{gap:0}header .button{font-size:.8rem;padding:10px 15px}.hero{grid-template-columns:1fr;padding-top:25px;gap:20px;padding-bottom:50px}.hero-copy{padding-block:20px}h1{font-size:clamp(3.2rem,10vw,4.7rem)}.hero-photo{height:440px;border-top-left-radius:110px}.hero-notes{margin-top:25px}.hero-copy .lead{font-size:1.08rem}.hero-photo figcaption{font-size:.7rem;left:24px}.intro-grid{grid-template-columns:1fr;gap:24px}.intro-grid>.eyebrow{grid-column:auto}.intro-band{padding-block:45px}.section{padding-block:65px}.section-top{display:block;margin-bottom:32px}.section-top>p{margin-top:25px}.session-grid{grid-template-columns:1fr;border-bottom:0}.session-grid article,.session-grid article:first-child{padding:28px 0;border-right:0;border-bottom:1px solid var(--line)}.session-grid article:last-child{border-bottom:1px solid var(--line)}.number{margin-bottom:22px}.quote-note{grid-template-columns:1fr;gap:12px}.location-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;gap:25px 15px}.gallery figure:nth-child(2){padding-top:30px}.gallery figure:nth-child(3){grid-column:1/-1}.gallery img{height:280px}.gallery figure:nth-child(3) img{height:280px}.gallery figcaption{flex-direction:column;gap:4px}.about-grid,.booking-grid,.faq{grid-template-columns:1fr;gap:35px}.portrait-placeholder{min-height:310px}.process-grid{grid-template-columns:1fr 1fr;gap:30px 25px}.booking-copy{min-height:0}.booking .palm{height:200px;width:250px;opacity:.055}.booking-copy h2{font-size:2.6rem}form{padding:25px 20px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-grid>div{grid-column:auto}.footer-grid>p{margin:0}.footer-bottom{flex-direction:column;gap:8px}.fields{gap:14px}}
@media(max-width:430px){.fields{grid-template-columns:1fr}.hero-photo{height:350px}.process-grid{grid-template-columns:1fr}.gallery img{height:230px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.gallery figure:nth-child(2) img{height:auto;aspect-ratio:3/2}

.hero-prices{display:flex;gap:30px;margin-bottom:28px}.hero-prices a{display:flex;flex-direction:column;gap:3px}.hero-prices strong{font-family:Sora,sans-serif;font-size:1.8rem;color:var(--deep)}.hero-prices span{font-size:.85rem}.pricing-section{padding-block:20px 90px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.price-card{padding:32px;background:var(--pale);border:1px solid var(--line);border-radius:12px;display:flex;align-items:start;flex-direction:column}.price-card .eyebrow{margin-bottom:18px}.price{font-family:Sora,sans-serif;font-size:3.2rem;color:var(--deep);line-height:1.2;margin-bottom:22px}.price-card ul{padding:0;list-style:none;margin:0 0 28px}.price-card li{padding:6px 0;font-size:.95rem}.price-card li:before{content:'✓';color:#087a80;margin-right:10px}.price-card .button{margin-top:auto}.price-card.custom{background:var(--deep);color:#fff}.price-card.custom h3,.price-card.custom .eyebrow{color:#fff}.price-card.custom h3{font-size:2rem}.hero-copy{padding-block:20px}
@media(max-width:800px){.pricing-section{padding-block:0 60px}.pricing-grid{grid-template-columns:1fr}.price-card{padding:28px}.hero-prices{gap:24px}.hero-prices span{font-size:.8rem}}

.button{color:#fff}.button:hover{background:#087a80;border-color:#087a80;color:#fff}

.casandra-portrait{margin:0}.casandra-portrait img{height:auto;aspect-ratio:4/5;border-radius:12px;object-fit:cover;object-position:85% center}.casandra-portrait figcaption{font-size:.85rem;color:var(--deep);padding-top:14px}


.request-actions{display:flex;flex-wrap:wrap;gap:12px}.request-actions .button{flex:1 1 220px;justify-content:center}
