:root{--ink:#193f49;--teal:#247f91;--deep:#165d6b;--orange:#e96026;--light:#eef6f7;--muted:#587078;--line:#d7e3e5;--white:#fff;--pale:#fff4ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif;background:white}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,.button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:10px;background:#fff;z-index:100}.demo{padding:8px 4%;background:var(--ink);color:white;font-size:13px;letter-spacing:.02em;text-align:center}.demo a{margin-left:24px}header{display:flex;justify-content:space-between;align-items:center;gap:25px;max-width:1360px;margin:auto;padding:24px 5%}.logo{width:250px;max-width:100%;height:auto}nav{display:flex;gap:26px;align-items:center;flex-wrap:wrap}nav a{text-decoration:none;font-size:15px;font-weight:600}nav a:hover{color:var(--orange)}.button,button.primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 24px;border:1px solid var(--deep);border-radius:8px;background:var(--deep);color:#fff;text-decoration:none;font-weight:600;line-height:1.4}.button:hover,button.primary:hover{background:#104752}.button.orange{background:var(--orange);border-color:var(--orange)}.button.secondary,button.secondary{border:1px solid var(--line);background:#fff;color:var(--ink);padding:12px 20px;border-radius:8px;text-decoration:none}.small{padding:10px 16px;font-size:14px}.wrap{max-width:1220px;margin:auto;padding:60px 36px}.hero{max-width:1360px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:560px;background:var(--light);overflow:hidden}.hero-copy{padding:64px 42px 58px 70px;align-self:center}.eyebrow{font-size:13px;letter-spacing:.15em;font-weight:700;text-transform:uppercase;color:var(--teal);margin-bottom:18px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(36px,4.2vw,60px);line-height:1.13;font-weight:500;letter-spacing:-.04em;margin-bottom:24px}h1 em{font-style:normal;color:var(--teal)}h2{font-size:34px;line-height:1.22;font-weight:500;letter-spacing:-.025em}h3{font-size:21px;line-height:1.35;margin-bottom:10px}p{margin-bottom:22px}.lead{font-size:18px;color:var(--muted);max-width:660px}.hero-media{position:relative;min-height:450px}.hero-media>img{width:100%;height:100%;object-fit:cover;position:absolute}.hero-media:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,93,107,.04),transparent)}.caption{position:absolute;bottom:30px;left:28px;background:white;padding:18px 24px;border-radius:8px;z-index:1;max-width:85%}.caption small{display:block;color:var(--muted)}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.hexes{display:flex;gap:8px;margin-bottom:20px}.hex{width:26px;height:29px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);background:var(--orange)}.hex:nth-child(2){background:#74aebb}.hex:nth-child(3){background:#cbc9c6}.introline{max-width:1220px;margin:auto;padding:26px 36px;display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:15px}.sectionhead{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:28px}.sectionhead h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.card{border:1px solid var(--line);padding:28px;border-radius:12px;background:#fff;min-width:0}.card p{color:var(--muted)}.card>a:last-child{font-weight:600}.discipline-card{position:relative;min-height:225px;display:flex;flex-direction:column;align-items:start}.discipline-card .number{font-size:13px;color:var(--teal);margin-bottom:20px;letter-spacing:.1em}.discipline-card a{margin-top:auto}.band{background:var(--light)}.split{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center}.photo{width:100%;height:400px;object-fit:cover;border-radius:10px}.chips{display:flex;gap:9px;flex-wrap:wrap;margin:20px 0 30px}.chip{padding:9px 18px;background:white;color:var(--ink);border:1px solid var(--line);border-radius:30px}.chip.active{background:var(--deep);color:white;border-color:var(--deep)}.tag{display:inline-block;background:var(--light);padding:4px 10px;font-size:13px;border-radius:4px;color:var(--deep)}.avatar{width:72px;height:80px;display:grid;place-items:center;background:var(--light);color:var(--teal);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);font-size:25px;font-weight:600;margin-bottom:22px}.team-card img.portrait{width:100%;height:230px;object-fit:cover;object-position:50% 25%;border-radius:8px;margin-bottom:22px}.team-card{display:flex;flex-direction:column}.team-card>a:last-child{margin-top:auto}.muted{color:var(--muted)}.breadcrumbs{font-size:14px;margin-bottom:35px;color:var(--muted)}.profile{display:grid;grid-template-columns:1fr 330px;gap:65px}.profile p{max-width:750px}.profile-aside{align-self:start;background:var(--light);padding:28px;border-radius:12px}.profile-aside img{width:100%;max-height:320px;object-fit:cover;border-radius:8px;margin-bottom:20px}.profile h2{font-size:27px;margin-top:36px}.rate{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:16px 0;gap:20px}.rate small{display:block;color:var(--muted)}.notice{padding:17px 20px;background:var(--pale);border-left:3px solid var(--orange);font-size:14px;margin:20px 0}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;font-weight:600;color:var(--ink)}input,select,textarea{display:block;width:100%;border:1px solid #afc5ca;border-radius:7px;padding:11px 13px;background:#fff;color:var(--ink);margin:7px 0 16px;min-width:0}textarea{resize:vertical;min-height:120px}input[type=checkbox]{display:inline-block;width:auto;margin-right:8px}.booking{display:grid;grid-template-columns:1.4fr 1fr;gap:32px}.times{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.times button{padding:12px 22px;border:1px solid var(--teal);color:var(--teal);background:white;border-radius:8px}.times button.selected{background:var(--deep);color:white}.booksum{background:var(--light);padding:30px;border-radius:12px;align-self:start}.booksum h3{margin-top:25px}.portal{display:grid;grid-template-columns:225px 1fr;max-width:1440px;margin:auto;border-top:1px solid var(--line);min-height:700px}.sidebar{padding:30px 20px;background:var(--light);border-right:1px solid var(--line)}.sidebar a{display:block;text-decoration:none;border-radius:7px;padding:10px 14px;margin-bottom:5px;font-size:15px}.sidebar a.active{background:var(--deep);color:white}.sidebar label{font-size:13px}.portalmain{padding:35px;min-width:0}.portalhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px}.portalhead h1{font-size:34px;margin:0}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:25px 0}.metric{padding:22px;border:1px solid var(--line);border-radius:10px}.metric strong{display:block;font-size:32px;font-weight:500}.metric span{color:var(--muted);font-size:14px}.tablewrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{font-size:12px;letter-spacing:.05em;text-transform:uppercase;background:var(--light);color:var(--muted)}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}td button{background:white;border:1px solid var(--line);border-radius:5px;padding:5px 8px;margin:2px;font-size:13px}.status{font-size:12px;border-radius:4px;padding:5px 9px;white-space:nowrap;background:#eaf5ef;color:#22633d}.status.cancel{background:#f4eae7;color:#924226}.status.pending{background:#fff1cf;color:#775613}.panel{padding:25px;border:1px solid var(--line);border-radius:10px;margin:20px 0}.panel h2{font-size:24px}.cols{display:grid;grid-template-columns:1fr 1fr;gap:24px}.journal{border-left:3px solid var(--teal);padding:12px 20px;margin:20px 0;white-space:pre-wrap}.full{grid-column:1/-1}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.gallery img{width:100%;height:340px;object-fit:cover;border-radius:10px}.success{padding:30px;background:var(--light);border-radius:10px}.success h2{font-size:26px}.empty{padding:30px;background:var(--light);border-radius:8px}.checkrow{display:flex;align-items:center;gap:10px}.checkrow input{width:auto}.danger{color:#a33822}footer{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:45px 5%;border-top:1px solid var(--line);font-size:14px;margin-top:30px}footer img{width:200px}#toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;border-radius:8px;max-width:420px;padding:0;z-index:20}#toast.visible{padding:16px 22px}.smalltext{font-size:14px}.balance{display:flex;justify-content:space-between;gap:20px}.source{font-size:13px;color:var(--muted)}@media(max-width:1050px){header{flex-direction:column;align-items:start}nav{gap:19px}.hero-copy{padding:40px}.hero{min-height:480px}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile{gap:30px;grid-template-columns:1fr 300px}.portal{grid-template-columns:190px 1fr}.portalmain{padding:24px}.metrics{gap:10px}.metric{padding:15px}.metric strong{font-size:26px}footer{flex-wrap:wrap}}@media(max-width:720px){.demo a{display:block;margin:0}.demo{font-size:12px}header{padding:22px}.logo{width:220px}nav{gap:14px}nav a{font-size:14px}.hero,.split,.profile,.booking,.cols{grid-template-columns:1fr}.hero-copy{padding:38px 25px}.hero-media{min-height:330px;order:2}h1{font-size:40px}h2{font-size:29px}.wrap{padding:40px 22px}.introline{padding:22px;flex-wrap:wrap}.grid{grid-template-columns:1fr}.split{gap:28px}.photo{height:300px}.sectionhead{align-items:start;flex-direction:column;gap:15px}.formgrid{grid-template-columns:1fr;gap:0}.portal{grid-template-columns:1fr}.sidebar{border-right:0;padding:20px;display:flex;flex-wrap:wrap;gap:5px}.sidebar>label,.sidebar>select{width:100%}.sidebar>h3,.sidebar>.smalltext{width:100%}.sidebar a{padding:7px 10px}.portalmain{padding:22px}.portalhead{flex-wrap:wrap}.metrics{grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;align-items:center}.metric strong{font-size:28px}.gallery{grid-template-columns:1fr}.gallery img{height:280px}footer{padding:30px 22px;align-items:start;flex-direction:column}#toast{max-width:calc(100vw - 40px);right:20px}.profile-aside{order:-1}.profile-aside img{max-height:230px}.caption{bottom:20px;left:20px;padding:14px 18px}}
:root{--round:24px}
.button,button.primary,button.secondary,.secondary{border-radius:999px}
.card,.panel,.booksum,.profile-aside,.success,.empty{border-radius:var(--round)}
.hero{border-radius:32px 100px 32px 100px;margin:10px auto 0}
.hero-media>img{border-radius:100px 0 0 100px}.hero-copy{padding-top:58px;padding-bottom:58px}
.caption{border-radius:24px 24px 24px 5px;box-shadow:0 10px 30px #193f4920}
.band{border-radius:70px 0 70px 0}.photo{border-radius:38px 90px 38px 38px}
.gallery img{border-radius:35px}.gallery figure:nth-child(even) img{border-radius:75px 35px 35px 35px}
.gallery figcaption{padding:14px 8px;font-size:19px;color:var(--deep)}
.team-card img.portrait{border-radius:60px 20px 20px 20px}.profile-aside img{border-radius:24px}
.discipline-card:nth-child(3n+1){border-top-left-radius:50px}.notice{border-radius:0 22px 22px 0}
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:20px 0}
.calendar-toolbar .chips{margin:0}.calendar-toolbar label{min-width:180px}.calendar-nav{display:flex;align-items:center;gap:8px}.calendar-nav input{margin:0}
.calendar-scroll{overflow-x:auto;padding-bottom:15px}.calendar-days{display:grid;grid-template-columns:repeat(var(--days),minmax(190px,1fr));gap:12px;align-items:start}
.calendar-day{border:1px solid var(--line);border-radius:20px;overflow:hidden;min-height:350px;background:#fbfdfd}
.calendar-day h3{background:var(--light);padding:18px 16px;margin:0;font-size:17px}.calendar-day h3 small{display:block;font-size:13px;font-weight:400}
.calendar-event{background:#e8f3f5;border-left:4px solid var(--teal);padding:12px;margin:10px;border-radius:4px 16px 16px 4px;font-size:14px;overflow-wrap:anywhere}
.calendar-event span,.calendar-event small{display:block}.calendar-event strong{display:block;font-size:14px}.calendar-event small{color:var(--muted);font-size:12px}
.calendar-event button{border:1px solid var(--line);background:white;border-radius:15px;padding:5px 8px;margin:6px 3px 0 0;font-size:12px}
.request-event{background:#fff4de;border-color:#bf802b}.calendar-break{margin:10px;padding:10px;background:#e9ecee;border-radius:12px;font-size:13px;color:#52616a}
.open-strip{background:#e8f5ee;color:#2a6242;font-size:13px;padding:8px 12px;margin:7px 10px;border-radius:12px}
.calendar-day>p{padding:12px}.free-overview{padding:10px}.free-overview details{font-size:12px;border-bottom:1px solid var(--line);padding:6px 0}.free-overview summary{cursor:pointer;color:#285e45}.free-overview p{margin:8px 0;line-height:1.7}
.room-table{min-width:1000px}.room-table th{min-width:125px}.room-table th:first-child{min-width:65px}.room-table td{border:3px solid white;font-size:13px;padding:8px 12px}.room-free{background:#ecf7ef;color:#286144}.room-busy{background:#e2eef2;color:var(--ink)}.room-closed{background:#ececec;color:#626262}
.room-setting{border-bottom:1px solid var(--line);padding:12px 0 20px}.service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service-grid h3{margin-top:20px}.service-people{display:flex;gap:6px;flex-wrap:wrap}.service-people span{padding:5px 10px;border-radius:20px;background:var(--light);font-size:13px}
fieldset{border:1px solid var(--line);padding:22px;border-radius:20px}legend{padding:0 8px;font-size:15px}.waiting-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.waiting-list .panel{margin:0}.waiting-list h3{margin:15px 0 5px}
.month-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:24px 0 18px}.month-head h3{margin:0;text-transform:capitalize}.month-head button{padding:8px 17px}.month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:20px}.weekday{text-align:center;font-size:13px;color:var(--muted)}.month-day{background:#f1f3f3;border:1px solid transparent;color:#7b898d;padding:12px 3px;border-radius:16px;min-height:67px}.month-day strong,.month-day small{display:block}.month-day small{font-size:11px}.month-day.available{background:#eaf5ed;border-color:#bddcc8;color:#275b40}.month-day.chosen{background:var(--deep);border-color:var(--deep);color:white}.month-day:disabled{opacity:.65}.month-day.other-month{opacity:.3}.month-day.available:hover{border-color:var(--orange)}
.hour-row{display:grid;grid-template-columns:52px 1fr;border-top:1px solid var(--line);min-height:48px}.hour-label{font-size:12px;padding:10px 5px;color:var(--muted)}.hour-free{background:#eef8f1;color:#2c6747;padding:9px 7px;font-size:12px}.hour-closed{padding:9px 7px;color:#758087;background:#f1f3f3;font-size:12px}.hour-row .calendar-event{margin:4px;padding:7px;font-size:12px}.hour-row .calendar-event span{font-size:12px}
@media(max-width:720px){.hero{border-radius:30px;margin:0 12px}.hero-media>img{border-radius:60px 0 0 0}.hero-copy{padding:35px 22px}.photo{border-radius:30px}.band{border-radius:35px 0}.service-grid,.waiting-list{grid-template-columns:1fr}.calendar-toolbar{align-items:stretch}.calendar-toolbar label,.calendar-nav{width:100%}.calendar-days{grid-template-columns:repeat(var(--days),minmax(230px,1fr))}.month-grid{gap:4px}.month-day{border-radius:10px;min-height:59px;padding:8px 2px}.month-day small{font-size:10px}.booking .card{padding:18px}.calendar-toolbar .chips{gap:6px}}
/* Version 3: grouped workflows and staggered brand motif. */
.day-groups{display:grid;gap:10px;margin:18px 0}.day-group{border:1px solid var(--line);border-radius:18px;padding:14px 18px;background:#fbfdfd}.day-group summary{font-weight:600;cursor:pointer}.day-group summary span{float:right;font-size:13px;font-weight:400;color:var(--muted)}.day-group p{margin:14px 0}.roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:20px 0}.roster-item{padding:12px;border-radius:14px;background:var(--light);margin-bottom:10px}.roster-item p{margin:8px 0}.roster-item small{font-size:12px}.inbox-alert{display:block;background:#fff0db;color:#77501c;padding:14px 20px;border-radius:18px;font-weight:600;margin-bottom:25px}.count{display:inline-block;border-radius:30px;padding:1px 8px;background:var(--orange);color:white;font-size:13px;vertical-align:middle}.panel>summary{cursor:pointer;padding:5px 0;font-size:19px;font-weight:600}.searchbar{display:flex;gap:14px;align-items:end;flex-wrap:wrap;margin:22px 0 30px}.searchbar label{flex:1;min-width:170px}.searchbar input,.searchbar select{margin-bottom:0}.searchbar button{min-height:47px}.patient-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:20px}.patient-card{display:flex;flex-direction:column;align-items:start;text-align:left;gap:12px;padding:28px;border:1px solid var(--line);border-radius:25px;background:white;color:var(--ink)}.patient-card:hover{border-color:var(--teal);background:var(--light)}.patient-card .avatar{margin:0}.patient-card>span:last-child{font-size:14px;color:var(--teal)}[data-categoryform]{padding:15px 0 25px;border-bottom:1px solid var(--line);margin-bottom:20px}.hex-cluster{position:relative;display:block;width:130px;height:112px;margin-bottom:18px}.hex-cluster .hex{position:absolute;width:30px;height:34px}.hex-cluster .hex:nth-child(1){left:0;top:0;background:#cbc9c6}.hex-cluster .hex:nth-child(2){left:33px;top:19px;background:var(--orange)}.hex-cluster .hex:nth-child(3){left:0;top:38px;background:#b6b5b4}.hex-cluster .hex:nth-child(4){left:33px;top:57px;background:#74aebb}.hex-cluster .hex:nth-child(5){left:66px;top:76px;background:#cbc9c6}.hex-cluster .hex:nth-child(6){left:66px;top:38px;background:#deddd9}.hex-cluster .hex:nth-child(7){left:99px;top:57px;background:var(--teal)}
@media(max-width:720px){.searchbar{display:grid;grid-template-columns:1fr 1fr}.searchbar label{grid-column:1/-1;min-width:0}.searchbar button{padding:10px}.roster-grid{grid-template-columns:1fr}.hex-cluster{transform:scale(.85);transform-origin:left bottom;margin-top:-12px}}
.room-week{min-width:1450px;border-collapse:separate;border-spacing:5px}.room-week th{position:sticky;top:0;background:var(--light);border-radius:12px;font-size:13px;text-transform:none;letter-spacing:0}.room-week th:first-child{left:0;z-index:1;min-width:160px}.room-week td{min-width:170px;vertical-align:top;border:1px solid var(--line);border-radius:15px;padding:10px}.room-week-event{background:#e9f3f4;border-left:3px solid var(--teal);border-radius:4px 12px 12px 4px;padding:9px;margin-top:10px;font-size:13px}.room-week-event span,.room-week-event small{display:block}.day-detail{border:0;background:transparent;color:var(--teal);font-size:13px;text-decoration:underline;cursor:pointer}.weekday-checks{display:flex;gap:18px;flex-wrap:wrap}.room-occupant{padding:5px 0;border-bottom:1px solid #cfdee2}.room-occupant:last-child{border:0}

.initials{display:grid;place-items:center;background:#247f91;color:white;font-size:3rem;min-height:200px;border-radius:24px;}
.rich-toolbar{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#eef5f6;border-radius:18px 18px 0 0}.rich-editor{min-height:280px;padding:20px;border:1px solid #b5cdd2;border-radius:0 0 18px 18px;line-height:1.65;background:white;overflow-wrap:anywhere}.rich-editor:focus{outline:3px solid #247f91;outline-offset:2px}.rich-editor img{max-width:100%;height:auto}.rich-toolbar label{margin:0;cursor:pointer}
.available-hours{padding:12px 16px;border:1px solid #d4e1e4;background:#f6f9fa;border-radius:16px;margin:12px 0 24px;font-size:.875rem}.available-hours summary{cursor:pointer;font-weight:600}.available-strip{display:flex;flex-wrap:wrap;gap:12px 24px;margin:12px 0}.available-strip p{margin:4px 0}.hours-scroll{max-width:100%;overflow-x:auto;padding:4px 0 12px}.hours-week{display:grid;grid-template-columns:repeat(7,minmax(155px,1fr));gap:10px;min-width:1145px}.hours-day{padding:14px;background:#f1f7f8;border-radius:20px;border:1px solid #d6e5e8;display:flex;flex-direction:column;gap:10px}.hours-day h3{font-size:1rem;margin:0 0 6px;color:#165d6b}.hours-day article{padding:12px;background:white;border-radius:14px;display:grid;gap:10px}.hours-day>button{margin-top:auto}.inline-hours-form{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin-top:16px}.inline-hours-form label{flex:1;min-width:120px;margin:0}.inline-hours-form .formgrid{display:flex;gap:14px;flex:2}.inline-hours-form button{margin-bottom:0}.hours-settings{margin:18px 0}.hours-settings summary{cursor:pointer}.hours-extra{margin-top:20px}.hours-workspace{min-width:0}.portalmain{min-width:0}@media(max-width:600px){.inline-hours-form .formgrid{flex-basis:100%}.available-hours summary span{display:block}}
