:root{--navy:#0a293e;--navy2:#0e3a50;--teal:#079995;--teal-dark:#057b80;--mint:#46d8c0;--lime:#d0f27b;--white:#fff;--paper:#f4f9f8;--line:#dce9e7;--text:#19354a;--muted:#667b88;--shadow:0 16px 55px rgba(13,57,66,.09);--radius:21px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--text);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff}body.menu-open{overflow:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{display:block}img{max-width:100%}.container{width:min(1200px,calc(100% - 44px));margin-inline:auto}.icon{width:22px;height:22px;stroke:currentColor;stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon.small{width:16px;height:16px}.icon.lg{width:32px;height:32px}.muted{color:var(--muted)}.eyebrow{display:inline-flex;align-items:center;gap:9px;letter-spacing:.11em;text-transform:uppercase;font-size:11px;font-weight:850;color:var(--teal);background:#def6ec;padding:10px 14px;border-radius:40px}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px #b8eede}.section{padding:88px 0}.section-alt{background:var(--paper)}.heading{font-size:clamp(32px,4vw,48px);line-height:1.13;letter-spacing:-1.7px;margin:16px 0 14px;color:var(--navy);font-weight:850}.heading span,.gradient-text{color:var(--teal)}.section-intro{max-width:670px;margin:0 auto 44px;text-align:center}.section-intro p{color:var(--muted);line-height:1.7;margin:10px 0 0}.section-intro .heading{margin-top:15px}.header{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-bottom:1px solid #e5efed;box-shadow:0 5px 32px rgba(4,44,53,.04)}.utility{background:#0a293e;color:#c4e5e7;font-size:11px;font-weight:700;letter-spacing:.04em}.utility-inner{display:flex;align-items:center;justify-content:space-between;min-height:29px}.utility .dot{width:6px;height:6px;background:#87dcac;border-radius:50%;display:inline-block;margin-right:9px}.utility a:hover{color:white}.nav{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:88px}.brand{flex-shrink:0}.brand img{width:239px;height:auto;display:block}.navlinks{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}.navlinks a{font-size:13px;font-weight:750;color:#30485a;transition:color .2s}.navlinks a:hover,.navlinks a.active{color:var(--teal)}.actions{display:flex;align-items:center;gap:11px}.button{border:0;display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;background:var(--teal);color:#fff;font-size:13px;line-height:1.25;padding:14px 20px;font-weight:800;transition:transform .24s,box-shadow .24s,background .24s;white-space:nowrap}.button:hover{transform:translateY(-2px);background:var(--teal-dark);box-shadow:0 10px 22px rgba(7,153,149,.21)}.button .icon{width:17px;height:17px}.button-dark{background:var(--navy)}.button-dark:hover{background:#163d53}.button-lime{background:var(--lime);color:var(--navy)}.button-lime:hover{background:#e5ffad}.button-ghost{border:1px solid var(--line);background:#fff;color:var(--navy)}.button-ghost:hover{background:#eff8f5}.button-outline{background:transparent;border:1px solid #8fccc2;color:#dffcf3}.button-outline:hover{background:#18485b}.button.small{padding:11px 15px;font-size:12px}.button.wide{width:100%}.menu-btn{display:none;background:none;border:0;padding:12px}.mobile-panel{display:none}.hero{overflow:hidden;position:relative;background:linear-gradient(113deg,#062a43 0%,#0b3952 50%,#0b6072 100%);color:#fff}.hero:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #ffffff18;border-radius:50%;right:-150px;top:-220px;box-shadow:0 0 0 95px #ffffff06,0 0 0 190px #ffffff06;pointer-events:none}.hero-grid{display:grid;grid-template-columns:1.09fr .91fr;align-items:center;min-height:560px;gap:34px;position:relative;z-index:1;padding-top:49px;padding-bottom:47px}.hero-content{z-index:2}.hero-kicker{display:inline-flex;gap:9px;align-items:center;border:1px solid #7ad8c858;border-radius:50px;background:#ffffff0d;padding:8px 12px 8px 10px;font-size:11px;letter-spacing:.085em;color:#d1fff0;font-weight:800;text-transform:uppercase}.hero-kicker b{display:inline-flex;background:#b9ed87;color:#123c41;padding:5px 8px;border-radius:15px;font-size:9px}.hero h1{font-size:clamp(44px,5.1vw,71px);line-height:1.055;letter-spacing:-3.2px;margin:26px 0 18px;font-weight:900;max-width:670px}.hero h1 em{font-style:normal;color:var(--lime)}.hero-copy{font-size:16px;line-height:1.8;color:#d0e6ed;max-width:550px;margin-bottom:27px}.search-box{background:white;padding:17px;border-radius:19px;box-shadow:0 28px 70px rgba(2,16,25,.24);max-width:685px;display:flex;gap:11px;align-items:center;flex-wrap:wrap;color:var(--navy);position:relative;z-index:5}.search-field{flex:1;display:flex;align-items:center;gap:11px;border:1px solid #dce5e7;border-radius:10px;padding:0 13px;min-height:50px;min-width:130px}.search-field .icon{color:var(--teal);width:18px;height:18px}.search-field input,.search-field select{width:100%;font-size:13px;background:transparent;border:0;outline:0;color:var(--navy);min-width:0}.search-box .button{padding:16px 19px;min-height:50px}.popular{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:20px;font-size:12px;color:#bad7de}.popular button{border:1px solid #7fd9cf50;background:#ffffff10;color:#e8fefa;padding:7px 13px;border-radius:30px;font-size:11px;font-weight:700;transition:all .18s}.popular button:hover{background:#ffffff25}.hero-art{position:relative;min-height:470px;display:flex;align-items:center;justify-content:center}.hero-photo{position:absolute;inset:9px 6px 9px 30px;background:radial-gradient(circle at 56% 35%,#c4f6e88c,transparent 34%),linear-gradient(135deg,#91d9c8,#17868d 60%,#0a364b);border-radius:45% 45% 26% 34% / 36% 36% 23% 23%;overflow:hidden;box-shadow:0 25px 90px #041e2b75}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.9;mix-blend-mode:normal}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#073245bc,transparent 44%)}.float-tag{position:absolute;display:flex;gap:10px;align-items:center;padding:13px 17px;background:#ffffffed;color:var(--navy);border-radius:15px;box-shadow:0 16px 50px #09263252;z-index:2;animation:bob 5s ease-in-out infinite}.float-tag .bubble{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#dbf8ed;color:var(--teal)}.float-tag strong{display:block;font-size:13px}.float-tag span{display:block;font-size:10px;color:var(--muted);margin-top:3px}.float-tag.one{left:-33px;bottom:76px}.float-tag.two{right:-18px;top:64px;animation-delay:-2.5s}.halo{position:absolute;border:1px solid #b7f1dc82;border-radius:100%;width:390px;height:390px;top:32px;left:12%;z-index:-1}.ecg{position:absolute;bottom:18px;left:-26px;width:80%;opacity:.28;color:#5df2cd}.statsbar{margin-top:-1px;background:white;padding:25px 0;border-bottom:1px solid #e8f0ef}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{display:flex;align-items:center;gap:13px;padding:8px 20px;border-right:1px solid #dfeae9}.stat:first-child{padding-left:0}.stat:last-child{border-right:0}.stat-icon{width:46px;height:46px;background:#e2f8f1;display:grid;place-items:center;color:var(--teal);border-radius:14px;flex-shrink:0}.stat strong{display:block;color:var(--navy);font-weight:850;font-size:14px}.stat span{font-size:11px;color:var(--muted);display:block;line-height:1.5;margin-top:4px}.section-cats{padding-top:76px}.categories{display:grid;grid-template-columns:repeat(6,1fr);gap:13px}.category{background:white;border:1px solid #e0ebea;border-radius:17px;padding:22px 9px 19px;display:flex;align-items:center;flex-direction:column;min-height:147px;gap:14px;box-shadow:0 5px 20px #12394705;transition:transform .24s,box-shadow .24s,border-color .24s;text-align:center}.category:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#80d9c8}.cat-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;background:linear-gradient(135deg,#e6faf3,#d4f3ed);color:var(--teal)}.cat-icon svg{width:28px;height:28px}.category:nth-child(4n) .cat-icon{background:#e8f4fb;color:#0f86ac}.category:nth-child(4n+3) .cat-icon{background:#eff6e2;color:#689641}.category strong{font-size:12px;font-weight:850;line-height:1.35;max-width:138px}.section-browse{background:linear-gradient(180deg,#f6faf9,#edf8f4)}.browse{display:grid;grid-template-columns:1fr 1fr;gap:27px;align-items:stretch}.image-panel{position:relative;min-height:430px;border-radius:25px;overflow:hidden;background:radial-gradient(circle at 34% 37%,#abebd2,#238b95 60%,#0b3550);box-shadow:var(--shadow)}.image-panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.image-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#073445c7,transparent 48%)}.image-copy{position:absolute;bottom:28px;left:32px;right:32px;color:#fff;z-index:1}.image-copy strong{font-size:28px;line-height:1.12;letter-spacing:-.7px;display:block}.image-copy p{font-size:13px;line-height:1.65;color:#e6f5f5}.browse-right{display:flex;flex-direction:column;justify-content:center;padding:25px 0 25px 22px}.browse-right .heading{font-size:40px}.province-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:27px 0}.province-grid button{border:1px solid #d8e9e6;border-radius:12px;background:white;padding:15px 11px;text-align:left;font-size:12px;font-weight:750;color:var(--navy);display:flex;align-items:center;gap:8px}.province-grid button:hover{border-color:var(--teal);background:#f6fffc}.province-grid .icon{width:15px;height:15px;color:var(--teal)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.step{padding:34px 29px;border:1px solid #e0ebea;border-radius:21px;background:#fff;position:relative}.step-number{font-size:11px;letter-spacing:.13em;color:var(--teal);font-weight:850}.step-ico{width:60px;height:60px;display:grid;place-items:center;background:#e3f7ee;border-radius:18px;color:var(--teal);margin:17px 0 20px}.step h3{color:var(--navy);font-size:19px;letter-spacing:-.4px;margin:0 0 8px}.step p{color:var(--muted);font-size:13px;line-height:1.75;margin:0}.cta{background:radial-gradient(circle at 90% 0%,#106d77 0%,transparent 40%),linear-gradient(108deg,#092b44,#0b4257);color:#fff;padding:64px 0;overflow:hidden;position:relative}.cta::after{content:"+";font-size:300px;font-weight:300;position:absolute;right:4%;top:-125px;color:#b4e7e614;transform:rotate(-20deg)}.cta-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:30px}.cta h2{font-size:clamp(28px,4vw,43px);margin:8px 0 12px;letter-spacing:-1.4px;line-height:1.15}.cta p{color:#d6e8e9;font-size:14px;margin:0;line-height:1.7}.cta-eyebrow{color:var(--lime);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.foot{background:#072638;color:#c9d9de;padding-top:65px}.foot-grid{display:grid;grid-template-columns:2.2fr 1fr 1fr 1.3fr;gap:40px;padding-bottom:48px}.foot .brand img{width:245px}.foot .summary{font-size:13px;line-height:1.8;color:#a9c4cd;max-width:330px;margin:19px 0}.foot h4{color:#fff;font-size:13px;margin:6px 0 22px}.footlinks{display:grid;gap:13px}.footlinks a{color:#a9c4cd;font-size:12px}.footlinks a:hover{color:var(--lime)}.foot-bottom{padding:23px 0;border-top:1px solid #ffffff1d;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;color:#a8c3ca}.foot-bottom a{color:var(--lime);font-weight:800}.page-hero{background:linear-gradient(115deg,#082b44,#0d5561);padding:70px 0 62px;color:white;overflow:hidden;position:relative}.page-hero::after{content:"";position:absolute;right:-100px;top:-200px;width:500px;height:500px;border:1px solid #ffffff26;border-radius:50%;box-shadow:0 0 0 90px #ffffff08,0 0 0 180px #ffffff06}.page-hero h1{font-size:clamp(34px,5vw,55px);line-height:1.1;letter-spacing:-2px;margin:17px 0}.page-hero p{font-size:15px;line-height:1.7;color:#d4e7e9;max-width:650px}.breadcrumbs{display:flex;gap:9px;align-items:center;color:#c0d9db;font-size:11px;font-weight:750}.breadcrumbs a:hover{color:white}.content-layout{display:grid;grid-template-columns:280px 1fr;gap:25px;align-items:start}.filter-box{border:1px solid var(--line);border-radius:18px;background:white;padding:24px;box-shadow:0 8px 35px #09334509;position:sticky;top:133px}.filter-box h3{font-size:17px;color:var(--navy);margin:0 0 20px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:17px}.field label,.field-label{font-size:12px;font-weight:800;color:#304e5a}.field input,.field select,.field textarea{border:1px solid #d8e5e5;background:#fff;color:#13384d;border-radius:10px;min-height:46px;padding:12px 13px;outline:none;font-size:13px;width:100%;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #17bbaa20}.field textarea{min-height:105px;resize:vertical}.field small{font-size:11px;color:var(--muted);line-height:1.4}.field .required{color:#e85757}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 18px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:0 18px}.checkline{display:flex;gap:11px;align-items:flex-start;font-size:12px;line-height:1.7;color:var(--muted)}.checkline input{flex:0 0 17px;margin-top:4px;accent-color:var(--teal)}.results-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:21px}.results-head h2{margin:0;color:var(--navy);font-size:23px}.results-head p{color:var(--muted);font-size:12px;margin:5px 0 0}.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.provider-card{border:1px solid #dfeae8;border-radius:18px;background:white;overflow:hidden;box-shadow:0 6px 20px #12394707;transition:box-shadow .2s,transform .2s}.provider-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.provider-main{padding:23px;display:flex;gap:15px}.provider-avatar{width:70px;height:70px;flex:0 0 70px;display:grid;place-items:center;color:var(--teal);border-radius:15px;background:#e4f7f1;overflow:hidden}.provider-avatar img{height:100%;width:100%;object-fit:cover}.provider-avatar .icon{width:32px;height:32px}.provider-card h3{margin:0 0 6px;font-size:16px;color:var(--navy)}.small-meta{color:var(--muted);font-size:11px;display:flex;gap:7px;align-items:center;flex-wrap:wrap}.provider-card .pdesc{font-size:12px;line-height:1.65;color:var(--muted);padding:0 23px;margin:-5px 0 17px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}.provider-foot{border-top:1px solid #eaf1ef;display:flex;align-items:center;justify-content:space-between;padding:14px 22px;gap:8px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:10px;font-weight:800;border-radius:20px;padding:6px 9px;background:#e7f7f1;color:#078b80}.pill.gray{background:#ecf1f4;color:#57707e}.pill.amber{background:#fff5df;color:#a66d05}.pill.red{background:#ffecec;color:#b43c49}.pill .icon{width:12px;height:12px}.empty{border:1px dashed #bdddd8;background:#f9fdfb;border-radius:19px;text-align:center;padding:50px 27px;color:var(--muted)}.empty .empty-icon{margin:0 auto 19px;border-radius:17px;background:#e1f7ed;width:68px;height:68px;display:grid;place-items:center;color:var(--teal)}.empty h3{font-size:19px;color:var(--navy);margin:10px 0}.empty p{line-height:1.7;max-width:450px;margin:0 auto 20px;font-size:13px}.pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:33px 0}.profile-grid{display:grid;grid-template-columns:1fr 315px;gap:28px}.card{border:1px solid #dfebea;background:#fff;border-radius:20px;padding:27px;box-shadow:0 10px 35px #092f3909}.profile-header{display:flex;align-items:center;gap:19px}.profile-header .provider-avatar{width:100px;height:100px;flex-basis:100px;border-radius:20px}.profile-header h1{margin:0 0 7px;font-size:32px;letter-spacing:-1px;color:var(--navy)}.divider{height:1px;background:var(--line);margin:22px 0}.card h2{font-size:20px;color:var(--navy);margin:0 0 14px}.card h3{font-size:16px;color:var(--navy)}.prose{color:#5d7381;line-height:1.9;font-size:14px;white-space:pre-line}.fact{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid #edf2f2;font-size:13px;overflow-wrap:anywhere}.fact:last-child{border-bottom:0}.fact .icon{width:19px;height:19px;color:var(--teal)}.fact strong{display:block;font-size:11px;color:var(--muted);margin-bottom:5px}.fact a{color:var(--teal);font-weight:750}.profile-sidebar{display:grid;gap:20px;align-content:start}.form-layout{display:grid;grid-template-columns:1fr 310px;gap:27px;align-items:start}.form-card{padding:30px;border:1px solid var(--line);background:white;border-radius:22px;box-shadow:var(--shadow)}.form-card h2{margin:0 0 10px;color:var(--navy);font-size:24px}.form-card .sub{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 28px}.form-section-title{font-size:13px;color:var(--teal);text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin:27px 0 18px;border-bottom:1px solid #e0eae9;padding-bottom:11px}.form-section-title:first-child{margin-top:0}.form-aside{border-radius:20px;background:linear-gradient(150deg,#0b344b,#0d6667);padding:30px;color:#fff;position:sticky;top:128px}.form-aside h3{font-size:21px;margin:6px 0 10px}.form-aside p{color:#cde5e3;font-size:13px;line-height:1.75}.form-aside ul{padding-left:17px;font-size:12px;line-height:2.2;color:#e0f2e9}.notice{padding:14px 16px;border-radius:12px;font-size:12px;line-height:1.65;margin-bottom:21px;border:1px solid #ccece6;background:#edfaf6;color:#246960}.notice.error{color:#a83544;background:#fff1f1;border-color:#f8cdd3}.notice.success{color:#157765;background:#e9f8ef;border-color:#bde9cf}.login-card{max-width:485px;margin:0 auto;padding:33px}.login-card h1{margin:0 0 7px;font-size:30px;color:var(--navy);letter-spacing:-1px}.admin-layout{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:start}.admin-menu{background:var(--navy);border-radius:18px;padding:21px;position:sticky;top:124px}.admin-menu h3{font-size:13px;color:#dbf4ed;margin:0 0 15px}.admin-menu button{display:flex;align-items:center;gap:10px;color:#b9d7df;background:transparent;border:0;width:100%;padding:12px;border-radius:10px;text-align:left;font-size:12px;font-weight:750}.admin-menu button:hover,.admin-menu button.selected{background:#195466;color:white}.admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}.kpi{padding:20px;background:white;border:1px solid #dbe9e6;border-radius:15px}.kpi strong{display:block;font-size:28px;color:var(--navy)}.kpi span{font-size:11px;color:var(--muted)}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;width:100%;min-width:680px}.data-table th{text-align:left;background:#eef6f4;padding:13px;font-size:11px;color:#4b6a72;text-transform:uppercase;letter-spacing:.05em}.data-table td{padding:13px;border-bottom:1px solid #e7f0ed;font-size:12px;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table a{color:var(--teal);font-weight:800}.inline-actions{display:flex;gap:6px;flex-wrap:wrap}.inline-actions .button{padding:8px 10px;font-size:10px}.stack{display:grid;gap:15px}.review{border:1px solid #dce8e7;border-radius:15px;padding:22px;background:white}.review h3{margin:0 0 8px;font-size:16px;color:var(--navy)}.review summary{cursor:pointer;font-weight:800;color:var(--teal);font-size:12px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;margin:17px 0;font-size:12px}.review-grid strong{color:var(--muted);font-size:11px;display:block;margin-bottom:5px}.review-grid div{overflow-wrap:anywhere}.review-actions{display:flex;gap:9px;flex-wrap:wrap}.review-actions input{flex:1;min-width:170px;border:1px solid #d5e4df;padding:10px;border-radius:9px;font-size:12px}.toast-area{position:fixed;z-index:200;bottom:25px;right:25px;width:min(410px,calc(100% - 40px))}.toast{background:#0a3548;color:#fff;padding:17px 19px;border-radius:12px;box-shadow:0 20px 60px #0b283345;font-size:13px;line-height:1.6;margin-top:7px;animation:slideIn .3s ease}.toast.bad{background:#a93d47}.cookie{position:fixed;z-index:100;bottom:20px;left:20px;right:20px;max-width:570px;background:white;border:1px solid #d4eae6;box-shadow:0 20px 65px #0b293535;border-radius:16px;padding:20px 23px;display:flex;align-items:center;gap:18px}.cookie p{font-size:12px;color:var(--muted);line-height:1.6;margin:5px 0 0}.cookie strong{font-size:13px}.cookie .button{flex-shrink:0}.cookie-fab{position:fixed;bottom:21px;left:21px;background:var(--navy);color:white;border:0;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;z-index:81;box-shadow:0 10px 30px #0003}.totop{position:fixed;right:19px;bottom:22px;width:43px;height:43px;z-index:81;border-radius:13px;color:#fff;background:var(--teal);border:0;display:grid;place-items:center;box-shadow:0 10px 25px #005e6740;opacity:0;pointer-events:none;transform:translateY(10px);transition:all .2s}.totop.show{opacity:1;pointer-events:auto;transform:none}.modal-overlay{position:fixed;inset:0;background:#071925aa;z-index:120;display:flex;align-items:center;justify-content:center;padding:15px}.modal{width:min(590px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 22px 100px #0004}.modal-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.modal-head h2{margin:0 0 15px;color:var(--navy)}.close{border:0;background:#edf6f4;color:var(--navy);border-radius:9px;width:32px;height:32px;display:grid;place-items:center}.simple-prose{max-width:900px;margin:0 auto;color:#566f7d;line-height:1.85;font-size:14px}.simple-prose h2{color:var(--navy);margin:29px 0 10px;font-size:24px}.simple-prose h3{color:var(--navy)}.simple-prose a{color:var(--teal)}.simple-prose ul{padding-left:20px}.loading-shell{min-height:60vh;display:flex;align-items:center;justify-content:center;flex-direction:column}.loading-shell img{width:240px}.spinner{width:28px;height:28px;border-radius:50%;border:3px solid #d5efeb;border-top-color:var(--teal);animation:spin .7s linear infinite;margin-top:25px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes slideIn{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.reveal{opacity:1}.reveal.appear{animation:fadeUp .65s ease both}.mini-banner{background:#eaf8f2;border-radius:15px;display:flex;gap:15px;align-items:center;padding:22px;color:#145d61}.mini-banner .icon{width:32px;height:32px}.mini-banner strong{display:block;color:var(--navy);font-size:15px}.mini-banner span{font-size:12px;line-height:1.6;color:#506d75}.no-results{padding:25px 0}.text-link{color:var(--teal);font-weight:800}.text-link:hover{text-decoration:underline}.privacy-note{font-size:11px;line-height:1.7;color:var(--muted)}.footer-tag{display:inline-flex;align-items:center;gap:7px;font-size:11px;background:#184455;padding:9px 12px;border-radius:50px;color:#b7eee3;margin-top:6px}.initials{font-size:27px;font-weight:900;letter-spacing:-1px}.feature-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.feature-chips span{border-radius:30px;background:#ebf8f4;color:#19736a;font-weight:750;font-size:11px;padding:8px 11px}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}.status-info{font-size:11px;color:var(--muted)}
@media (max-width:1150px){.navlinks{gap:15px}.navlinks a{font-size:12px}.brand img{width:205px}.hero-grid{gap:15px}.hero h1{font-size:58px}.categories{grid-template-columns:repeat(6,1fr)}}
@media (max-width:990px){.utility{display:none}.nav{min-height:72px}.navlinks,.actions .login-link,.actions .register-link{display:none}.menu-btn{display:block}.mobile-panel{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:18px 22px 26px;box-shadow:0 20px 30px #032a3a21}.mobile-panel.open{display:grid;gap:4px}.mobile-panel a{font-size:14px;padding:13px 8px;border-bottom:1px solid #ecf4f2;font-weight:700}.mobile-panel .button{margin-top:13px;color:white}.hero-grid{grid-template-columns:1fr;min-height:0;padding:75px 0 56px}.hero-content{max-width:760px}.hero h1{max-width:700px}.hero-art{display:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat:nth-child(2){border-right:0}.categories{grid-template-columns:repeat(4,1fr)}.browse{grid-template-columns:1fr}.image-panel{min-height:300px}.browse-right{padding:18px 5px}.form-layout{grid-template-columns:1fr}.form-aside{position:static}.admin-layout{grid-template-columns:1fr}.admin-menu{position:static;display:flex;gap:6px;flex-wrap:wrap}.admin-menu h3{width:100%;margin-bottom:3px}.admin-menu button{width:auto}.foot-grid{grid-template-columns:1.6fr 1fr 1fr}.foot-grid>div:last-child{grid-column:1/-1}.profile-grid{grid-template-columns:1fr}}
@media (max-width:700px){.container{width:min(100% - 32px,1200px)}.brand img{width:190px}.section{padding:63px 0}.hero-grid{padding:58px 0 49px}.hero h1{font-size:46px;letter-spacing:-2px}.hero-copy{font-size:14px}.hero-kicker{font-size:10px;letter-spacing:.04em}.search-box{display:grid;grid-template-columns:1fr;padding:14px;gap:9px}.search-field{width:100%}.search-box .button{width:100%}.popular{font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:2px}.stat{padding:10px 6px;gap:9px}.stat-icon{width:37px;height:37px;border-radius:11px}.stat strong{font-size:11px}.stat span{font-size:10px}.stat:nth-child(even){border-right:0}.categories{grid-template-columns:repeat(3,1fr);gap:9px}.category{min-height:126px;padding:17px 6px 13px;gap:10px}.cat-icon{width:45px;height:45px}.category strong{font-size:11px}.heading{font-size:34px;letter-spacing:-1.2px}.section-intro{margin-bottom:30px}.image-panel{min-height:250px}.browse-right .heading{font-size:32px}.province-grid{grid-template-columns:1fr 1fr}.how-grid{grid-template-columns:1fr;gap:13px}.step{padding:24px}.step-ico{margin:12px 0}.cta-content{flex-direction:column;align-items:start}.cta h2{font-size:32px}.foot-grid{grid-template-columns:1fr 1fr;gap:28px}.foot-grid>div:first-child{grid-column:1/-1}.foot-grid>div:last-child{grid-column:auto}.foot-bottom{flex-direction:column;text-align:center}.page-hero{padding:46px 0}.page-hero h1{font-size:38px;letter-spacing:-1.3px}.content-layout{grid-template-columns:1fr}.filter-box{position:static;padding:20px}.list-grid{grid-template-columns:1fr}.form-card{padding:23px 19px}.grid-2,.grid-3{grid-template-columns:1fr}.form-section-title{margin-top:22px}.review-grid{grid-template-columns:1fr}.admin-kpis{grid-template-columns:repeat(2,1fr)}.profile-header{align-items:start}.profile-header h1{font-size:26px}.profile-header .provider-avatar{width:75px;height:75px;flex-basis:75px}.card{padding:20px}.cookie{left:10px;right:10px;bottom:10px;padding:15px;display:block}.cookie .button{margin-top:12px}.cookie-fab{bottom:12px;left:12px}.foot{padding-top:50px}}
@media (max-width:380px){.hero h1{font-size:39px}.categories{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}.brand img{width:170px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* SA Doctors v1.1.0 — accessible listing management menus */
.listing-manage-card{margin-bottom:16px;overflow:visible}
.listing-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.manage-menu{position:relative;display:inline-block;z-index:4}
.manage-menu[open]{z-index:25}
.manage-menu>summary{display:inline-flex;align-items:center;justify-content:center;gap:7px;list-style:none;cursor:pointer;border:1px solid #cde0de;background:#fff;color:#12384c;font-size:12px;font-weight:800;padding:9px 12px;border-radius:10px;white-space:nowrap}
.manage-menu>summary::-webkit-details-marker{display:none}
.manage-menu>summary:hover,.manage-menu[open]>summary{border-color:#049c95;background:#ecfaf7}
.manage-menu>summary:focus-visible,.manage-popover button:focus-visible,.manage-popover a:focus-visible{outline:3px solid #11aba2;outline-offset:2px}
.manage-popover{position:absolute;right:0;top:calc(100% + 6px);min-width:225px;padding:6px;border-radius:12px;box-shadow:0 14px 38px #082e3b2d;border:1px solid #d5e8e5;background:#fff;display:grid;gap:2px;z-index:30}
.manage-popover button,.manage-popover a{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:11px 12px;color:#10364b;background:#fff;border:0;border-radius:8px;font-size:12px;font-weight:750;white-space:nowrap}
.manage-popover button:hover,.manage-popover a:hover{background:#f0f8f6}
.manage-popover .danger-action{color:#ad3545;border-top:1px solid #f1e6e7;border-radius:0 0 8px 8px}
.manage-popover .danger-action:hover{background:#fff0f1}
.danger-button,.danger-button:hover{background:#ad3545;color:white}
@media(max-width:620px){.listing-head-actions{justify-content:flex-start}.review .results-head{align-items:flex-start;flex-wrap:wrap}.manage-popover{right:auto;left:0;min-width:min(245px,80vw)}.listing-manage-card .review-actions{gap:7px}.listing-manage-card .review-actions .button{white-space:normal}}
/* SA Doctors 1.2.0 — accessible all-device surfaces, appointment/patient portal, themes */
.header-contacts{display:flex;align-items:center;gap:7px}
.header-contacts>a,.v12-theme{width:41px;height:41px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--teal);display:grid;place-items:center;flex:none}
.header-contacts>a:hover,.v12-theme:hover{border-color:var(--teal);background:var(--paper)}
.v12-theme{gap:0;font-size:25px;font-weight:800;line-height:1}
.v12-theme-label{font-size:0;position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}
.myinc-contacts{font-size:13px;line-height:2;color:#c9e7e6}
.myinc-contacts a:hover{text-decoration:underline}
.v12-page{min-height:40rem}
.v12-wrap{max-width:1110px}
.v12-intro{max-width:680px;margin-bottom:28px}
.v12-intro h1{font-size:clamp(32px,4vw,49px);color:var(--navy);letter-spacing:-.04em;line-height:1.1}
.v12-intro p{color:var(--muted);line-height:1.7}
.v12-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:25px;align-items:start}
.v12-narrow{max-width:650px}
.v12-page :is(input,select,textarea),.v12-add :is(input,select,textarea){max-width:100%;min-width:0;font-size:16px}
.v12-page :is(input[type=date],input[type=time]){width:100%;max-width:100%}
.v12-page .card{min-width:0}
.v12-page h2,.v12-panel h3{color:var(--navy)}
.v12-row{padding:17px 4px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;justify-content:space-between;min-width:0}
.v12-row>div:first-child{min-width:0;overflow-wrap:anywhere}
.v12-row p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.v12-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.v12-panel{padding:27px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-top:23px}
.v12-panel fieldset{border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:14px}
.v12-panel legend{color:var(--muted);font-weight:700;font-size:13px}
.v12-days{display:flex;flex-wrap:wrap;gap:14px}
.v12-days label{display:flex;align-items:center;gap:6px;min-height:40px;font-size:13px}
.v12-days input{width:17px;height:17px}
.v12-provider-shell{margin-top:24px}
.v12-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:18px}
.v12-filters input{flex:1;min-width:160px}
.v12-filters :is(input,select){padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:var(--white);color:var(--text)}
.v12-filters select{min-width:120px}
.v12-select{flex:none;display:flex;align-items:center}
.v12-select input{width:19px;height:19px}
.v12-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:28px}
.v12-account[hidden],.listing-manage-card[hidden]{display:none!important}
.v12-add{display:grid;gap:17px}
.booking-discover{margin-top:18px!important;padding:19px!important}
.booking-discover p{color:var(--muted);line-height:1.6}
.admin-page .page-hero{padding:22px 0 26px;min-height:0}
.admin-page .page-hero h1{font-size:clamp(27px,3vw,37px);margin:5px 0}
.admin-page .page-hero p{font-size:13px;margin:0}
.admin-page .page-hero .breadcrumbs{margin-bottom:8px}
.admin-page .section.section-alt{padding:34px 0 70px}
.admin-page .admin-menu{align-self:start}
.admin-page .admin-menu button{min-height:42px}
.button:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #28bda5;outline-offset:3px}
:root[data-theme=dark]{color-scheme:dark;--navy:#dbf6f3;--navy2:#d0ebf1;--teal:#3ddac7;--teal-dark:#2bc0b2;--mint:#63e3cc;--lime:#d5f18c;--white:#122c3a;--paper:#081f2c;--line:#2d4e59;--text:#e4f4f4;--muted:#b6ced3;--shadow:0 15px 45px #0006}
:root[data-theme=dark] body{background:#071a27;color:var(--text)}
:root[data-theme=dark] :is(.header,.mobile-panel,.form-card,.card,.review,.kpi,.category,.step,.provider-card,.filter-box,.search-box,.login-card,.modal,.cookie,.stat,.statsbar,.admin-layout .review,.v12-panel){background:var(--white);color:var(--text);border-color:var(--line)}
:root[data-theme=dark] :is(.admin-menu,.foot,.cta){background:#072231;color:#eef8fb}
:root[data-theme=dark] :is(.admin-menu h3,.admin-menu button){color:#e1eff0}
:root[data-theme=dark] :is(.form-card h1,.form-card h2,.form-card h3,.card h2,.review h3,.v12-page h2,.v12-page h1,.section h2,.category strong,.heading,.filter-box h3,.kpi strong,.provider-card h3,.form-section-title,.foot h4,.step h3,.breadcrumbs){color:var(--text)}
:root[data-theme=dark] :is(.field input,.field select,.field textarea,.filter-box input,.filter-box select,.search-field,.review textarea,.v12-page input,.v12-page select,.v12-filters input,.v12-filters select){background:#0c2533;border-color:#345560;color:#f2ffff}
:root[data-theme=dark] :is(input::placeholder,textarea::placeholder){color:#aac5c9}
:root[data-theme=dark] :is(.button-ghost,.header-contacts>a,.v12-theme,.pagination button){background:#173e4e;border-color:#345b60;color:#e7ffff}
:root[data-theme=dark] :is(.section-alt,.section-browse,.mini-banner){background:#081f2c}
:root[data-theme=dark] .hero :is(h1,.hero-copy){color:#fff}
:root[data-theme=dark] :is(.pill.gray,.notice,.feature-chips span,.cat-icon){background:#1b4851;color:#dcf7f3}
:root[data-theme=dark] .navlinks a,:root[data-theme=dark] .login-link{color:#d0e8e9!important}
:root[data-theme=dark] :is(.navlinks a.active,.navlinks a:hover){color:#46e6d5!important}
:root[data-theme=dark] .footer-tag{background:#0c3a4d}
:root[data-theme=dark] .simple-prose{color:var(--muted)}
:root[data-theme=dark] :is(.provider-foot,.provider-card .provider-main,.empty,.v12-row){border-color:var(--line)}
:root[data-theme=dark] .page-hero{background:linear-gradient(115deg,#063547,#0c4856);color:#fff}
:root[data-theme=dark] .page-hero h1{color:#fff}
:root[data-theme=dark] .page-hero p{color:#d7eaed}
:root[data-theme=dark] .nav{color:var(--text)}
@media(max-width:1120px){.header-contacts{gap:3px}.header-contacts>a,.v12-theme{width:36px;height:36px}.nav{gap:11px}.navlinks{gap:10px}}
@media(max-width:990px){.v12-theme{width:40px;height:40px}.nav{gap:8px}.actions{gap:6px}.header-contacts{display:flex}.mobile-panel{background:var(--white)!important}.v12-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.v12-two{grid-template-columns:1fr}.v12-row{flex-direction:column;align-items:flex-start}.v12-actions{justify-content:flex-start}.v12-panel{padding:16px}.v12-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v12-filters>*{width:100%}.v12-filters select{min-width:0}.admin-page .section.section-alt{padding-top:18px}.admin-page .admin-menu{width:100%}.admin-page .admin-menu button{flex:1 1 125px;text-align:left}.header-contacts>a{width:33px;height:35px}.v12-theme{width:36px;height:35px}.nav .brand img{width:170px}.v12-page{min-height:0}}
@media(max-width:365px){.container{width:calc(100% - 22px)}.nav .brand img{width:145px}.header-contacts>a{width:29px;height:32px}.v12-theme{width:32px;height:32px}.nav .actions{gap:3px}.menu-btn{padding:7px}.v12-metrics{grid-template-columns:1fr}.v12-actions>.button{width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

:root[data-theme=dark] .button:not(.button-ghost):not(.button-dark):not(.button-outline):not(.danger-button){color:#052c34}
:root[data-theme=dark] .button-lime{color:#092f39!important}
:root[data-theme=dark] .button-dark{color:#f4ffff}

/* SA Doctors 1.2.2 — full-site contrast, responsive, accessibility and footer correction.
   This override intentionally comes AFTER the old light/dark theme declarations. */
.brand-dark{display:none!important}
:root[data-theme="dark"] .header .brand-light{display:none!important}
:root[data-theme="dark"] .header .brand-dark{display:block!important}
:root[data-theme="dark"] .header{background:#102d3b;color:#effffc;border-color:#31535d}
:root[data-theme="dark"] .navlinks a,
:root[data-theme="dark"] .login-link{color:#e1f7f4!important}
:root[data-theme="dark"] .navlinks a:hover,
:root[data-theme="dark"] .navlinks a.active{color:#79efdb!important}
:root[data-theme="dark"] .mobile-panel{background:#132f3d!important;color:#f2fbfa}
:root[data-theme="dark"] .mobile-panel a{color:#ecfcfb}
:root[data-theme="dark"] .mobile-panel .button{color:#062c33}
:root[data-theme="dark"] .menu-btn{color:#f5fffd}
:root[data-theme="dark"] .eyebrow{background:#174d4e;color:#9cf9e8;border:1px solid #387976}
:root[data-theme="dark"] .eyebrow:before{background:#76f1cd;box-shadow:0 0 0 4px #14575b}
:root[data-theme="dark"] .browse-right .heading,
:root[data-theme="dark"] .browse-right .heading span{color:#f3fffc}
:root[data-theme="dark"] .browse-right .heading span{color:#64e8d8}
:root[data-theme="dark"] .browse-right > p,
:root[data-theme="dark"] .browse-right .section-intro p{color:#d0e6e7}
:root[data-theme="dark"] .province-grid button{background:#173c4b;color:#f0fbfa;border:1px solid #436774}
:root[data-theme="dark"] .province-grid button:hover,
:root[data-theme="dark"] .province-grid button:focus-visible{background:#215569;color:#fff;border-color:#78e1d0}
:root[data-theme="dark"] .province-grid button .icon{color:#6becdc}
:root[data-theme="dark"] .browse-right .button:not(.button-ghost){background:#47dacc;color:#062b33}
:root[data-theme="dark"] .browse-right .button:hover{background:#72eddf;color:#04262d}
:root[data-theme="dark"] .float-tag{background:#143b49;color:#f0fcfb;border:1px solid #466c75}
:root[data-theme="dark"] .float-tag strong{color:#f8fffc}
:root[data-theme="dark"] .float-tag span{color:#c1d9df}
:root[data-theme="dark"] .float-tag .bubble{background:#1b595b;color:#a1ffed}
:root[data-theme="dark"] :is(.form-card,.card,.review,.kpi,.category,.step,.provider-card,.filter-box,.login-card,.modal,.v12-panel,.stat,.admin-layout .review){background:#122d3b;color:#ecfbfa;border-color:#335761}
:root[data-theme="dark"] :is(.search-box,.search-field,.manage-popover,.manage-popover button,.manage-popover a){background:#163748;color:#f1ffff;border-color:#39616b}
:root[data-theme="dark"] :is(.search-box input,.search-box select){background:transparent;color:#f0ffff}
:root[data-theme="dark"] :is(.search-box input::placeholder,.search-box select::placeholder){color:#c0dce1}
:root[data-theme="dark"] :is(.category strong,.stat strong,.review h3,.step h3,.provider-card h3,.filter-box h3,.kpi strong,.v12-panel h3,.form-card h1,.form-card h2,.form-card h3){color:#f0fffd}
:root[data-theme="dark"] :is(.section-intro p,.step p,.provider-card p,.category p,.stat span,.review p,.kpi span,.v12-row p,.v12-intro p,.v12-panel p,.booking-discover p){color:#c1dce1}
:root[data-theme="dark"] :is(.manage-menu > summary,.manage-popover button,.manage-popover a){background:#193b49;color:#f2fffd;border-color:#426571}
:root[data-theme="dark"] .manage-popover :is(button:hover,a:hover){background:#235667;color:#fff}
:root[data-theme="dark"] .manage-popover .danger-action{color:#ffacba}
:root[data-theme="dark"] .manage-popover .danger-action:hover{background:#523041}
:root[data-theme="dark"] :is(.notice,.empty,.booking-discover,.review-actions textarea){background:#183d49;color:#e8f7f5;border-color:#42747a}
:root[data-theme="dark"] :is(.empty h3,.empty p){color:#e7f8f5}
:root[data-theme="dark"] .notice.error{background:#4e2431;border-color:#97485b;color:#fff0f3}
:root[data-theme="dark"] .notice.success{background:#17483b;border-color:#377764;color:#dbfff1}
:root[data-theme="dark"] :is(.pill,.pill.gray,.pill.amber,.pill.red){border:1px solid #4c7076}
:root[data-theme="dark"] .pill{background:#154c49;color:#9cfde2}
:root[data-theme="dark"] .pill.gray{background:#244650;color:#dbedef}
:root[data-theme="dark"] .pill.amber{background:#58421f;color:#ffe2a9}
:root[data-theme="dark"] .pill.red{background:#542d38;color:#ffc5d1}
:root[data-theme="dark"] :is(.field label,.form-section-title,.review-grid strong,.v12-panel legend,.v12-row strong){color:#e4faf6}
:root[data-theme="dark"] :is(.field input,.field select,.field textarea,.filter-box input,.filter-box select,.v12-page input,.v12-page select,.v12-page textarea,.v12-filters input,.v12-filters select,.review textarea){background:#092633!important;color:#f1fffd!important;border-color:#50707b!important}
:root[data-theme="dark"] :is(.field input,.field select,.field textarea,.filter-box input,.filter-box select) :is(option){color:#fff;background:#102d3c}
:root[data-theme="dark"] :is(input::placeholder,textarea::placeholder){color:#b9d6d9!important;opacity:1}
:root[data-theme="dark"] :is(.field small,.muted,.v12-page small,.v12-row p){color:#c6e2e2}
:root[data-theme="dark"] :is(.section,.section-alt,.section-browse){color:#ecfaf8}
:root[data-theme="dark"] .heading{color:#f0fffc}
:root[data-theme="dark"] .heading span{color:#72eedd}
:root[data-theme="dark"] .category:nth-child(4n) .cat-icon,
:root[data-theme="dark"] .category:nth-child(4n+3) .cat-icon{background:#22525a;color:#9af3d8}
:root[data-theme="dark"] .button-dark{background:#245b6d;color:#f3fffe}
:root[data-theme="dark"] .button-dark:hover{background:#307c88}
:root[data-theme="dark"] .button-ghost:hover{background:#245061;color:#fff}
:root[data-theme="dark"] .button-outline{background:#143f4e;border-color:#7be2d3;color:#eafffa}
:root[data-theme="dark"] .admin-menu{background:#092737;color:#f1fbf8}
:root[data-theme="dark"] .admin-menu button.selected{background:#1c6170;color:#fff}
:root[data-theme="dark"] .header-contacts>a,
:root[data-theme="dark"] .v12-theme{background:#1c4756;color:#d3fff7;border-color:#44717a}
:root[data-theme="dark"] .header-contacts>a:hover,
:root[data-theme="dark"] .v12-theme:hover{background:#246478;border-color:#67e7d8}
:root[data-theme="dark"] .page-hero{background:linear-gradient(115deg,#082e40,#0c4951)}
:root[data-theme="dark"] .page-hero :is(h1,p,.breadcrumbs){color:#f1fffc}
/* Light mode — keep links, text and buttons legible on pale surfaces. */
:root:not([data-theme="dark"]) .province-grid button{color:#103b4a;background:#fff}
:root:not([data-theme="dark"]) .province-grid button:hover{background:#ebfaf7}
:root:not([data-theme="dark"]) .eyebrow{color:#075e5f;background:#daf4ea}
:root:not([data-theme="dark"]) .navlinks a{color:#263d4b}
:root:not([data-theme="dark"]) .navlinks a:hover{color:#04736d}
:root:not([data-theme="dark"]) .button{background:#087e79;color:#fff}
:root:not([data-theme="dark"]) .button:hover{background:#05635e;color:#fff}
:root:not([data-theme="dark"]) .button-ghost{background:#fff;color:#103c4c}
:root:not([data-theme="dark"]) .button-dark{background:#0b354a;color:#fff}
:root:not([data-theme="dark"]) .button-lime{background:#d4f58a;color:#0a3442}
:root:not([data-theme="dark"]) .button-outline{background:transparent;color:#f1fffa}
/* Explicit contrast for controls and pages that intentionally use dark hero/background. */
.hero :is(.hero-kicker,.hero-copy),.image-copy,.page-hero .breadcrumbs{color:#f0fffc}
.hero .search-box .button{color:#fff}
:root[data-theme="dark"] .hero .search-box .button{color:#062c33}
:root[data-theme="dark"] .image-copy :is(strong,p){color:#fff}
:root[data-theme="dark"] .v12-intro h1{color:#f4fffd}
/* External branded SVG is switched, never darkened by blending/filters. */
.header .brand img{height:auto}
/* Distinct and high-contrast, colour-rich privacy control with 44px minimum touch target. */
.cookie-fab{width:52px;height:52px;border-radius:17px;background:linear-gradient(135deg,#12b8aa,#116a87);border:2px solid #f6dc99;box-shadow:0 9px 32px #002d3a55;display:grid;place-items:center;padding:7px}
.cookie-fab:hover{background:linear-gradient(135deg,#10a49b,#174f78);transform:translateY(-2px)}
.cookie-fab img{width:35px;height:35px;object-fit:contain;display:block}
.cookie-fab:focus-visible{outline:3px solid #f3bf4b;outline-offset:3px}
/* Requested centered footer sequence: attribution / rule / copyright / disclaimer. */
.foot-credit{text-align:center;padding:25px 12px 19px;font-size:14px;font-weight:750;color:#e5f7f3}
.foot-credit a{color:#bfff8c;font-weight:900;text-decoration:underline;text-underline-offset:4px}
.foot-credit a:hover{color:#ecffc3}
.foot-rule{height:1px;background:rgba(229,252,248,.23);width:100%}
.foot-bottom{border-top:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;justify-content:center!important;gap:11px!important;padding:21px 14px 29px!important;color:#dbefee!important;font-size:12px!important;line-height:1.6}
.foot-bottom span{display:block;max-width:760px}
.foot-bottom span:last-child{font-size:11px;color:#bad5d8}
.foot .footlinks a,.foot .summary{color:#d0e6e5}
.foot .footlinks a:hover{color:#d8f8b1}
/* All responsive templates share the same input/touch baseline. */
:where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px}
:where(.button,.category,.province-grid button,.header-contacts>a,.v12-theme,.menu-btn,.admin-menu button,.manage-menu summary){min-height:44px}
:where(.card,.review,.form-card,.provider-card,.v12-panel){min-width:0}
:where(.section,.section-alt,.v12-page){overflow-wrap:break-word}
:where(input,select,textarea){max-width:100%}
:where(.nav,.actions,.admin-layout,.browse,.hero-grid,.v12-two) > *{min-width:0}
@media(max-width:990px){
 .header .nav{min-height:72px}
 .mobile-panel{max-height:calc(100dvh - 72px);overflow-y:auto}
 .mobile-panel a{min-height:44px;display:flex;align-items:center}
 :root[data-theme="dark"] .mobile-panel{border-bottom:1px solid #46616a}
}
@media(max-width:700px){
 .heading,.browse-right .heading{font-size:clamp(28px,8vw,40px);letter-spacing:-.04em}
 .section{padding-block:55px}
 .province-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .province-grid button{font-size:13px;min-height:48px}
 .foot-grid{gap:27px}
 .foot-credit{padding-top:20px}
 .foot-bottom{font-size:12px}
 .cookie-fab{bottom:12px;left:12px;width:48px;height:48px}
 .myinc-contacts{overflow-wrap:anywhere}
}
@media(max-width:400px){
 .province-grid{grid-template-columns:1fr 1fr}
 .province-grid button{padding:12px 7px;font-size:11.5px;gap:4px}
 .header-contacts>a,.v12-theme{min-width:33px;min-height:38px}
 .browse-right{padding-inline:0}
 .foot-grid{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.cookie-fab:hover{transform:none}}


/* SA Doctors v1.2.4 — animated heart identity, kept separate from the app's
   booking, authentication and mail systems. Teal heart + red ECG + medical cross. */
.header .brand,.foot .brand{display:inline-flex;align-items:center;min-width:0;text-decoration:none}
.sd-logo{--sd-sa:#0b3548;display:inline-flex;gap:7px;align-items:center;flex-shrink:0;max-width:100%;white-space:nowrap;vertical-align:middle}
.sd-logo--footer{--sd-sa:#fff}
:root[data-theme="dark"] .header .sd-logo{--sd-sa:#f3ffff}
.sd-logo-heart{width:61px;height:55px;flex:0 0 61px;overflow:visible;transform-origin:center;animation:sd-heartbeat 2.35s ease-in-out infinite}
.sd-heart-outline{stroke:#10cfc5}
.sd-heart-cross{stroke:#2ee4d3}
.sd-heart-ecg{stroke:#ff4059;filter:drop-shadow(0 0 2px rgba(255,64,89,.65));stroke-dasharray:123;stroke-dashoffset:123;animation:sd-ecg 2.35s linear infinite}
.sd-logo-type{display:flex;flex-direction:column;min-width:0;gap:1px}
.sd-logo-title{display:flex;align-items:baseline;letter-spacing:-1.5px;font-size:clamp(23px,2.1vw,32px);line-height:1;font-weight:900;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
.sd-logo-sa{color:var(--sd-sa)}
.sd-logo-doctors{color:#08b8b3}
.sd-logo-tagline{font-size:8px;letter-spacing:1.5px;font-weight:800;color:var(--sd-sa);opacity:.94;margin-top:5px;line-height:1.2}
.sd-logo--footer .sd-logo-doctors{color:#3be5d5}
.sd-logo--footer .sd-logo-title{font-size:31px}
.sd-logo--footer .sd-logo-heart{width:64px;height:59px;flex-basis:64px}
.sd-logo--footer .sd-logo-tagline{color:#d9f1ef}
.sd-logo:hover .sd-heart-ecg{filter:drop-shadow(0 0 4px rgba(255,64,89,.82))}
@keyframes sd-ecg{
  0%,9%{stroke-dashoffset:123;opacity:.55}
  29%,66%{stroke-dashoffset:0;opacity:1}
  82%,100%{stroke-dashoffset:0;opacity:.8}
}
@keyframes sd-heartbeat{
  0%,12%,32%,100%{transform:scale(1)}
  17%{transform:scale(1.055)}
  24%{transform:scale(.988)}
  38%{transform:scale(1.035)}
  45%{transform:scale(1)}
}
.header .brand:focus-visible,.foot .brand:focus-visible{outline:3px solid #36d9c8;outline-offset:5px;border-radius:5px}
@media (max-width:1150px){
  .header .sd-logo-title{font-size:25px}
  .header .sd-logo-heart{width:53px;height:49px;flex-basis:53px}
  .header .sd-logo-tagline{font-size:7px;letter-spacing:1.15px}
}
@media (max-width:990px){
  .header .sd-logo-title{font-size:26px}
  .header .sd-logo-heart{width:55px;height:51px;flex-basis:55px}
}
@media (max-width:520px){
  .header .sd-logo{gap:3px}
  .header .sd-logo-title{font-size:21px;letter-spacing:-1px}
  .header .sd-logo-heart{width:41px;height:42px;flex:0 0 41px}
  .header .sd-logo-tagline{font-size:6px;letter-spacing:.6px;margin-top:3px}
  .header .actions{gap:3px}
  .header .nav{gap:5px}
}
@media (max-width:380px){
  .header .sd-logo-title{font-size:18px}
  .header .sd-logo-heart{width:34px;height:36px;flex-basis:34px}
  .header .sd-logo-tagline{font-size:5.4px;letter-spacing:.45px}
  .header .header-contacts{gap:2px}
  .header .actions{gap:2px}
  .header .menu-btn{padding:6px}
  .sd-logo--footer .sd-logo-title{font-size:25px}
}
@media (prefers-reduced-motion:reduce){
  .sd-logo-heart,.sd-heart-ecg{animation:none!important}
  .sd-heart-ecg{stroke-dashoffset:0;opacity:1}
}


/* SA Doctors v1.2.5 | mobile heartbeat reliability and visibility.
   The outer HTML span animates instead of the SVG root (more dependable on
   mobile Safari / Chromium); the red ECG has a visible rhythmic flash. */
.sd-logo-mark{
  position:relative;display:inline-flex;align-items:center;justify-content:center;
  width:61px;height:55px;flex:0 0 61px;min-width:0;isolation:isolate;
  transform-origin:50% 50%;
  -webkit-animation:sd-mobile-heartbeat 1.65s ease-in-out infinite;
  animation:sd-mobile-heartbeat 1.65s ease-in-out infinite;
  will-change:transform;
}
.sd-logo-mark .sd-logo-heart{
  width:100%;height:100%;flex:0 0 auto;
  -webkit-animation:none!important;animation:none!important;
}
.sd-logo-mark .sd-heart-ecg{
  stroke:#ff4059;stroke-width:5.5;stroke-dasharray:123;stroke-dashoffset:0;
  filter:none;
  -webkit-animation:sd-ecg-flash 1.65s ease-in-out infinite;
  animation:sd-ecg-flash 1.65s ease-in-out infinite;
}
.sd-heart-pulse-dot{
  opacity:0;transform-box:fill-box;transform-origin:center;
  -webkit-animation:sd-beat-dot 1.65s ease-in-out infinite;
  animation:sd-beat-dot 1.65s ease-in-out infinite;
}
@-webkit-keyframes sd-mobile-heartbeat{
  0%,9%,28%,100%{-webkit-transform:scale(1)}
  15%{-webkit-transform:scale(1.12)}
  21%{-webkit-transform:scale(.98)}
  35%{-webkit-transform:scale(1.085)}
  43%{-webkit-transform:scale(1)}
}
@keyframes sd-mobile-heartbeat{
  0%,9%,28%,100%{transform:scale(1)}
  15%{transform:scale(1.12)}
  21%{transform:scale(.98)}
  35%{transform:scale(1.085)}
  43%{transform:scale(1)}
}
@-webkit-keyframes sd-ecg-flash{
  0%,9%,28%,48%,100%{opacity:.64;stroke-width:5.5}
  15%,35%{opacity:1;stroke-width:8}
}
@keyframes sd-ecg-flash{
  0%,9%,28%,48%,100%{opacity:.64;stroke-width:5.5}
  15%,35%{opacity:1;stroke-width:8}
}
@-webkit-keyframes sd-beat-dot{
  0%,9%,28%,48%,100%{opacity:0;-webkit-transform:scale(.8)}
  15%,35%{opacity:1;-webkit-transform:scale(1.35)}
}
@keyframes sd-beat-dot{
  0%,9%,28%,48%,100%{opacity:0;transform:scale(.8)}
  15%,35%{opacity:1;transform:scale(1.35)}
}
.sd-logo--footer .sd-logo-mark{width:64px;height:59px;flex-basis:64px}
@media(max-width:1150px){.header .sd-logo-mark{width:53px;height:49px;flex-basis:53px}}
@media(max-width:990px){.header .sd-logo-mark{width:55px;height:51px;flex-basis:55px}}
@media(max-width:520px){
  .header .sd-logo-mark{width:41px;height:42px;flex-basis:41px}
  /* Small mobile logos previously moved only ~2px; stronger double-beat
     and red dot now remain perceptible without needing hover. */
}
@media(max-width:380px){.header .sd-logo-mark{width:34px;height:36px;flex-basis:34px}}
/* Respect operating-system accessibility preferences (intentional static logo). */
@media(prefers-reduced-motion:reduce){
  .sd-logo-mark,.sd-logo-mark .sd-heart-ecg,.sd-heart-pulse-dot{
    animation:none!important;-webkit-animation:none!important;
  }
  .sd-logo-mark{transform:none!important;will-change:auto}
  .sd-heart-pulse-dot{opacity:.8;transform:none!important}
  .sd-logo-mark .sd-heart-ecg{opacity:1;stroke-width:5.5}
}

/* SA Doctors v1.2.6 — advert-accurate icon and a RUNNING ECG TRACE, not a pulsing heart.
   The same inline SVG is used on mobile and desktop. No hover or JS timer is required. */
.sd-logo-mark {
  background:#001825 !important;
  border-radius:8px;
  overflow:hidden;
  isolation:isolate;
  animation:none!important;
  -webkit-animation:none!important;
  transform:none!important;
  will-change:auto;
}
.sd-logo-mark .sd-logo-heart {
  display:block;
  width:100%;height:100%;
  overflow:visible;
  transform:none!important;
  -webkit-animation:none!important;
  animation:none!important;
}
.sd-logo-mark .sd-heart-upper {stroke:#ffffff;filter:none}
.sd-logo-mark .sd-heart-tail {filter:none}
.sd-logo-mark .sd-heart-cross {filter:none}
.sd-logo-mark .sd-ecg-track {
  stroke:#9d263b;
  stroke-width:5.7;
  opacity:.27;
  filter:none;
}
.sd-logo-mark .sd-ecg-trace {
  stroke:#ff3657;
  stroke-width:6.2;
  opacity:1;
  stroke-dasharray:180;
  stroke-dashoffset:180;
  -webkit-animation:sd-ecg-running 2.15s linear infinite;
  animation:sd-ecg-running 2.15s linear infinite;
  filter:drop-shadow(0 0 1.5px rgba(255,75,99,.6));
}
@-webkit-keyframes sd-ecg-running {
  0%,8% {stroke-dashoffset:180;opacity:1}
  53%,78% {stroke-dashoffset:0;opacity:1}
  87% {stroke-dashoffset:0;opacity:.85}
  96%,100% {stroke-dashoffset:180;opacity:0}
}
@keyframes sd-ecg-running {
  0%,8% {stroke-dashoffset:180;opacity:1}
  53%,78% {stroke-dashoffset:0;opacity:1}
  87% {stroke-dashoffset:0;opacity:.85}
  96%,100% {stroke-dashoffset:180;opacity:0}
}
/* Keep the mark legible at phone sizes. It should never be compressed to ~34px. */
@media(max-width:520px) {
  .header .sd-logo-mark {width:48px!important;height:47px!important;flex:0 0 48px!important}
  .header .sd-logo{gap:4px}
  .header .sd-logo-title{font-size:21px}
  .header .sd-logo-tagline{font-size:6px}
}
@media(max-width:380px) {
  .header .sd-logo-mark{width:44px!important;height:43px!important;flex:0 0 44px!important}
  .header .sd-logo-title{font-size:18px}
  .header .sd-logo-tagline{font-size:5.4px}
}
@media(prefers-reduced-motion:reduce) {
  .sd-logo-mark .sd-ecg-trace {
    animation:none!important;
    -webkit-animation:none!important;
    stroke-dasharray:180!important;
    stroke-dashoffset:0!important;
    opacity:1!important;
  }
}
