/* IMMENSE Patient pathways — elegant, accessible UI */
.sub-main{padding:76px 0 95px}.page-heading{max-width:830px;margin:0 auto 70px;text-align:center}.page-heading h1{font-size:clamp(58px,6.9vw,105px);letter-spacing:-.072em;line-height:1.03;margin:18px 0 25px}.page-heading h1 em,.contact-action-card h2 em{font-style:normal;color:#507a6a}.page-heading>p{max-width:520px;color:var(--muted);font-size:17px;margin:0 auto;line-height:1.77}.booking-layout,.contact-page-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:24px;align-items:start}.booking-card{padding:clamp(24px,3.4vw,45px);background:var(--surface);border:1px solid var(--line);border-radius:26px;box-shadow:0 24px 70px #162b2110}.booking-card h2{font-size:clamp(29px,3vw,43px);margin:12px 0 26px}.booking-card-head{margin-bottom:30px}.choice-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.visit-choice{position:relative;cursor:pointer}.visit-choice input{position:absolute;opacity:0;left:15px;top:25px}.visit-choice-body{display:flex;align-items:start;flex-direction:column;gap:7px;min-height:154px;padding:22px;border-radius:18px;border:1.5px solid var(--line);background:var(--bg);transition:all .25s}.visit-choice input:checked+.visit-choice-body{border-color:#598575;background:#e4f1e8;box-shadow:0 0 0 2px #87aa9340}.visit-choice input:focus-visible+.visit-choice-body{outline:3px solid #74b18d;outline-offset:3px}.visit-choice-body strong{font-size:15px;line-height:1.25}.visit-choice-body small{font-size:12px;color:#5e7167}.visit-icon{display:grid;place-items:center;border-radius:13px;width:36px;height:36px;background:#dae9df;color:#416759;margin-bottom:8px}.visit-icon .icon{width:17px}.calendar-wrap{margin-top:40px;padding-top:32px;border-top:1px solid var(--line)}.cal-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.cal-head h2{font-size:25px;letter-spacing:-.04em;margin:9px 0 24px}.cal-nav{display:flex;gap:8px}.cal-nav button{border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:50%;width:39px;height:39px;font-size:28px;line-height:1}.cal-nav button:disabled{opacity:.3}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;text-align:center}.weekday-row{margin-bottom:13px;color:var(--muted);font-size:11px}.calendar-grid .day,.calendar-blank{aspect-ratio:1;display:grid;place-items:center}.calendar-grid .day{border-radius:11px;border:1px solid transparent;background:var(--bg);font-size:13px;font-weight:600;color:var(--ink)}.calendar-grid .day:hover:not(:disabled){border-color:#86ad92}.calendar-grid .day:disabled{color:#aeb9b2;background:transparent}.calendar-grid .day.selected{background:#25473c;color:white}.slot-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:35px;margin-bottom:18px}.slot-head strong{font-size:15px}.tz-label{font-size:11px;color:var(--muted)}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;min-height:58px}.time-choice{background:var(--bg);border:1px solid var(--line);border-radius:13px;color:var(--ink);font-size:12px;min-height:46px}.time-choice:hover,.time-choice.selected{background:#234338;color:#fff;border-color:#234338}.request-card .selected-summary{display:flex;align-items:center;gap:12px;padding:15px;border-radius:13px;background:var(--surface-2);font-size:12px;color:var(--muted);margin:-6px 0 28px}.selected-summary .icon{color:var(--accent);width:23px;height:23px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field-wide{grid-column:1/-1}.field label{font-size:12px;font-weight:600}.field label span{color:#a34d4b}.field input,.field select,.field textarea{width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:11px;font:inherit;font-size:14px;min-height:49px;padding:13px 14px;outline:none;transition:border-color .2s}.field textarea{resize:vertical;min-height:130px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#568371;box-shadow:0 0 0 3px #648d761c}.field input::placeholder,.field textarea::placeholder{color:#909e92}.form-privacy{font-size:11px;color:var(--muted);line-height:1.7;margin:2px 0 18px}.agree{display:flex;align-items:start;gap:11px;margin:18px 0 24px;cursor:pointer;font-size:12px;line-height:1.65;color:var(--muted)}.agree input{accent-color:#416d57;margin-top:5px}.submit-button{width:100%}.submit-button:disabled{opacity:.65}.form-status{min-height:21px;font-size:12px;margin:14px 0 0;color:#2b6a4d}.is-error{color:#b34545!important}.callout{display:flex;gap:12px;align-items:start;border-top:1px solid var(--line);padding-top:20px;margin-top:24px}.callout .icon{width:22px;height:22px;color:var(--accent)}.callout p{font-size:12px;color:var(--muted);margin:0}.honeypot{position:absolute;left:-9999px;opacity:0;pointer-events:none}.success-card{background:#e8f1e9;border:1px solid #c8decd;padding:34px;border-radius:21px;text-align:center;color:#23483c}.success-card h3{font-size:40px;margin:10px 0}.success-card p{font-size:14px}.success-icon{width:60px;height:60px;display:grid;place-items:center;font-size:30px;color:#fff;background:#2b674d;border-radius:50%;margin:auto}.success-card strong{font-size:13px}.success-card .button{margin-top:22px}.contact-page-grid{grid-template-columns:1.15fr .85fr}.contact-sidebar{display:grid;gap:22px}.contact-action-card{color:#fff;background:radial-gradient(circle at top right,#406b54,#203b31 70%);border-radius:27px;min-height:390px;padding:clamp(28px,3.4vw,47px);display:flex;flex-direction:column;align-items:start;justify-content:center}.contact-action-card .eyebrow{color:#b3cebc}.contact-action-card h2{font-size:clamp(36px,3.5vw,53px);margin:14px 0}.contact-action-card h2 em{color:#b4d4ba}.contact-action-card p{font-size:14px;color:#d2e2d6;max-width:350px;margin:0 0 22px}.contact-details h2{font-size:27px}.contact-details p{border-top:1px solid var(--line);padding-top:15px}.contact-details strong,.contact-details span{display:block}.contact-details strong{font-size:13px}.contact-details span{font-size:13px;color:var(--muted);margin-top:4px}.help-copy{font-size:13px;color:var(--muted);line-height:1.65}.contact-details .form-privacy{font-size:11px}[data-theme="dark"] .visit-choice input:checked+.visit-choice-body{background:#2f4e3c}[data-theme="dark"] .visit-choice-body small{color:#bdd3c3}[data-theme="dark"] .calendar-grid .day:disabled{color:#688072}[data-theme="dark"] .success-card{background:#213b2f;color:#e6f1e9}[data-theme="dark"] .success-card h3{color:#f1f4ee}@media(max-width:930px){.booking-layout,.contact-page-grid{grid-template-columns:1fr}.contact-sidebar{grid-template-columns:1fr 1fr}.page-heading{margin-bottom:48px}.sub-main{padding-top:58px}}@media(max-width:640px){.sub-main{padding-top:48px;padding-bottom:70px}.page-heading{text-align:left;margin-bottom:35px}.page-heading h1{font-size:clamp(51px,10.5vw,74px)}.page-heading>p{font-size:14px}.booking-card{padding:22px;border-radius:20px}.booking-card h2{font-size:29px}.choice-row{grid-template-columns:1fr 1fr;gap:8px}.visit-choice-body{padding:14px;min-height:155px}.visit-choice-body strong{font-size:12px}.visit-choice-body small{font-size:11px}.calendar-grid{gap:3px}.calendar-grid .day{font-size:12px}.weekday-row{gap:3px}.slots-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.contact-sidebar{grid-template-columns:1fr}.field-wide{grid-column:auto}.contact-action-card{min-height:320px}.contact-details{padding:26px}}
