/* Tokens, generous targets and normal flow keep zoom and reflow predictable. */
:root{--bg:#fffaf2;--surface:#ffffff;--ink:#243c36;--muted:#435f56;--accent:#155b50;--on-accent:#ffffff;--soft:#e1eee6;--border:#647a70;--focus:#8c350a;--size:1;--leading:1.65;color-scheme:light}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=contrast]){--bg:#101e1b;--surface:#172c26;--ink:#f4f6ee;--muted:#c4d8cf;--accent:#a7e1c9;--on-accent:#10251d;--soft:#234237;--border:#9bb8aa;--focus:#ffcd77;color-scheme:dark}}
:root[data-theme=dark]{--bg:#101e1b;--surface:#172c26;--ink:#f4f6ee;--muted:#c4d8cf;--accent:#a7e1c9;--on-accent:#10251d;--soft:#234237;--border:#9bb8aa;--focus:#ffcd77;color-scheme:dark}
:root[data-theme=contrast]{--bg:#000;--surface:#000;--ink:#fff;--muted:#fff;--accent:#ffff00;--on-accent:#000;--soft:#000;--border:#fff;--focus:#00ffff;color-scheme:dark}
@media(prefers-contrast:more){:root:not([data-theme]){--border:currentColor;--ink:#000;--bg:#fff;--surface:#fff;--accent:#003c32;--soft:#fff;--muted:#000}}
*{box-sizing:border-box}html{font-size:calc(100% * var(--size));scroll-padding-bottom:9rem}body{margin:0;background:var(--bg);color:var(--ink);font-family:"Noto Sans Tamil","Nirmala UI",system-ui,sans-serif;line-height:var(--leading);overflow-wrap:anywhere}body.readable{font-family:Verdana,"Nirmala UI",sans-serif;letter-spacing:.035em}a{color:var(--accent);text-underline-offset:.22em}button,input,select,textarea{font:inherit;color:inherit}button,.button,select,input:not([type=checkbox]),textarea{min-height:48px}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.1rem;border:2px solid var(--accent);border-radius:.65rem;background:var(--surface);color:var(--accent);font-weight:650;text-decoration:none;cursor:pointer;max-width:100%;white-space:normal}button:hover,.button:hover{background:var(--soft)}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent);text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:4px;box-shadow:0 0 0 6px var(--bg)}header,main,footer{max-width:1180px;margin:auto;padding:1.25rem 5%}header{padding-bottom:.75rem}.topbar,.actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.topbar{justify-content:space-between}.brand{display:flex;gap:.7rem;align-items:center;text-decoration:none;color:var(--ink)}.brand strong{display:block;font-size:1.4rem}.brand small{display:block;font-size:.8rem}.brand img{flex-shrink:0}nav{display:flex;flex-wrap:wrap;gap:.3rem 1rem;margin:1rem 0}nav a{padding:.65rem .15rem;min-height:48px}nav a[aria-current]{font-weight:750;text-decoration-thickness:3px}.reading{font-size:.9rem}summary{cursor:pointer;min-height:48px;padding:.7rem 0;font-weight:650}.settings{display:grid;grid-template-columns:1fr;gap:.5rem;max-width:620px;padding:1rem 0}.emergency{background:var(--soft);border-block:1px solid var(--border);padding:.65rem 5%;text-align:center;font-size:.95rem}.emergency a{font-weight:bold}main{padding-top:2.5rem;padding-bottom:3rem;min-height:45vh}h1,h2,h3{line-height:1.3;letter-spacing:-.025em}h1{font-size:clamp(2.1rem,5vw,4.6rem);max-width:20ch;white-space:pre-line;margin:.4em 0}h2{font-size:1.6rem}h3{font-size:1.2rem}p{max-width:72ch}section{margin-bottom:3rem}.hero{display:grid;gap:2rem;align-items:center}.hero>div>p:first-child{font-weight:700;font-size:.8rem;letter-spacing:.08em;color:var(--accent)}.hero-art{border-radius:48% 48% 1rem 1rem;background:var(--soft);min-height:340px;display:grid;place-content:center;text-align:center;border:1px solid var(--border)}.hero-art img{max-width:100%;height:auto}.hero-art p{margin:0;font-size:2rem;font-weight:bold;color:var(--accent)}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:1rem;padding:1.5rem}.card h2{font-size:1.3rem}.icon{font-size:1.5em;line-height:1.3}.card>.icon{font-size:2.6rem}.trust{padding:1.5rem 0;border-block:1px solid var(--border)}.banner{background:var(--soft);padding:2rem;border-radius:1rem}.faq{border-bottom:1px solid var(--border)}footer{border-top:1px solid var(--border);padding-bottom:11rem;font-size:.9rem}.floating{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:.5rem;padding:.6rem;background:var(--bg);border-top:1px solid var(--border);z-index:5;max-height:35vh;overflow:auto}.floating .button,.floating button{font-size:.9rem;padding:.55rem .7rem}.skip{position:fixed;top:.3rem;left:.3rem;transform:translateY(-200%);background:var(--bg);padding:1rem;z-index:30}.skip:focus{transform:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{width:min(760px,95vw);max-height:90dvh;padding:1.4rem;border:2px solid var(--accent);border-radius:1rem;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#000a}.dialog-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.dialog-head h2{margin-top:0}.field{margin:1.4rem 0}.field label{display:block;font-weight:650}.field input:not([type=checkbox]),.field select,.field textarea{display:block;width:100%;padding:.65rem;border:2px solid var(--border);border-radius:.4rem;background:var(--surface)}textarea{width:100%;max-width:100%;min-height:6rem}.hint{font-size:.9rem;color:var(--muted);margin:.3rem 0}.error{font-weight:700;margin:.3rem 0}.field [aria-invalid=true]{border:3px solid var(--focus)}fieldset{border:1px solid var(--border);padding:1rem;min-width:0}.check{display:flex!important;gap:.8rem;align-items:center;padding:.7rem 0;min-height:48px}.check input{width:1.5rem;height:1.5rem;flex-shrink:0}legend{font-weight:bold}#form-errors:not(:empty){border:2px solid var(--focus);padding:1rem}dl{display:grid;gap:.4rem}dt{font-weight:bold}dd{margin:0 0 1rem;white-space:pre-wrap}.listen{margin-top:1rem}.step-title:focus{outline:3px solid var(--focus)}[hidden]{display:none!important}
@media(min-width:760px){.hero{grid-template-columns:1.4fr 1fr}.settings{grid-template-columns:1fr 1fr}}
@media(max-width:400px){header,main,footer{padding-inline:1rem}.brand strong{font-size:1.1rem}.brand small{font-size:.7rem}.floating .icon{display:none}.banner{padding:1rem}dialog{padding:1rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.floating,.reading,.listen,dialog,.language{display:none}footer{padding-bottom:0}}

/* Branch information stays readable at high zoom and on narrow screens. */
address{font-style:normal}.branch-contacts{margin-top:2rem}.branch-contacts a{display:inline-block;min-height:48px;padding-block:.5rem}

/* Colourful VSP identity. All decorative colour remains separate from readable text. */
:root{--bg:#fffcf7;--ink:#173b3c;--muted:#36585b;--accent:#075c59;--soft:#def3ed;--border:#6c8985;--focus:#a32c14;--coral:#f3806c;--gold:#f6c55c;--sky:#e4f1ff;--lilac:#f0eafa}
body{background-image:radial-gradient(ellipse at 95% 4%,#ffe5d580,transparent 40%)}header,main,footer{max-width:1320px}header{background:var(--surface);border-radius:0 0 1.3rem 1.3rem}.brand img{width:64px;height:64px}.brand strong{font-size:1.65rem;letter-spacing:-.04em}.brand small{color:var(--muted)}nav a{font-size:.93rem;font-weight:600}nav a[aria-current]{background:var(--soft);border-radius:.5rem;padding-inline:.6rem}.emergency{background:#fff0da;color:#663a10;border-color:#e7b66b}.emergency a{color:#663a10}main{padding-top:3rem}h1{font-size:clamp(2.7rem,5.1vw,4.9rem);letter-spacing:-.055em;line-height:1.12;max-width:17ch}h2{font-size:clamp(1.7rem,3vw,2.5rem);max-width:26ch;margin-top:0}h3{font-size:1.25rem;letter-spacing:-.025em}.hero{gap:2.5rem;margin-bottom:3rem}.hero .eyebrow{font-size:.78rem;letter-spacing:.09em}.hero .lead{font-size:1.28rem;font-weight:650;max-width:32ch}.hero p{color:var(--muted)}.hero .hero-note{font-size:.9rem;margin-top:1.5rem}.button,button{border-radius:999px;padding:.85rem 1.2rem}.primary{box-shadow:0 5px 0 #032e2c12}.care-scene{position:relative;align-self:center;min-width:0;background:linear-gradient(145deg,#d7efe8,#b9e1db);border-radius:48% 48% 2rem 2rem;padding:1.5rem .5rem 0;overflow:hidden}.care-scene img{display:block;width:100%;height:auto}.scene-caption{background:#fff6e3;color:#173b3c;padding:1.2rem;text-align:center;border-radius:1.5rem 1.5rem 0 0;margin-inline:1rem}.scene-caption strong,.scene-caption span{display:block}.scene-caption span{font-size:.75rem;margin-top:.3rem}.stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:var(--accent);color:var(--on-accent);border:0;border-radius:1.3rem;padding:1.8rem;gap:1.5rem;margin-bottom:5rem}.stats strong,.stats span{display:block}.stats strong{font-size:1.5rem;line-height:1.4}.stats span{font-size:.88rem;margin-top:.35rem}section{margin-bottom:5rem}.cards{gap:1.25rem}.card{border:1px solid #173b3c26;border-radius:1.3rem;padding:1.65rem;box-shadow:0 7px 24px #173b3c06}.card>.icon{display:inline-grid;place-items:center;width:64px;height:64px;background:#fff9;border-radius:1rem;font-size:2.1rem;margin-bottom:.6rem}.card p{margin-bottom:0;color:var(--muted)}.service-grid .card:nth-child(6n+1){background:#def3ed}.service-grid .card:nth-child(6n+2){background:#e4f1ff}.service-grid .card:nth-child(6n+3){background:#fff0da}.service-grid .card:nth-child(6n+4){background:#f0eafa}.service-grid .card:nth-child(6n+5){background:#ffe7e0}.service-grid .card:nth-child(6n){background:#e9f1d9}.service-section>p{margin-bottom:2rem}.banner{border:0;border-radius:1.6rem;padding:clamp(1.4rem,4vw,3.5rem)}.story{background:linear-gradient(110deg,#fff0da,#ffe6de);border-left:8px solid var(--coral)}.story p{max-width:85ch}.steps-grid{counter-reset:steps}.steps-grid .card{position:relative;border-top:5px solid var(--accent)}.steps-grid .card::before{counter-increment:steps;content:'0' counter(steps);position:absolute;right:1.3rem;top:1rem;font-size:2rem;font-weight:800;color:var(--accent)}.checklist{background:var(--sky);border-left:8px solid #78a8cf}.checklist li{padding:.4rem 0}.area-panel{padding:clamp(1.4rem,4vw,3rem);background:var(--lilac);border-radius:1.6rem}.towns{font-weight:650;line-height:2}.faq{background:var(--surface);border:1px solid var(--border);border-radius:.8rem;padding:.6rem 1.3rem;margin-bottom:.8rem}.faq summary{font-size:1.08rem}.faq p{color:var(--muted)}.closing{background:var(--accent);color:var(--on-accent);position:relative;border-bottom:8px solid var(--coral)}.closing .primary{background:var(--surface);color:var(--accent);border-color:var(--surface);margin-top:1rem}footer{background:var(--soft);border:0;border-radius:2rem 2rem 0 0;padding-top:2.5rem}.branch-contacts{border-top:1px solid var(--border);padding-top:2rem}.branch-contacts h2{font-size:1.5rem}.branch-contacts h3{margin-top:1.5rem}.floating{box-shadow:0 -4px 20px #173b3c14}.floating button,.floating .button{border-radius:.8rem}.reading summary{font-size:.85rem}.dialog-head button{border-radius:.6rem}
@media(min-width:760px){.hero{grid-template-columns:1.1fr 1fr}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.steps-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){.care-scene{max-width:540px;width:100%;margin:auto}.hero{gap:2rem}.stats{margin-bottom:3rem}.stats strong{font-size:1.2rem}section{margin-bottom:3rem}nav{gap:.15rem .8rem}.brand strong{font-size:1.35rem}.brand img{width:52px;height:52px}.scene-caption{margin-inline:.5rem}.card{padding:1.3rem}}
/* Explicit user themes and operating-system preferences always win over decoration. */
:root[data-theme=dark]{--bg:#102729;--surface:#193638;--ink:#f2f8f6;--muted:#d0e3df;--accent:#a8e5d5;--on-accent:#102729;--soft:#234846;--sky:#213e52;--lilac:#38364c;--border:#96b6b0;--focus:#ffd078}
:root[data-theme=dark] body{background-image:none}:root[data-theme=dark] .service-grid .card,:root[data-theme=dark] .story{background:var(--surface)}:root[data-theme=dark] .card{border-color:var(--border)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=contrast]):not([data-theme=dark]){--bg:#102729;--surface:#193638;--ink:#f2f8f6;--muted:#d0e3df;--accent:#a8e5d5;--on-accent:#102729;--soft:#234846;--sky:#213e52;--lilac:#38364c;--border:#96b6b0;--focus:#ffd078}:root:not([data-theme=light]):not([data-theme=contrast]) body{background-image:none}:root:not([data-theme=light]):not([data-theme=contrast]) .service-grid .card,:root:not([data-theme=light]):not([data-theme=contrast]) .story{background:var(--surface)}}
:root[data-theme=contrast] body{background-image:none}:root[data-theme=contrast] .card,:root[data-theme=contrast] .banner,:root[data-theme=contrast] .area-panel,:root[data-theme=contrast] .care-scene,:root[data-theme=contrast] .scene-caption,:root[data-theme=contrast] .emergency,:root[data-theme=contrast] .stats{background:#000;color:#fff;border:2px solid #fff}:root[data-theme=contrast] .emergency a,:root[data-theme=contrast] .closing .primary{color:#ffff00;background:#000}:root[data-theme=contrast] .card>.icon{background:transparent}
@media(forced-colors:active){.card,.banner,.stats,.area-panel{border:1px solid CanvasText}.care-scene{forced-color-adjust:none}.primary{border:2px solid ButtonText}}
/* A quiet rainbow accent: no animation, flashing, or glow behind reading text. */
:root{--rainbow:linear-gradient(100deg,#ed7865 0%,#f6c55c 24%,#8ad1a7 48%,#86bdeb 73%,#b49cdb 100%)}
header::before{content:"";display:block;height:6px;background:var(--rainbow);border-radius:0 0 1rem 1rem;margin:-1.25rem -5.55% 1.25rem}.care-scene{box-shadow:0 0 0 5px #ffffff,0 0 0 9px #b9e1db,0 16px 50px #83c9b53b}.service-section>h2::after,.process>h2::after{content:"";display:block;width:100px;height:6px;border-radius:999px;background:var(--rainbow);margin-top:1rem}.stats{border-bottom:6px solid transparent;border-image:var(--rainbow) 1}.closing{border-bottom:0}.closing::after{content:"";display:block;height:7px;background:var(--rainbow);border-radius:1rem;margin-top:2rem}:root[data-theme=contrast] header::before,:root[data-theme=contrast] .closing::after,:root[data-theme=contrast] h2::after{background:currentColor}:root[data-theme=contrast] .care-scene{box-shadow:none}
:root[data-theme=contrast]{--bg:#000;--surface:#000;--ink:#fff;--muted:#fff;--accent:#ffff00;--on-accent:#000;--soft:#000;--sky:#000;--lilac:#000;--border:#fff;--focus:#00ffff}
@media(prefers-contrast:more){:root:not([data-theme]),:root[data-theme=auto]{--bg:#fff;--surface:#fff;--ink:#000;--muted:#000;--accent:#003c32;--on-accent:#fff;--soft:#fff;--border:#000}:root:not([data-theme]) body,:root[data-theme=auto] body{background-image:none}}
header::before{margin:0 0 1.25rem}
/* Refined wordmark uses real, selectable text beside the decorative emblem. */
.brand{gap:.9rem}.brand img{width:84px;height:84px;object-fit:contain}.brand strong{display:flex;align-items:baseline;flex-wrap:wrap;gap:.4rem .7rem;line-height:1.15}.brand-initials{font-family:Georgia,"Times New Roman",serif;font-weight:700;font-size:2.5rem;letter-spacing:.06em;color:var(--accent)}.brand-name{font-size:.95rem;font-weight:750;letter-spacing:.1em;text-transform:uppercase}.brand small{font-size:.8rem;margin-top:.45rem;letter-spacing:0}
@media(max-width:500px){.brand{gap:.6rem}.brand img{width:64px;height:64px}.brand-initials{font-size:1.8rem}.brand-name{font-size:.76rem;letter-spacing:.05em}.brand strong{gap:.15rem .4rem}.brand small{font-size:.7rem;max-width:25ch}.topbar{gap:.75rem}.topbar>.language{padding:.6rem .8rem}}

/* VSP supplied brand and clear pre-service questions */
.brand-showcase{margin:0;padding:clamp(.75rem,2vw,1.5rem);background:#fff;border:1px solid #dfd7c9;border-radius:1.6rem;box-shadow:0 18px 48px #16342b12;align-self:center}
.brand-showcase img{display:block;width:100%;height:auto;max-width:500px;margin:auto;border-radius:50%}
.brand-showcase figcaption{font-size:.75rem;text-align:center;color:#53645c;margin-top:.8rem}
.confidence-section{padding-block:2rem}.confidence-section>h2{max-width:25ch}
.confidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem;margin:1.75rem 0}
.confidence-card{padding:1.6rem;border:1px solid var(--border);border-radius:1rem;background:var(--surface)}
.confidence-number{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--soft);color:var(--accent);font-weight:750}
.confidence-card h3{margin:.9rem 0 .6rem}.confidence-card p{font-size:.95rem}
.brand img.vsp-supplied-logo{width:76px;height:76px;object-fit:contain;border-radius:50%;background:white;border:1px solid #d9c68f;padding:2px}
.team-introduction{margin-top:2rem;padding:1.5rem;border-radius:1rem;background:var(--soft)}
@media(max-width:400px){.brand img.vsp-supplied-logo{width:56px;height:56px}.confidence-card{padding:1.2rem}}
