/* ssc-phase8-fonts: DM Sans self hosted as one variable file. The fallback face
   carries metrics measured from the DM Sans binary against Arial, so the page
   occupies the same space before and after the swap and nothing moves. */
@font-face{font-family:'DM Sans';src:url('/fonts/dm-sans-latin-wght-normal.woff2') format('woff2');font-weight:100 1000;font-style:normal;font-display:swap}
@font-face{font-family:'DM Sans Fallback';src:local('Arial'),local('Helvetica Neue'),local('Helvetica'),local('Liberation Sans'),local('Roboto'),local('Segoe UI');size-adjust:102.59%;ascent-override:96.70%;descent-override:30.22%;line-gap-override:0%}
/* =====================================================================
   Sai Speciality Center · 2026 design system (Option C final)
   Steel blue, gold and white · eye-care palette · DM Sans only
   Every class starts with "s26-" so it never clashes with legacy CSS.
   ===================================================================== */

:root{
  --s26-blue:#4A7BA7;--s26-blue-m:#41709C;--s26-blue-d:#3B6890;--s26-ink:#2F4A66;
  --s26-blue-l:#EAF1F7;--s26-blue-xl:#F5F8FB;
  --s26-gold:#C8A55C;--s26-gold-t:#7A5D24;--s26-gold-l:#F6EFDF;
  --s26-cream:#FBF9F4;--s26-white:#FFFFFF;--s26-body:#55606F;--s26-line:#E3E8EE;
  --s26-coral:#C4513F;--s26-coral-d:#AE4535;
  --s26-mint:#3F8F80;--s26-mint-t:#2F7366;--s26-mint-l:#E6F3F0;
  --s26-wa:#1a7f47;
  --s26-font:'DM Sans','DM Sans Fallback',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --s26-radius:14px;--s26-wrap:1200px;
}

/* ---------- base scope ---------- */
.s26{font-family:var(--s26-font);color:var(--s26-body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}
.s26,.s26 *,.s26 *::before,.s26 *::after{box-sizing:border-box}
.s26 h1,.s26 h2,.s26 h3,.s26 h4{font-family:var(--s26-font);color:var(--s26-ink);font-weight:700;letter-spacing:-.01em;margin:0;line-height:1.25}
.s26 p{margin:0}
.s26 a{color:var(--s26-blue-d);text-decoration:none}
.s26 a:hover{color:var(--s26-ink)}
.s26 ul,.s26 ol{margin:0;padding:0;list-style:none}
.s26 img{max-width:100%;height:auto;display:block;border:0}
.s26 button{font-family:inherit}
.s26 :focus-visible{outline:3px solid #F6E3B0;outline-offset:2px;border-radius:4px}
.s26-wrap{max-width:var(--s26-wrap);margin:0 auto;padding:0 24px}
.s26-sec{padding:56px 0}
.s26-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.s26-skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--s26-ink);color:#fff;padding:10px 16px;border-radius:0 0 8px 0;font-family:var(--s26-font);font-weight:700}
.s26-skip:focus{left:0;color:#fff}

/* ---------- buttons, tags, links ---------- */
.s26 .s26-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 24px;border-radius:8px;font-weight:700;font-size:16px;line-height:1.2;border:0;cursor:pointer;text-decoration:none;transition:background .15s,border-color .15s}
.s26 .s26-btn-coral{background:var(--s26-coral);color:#fff}
.s26 .s26-btn-coral:hover{background:var(--s26-coral-d);color:#fff}
.s26 .s26-btn-line{background:#fff;color:var(--s26-ink);border:2px solid var(--s26-line)}
.s26 .s26-btn-line:hover{border-color:var(--s26-blue);color:var(--s26-ink)}
.s26 .s26-btn-ghost{background:rgba(255,255,255,.12);color:#fff;border:2px solid rgba(255,255,255,.4)}
.s26 .s26-btn-ghost:hover{background:rgba(255,255,255,.22);color:#fff}
.s26 .s26-btn-sm{min-height:42px;padding:9px 18px;font-size:15px}
.s26 .s26-more{font-weight:700;color:var(--s26-blue-d)}
.s26 .s26-more:hover{text-decoration:underline}
.s26 .s26-tag{display:inline-block;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:6px 14px;border-radius:4px;color:var(--s26-blue-d);background:var(--s26-blue-l)}
.s26 .s26-tag-gold{color:var(--s26-gold-t);background:var(--s26-gold-l)}
.s26 .s26-tag-white{color:var(--s26-gold-t);background:#fff}

/* ---------- top bar ---------- */
.s26-topbar{background:var(--s26-blue-d);color:#fff;font-size:14px}
.s26-topbar .s26-wrap{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;justify-content:space-between;padding-top:7px;padding-bottom:7px}
.s26-topbar .s26-tb-r{display:flex;flex-wrap:wrap;gap:6px 22px;align-items:center}
.s26-topbar a{color:#fff;font-weight:700}
.s26-topbar a:hover{color:#F6E3B0}
.s26-topbar svg{flex-shrink:0}
.s26-topbar .s26-tb-l{display:flex;gap:8px;align-items:center}

/* ---------- header + mega menu ---------- */
.s26-header{background:#fff;border-bottom:1px solid var(--s26-line);position:relative;z-index:50}
.s26-header.s26-sticky{position:sticky;top:0}
.s26-header .s26-wrap{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.s26-logo img{height:52px;width:auto}
.s26-nav{display:flex;align-items:center;gap:2px;font-weight:600;font-size:15px}
.s26-nav > li{position:static}
.s26-nav > li > a,.s26-nav > li > button{display:inline-flex;align-items:center;gap:6px;color:var(--s26-body);padding:10px 14px;border:0;background:none;border-bottom:2px solid transparent;font-weight:600;font-size:15px;cursor:pointer;min-height:44px}
.s26-nav > li > a:hover,.s26-nav > li > button:hover{color:var(--s26-ink)}
.s26-nav > li > a[aria-current="page"],.s26-nav > li.s26-active > a{color:var(--s26-ink);border-bottom-color:var(--s26-blue)}
.s26-nav > li > .s26-mega-btn{border-bottom:0;padding-left:4px;padding-right:6px;margin-left:-8px}
.s26-nav .s26-caret{transition:transform .15s}
.s26-has-mega[data-open="1"] .s26-caret{transform:rotate(180deg)}
.s26-mega{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--s26-line);border-bottom:1px solid var(--s26-line);box-shadow:0 18px 30px rgba(47,74,102,.12);display:none}
.s26-has-mega[data-open="1"] .s26-mega{display:block}
@media (hover:hover) and (min-width:1025px){.s26-has-mega:hover .s26-mega,.s26-has-mega:focus-within .s26-mega{display:block}}
.s26-mega .s26-wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;padding-top:24px;padding-bottom:26px;align-items:start;min-height:0}
.s26-mega-col > a{display:block;font-weight:700;color:var(--s26-ink);font-size:15px;padding-bottom:8px;margin-bottom:8px;border-bottom:2px solid var(--s26-blue-l)}
.s26-mega-col > a:hover{color:var(--s26-blue-d)}
.s26-mega-col li a{display:block;padding:5px 0;color:var(--s26-body);font-size:14px;font-weight:500;line-height:1.4}
.s26-mega-col li a:hover{color:var(--s26-blue-d)}
.s26-mega-all{grid-column:1/-1;border-top:1px solid var(--s26-line);padding-top:12px;font-size:14px}
.s26-hdr-cta{display:flex;align-items:center;gap:10px}
.s26-burger{display:none;width:46px;height:46px;border-radius:8px;border:2px solid var(--s26-line);background:#fff;align-items:center;justify-content:center;cursor:pointer;color:var(--s26-ink)}
.s26-mnav{display:none}

@media (max-width:1024px){
  .s26-nav,.s26-hdr-cta .s26-btn{display:none}
  .s26-burger{display:inline-flex}
  .s26-mnav{position:fixed;inset:0;z-index:200;background:rgba(47,74,102,.45);display:none}
  .s26-mnav[data-open="1"]{display:block}
  .s26-mnav-panel{position:absolute;top:0;right:0;bottom:0;width:min(88vw,380px);background:#fff;overflow-y:auto;padding:16px 18px 96px;box-shadow:-10px 0 30px rgba(0,0,0,.15)}
  .s26-mnav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .s26-mnav-close{width:44px;height:44px;border:0;background:var(--s26-blue-l);border-radius:8px;cursor:pointer;color:var(--s26-ink);font-size:22px;line-height:1}
  .s26-mnav a{display:block;padding:12px 4px;color:var(--s26-ink);font-weight:600;border-bottom:1px solid var(--s26-line)}
  .s26-mnav details{border-bottom:1px solid var(--s26-line)}
  .s26-mnav summary{list-style:none;cursor:pointer;padding:12px 4px;font-weight:600;color:var(--s26-ink);display:flex;justify-content:space-between;align-items:center}
  .s26-mnav summary::-webkit-details-marker{display:none}
  .s26-mnav summary::after{content:"+";font-size:20px;color:var(--s26-blue)}
  .s26-mnav details[open] > summary::after{content:"\2212"}
  .s26-mnav details a{border-bottom:0;padding:8px 4px 8px 14px;font-weight:500;font-size:15px;color:var(--s26-body)}
  .s26-mnav details .s26-mnav-cat{font-weight:700;color:var(--s26-blue-d)}
  .s26-mnav .s26-btn{margin-top:16px;width:100%}
}
body.s26-noscroll{overflow:hidden}

/* ---------- breadcrumb + page hero ---------- */
.s26-crumbs{font-size:14px}
.s26-crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.s26-crumbs li{display:inline-flex;align-items:center;gap:8px}
.s26-crumbs li + li::before{content:"\203A";opacity:.75}
.s26-hero{background:linear-gradient(90deg,var(--s26-blue-m) 0%,var(--s26-blue) 100%);color:#fff;position:relative;overflow:hidden}
.s26-hero::after{content:"";position:absolute;width:380px;height:380px;border-radius:50%;border:52px solid rgba(255,255,255,.05);top:-160px;right:6%;pointer-events:none}
.s26-hero .s26-wrap{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:40px;align-items:center;padding-top:34px;padding-bottom:40px}
.s26-hero.s26-hero-noimg .s26-wrap{grid-template-columns:minmax(0,1fr)}
.s26-hero .s26-crumbs a,.s26-hero .s26-crumbs{color:#fff}
.s26-hero .s26-crumbs a{text-decoration:underline;text-underline-offset:3px}
.s26-hero h1{color:#fff;font-size:40px;line-height:1.15;margin:12px 0 10px}
.s26-hero .s26-hero-sub{font-size:18px;color:#fff;max-width:640px}
.s26-hero .s26-hero-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.s26-hero .s26-hero-img{background:rgba(255,255,255,.18);border-radius:18px;padding:8px}
.s26-hero .s26-hero-img img{width:100%;height:300px;object-fit:cover;border-radius:12px}

/* ---------- content layout + prose (database HTML) ---------- */
.s26-main{background:var(--s26-cream)}
.s26-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start;padding-top:44px;padding-bottom:56px}
.s26-layout.s26-layout-full{grid-template-columns:minmax(0,1fr)}
.s26-card{background:#fff;border:1px solid var(--s26-line);border-radius:var(--s26-radius)}
.s26-article{padding:32px 36px}
.s26-prose{color:var(--s26-body);font-size:17px;line-height:1.75;overflow-wrap:anywhere}
.s26-prose > *:first-child{margin-top:0}
.s26-prose h2{font-size:28px;line-height:1.25;color:var(--s26-ink);margin:36px 0 12px;scroll-margin-top:96px}
.s26-prose h3{font-size:21px;line-height:1.3;color:var(--s26-ink);margin:26px 0 10px;scroll-margin-top:96px}
.s26-prose h4{font-size:18px;color:var(--s26-ink);margin:20px 0 8px}
.s26-prose p{margin:0 0 14px}
.s26-prose a{color:var(--s26-blue-d);text-decoration:underline;text-underline-offset:3px;font-weight:600}
.s26-prose ul,.s26-prose ol{margin:0 0 16px;padding-left:22px}
.s26-prose ul{list-style:disc}
.s26-prose ol{list-style:decimal}
.s26-prose li{margin:4px 0}
.s26-prose li::marker{color:var(--s26-blue)}
.s26-prose strong,.s26-prose b{color:var(--s26-ink)}
.s26-prose img{border-radius:12px;margin:16px 0}
.s26-prose blockquote{margin:18px 0;padding:14px 18px;border-left:4px solid var(--s26-gold);background:var(--s26-gold-l);border-radius:0 10px 10px 0}
.s26-prose .s26-table-wrap,.s26-prose table{max-width:100%}
.s26-prose table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:15px;display:block;overflow-x:auto}
.s26-prose th,.s26-prose td{border:1px solid var(--s26-line);padding:10px 12px;text-align:left;vertical-align:top;overflow-wrap:normal;word-break:normal;min-width:8.5em}
.s26-prose th{background:var(--s26-blue-l);color:var(--s26-ink);font-weight:700}
.s26-prose tr:nth-child(even) td{background:var(--s26-blue-xl)}
.s26-prose em{color:var(--s26-body)}
.s26-callout{background:#FFF6F3;border:1px solid #F3D3CB;border-radius:12px;padding:6px 18px 4px;margin:16px 0}

/* ---------- sidebar ---------- */
.s26-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:96px}
.s26-side-box{padding:20px 22px}
.s26-side-box h2,.s26-side-box .s26-side-title{font-size:18px;color:var(--s26-ink);margin:0 0 12px;font-weight:700}
.s26-side-list li a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--s26-line);font-weight:600;font-size:15px;color:var(--s26-ink)}
.s26-side-list li:last-child a{border-bottom:0}
.s26-side-list li a:hover{color:var(--s26-blue-d)}
.s26-side-list li a[aria-current="page"]{color:var(--s26-blue-d)}
.s26-book{background:var(--s26-blue-l);border-color:rgba(74,123,167,.25)}
.s26-book p{font-size:15px;margin-bottom:8px}
.s26-book .s26-btn{width:100%;margin-top:6px}

/* ---------- doctor card ---------- */
.s26-doc{display:flex;gap:16px;align-items:center;padding:18px 20px}
.s26-doc img{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:top;border:3px solid var(--s26-blue-l);flex-shrink:0}
.s26-doc strong{display:block;color:var(--s26-ink);font-size:16px}
.s26-doc span{display:block;font-size:14px}
.s26-doc .s26-kmc{color:var(--s26-gold-t);font-weight:700}
.s26-doc-wide{padding:24px 28px;gap:22px}
.s26-doc-wide img{width:96px;height:96px}

/* ---------- FAQ (styling only, database HTML untouched) ---------- */
.s26-faq-q{background:#fff;border:1px solid var(--s26-line);border-radius:12px;padding:14px 18px;margin:10px 0 0;font-size:18px}
.s26-js .s26-faq-q{cursor:pointer;position:relative;padding-right:44px}
.s26-js .s26-faq-q::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--s26-blue);font-size:22px;font-weight:700}
.s26-js .s26-faq-q[aria-expanded="true"]::after{content:"\2212"}
.s26-js .s26-faq-q[aria-expanded="true"]{background:var(--s26-blue-xl);border-color:rgba(74,123,167,.3);border-radius:12px 12px 0 0}
.s26-faq-a{padding:12px 18px 6px;border:1px solid var(--s26-line);border-top:0;border-radius:0 0 12px 12px;background:#fff}
.s26-js .s26-faq-a[hidden]{display:none}

/* ---------- table of contents ---------- */
.s26-toc{padding:16px 20px;margin:0 0 24px;background:var(--s26-blue-xl);border:1px solid var(--s26-line);border-radius:12px}
.s26-toc-title{font-weight:700;color:var(--s26-ink);margin-bottom:6px}
.s26-toc ol{list-style:decimal;padding-left:20px;margin:0}
.s26-toc li{margin:3px 0;font-size:15px}
.s26-toc a{text-decoration:none;font-weight:600}

/* ---------- related / explore links ---------- */
.s26-links-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.s26-link-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#fff;border:1px solid var(--s26-line);border-radius:12px;font-weight:600;color:var(--s26-ink)}
.s26-link-card:hover{border-color:var(--s26-blue);color:var(--s26-blue-d)}
.s26-block-title{font-size:24px;margin:0 0 16px}

/* ---------- CTA band ---------- */
.s26-cta{background:var(--s26-blue-l);padding:34px 0}
.s26-cta .s26-wrap{display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.s26-cta h2{font-size:24px;line-height:1.3;max-width:760px}
.s26-cta p{margin-top:6px;max-width:760px}

/* ---------- resources block ---------- */
.s26-res{background:#fff;padding:56px 0}
.s26-res-head{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.s26-res-head h2{font-size:32px;margin-top:8px}
.s26-res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.s26-post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--s26-line);border-radius:var(--s26-radius);overflow:hidden;color:inherit}
.s26-post:hover{border-color:var(--s26-blue)}
.s26-post img{width:100%;height:170px;object-fit:cover}
.s26-post-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:6px;flex-grow:1}
.s26-post-date{font-size:13px;color:var(--s26-gold-t);font-weight:600}
.s26-post-title{font-size:17px;line-height:1.4;color:var(--s26-ink);font-weight:700}
.s26-post-more{margin-top:auto;font-weight:700;color:var(--s26-blue-d);font-size:15px}

/* ---------- get in touch ---------- */
.s26-touch{background:var(--s26-cream);padding:56px 0;border-top:1px solid var(--s26-line)}
.s26-touch-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px}
.s26-touch-box{background:var(--s26-blue-l);border:1px solid rgba(74,123,167,.25);border-radius:18px;padding:26px 28px;display:flex;flex-direction:column;gap:10px}
.s26-touch-box h2{font-size:26px}
.s26-touch-box .s26-lead{font-weight:600;color:var(--s26-ink)}
.s26-touch-actions{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin-top:6px}
.s26-map{border-radius:18px;border:1px solid var(--s26-line);background:#fff repeating-linear-gradient(135deg,var(--s26-blue-xl) 0 14px,transparent 14px 28px);min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}
.s26-map strong{color:var(--s26-ink);font-size:17px}
.s26-map iframe{width:100%;height:100%;min-height:280px;border:0;border-radius:12px}

/* ---------- footer ---------- */
.s26-footer{background:var(--s26-blue-d);color:#fff;padding:48px 0 22px;font-size:15px}
.s26-footer a{color:#fff}
.s26-footer a:hover{color:#F6E3B0;text-decoration:underline}
.s26-foot-grid{display:grid;grid-template-columns:1.3fr .8fr 1fr 1.15fr 1.2fr;gap:28px}
.s26-foot-col{display:flex;flex-direction:column;gap:8px}
.s26-foot-title{font-weight:700;color:#fff;font-size:16px;margin:0 0 2px}
.s26-foot-logo{height:46px;width:auto;filter:brightness(0) invert(1)}
.s26-foot-kmc{font-weight:700;color:#F6E3B0}
.s26-foot-social{display:flex;flex-wrap:wrap;gap:8px 12px}
.s26-foot-social a{color:#F6E3B0}
.s26-foot-bottom{margin-top:30px;padding-top:16px;border-top:1px solid rgba(255,255,255,.22);display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:14px}
.s26-foot-bottom a{text-decoration:underline}
.s26-foot-credit a{color:#F6E3B0}
.s26-foot-disc{margin-top:12px;font-size:13px;color:rgba(255,255,255,.88)}

/* ---------- mobile bar + whatsapp ---------- */
.s26-mbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:90;background:var(--s26-blue-d);box-shadow:0 -6px 18px rgba(47,74,102,.18);padding:8px 10px;gap:8px}
.s26-mbar a{flex:1;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:8px;color:#fff;font-weight:700;font-size:15px}
.s26-mbar .s26-mb-call{background:rgba(255,255,255,.16)}
.s26-mbar .s26-mb-wa{background:var(--s26-wa)}
.s26-mbar .s26-mb-book{background:var(--s26-coral);flex:1.3}
.s26-wa{position:fixed;right:22px;bottom:22px;z-index:89;width:56px;height:56px;border-radius:50%;background:var(--s26-wa);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px rgba(26,127,71,.3)}

/* ---------- forms (enquiry + booking) ---------- */
.s26-form{display:flex;flex-direction:column;gap:12px;margin-top:6px}
.s26-field{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:14px;color:var(--s26-ink)}
.s26-field input,.s26-field textarea,.s26-field select{width:100%;min-width:0;height:46px;border:1px solid #C9D3DD;border-radius:8px;padding:0 14px;font:inherit;font-weight:400;font-size:15px;color:var(--s26-ink);background:#fff}
.s26-field textarea{height:auto;min-height:92px;padding:10px 14px;resize:vertical}
.s26-field input:focus,.s26-field textarea:focus,.s26-field select:focus{outline:none;border-color:var(--s26-blue);box-shadow:0 0 0 3px rgba(74,123,167,.18)}
.s26-form .s26-btn{align-self:flex-start;min-width:190px}
.s26-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.s26-alert{border-radius:8px;padding:10px 14px;font-size:14px}
.s26-alert-ok{background:var(--s26-mint-l);color:var(--s26-mint-t)}
.s26-alert-err{background:#FBECE9;color:#9B3B2F}
.s26-touch-info{display:flex;flex-direction:column;gap:16px}
.s26-hero-img picture{display:block}
.s26-header.s26-sticky{position:sticky;top:0}
@media (max-width:560px){
  .s26-res-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-bottom:8px;margin:0 -16px;padding-left:16px;padding-right:16px}
  .s26-res-grid .s26-post{flex:0 0 82%;scroll-snap-align:start}
  .s26-form .s26-btn{align-self:stretch}
  .s26-doc-wide{flex-direction:column;align-items:flex-start}
}
body.s26-body{margin:0}

/* ---------- responsive ---------- */
@media (max-width:960px){
  .s26-hero .s26-wrap{grid-template-columns:minmax(0,1fr)}
  .s26-hero .s26-hero-img{display:none}
  .s26-hero h1{font-size:32px}
  .s26-layout{grid-template-columns:minmax(0,1fr)}
  .s26-side{position:static}
  .s26-foot-grid{grid-template-columns:1fr 1fr}
  .s26-touch-grid{grid-template-columns:minmax(0,1fr)}
  .s26-mega .s26-wrap{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:560px){
  .s26-wrap{padding:0 16px}
  .s26-sec,.s26-res,.s26-touch{padding:40px 0}
  .s26-topbar .s26-tb-r{display:none}
  .s26-hero h1{font-size:28px}
  .s26-hero .s26-hero-sub{font-size:16px}
  .s26-article{padding:22px 18px}
  .s26-prose{font-size:16px}
  .s26-prose h2{font-size:23px}
  .s26-prose h3{font-size:19px}
  .s26-foot-grid{grid-template-columns:minmax(0,1fr)}
  .s26-res-head h2{font-size:26px}
  .s26-mbar{display:flex}
  .s26-wa{bottom:80px;right:16px;width:52px;height:52px}
  body.s26-has-mbar{padding-bottom:64px}
}
@media print{.s26-topbar,.s26-mbar,.s26-wa,.s26-mnav,.s26-cta{display:none!important}}

/* ---- Phase 3: category and sub-service pages ---------------------------- */
.s26-art-img{margin:0 0 26px}
.s26-art-img img{width:100%;height:auto;max-height:450px;object-fit:cover;object-position:center;border-radius:12px;display:block}
.s26-faqs{margin-top:40px}
.s26-faqs .s26-block-title{margin-bottom:14px}
.s26-det{border:1px solid var(--s26-line);border-radius:12px;padding:14px 18px;margin:0 0 10px;background:#fff}
.s26-det[open]{background:var(--s26-blue-xl);border-color:rgba(74,123,167,.3)}
.s26-det-q{cursor:pointer;list-style:none;font-weight:600;font-size:17px;color:var(--s26-ink);
  display:flex;justify-content:space-between;align-items:center;gap:16px}
.s26-det-q::-webkit-details-marker{display:none}
.s26-det-q::after{content:"+";color:var(--s26-blue);font-size:22px;font-weight:700;line-height:1;flex-shrink:0}
.s26-det[open] .s26-det-q::after{content:"\2212"}
.s26-det-a{margin-top:10px;font-size:16px}
.s26-det-a > *:first-child{margin-top:0}
.s26-det-a > *:last-child{margin-bottom:0}

.s26-rel-wrap{padding-bottom:56px}
.s26-rel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:16px}
.s26-rel-card{position:relative;display:block;border-radius:16px;overflow:hidden;height:300px;
  background:var(--s26-blue-l);text-decoration:none}
.s26-rel-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.s26-rel-card::after{content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.6) 0%,rgba(0,0,0,.05) 60%,transparent 100%)}
.s26-rel-card span{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;color:#fff;
  font-weight:600;font-size:16px;text-align:center}
.s26-rel-card:hover span{text-decoration:underline}

@media (max-width:720px){
  .s26-article{padding:22px 18px}
  .s26-rel-card{height:220px}
}

/* ---- Phase 5: resources listing and article pages ---------------------- */
.s26-post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:26px 24px;margin-top:26px}
.s26-post-card{display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit}
.s26-post-img{display:block;position:relative;width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--s26-blue-l)}
.s26-post-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.s26-post-card:hover .s26-post-img img{transform:scale(1.06)}
.s26-post-card .s26-post-date{display:block}
.s26-post-card .s26-post-title{display:block;font-weight:600;color:var(--s26-ink);line-height:1.45}
.s26-post-card:hover .s26-post-title{color:var(--s26-blue-d)}
.s26-post-card .s26-post-more{display:inline-block;color:var(--s26-blue-d);font-size:14px;font-weight:600}

.s26-crumbs-dark{margin:0 0 14px}
.s26-crumbs-dark ol{list-style:none;margin:0;padding:0}
.s26-crumbs-dark a{color:var(--s26-blue-d)}
.s26-crumbs-dark span[aria-current]{color:var(--s26-body)}
.s26-art-h1{font-size:34px;line-height:1.2;color:var(--s26-ink);margin:0 0 10px}
.s26-art-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--s26-body);font-size:14px;margin:0 0 22px}
.s26-art-meta span{display:inline-block}

@media (max-width:720px){
  .s26-post-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .s26-art-h1{font-size:26px}
}

/* ---- Phase 6: specialities listing, contact, legal, 404 ---------------- */
.s26-filter{display:flex;align-items:center;gap:10px}
.s26-filter label{font-size:14px;color:var(--s26-body);white-space:nowrap}
.s26-filter select{border:1px solid var(--s26-line);border-radius:10px;padding:9px 14px;font:inherit;
  font-size:14px;background:#fff;color:var(--s26-ink);min-width:220px}
.s26-filter select:focus{outline:2px solid var(--s26-blue);outline-offset:1px}
.s26-rel-static{cursor:default}
.s26-rel-static:hover span{text-decoration:none}
.s26-spec-list{margin-top:44px}
.s26-link-count{display:inline-block;margin-top:10px;font-size:13px;color:var(--s26-blue-d);font-weight:600}
.s26-doc-wrap{max-width:900px;margin:0 auto}
.s26-center{text-align:center}

.s26-contact-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;align-items:start;margin-top:26px}
.s26-contact-info{padding:26px 28px}
.s26-contact-info h3{font-size:19px;color:var(--s26-ink);margin:0 0 16px}
.s26-ci-row{margin:0 0 12px;color:var(--s26-body);font-size:15px;line-height:1.7}
.s26-ci-row a{color:var(--s26-blue-d)}
.s26-contact-form{padding:26px 28px}
.s26-field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.s26-form-note{font-size:13px;color:var(--s26-body);margin:12px 0 0}
.s26-form-note a{color:var(--s26-blue-d)}
.s26-contact-map{margin-top:24px;max-width:620px}

.s26-404{text-align:center;padding:70px 0}
.s26-404 h1{font-size:40px;color:var(--s26-ink);margin:0 0 10px}
.s26-404 p{color:var(--s26-body);font-size:17px;margin:0 0 20px}
.s26-404 .s26-links-grid{margin-top:30px;text-align:left}

@media (max-width:1024px){
  .s26-contact-grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .s26-sec-head .s26-filter{width:100%}
  .s26-filter select{min-width:0;flex:1}
  .s26-field-row{grid-template-columns:minmax(0,1fr)}
  .s26-404{padding:50px 0}
  .s26-404 h1{font-size:28px}
}

/* ---- Patch 6d: visual fixes found on the staging screenshot ------------ */

/* The stats strip is pulled up over the hero with a negative margin, but the
   hero is position:relative and the section holding the stats was not, so the
   hero painted on top and sliced the four numbers off. */
.s26-about{position:relative;z-index:2}
.s26-stats{position:relative;z-index:2}

/* The booking form on the home page is the live appointment-form partial,
   which ships its own green buttons and green top border. Option C uses coral
   for booking actions and nothing else. These override that partial without
   editing it, so its backend and markup stay untouched. */
.s26-book-form .ssc-form-wrap{box-shadow:none;border-top-color:var(--s26-coral);padding:0}
.s26-book-form .ssc-form-section{padding:0;max-width:none}
.s26-book-form .ssc-form-btn{background:var(--s26-coral);font-family:var(--s26-font);border-radius:10px}
.s26-book-form .ssc-form-btn:hover{background:var(--s26-coral-d)}
.s26-book-form .ssc-form-input:focus,
.s26-book-form .ssc-form-textarea:focus{border-color:var(--s26-blue);box-shadow:0 0 0 3px rgba(74,123,167,.15)}
.s26-book-form .ssc-form-title{font-family:var(--s26-font);color:var(--s26-ink)}

/* Long email addresses were breaking mid-word in the narrow contact column. */
.s26-touch-info a,.s26-contact-info a,.s26-foot-col a{overflow-wrap:anywhere}

/* ---- Phase 7: one type family ----------------------------------------- */
/* app.css sets Plus Jakarta Sans on body and NeueMagnat on .speciality-content
   headings. Option C is DM Sans only. Pinning the content column here means
   the other two families can stop loading without changing how anything looks. */
.s26 .speciality-content,
.s26 .speciality-content *,
.s26-prose,
.s26-prose *{font-family:var(--s26-font)}
/* ssc-phase8-a11y: links inside body copy carry an underline, so colour is not
   the only thing that marks them. Buttons, nav and the logo are left alone. */
.s26-prose a:not(.s26-btn):not(.s26-logo),.s26 .speciality-content a:not(.s26-btn){text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px}
