/* Appointment finder and booking */
.quick-section{position:relative;margin-top:-34px;z-index:4}.quick-finder{padding:28px 32px;border:1px solid #e1eaec;background:#fff;border-radius:14px;box-shadow:0 16px 40px #254c5c09}.finder-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.finder-heading .eyebrow{font-size:8px;margin-bottom:8px}.finder-heading h2{font-size:23px;margin:0;letter-spacing:-.035em;color:#365b6f}.quick-form{display:grid;grid-template-columns:1.1fr 1.1fr 1fr 1fr auto;gap:16px;align-items:end}.quick-form>label{font-size:10px;color:#64808c;min-width:0}.quick-form select,.quick-form input{display:block;width:100%;border:1px solid #dce7eb;border-radius:7px;color:#42616e;background:#fdfefe;padding:13px 12px;font-size:11px;margin-top:7px;min-height:46px}.quick-form .button{min-height:46px;font-size:11px;gap:15px;padding-inline:20px}.quick-finder .demo-note{margin-top:16px;font-size:9px}.finder-results{border-top:1px solid #e1edef;margin-top:20px;padding-top:21px}.finder-results>p{font-size:12px;color:#3e7880}.slot-list{display:flex;flex-wrap:wrap;gap:10px}.slot-list button,.time-slot{background:#f1faf8;border:1px solid #c8e3de;color:#277d7b;border-radius:7px;padding:12px 17px;min-height:46px;font-size:12px}.slot-list button:hover,.time-slot:hover,.time-slot[aria-pressed=true]{background:var(--teal-dark);color:#fff;border-color:var(--teal-dark)}.time-slot[aria-pressed=true]:after{content:' ✓';margin-left:6px}.booking-section{padding-top:20px}.booking-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:30px;align-items:start}.booking-main{border:1px solid #d9e7eb;border-radius:15px;overflow:hidden;background:#fff}.booking-progress{display:grid;grid-template-columns:repeat(5,1fr);padding:28px 25px;margin:0;list-style:none;background:#f4fafb;border-bottom:1px solid #deebed;gap:10px}.booking-progress li{display:flex;align-items:center;justify-content:center;gap:9px;color:#7c939b;font-size:11px;position:relative}.booking-progress li>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e7eff1;color:#80969f;font-size:10px}.booking-progress li>strong{font-weight:500}.booking-progress li[aria-current=step]{color:#167a7e}.booking-progress li[aria-current=step]>span{background:var(--teal-dark);color:#fff;box-shadow:0 0 0 4px #168d8612}.booking-progress li.complete>span{background:#d5ece6;color:#357e6c}.booking-stage{padding:36px;outline-offset:-4px}.booking-stage h2{font-size:29px;letter-spacing:-.04em}.booking-stage>p{font-size:13px}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.choice-card{display:flex;align-items:center;gap:14px;text-align:left;padding:19px;background:#fff;border:1px solid #dce8ea;border-radius:9px;min-height:80px;transition:border-color .2s,box-shadow .2s,background .2s}.choice-card:hover{border-color:#a5cec9;box-shadow:0 5px 15px #266e6c08}.choice-card[aria-pressed=true]{background:#eff9f6;border-color:#7ebcaf;box-shadow:0 0 0 1px #7ebcaf}.choice-card>.icon{color:#54a29c;width:23px;height:23px}.choice-card strong{display:block;font-size:13px;font-weight:600;color:#315e70}.choice-card small{display:block;font-size:10px;color:#6c8a91;line-height:1.6;margin-top:4px}.choice-card>i{display:grid;place-items:center;font-style:normal;width:17px;height:17px;border:1px solid #bcd3d8;border-radius:50%;margin-left:auto;flex-shrink:0;color:transparent;font-size:10px}.choice-card[aria-pressed=true]>i{background:var(--teal-dark);border-color:var(--teal-dark);color:white}.choice-card>img{width:46px;height:54px;object-fit:cover;object-position:50% 20%;border-radius:7px}.choice-grid.types{grid-template-columns:1fr 1fr}.types .choice-card{flex-direction:column;align-items:flex-start;min-height:210px;padding:26px;position:relative}.types .choice-card>.icon{width:30px;height:30px;margin-bottom:15px}.types .choice-card>i{position:absolute;top:24px;right:24px}.types .choice-card strong{font-size:19px}.types .choice-card small{font-size:12px;line-height:1.8}.booking-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 36px;border-top:1px solid #e3edef}.booking-navigation .button{min-height:45px;font-size:11px}.booking-error{font-size:11px;color:#9e4d44;line-height:1.6}.booking-summary{padding:30px 26px;border:1px solid #dbe9ea;background:#f2f9f8;border-radius:13px;position:sticky;top:118px}.booking-summary>.icon-tile{background:#dfefeb;margin-bottom:25px}.booking-summary .eyebrow{font-size:9px;margin-bottom:17px}.booking-summary h3{font-size:27px;color:#30586b}.booking-summary dl{margin:24px 0 18px}.booking-summary dl>div{padding:14px 0;border-bottom:1px solid #dae9e7}.booking-summary dt{font-size:9px;text-transform:uppercase;letter-spacing:.06em;color:#708e94}.booking-summary dd{margin:5px 0 0;font-size:12px;color:#426974}.booking-summary .demo-note{font-size:10px}.booking-help{display:flex;align-items:flex-start;gap:10px;border-top:1px solid #d9e7e6;padding-top:19px;margin-top:25px;color:#668d90;font-size:10px}.booking-help>.icon{width:17px;height:17px;margin-top:3px}.booking-help a{display:block;color:#237f7f;margin-top:5px}.booking-service-preview{display:grid;grid-template-columns:1fr 1fr;gap:12px}.booking-service-preview a{padding:15px;border:1px solid #dce9e9;border-radius:8px;display:flex;gap:10px;align-items:center;font-size:12px}.calendar-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:27px;align-items:start;margin-top:27px}.calendar{border:1px solid #deeaeb;border-radius:10px;padding:17px;min-width:0}.calendar-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.calendar-header h3{font-size:15px;margin:0;letter-spacing:-.02em}.calendar-header button{border:1px solid #dae7e9;background:white;border-radius:6px;width:35px;height:36px;color:#5b9299}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.calendar-weekdays>span{text-align:center;font-size:9px;color:#91a7ad;padding:8px 0}.calendar-day{display:grid;place-items:center;border:0;background:transparent;border-radius:6px;aspect-ratio:1;font-size:12px;color:#4e7281;padding:0;min-height:34px}.calendar-day:hover:not(:disabled){background:#e7f5f1;color:#20817d}.calendar-day:disabled{color:#adbdc2;opacity:.65}.calendar-day[aria-pressed=true]{background:var(--teal-dark);color:white}.calendar-legend{font-size:9px;color:#8da1a7;margin:16px 0 0;line-height:1.7}.time-picker h3{font-size:17px;margin-bottom:10px}.time-picker p{font-size:11px;line-height:1.7}.time-slots{display:grid;grid-template-columns:1fr 1fr;gap:9px}.time-slot{padding:12px 9px;font-size:11px}.no-times{padding:20px;background:#f4f9fa;border:1px dashed #d8e6e9;border-radius:8px;font-size:12px}.booking-complete{padding:15px 0 5px}.booking-complete>.icon-tile{width:60px;height:60px;border-radius:50%;margin-bottom:26px;background:#e1f1e8;color:#377b54}.booking-complete h2{font-size:33px;line-height:1.3}.booking-complete .success-notice{font-size:15px;color:#256d5b;border:1px solid #c8dfd4;background:#f0f8f3;padding:20px;border-radius:9px}.booking-complete p{font-size:13px}.booking-complete dl{display:grid;grid-template-columns:100px 1fr;font-size:13px;gap:12px;margin:25px 0}.booking-complete dt{color:#8a9fa6}.booking-complete dd{margin:0;color:#3f6674}
/* Health portal illustration */
.health-dashboard{padding:28px;border:1px solid #dce9ed;border-radius:16px;background:#fff;box-shadow:0 18px 50px #1a51610d;transform:perspective(1200px) rotateY(-2deg)}.dashboard-top{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #e8eff2;padding-bottom:18px}.dashboard-top .logo>svg{width:27px;height:27px}.dashboard-top .logo>span{font-size:21px}.dashboard-top .logo small{font-size:5px;margin-top:5px}.dashboard-top .demo-badge{font-size:7px;padding:5px 7px}.dashboard-welcome{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:25px 0}.dashboard-welcome>div>span{font-size:7px;letter-spacing:.1em;color:#879ba4}.dashboard-welcome h3{font-size:23px;line-height:1.4;color:#456577;margin:8px 0 0}.patient-avatar{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#ecf2f5;color:#73949b;font-size:11px}.health-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.health-stat{position:relative;border:1px solid #e3ecee;border-radius:10px;padding:20px 16px;background:#fff}.health-stat>.icon{width:18px;height:18px;color:#7bb7ae;margin-bottom:13px}.health-stat>span{display:block;font-size:9px;color:#7a919a}.health-stat>strong{display:block;font-family:Manrope;font-size:29px;font-weight:650;letter-spacing:-.04em;color:#436373;margin:9px 0}.health-stat strong small{font-family:'DM Sans';font-size:12px;letter-spacing:0;color:#8a9fa7;font-weight:400}.health-stat>p{font-size:8px;color:#6f9a8a;display:flex;align-items:center;gap:5px;margin:0}.health-stat>p>.icon{width:11px;height:11px}.health-stat:nth-child(2)>.icon{color:#d8a09b}.pulse-chart{height:27px;width:100%;color:#89bdb1}.health-stat.compact{display:flex;align-items:center;gap:12px;padding:16px}.health-stat.compact>.icon{margin:0;width:22px;height:22px}.health-stat.compact span{font-size:8px;color:#849aa2;display:block}.health-stat.compact strong{font-size:12px;color:#527581;font-weight:500;display:block;margin-top:5px}.health-progress{display:flex;align-items:center;gap:16px;padding:17px 0;border-bottom:1px solid #e6eef0}.health-progress>svg{width:65px;height:65px;flex-shrink:0}.ring-track,.ring-progress{fill:none;stroke-width:7;stroke:#edf4f3}.ring-progress{stroke:#76bcb0;stroke-linecap:round;stroke-dasharray:258;stroke-dashoffset:39;transform:rotate(-90deg);transform-origin:center;transition:stroke-dashoffset 1.2s}.health-progress svg text{font-family:Manrope;font-size:19px;fill:#4a7c7a;font-weight:600}.health-progress strong{font-size:12px;color:#507381;font-weight:500}.health-progress p{font-size:9px;color:#8a9fa6;margin-top:5px}.health-progress>span{margin-left:auto;width:24px;height:24px;display:grid;place-items:center;background:#e9f5ee;border-radius:50%;color:#82b393}.health-progress>span .icon{width:14px;height:14px}.dashboard-appointment{display:flex;align-items:center;gap:14px;padding-top:20px}.dashboard-appointment>.icon{color:#91b2b8;width:24px;height:24px}.dashboard-appointment span{font-size:7px;letter-spacing:.06em;color:#8fa6ae;display:block}.dashboard-appointment strong{font-size:12px;color:#547381;display:block;margin:5px 0;font-weight:500}.dashboard-appointment p{font-size:10px;color:#88a0a8}.dashboard-appointment>a{margin-left:auto;background:#eff7f7;padding:9px;border-radius:6px;color:#5e9997}.dashboard-appointment>a .icon{width:15px;height:15px}.health-dashboard .demo-note{font-size:9px;margin-top:18px;line-height:1.8}.dashboard-section .section-heading{margin-bottom:0}
/* Journey, focus and telehealth */
.care-journey{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:35px;padding:40px 0 10px}.journey-line{position:absolute;top:28px;left:0;width:100%;height:150px;color:#79b9b34f;pointer-events:none}.journey-step{position:relative;text-align:center;z-index:1}.journey-node{position:relative;width:82px;height:82px;border-radius:23px;background:#fff;border:1px solid #d3e9e5;box-shadow:0 9px 20px #1a686207;margin:0 auto 30px;display:grid;place-items:center;color:#559f9b}.journey-node>.icon{width:27px;height:27px}.journey-node>span{position:absolute;right:-8px;top:-8px;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#dcefe9;border:3px solid var(--mint);font-size:8px;color:#619e92}.journey-step h3{font-size:21px;color:#3a6373;margin-bottom:12px}.journey-step p{font-size:12px;max-width:160px;margin:auto;line-height:1.8}.health-focus{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;max-width:1070px;margin:auto}.body-visual{position:relative;min-height:490px}.body-orbit{width:400px;height:400px;border:1px dashed #cce3e5;border-radius:50%;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#eaf7f7 25%,#f5fbfb 65%,transparent 65%)}.body-orbit:after{content:'';position:absolute;inset:50px;border:1px solid #d9eef0;border-radius:50%}.human-silhouette{position:absolute;height:340px;width:195px;left:50%;top:50%;transform:translate(-50%,-50%);fill:#cce4e7;stroke:#b5d6db;stroke-width:1.3}.focus-point{display:flex;gap:9px;align-items:center;position:absolute;border:1px solid #d7e9e9;background:#fff;border-radius:8px;font-size:11px;padding:10px 13px;min-height:43px;color:#69858e;box-shadow:0 4px 10px #20526304;white-space:nowrap}.point-dot{width:7px;height:7px;background:#adcfd0;border-radius:50%;box-shadow:0 0 0 4px #e9f4f4}.focus-point[aria-pressed=true]{border-color:#98c9c4;color:#237e7e;background:#eff9f6}.focus-point[aria-pressed=true] .point-dot{background:#409e94;box-shadow:0 0 0 4px #cee9e1}.point-0{top:140px;right:10px}.point-1{top:260px;left:5px}.point-2{top:55px;left:60px}.point-3{bottom:40px;left:65px}.point-4{bottom:100px;right:0}.point-5{top:150px;left:0}.focus-copy{padding:40px;background:#f5fafb;border:1px solid #e1ecee;border-radius:16px}.focus-copy h3{font-size:31px;color:#2f6074;line-height:1.35}.focus-copy p{font-size:14px;line-height:1.95}.focus-copy .eyebrow{font-size:8px}.focus-copy .text-link{font-size:12px}.focus-copy small{display:block;font-size:9px;color:#7b969d;margin-top:25px;border-top:1px solid #e0ebee;padding-top:17px}.telehealth-device{background:#fff;border:6px solid #244b5a;border-radius:16px;box-shadow:0 18px 35px #12475415;position:relative;transform-style:preserve-3d;overflow:hidden}.device-bar{height:35px;display:flex;align-items:center;gap:4px;padding:0 13px;background:#f4f8f8}.device-bar i{width:5px;height:5px;border-radius:50%;background:#d0e0e2}.device-bar>span{margin-left:10px;font-size:7px;color:#8ca2a8}.device-bar>.icon{width:11px;height:11px;margin-left:auto;color:#9fb7be}.call-screen{height:320px;position:relative;overflow:hidden}.call-screen>img{width:100%;height:100%;object-fit:cover;object-position:50% 24%}.call-screen:after{content:'';position:absolute;inset:60% 0 0;background:linear-gradient(transparent,#1b3c4b88);pointer-events:none}.call-badge{position:absolute;top:17px;left:18px;display:flex;gap:7px;align-items:center;padding:6px 9px;border-radius:5px;font-size:8px;background:#fff;color:#618e80}.call-badge i{width:5px;height:5px;border-radius:50%;background:#84b797}.call-person{position:absolute;bottom:20px;left:20px;z-index:1;color:white}.call-person>strong{font-size:15px;display:block}.call-person>span{font-size:9px;display:block;margin-top:4px;color:#e6f4f5}.self-preview{position:absolute;bottom:17px;right:18px;z-index:1;width:70px;height:80px;background:#e6f0f2;border:2px solid white;border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#83a6b2;gap:6px;font-size:8px}.self-preview>.icon{width:24px;height:24px}.call-controls{display:flex;gap:9px;align-items:center;padding:15px 17px;flex-wrap:wrap}.call-controls button{width:36px;height:36px;border:1px solid #dce8ea;border-radius:50%;background:#f8fbfb;display:grid;place-items:center;color:#6e929d}.call-controls button>.icon{width:15px;height:15px}.call-controls button[aria-pressed=true]{background:#cce8e3;color:#266f64}.call-controls .end-call{background:#ed9a90;border-color:#ed9a90;color:white}.call-controls .end-call .icon{transform:rotate(135deg)}.call-status{margin-left:auto;color:#829da5;font-size:8px;max-width:180px;line-height:1.5}.telehealth-section .section-heading{margin-bottom:0}.telehealth-section .check-list{font-size:13px}.telehealth-section .demo-note{font-size:10px}.call-screen.ended>img{filter:grayscale(1);opacity:.4}.call-screen.ended{background:#f3f8f9}
/* Privacy and forms */
.privacy-panel{display:flex;align-items:center;gap:40px;padding:40px;background:#f4fafb;border:1px solid #e0ecee;border-radius:15px}.privacy-visual{position:relative;width:140px;height:140px;flex-shrink:0;display:grid;place-items:center;background:#e4f1f2;border-radius:50%}.file-card{width:68px;height:90px;transform:rotate(-10deg);padding:13px;border:1px solid #c8e0e1;border-radius:7px;background:#fff;box-shadow:0 5px 15px #315f670a}.file-card>.icon{width:20px;height:20px;color:#8ebdb5;margin-bottom:10px}.file-card i{display:block;width:35px;height:3px;background:#dcebee;border-radius:5px;margin:6px 0}.file-card i:last-child{width:24px}.privacy-visual>span{position:absolute;bottom:13px;right:12px;width:43px;height:43px;border-radius:12px;background:#b8dfd5;display:grid;place-items:center;color:#558f83;border:3px solid #f4fafb}.privacy-visual>span .icon{width:20px;height:20px}.privacy-panel h3{font-size:27px;line-height:1.4}.privacy-panel p:not(.eyebrow){font-size:13px}.privacy-panel .eyebrow{font-size:8px}.privacy-panel .text-link{font-size:11px}.split>.privacy-panel{display:block}.split>.privacy-panel .privacy-visual{margin-bottom:25px}.emergency-notice{display:flex;align-items:flex-start;gap:13px;padding:23px;background:#fbf4f1;border:1px solid #efdcd5;border-radius:10px;margin-top:30px;color:#845d4d}.emergency-notice>.icon{width:20px;height:20px;margin-top:3px;color:#bc8372}.emergency-notice strong{font-size:12px;font-weight:600}.emergency-notice p{font-size:11px;color:#8c756e;line-height:1.9;margin-top:5px}.form-card{padding:36px;background:#fff;border:1px solid #dce8eb;border-radius:15px;box-shadow:0 12px 35px #214f6105}.form-card h2{font-size:27px}.form-card>p{font-size:12px;line-height:1.9}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-field{min-width:0;margin-bottom:22px}.form-field label{display:block;font-size:11px;font-weight:500;color:#4d727f;margin-bottom:8px}.form-field label>span{color:#719c9e}.form-field input,.form-field select,.form-field textarea{display:block;width:100%;background:#fff;border:1px solid #d8e4e9;border-radius:7px;padding:12px 13px;font-size:13px;color:#325c6f;min-height:47px;outline-offset:3px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#62a9a6}.form-field textarea{resize:vertical;min-height:140px}.field-error{display:block;font-size:10px;color:#a54e46;margin-top:5px;line-height:1.7}.form-field [aria-invalid=true]{border-color:#ce9389;background:#fffafa}.full-width{width:100%}.form-privacy{display:flex;align-items:center;justify-content:center;gap:7px;font-size:9px!important;color:#829ba4;margin:17px 0 0}.form-privacy>.icon{width:12px;height:12px}.form-status{font-size:13px;line-height:1.8;color:#3e7a61}.form-status:not(:empty){padding:20px;border:1px solid #bfdcce;background:#eff8f2;border-radius:9px;margin-top:24px}.consent-field{display:flex;align-items:flex-start;gap:10px;font-size:11px;color:#718b95;margin:16px 0 24px}.consent-field input{accent-color:var(--teal-dark);width:17px;height:17px;margin-top:3px;flex-shrink:0}.details-notice{padding:15px 18px;background:#eef7f8;color:#6a8993;border-radius:8px;font-size:11px!important}
/* Accessible dialog */
.modal{border:1px solid #dbe9eb;border-radius:17px;padding:36px;max-width:calc(100vw - 32px);width:640px;max-height:calc(100dvh - 40px);color:var(--ink);box-shadow:0 25px 100px #0e354a40;overscroll-behavior:contain}.modal::backdrop{background:#123b4e70;backdrop-filter:blur(5px)}.modal-close{position:absolute;top:13px;right:14px;width:34px;height:34px;border-radius:50%;border:0;background:#f0f6f7;color:#688d98;font-size:24px;line-height:1}.modal h2{font-size:29px;padding-right:20px;line-height:1.4;margin-bottom:20px}.modal h3{font-size:22px}.modal p{font-size:13px;line-height:1.9}.modal dl{display:grid;grid-template-columns:110px 1fr;gap:13px;font-size:13px;margin:25px 0}.modal dt{color:#8aa0a9}.modal dd{margin:0;color:#3c6376}.modal .button-row{margin-top:25px}.modal .form-card{padding:0;box-shadow:none;border:0}.modal .form-grid{gap:15px}.modal .form-privacy{justify-content:flex-start}.modal-note{font-size:10px!important;color:#809ba4;margin-top:22px}.modal .demo-success{border:1px solid #bedbd0;background:#eff8f3;border-radius:10px;padding:22px}.modal .demo-success .icon{color:#5c9975;margin-bottom:15px}.demo-map{height:225px;position:relative;background:repeating-linear-gradient(90deg,transparent 0,transparent 75px,#d1e3e5 76px,#d1e3e5 90px,transparent 91px),repeating-linear-gradient(0deg,#edf6f5 0,#edf6f5 45px,#c9dfe2 46px,#c9dfe2 56px,#edf6f5 57px);border:1px solid #d2e4e7;border-radius:11px;margin-bottom:23px;display:grid;place-items:center}.demo-map>span{background:#fff;padding:12px 16px;border:1px solid #bfdcda;border-radius:9px;box-shadow:0 6px 20px #1a5a6320;font-size:12px;color:#39898a;display:flex;align-items:center;gap:9px}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);max-width:calc(100% - 36px);width:max-content;background:#1b4b60;color:#fff;padding:13px 22px;border-radius:9px;font-size:12px;opacity:0;z-index:3000;pointer-events:none;transition:opacity .25s,transform .25s}.toast.visible{opacity:1;transform:translate(-50%,0)}.page-fade{position:fixed;inset:0;background:#f5fbfb;opacity:0;pointer-events:none;z-index:4000;transition:opacity .25s}.page-fade.leaving{opacity:1}

