.hero-art{width:100%;aspect-ratio:1/1.02;min-height:0;display:block;overflow:hidden;border-radius:46% 54% 39% 43%/42% 47% 53% 54%;background:#f8cbd3}
.hero-art .portrait-shape{inset:0;border-radius:inherit;transform:none;background:radial-gradient(circle at 35% 20%,#ffe6e8,#f6bac6 78%)}
.hero-art:before{inset:5%;border-radius:inherit;transform:none;z-index:2;pointer-events:none}
.hero-art img{position:absolute;left:50%;bottom:0;z-index:1;transform:translateX(-50%);height:95%;max-height:none;width:auto;max-width:none;object-fit:contain;object-position:bottom}
.hero-art .round-note{z-index:3;right:4%;bottom:5%;width:115px;height:115px;font-size:11px;border-width:6px;box-shadow:0 9px 24px #12223c26}
.hero-art .round-note b{font-size:27px}
.family-banner{height:360px}
.family-banner:after{display:none}
.family-banner img{object-position:center 48%}
.about{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:65px;align-items:start}
.about-copy h2{font-size:clamp(39px,3.7vw,55px)}
.about-factors{padding:38px;border:1px solid #dfd4e6;border-radius:25px;background:linear-gradient(145deg,#f5eefb,#fffaf5);box-shadow:0 12px 30px #12223c09}
.about-factors .eyebrow{margin-bottom:25px}
.factor-quote{font:400 33px/1.2 'DM Serif Display',Georgia,serif}
.factor-quote em{color:#5942a7}
.factor-chips{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}
.factor-chips span{padding:7px 14px;border-radius:20px;background:#fff;color:#493588;font-size:15px;font-weight:700}
.about-factors>p:last-child{margin-bottom:0;font-size:17px}
.contact-form{background:#fff;padding:27px;border-radius:22px;box-shadow:0 15px 32px #12223c0e}
.contact-form label{display:block;font-size:15px;font-weight:700;margin-bottom:14px}
.contact-form input,.contact-form textarea{display:block;width:100%;padding:12px 14px;margin-top:6px;border:1px solid #bcb7bb;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.contact-form textarea{min-height:125px;resize:vertical}
.contact-form .button{border:0;cursor:pointer}
.contact-form .form-note{font-size:14px;color:#576277;margin:12px 0 0}
.contact-form .form-feedback{font-size:15px;font-weight:700;margin:12px 0 0}
.spam-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.contact-actions{gap:10px}
.contact-actions .booking-pending{font-size:16px;background:#fff;padding:13px 17px;border-radius:12px;color:var(--ink)}
.footer-grid{grid-template-columns:1fr 1.3fr .8fr}
@media(max-width:900px){.hero-art{aspect-ratio:1/1.02}.about{grid-template-columns:1fr;gap:30px}.about-factors{max-width:none}}
@media(max-width:680px){.hero-art{min-height:0;width:min(100%,390px);aspect-ratio:1/1}.hero-art img{height:98%;max-height:none}.hero-art .round-note{width:101px;height:101px;right:4%;bottom:4%;font-size:9px}.hero-art .round-note b{font-size:24px}.family-banner{height:230px}.about-factors{padding:26px}.factor-quote{font-size:28px}.contact-form{padding:20px}.footer-grid{grid-template-columns:1fr}}
