.wide-photo .hero-learning-image{height:clamp(320px,44vw,636px)!important;aspect-ratio:2/1!important;object-fit:cover!important;object-position:50% 0}
@media(max-width:850px){.wide-photo .hero-learning-image{height:300px!important;aspect-ratio:auto!important;object-position:50% 65%}}
.appointment-panel{padding:30px 0;border-top:1px solid #033f4440;margin-top:30px;scroll-margin-top:155px}.appointment-panel h2{font-size:clamp(28px,3vw,40px);margin-bottom:20px}.appointment-panel p{font-size:16px;line-height:1.7}.appointment-demo{padding:18px;background:var(--mist)}
@media(min-width:1101px) and (max-width:1300px){.nav-links{gap:12px}.nav-links>a{font-size:13px}}
@media(min-width:851px) and (max-width:1100px){.nav-inner{justify-content:space-between}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:125px;left:0;right:0;background:var(--paper);padding:16px 35px 25px;border-bottom:1px solid #bbc9c4;box-shadow:0 16px 25px #033f4412}.nav-links.open{display:flex;align-items:stretch;flex-direction:column;gap:0}.nav-links>a{font-size:16px;padding:13px 10px}.nav-links .btn{margin-top:8px}}
@media(max-width:520px){.appointment-panel{scroll-margin-top:125px}}

/* Appointment CTA — historical MSO coral, dark text for accessible contrast. */
.nav-links>a.appointment-cta,.appointment-panel a.appointment-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;background:#F46A5E;color:#111111;font-weight:700;text-decoration:none;border:2px solid #F46A5E;border-radius:0;line-height:1.4;white-space:normal;text-align:center}.nav-links>a.appointment-cta:hover,.appointment-panel a.appointment-cta:hover{background:#033F44;color:#F7F5F1;border-color:#033F44}.nav-links>a.appointment-cta:focus-visible,.appointment-panel a.appointment-cta:focus-visible{outline:3px solid #033F44;outline-offset:4px;text-decoration:underline}@media(max-width:850px){.nav-links>a.appointment-cta{width:100%;margin-top:8px}}

/* Service scenes: keep every original subject within the crop. */
.service-detail-scene img,.service-photo img{height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center}

h1{hyphens:none;-webkit-hyphens:none;word-break:normal}

/* V25: three existing public calendars; no embed or client appointment data. */
.appointment-choices{list-style:none;padding:0;margin:28px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.appointment-choices li{padding:24px 0;border-top:1px solid #033f4440;min-width:0}.appointment-choices .eyebrow{font-size:13px;margin:0 0 12px}.appointment-choices h3{font-size:clamp(23px,2vw,30px);margin:0 0 20px;line-height:1.2}.appointment-choices a{max-width:100%}@media(max-width:850px){.appointment-choices{grid-template-columns:1fr;gap:8px}.appointment-choices li{padding:24px 0}}

/* V28: consistent reservation rows and the approved pencil-link treatment. */
.appointment-choices li{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.appointment-choices .eyebrow{min-height:3.2em;margin:0}
.appointment-choices h3{min-height:2.4em;margin:0;width:100%}
.appointment-choices .appointment-cta{margin-top:auto;min-height:64px;width:100%;text-align:center;line-height:1.5}
.service-content .directory-description a.text-link.pencil-link{padding:12px 16px;min-height:50px;border:1px solid #139faa40;background:transparent;color:var(--ink);box-shadow:none;text-decoration:none;transition:background-color .18s,border-color .18s}
.service-content .directory-description a.text-link.pencil-link:is(:hover,:focus-visible){background:var(--mist);color:var(--ink);border-color:#139faa70;box-shadow:none}
.service-content .directory-description a.text-link.pencil-link:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
@media(max-width:850px){.appointment-choices li{gap:14px}.appointment-choices .eyebrow,.appointment-choices h3{min-height:0}.appointment-choices .appointment-cta{min-height:50px;width:auto}}
@media(prefers-reduced-motion:reduce){.service-content .directory-description a.text-link.pencil-link{transition:none}}
