@import url('hybrid.css');
@import url('selected-chooser.css');
/* Reuse the selected hybrid's tokens, typography and component geometry. */
:root { --section-space:90px; --body-font:Montserrat,Arial,sans-serif; --heading-font:Montserrat,Arial,sans-serif; }
.hero-copy>.eyebrow { font-size:12px; line-height:1.6; margin-bottom:18px; padding:0; }
.button { max-width:100%; }
.utility a.utility-phone { flex-direction:column; justify-content:center; align-items:flex-end; max-width:240px; white-space:normal; text-align:right; }
.utility-phone-label { font-size:10px; line-height:1.3; }
.menu-phone-label { margin-top:20px; color:var(--blue); font-size:13px; line-height:1.5; font-weight:600; }
.menu-phone-label+.menu-phone { margin-top:10px; }
.brand-service img { width:300px; }
.path-brand-mark .service-icon { width:24px; height:24px; object-fit:contain; }
.service-strip .service-links { display:contents; }
.service-strip a .service-icon { width:76px; height:76px; padding:8px; object-fit:contain; background:white; border-radius:12px; margin:0 auto 24px; }
.footer-columns { grid-template-columns:1.1fr 1fr 1fr 1.35fr 1.2fr; gap:30px; }
.footer-phones a span { display:block; font-size:12px; font-weight:600; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; }
.contact-enquiry { display:flex; margin-top:18px; font-size:16px; }
.contact .phone-note { margin-top:18px; }
.contact .phone-purpose { margin-top:20px; max-width:420px; font-size:13px; line-height:1.5; font-weight:600; }
/* Retain the service questions after removing the shared owner portrait. */
.reassurance.reassurance-questions { display:block; }
.reassurance-questions .reassurance-panel { width:100%; padding:56px 64px; }
.no-script-nav { padding:12px 24px; background:var(--pale-green); display:flex; gap:20px; flex-wrap:wrap; font-size:16px; }
.care-index section a+a { margin-top:5px; }
.destinations { background:var(--pale-green); }
.destination-states { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 40px; margin-top:44px; }
.destination-states details { border-bottom:1px solid var(--outline); }
.destination-states summary { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:15px; padding:15px 0; color:var(--blue); cursor:pointer; list-style:none; font-size:18px; font-weight:600; }
.destination-states summary::-webkit-details-marker { display:none; }
.destination-states .plus::before,.destination-states .plus::after { background:var(--blue); }
.destination-states ul { margin:4px 0 24px; padding-left:22px; font-size:17px; line-height:1.8; }
.destination-note { font-size:15px; line-height:1.7; margin-top:30px; text-align:center; }
.caregivers { background:var(--pale-green); }
.caregivers .shell { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.caregivers p:not(.eyebrow) { font-size:19px; line-height:1.7; margin:25px 0; }
.caregivers img { width:100%; border-radius:200px 200px 12px 12px; }
.contact-heading { background:var(--pale-blue); border-bottom-right-radius:160px; }
.contact-heading h1 { font-size:64px; line-height:1.1; max-width:820px; }
.contact-heading .shell>p:last-child { max-width:740px; font-size:21px; line-height:1.7; margin-top:28px; }
.contact-options .service-phone { display:block; font-size:24px; }
.contact-options .service-phone .phone-purpose { display:block; margin-bottom:10px; font-size:13px; line-height:1.5; font-weight:600; }
.enquiry-section { background:var(--pale-green); }
.enquiry-layout { display:grid; grid-template-columns:1fr 1.25fr; gap:80px; align-items:start; }
.enquiry-intro>p:not(.eyebrow) { font-size:18px; line-height:1.7; margin-top:26px; }
.enquiry-intro address { margin-top:35px; font-size:18px; }
.enquiry-intro .office-note { font-size:15px!important; margin-top:12px!important; }
.enquiry-form-wrap { background:white; padding:35px; border:1px solid var(--outline); border-radius:0 44px 44px 0; }
.field { margin-bottom:24px; min-width:0; }
.field label,legend { display:block; font-size:16px; font-weight:600; margin-bottom:10px; }
.field label span,legend span { font-weight:400; font-size:13px; }
.field input,.field select,.field textarea { display:block; width:100%; min-width:0; min-height:50px; padding:13px; border:1px solid #7498ac; background:white; color:var(--ink); font:16px/1.5 var(--body-font); border-radius:7px; }
.field textarea { resize:vertical; min-height:140px; }
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,summary:focus-visible { outline:3px solid #9c501c; outline-offset:4px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
fieldset { min-width:0; border:0; padding:0; margin:0 0 10px; }
.form-note { border-left:4px solid var(--green); padding-left:15px; }
.form-actions { display:flex; align-items:center; gap:20px; flex-wrap:wrap; }
.form-actions .button { font-size:18px; line-height:1.4; cursor:pointer; }
.text-button { border:0; background:none; padding:10px 0; min-height:44px; color:var(--blue); font-size:15px; font-weight:600; text-decoration:underline; cursor:pointer; }
button:disabled { opacity:.5; cursor:not-allowed; }
.enquiry-preview { margin-top:30px; border-top:1px solid var(--outline); padding-top:25px; }
.enquiry-preview h3 { font:400 28px/1.3 var(--serif); color:var(--blue); }
.enquiry-preview pre { white-space:pre-wrap; overflow-wrap:anywhere; font:16px/1.7 var(--body-font); margin:20px 0; }
.form-status { font-size:15px; line-height:1.6; margin-top:20px; }
.team-contact-photo { max-width:1000px; margin:80px auto; padding:0 28px; }
.team-contact-photo img { width:100%; border-top:5px solid var(--green); border-radius:220px 220px 0 0; }
.team-contact-photo p { text-align:center; margin-top:25px; font-size:17px; color:var(--blue); }
[hidden] { display:none!important; }

/* Preserve the direction-02 chooser's photo frames and card layout; use the
   shared hybrid palette/fonts and remove all concept-gallery navigation. */
.selected-chooser { --accent:var(--blue); --accent-2:var(--green); --soft:var(--pale-blue); --warm:var(--pale-green); --border:var(--outline); --paper:white; --muted:#52626a; --font-body:var(--body-font); --font-heading:var(--heading-font); --shadow:0 14px 28px #143f7015; }
.selected-chooser.theme-02 .chooser h1 { color:var(--blue); }
.selected-chooser.layout-oval { background:linear-gradient(115deg,var(--pale-green) 0%,var(--pale-blue) 58%,var(--pale-green) 100%); }
.selected-chooser .chooser-oval { background:transparent; padding-bottom:40px; }
.selected-chooser .eyebrow { color:var(--green-ink); }
.selected-chooser .path-copy>strong { color:var(--deep); }
.selected-chooser .path-summary { color:#52626a; }
.selected-chooser .path-brand-mark svg { fill:none; stroke:var(--blue); stroke-width:3; }
.selected-chooser .path-card:hover { text-decoration:none; }
.selected-chooser .path-action { min-height:44px; }

@media(max-width:1199px) {
 .enquiry-layout { gap:40px; }.footer-columns { grid-template-columns:repeat(3,minmax(0,1fr)); }.caregivers .shell { gap:40px; }
}
@media(max-width:959px) {
 .service-strip { grid-template-columns:1fr; gap:24px; }.service-strip .service-links { display:grid; gap:18px; width:max-content; max-width:100%; justify-self:center; }.service-strip .service-links a { display:grid; grid-template-columns:60px minmax(0,1fr); column-gap:20px; align-items:center; min-height:60px; padding:0; text-align:left; }.service-strip .service-links .service-icon { width:60px; height:60px; margin:0; }
 .destination-states { grid-template-columns:repeat(2,minmax(0,1fr)); }.enquiry-layout { grid-template-columns:1fr; }.enquiry-intro { max-width:700px; }.caregivers .shell { grid-template-columns:1fr; }.caregivers img { max-width:640px; }
}
@media(max-width:767px) {
 .reassurance-questions .reassurance-panel { padding:40px 24px; }
 .page-chooser .site-header { height:auto; grid-template-rows:108px; }
 .utility nav { display:grid; grid-template-columns:1fr 1.2fr 1.35fr; gap:5px; width:100%; }.utility nav a { justify-content:center; text-align:center; white-space:normal; font-size:11px; padding:4px 0; }.utility>span { max-width:155px; }
 /* Retain the approved hybrid's mobile header, hero and introduction rhythm. */
 .brand-service img { width:216px; }.service-strip a .service-icon { width:60px; height:60px; margin-bottom:14px; }
 .reassurance-team .text-link { font-size:15px; }
 .destination-states { grid-template-columns:1fr; margin-top:30px; }.destination-states summary { min-height:62px; }.destination-note { text-align:left; }
 .footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px 20px; padding:40px 24px; }.footer-brand { grid-column:1/-1; padding:16px 0 0; text-align:center; }.footer-brand img { width:240px; max-width:100%; margin-inline:auto; }.footer-bottom { padding:14px 24px; flex-wrap:wrap; }
 .contact-heading { border-bottom-right-radius:90px; }.contact-heading h1 { font-size:42px; }.contact-heading .shell>p:last-child { font-size:19px; }.enquiry-form-wrap { padding:26px 22px; }.form-row { grid-template-columns:1fr; gap:0; }.enquiry-intro h2 { font-size:35px; }.enquiry-section .shell { width:calc(100% - 40px); }
 .team-contact-photo { margin-block:50px; padding-inline:24px; }.team-contact-photo img { border-radius:100px 100px 0 0; }
}
@media(max-width:359px) {
 .footer-columns { grid-template-columns:1fr; }.utility { padding-inline:12px; }.utility-phone { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) {html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
