.vp-page{max-width:680px;margin:0 auto;padding:24px 20px 60px;font-family:Nunito,sans-serif;color:var(--color-brand-text)}.vp-detail-grid{display:grid;grid-template-columns:1fr;gap:0}.vp-breadcrumb{margin-bottom:18px}.vp-back-link{display:inline-flex;align-items:center;gap:6px;font-family:"Baloo 2",cursive;font-weight:700;font-size:.88rem;color:var(--color-brand-teal);text-decoration:none;padding:6px 14px;border-radius:999px;background:var(--color-brand-mint-pale);transition:background .2s}.vp-back-link:hover{background:var(--color-brand-mint-light)}.vp-listing-header{margin-bottom:6px;animation:vp-rise .7s cubic-bezier(.22,1,.36,1) both}.vp-listing-name{font-family:"Baloo 2",cursive;font-size:clamp(1.6rem,5vw,2.1rem);font-weight:800;color:var(--color-brand-teal-dark);line-height:1.15;letter-spacing:-.5px}.vp-header-badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center}.vp-location-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-brand-mint-pale);color:var(--color-brand-teal);font-weight:700;font-size:.78rem;padding:3px 10px;border-radius:999px;border:1.5px solid var(--color-brand-mint-light)}.vp-badge-pink{background:#fff0f4;color:#b0455a;border-color:#fbcfe8}.vp-listing-address{margin-top:8px;font-size:.85rem;color:var(--color-brand-text-soft);line-height:1.4}.vp-carousel-wrap{position:relative;border-radius:20px;overflow:hidden;margin:18px 0 10px;box-shadow:0 8px 40px #3a9e8c29;background:var(--color-brand-mint-light);aspect-ratio:16 / 9;animation:vp-rise .7s .1s cubic-bezier(.22,1,.36,1) both}.vp-carousel-track{display:flex;height:100%;transition:transform .45s cubic-bezier(.4,0,.2,1)}.vp-carousel-slide{flex:0 0 100%;height:100%;overflow:hidden}.vp-carousel-slide img{width:100%;height:100%;object-fit:contain;display:block}.vp-carousel-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:10;background:#ffffffe0;border:none;border-radius:50%;width:38px;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 10px #0000001f;transition:background .2s,transform .2s;color:var(--color-brand-teal)}.vp-carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.08)}.vp-prev{left:12px}.vp-next{right:12px}.vp-thumb-row{display:flex;gap:8px;margin-bottom:18px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.vp-thumb{flex:0 0 auto;width:64px;height:64px;border-radius:12px;overflow:hidden;border:2.5px solid transparent;padding:0;background:var(--color-brand-mint-pale);cursor:pointer;transition:border-color .2s,transform .2s}.vp-thumb img{width:100%;height:100%;object-fit:cover;display:block}.vp-thumb:hover{transform:translateY(-2px)}.vp-thumb-active{border-color:var(--color-brand-teal);box-shadow:0 4px 14px #3a9e8c40}.vp-cta-row{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap;animation:vp-rise .7s .2s cubic-bezier(.22,1,.36,1) both}.vp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 20px;border-radius:999px;font-family:"Baloo 2",cursive;font-weight:700;font-size:.9rem;cursor:pointer;border:none;text-decoration:none;transition:transform .18s,box-shadow .18s;white-space:nowrap;flex:1 1 130px}.vp-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.vp-btn-primary{background:var(--color-brand-teal);color:#fff;box-shadow:0 3px 14px #3a9e8c4d}.vp-btn-email{background:#fff;color:var(--color-brand-teal);border:2px solid var(--color-brand-mint-light)}.vp-btn-call{background:#fbcfe8;color:#c0536a;border:2px solid #FDA4AF}.vp-btn-social{background:#fffbeb;color:#92400e;border:2px solid #FDE68A}.vp-card{background:#ffffffc7;backdrop-filter:blur(8px);border:1.5px solid rgba(109,200,181,.28);border-radius:20px;padding:1.5rem 1.6rem;margin-bottom:14px;box-shadow:0 4px 24px #3a9e8c1a;animation:vp-rise .7s .25s cubic-bezier(.22,1,.36,1) both}.vp-section-label{display:inline-flex;align-items:center;gap:6px;font-size:.7rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--color-brand-mint);background:var(--color-brand-mint-pale);padding:3px 10px;border-radius:999px;margin-bottom:.85rem}.vp-rich,.vp-description{font-size:.97rem;line-height:1.75;color:var(--color-brand-text)}.vp-rich p{margin-bottom:.75rem}.vp-rich p:last-child{margin-bottom:0}.vp-rich a{color:var(--color-brand-teal);text-decoration:underline}.vp-rich a:hover{color:var(--color-brand-teal-dark)}.vp-rich strong{font-weight:700}.vp-rich em{font-style:italic}.vp-rich blockquote{margin:1rem 0;padding:.25rem .25rem .25rem 1rem;border-left:3px solid var(--color-brand-mint);font-style:italic;color:var(--color-brand-text-soft)}.vp-rich blockquote p:last-child{margin-bottom:0}.vp-rich h2{font-family:"Baloo 2",cursive;font-weight:800;font-size:1.25rem;color:var(--color-brand-teal-dark);line-height:1.3;letter-spacing:-.2px;margin:1.4rem 0 .6rem;padding-left:12px;border-left:4px solid var(--color-brand-teal)}.vp-rich h2:first-child{margin-top:0}.vp-rich h3{font-family:"Baloo 2",cursive;font-weight:700;font-size:1.05rem;color:var(--color-brand-teal-dark);margin:1.1rem 0 .45rem}.vp-rich h3:first-child{margin-top:0}.vp-rich ul,.vp-rich ol{padding-left:1.25rem;margin-bottom:.75rem}.vp-rich li{margin-bottom:.25rem}.vp-rich img{max-width:100%;height:auto;border-radius:12px;margin:.75rem 0;border:1.5px solid rgba(109,200,181,.35)}.vp-rich iframe{display:block;width:100%;max-width:640px;aspect-ratio:16 / 9;height:auto;border:0;border-radius:12px;margin:1rem 0}.vp-subhead{font-family:"Baloo 2",cursive;font-weight:700;font-size:1rem;color:var(--color-brand-teal-dark);margin:1rem 0 .4rem}.vp-summary-table{width:100%;border-collapse:separate;border-spacing:0}.vp-summary-table tr{border-bottom:1px solid rgba(109,200,181,.18)}.vp-summary-table tr:last-child{border-bottom:none}.vp-summary-table td{padding:10px 4px;font-size:.9rem;vertical-align:top}.vp-summary-table td:first-child{color:var(--color-brand-text-soft);font-weight:600;width:44%;padding-right:12px}.vp-summary-table td:last-child{color:var(--color-brand-text);font-weight:700}.vp-summary-table td.vp-tuition{white-space:pre-line;font-weight:600}.vp-pill{display:inline-block;padding:2px 10px;border-radius:999px;font-size:.78rem;font-weight:700;margin:2px 3px 2px 0}.vp-pill-mint{background:var(--color-brand-mint-pale);color:var(--color-brand-teal);border:1px solid var(--color-brand-mint-light)}.vp-pill-pink{background:#fff0f4;color:#b0455a;border:1px solid #FBCFE8}.vp-pill-yellow{background:#fffbeb;color:#92400e;border:1px solid #FDE68A}.vp-pill-blue{background:#eff6ff;color:#2563eb;border:1px solid #BFDBFE}.vp-verified-row{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;background:linear-gradient(135deg,var(--color-brand-mint-pale),#fff);border:1.5px solid var(--color-brand-mint-light);border-radius:12px;font-size:.82rem;font-weight:600;color:var(--color-brand-teal)}@keyframes vp-rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:500px){.vp-cta-row{flex-direction:column}.vp-cta-row .vp-btn{flex:1 1 auto;width:100%}}.vp-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fffdf3f5;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1.5px solid rgba(109,200,181,.35);box-shadow:0 -6px 24px #3a9e8c24;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .32s cubic-bezier(.22,1,.36,1);pointer-events:none}.vp-sticky-cta.vp-sticky-show{transform:translateY(0);pointer-events:auto}.vp-sticky-cta-inner{display:flex;gap:8px;max-width:680px;margin:0 auto}.vp-sticky-cta .vp-btn{flex:1 1 0;min-width:0;padding:10px 12px;font-size:.85rem;gap:6px}.vp-sticky-cta .vp-sticky-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:380px){.vp-sticky-cta .vp-sticky-label{display:none}.vp-sticky-cta .vp-btn{padding:11px 10px}}@media(min-width:900px){.vp-sticky-cta{display:none}}@media(min-width:900px){.vp-page{max-width:1080px}.vp-detail-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);column-gap:24px;align-items:start}.vp-card-about{grid-column:1;grid-row:1}.vp-card-summary{grid-column:2;grid-row:1 / span 2;align-self:start}.vp-photos-section{grid-column:1;grid-row:2;margin-top:0}}.vp-verified-icon{font-size:1.1rem}
