
:root{
  --green-950:#06251d;
  --green-900:#073829;
  --green-800:#07543f;
  --green-700:#08704f;
  --green-600:#0b7d5b;
  --blue-800:#073f5f;
  --blue-700:#075374;
  --ivory:#fbf8f0;
  --ivory-2:#f5f1e6;
  --mint:#edf6ee;
  --line:rgba(6,56,41,.14);
  --gold:#d7b36a;
  --text:#16352b;
  --muted:#5e6d66;
  --shadow:0 22px 60px rgba(6,37,29,.12);
  --radius:24px;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Georgia, "Times New Roman", "Noto Serif", serif;
  --font-tamil: "Noto Serif Tamil", "Noto Sans Tamil", "Latha", "Vijaya", serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth; font-size:16px;}
body{margin:0; background:var(--ivory); color:var(--text); font-family:var(--font-body); line-height:1.65; overflow-x:hidden;}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none}
button, a{ -webkit-tap-highlight-color: transparent; }
.container{width:min(1140px, calc(100% - 36px)); margin-inline:auto;}
.skip-link{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}
.skip-link:focus{left:16px; top:16px; width:auto; height:auto; padding:10px 14px; background:white; z-index:9999; border-radius:8px;}
.site-header{position:sticky; top:0; z-index:1000; background:rgba(255,253,247,.94); backdrop-filter:blur(16px); border-bottom:1px solid var(--line);}
.header-inner{min-height:78px; display:flex; align-items:center; justify-content:space-between; gap:18px;}
.brand{display:flex; align-items:center; gap:12px; min-width:0;}
.brand-logo{width:54px; height:54px; object-fit:contain; flex:0 0 auto;}
.brand-copy{display:flex; align-items:baseline; gap:4px; font-family:var(--font-tamil); font-weight:760; color:var(--green-900); letter-spacing:.005em; min-width:0;}
.brand-name{font-size:clamp(1rem, 2vw, 1.16rem); white-space:nowrap;}
.brand-tagline{font-size:clamp(.72rem, 1.35vw, .9rem); color:var(--green-700); white-space:nowrap;}
.brand-divider{color:#8fa598;}
.nav{display:flex; align-items:center; gap:4px;}
.nav a{font-size:.94rem; font-weight:700; padding:10px 12px; border-radius:999px; color:#253d35;}
.nav a:hover,.nav a[aria-current="page"]{background:rgba(8,112,79,.09); color:var(--green-800);}
.nav .nav-cta{background:var(--green-700); color:#fff; padding:11px 16px; box-shadow:0 10px 24px rgba(8,112,79,.18);}
.nav .nav-cta:hover{background:var(--green-800); color:#fff;}
.menu-toggle{display:none; border:0; background:rgba(6,56,41,.08); border-radius:14px; padding:10px; width:46px; height:46px; align-items:center; justify-content:center; flex:0 0 auto;}
.menu-toggle span{display:block; width:22px; height:2px; background:var(--green-900); border-radius:5px; margin:4px 0; transition:.22s ease;}
.hero{position:relative; min-height:calc(100vh - 78px); overflow:hidden; color:#fff; display:flex; align-items:center; isolation:isolate;}
.hero-bg,.hero-slide,.hero-overlay{position:absolute; inset:0;}
.hero-slide{background-size:cover; background-position:center; opacity:0; animation:heroFade 32s infinite; transform:scale(1.04);}
.hero-slide:nth-child(1){animation-delay:0s}
.hero-slide:nth-child(2){animation-delay:8s}
.hero-slide:nth-child(3){animation-delay:16s}
.hero-slide:nth-child(4){animation-delay:24s}
@keyframes heroFade{0%{opacity:0}5%{opacity:1}25%{opacity:1}31%{opacity:0}100%{opacity:0}}
.hero-overlay{z-index:1; background:linear-gradient(90deg, rgba(4,36,28,.96) 0%, rgba(4,36,28,.86) 37%, rgba(4,36,28,.56) 70%, rgba(4,36,28,.38) 100%), radial-gradient(circle at 22% 20%, rgba(35,132,93,.45), transparent 38%);}
.hero-content{position:relative; z-index:2; width:min(760px,100%); padding:clamp(70px,9vw,118px) 0;}
.eyebrow{display:inline-flex; align-items:center; gap:10px; color:#d9efe5; text-transform:uppercase; letter-spacing:.22em; font-size:.78rem; font-weight:800; margin-bottom:18px;}
.eyebrow::before{content:""; width:34px; height:1px; background:var(--gold); opacity:.9;}
h1,.h1{font-family:var(--font-display); font-weight:700; line-height:1.06; margin:0; font-size:clamp(2.35rem, 5.2vw, 5.25rem); letter-spacing:-.045em; text-wrap:balance;}
.highlight-evidence{position:relative; display:inline-block; padding:.02em .16em .05em; margin-left:-.06em; border-radius:.16em; background:linear-gradient(120deg, rgba(8,112,79,.25), rgba(215,179,106,.18)); color:#e7f6d9; overflow:hidden;}
.highlight-evidence::after{content:""; position:absolute; top:-20%; left:-70%; width:45%; height:140%; background:linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent); transform:skewX(-20deg); animation:shimmer 4.8s ease-in-out infinite;}
@keyframes shimmer{0%,18%{left:-70%; opacity:0}34%{opacity:1}64%{opacity:1}82%,100%{left:130%; opacity:0}}
.typed-line{display:block; margin-top:.08em; color:#fff7df;}
.typed-text{display:inline-block; overflow:hidden; white-space:nowrap; border-right:3px solid var(--gold); width:0; max-width:max-content; animation:typingLoop 7.2s steps(18,end) infinite, caret .75s step-end infinite;}
@keyframes typingLoop{0%,10%{width:0}42%,72%{width:18ch}92%,100%{width:0}}
@keyframes caret{50%{border-color:transparent}}
.hero-actions{display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; align-items:center;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 21px; border-radius:999px; font-weight:800; line-height:1.2; border:1px solid transparent; transition:.2s ease; cursor:pointer; max-width:100%; text-align:center;}
.btn-primary{background:linear-gradient(135deg,var(--green-700),var(--green-900)); color:#fff; box-shadow:0 20px 36px rgba(8,112,79,.24);}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 25px 45px rgba(8,112,79,.3);}
.btn-secondary{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.5); color:#fff;}
.btn-secondary:hover{background:rgba(255,255,255,.14)}
.btn-light{background:#fff; color:var(--green-900); border-color:rgba(6,56,41,.08)}
.btn-outline{border-color:rgba(6,56,41,.22); color:var(--green-900); background:#fff;}
.timing-pill{display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.18); color:#eef8f2; font-weight:700; font-size:.96rem; max-width:100%;}
.kural-card{margin-top:26px; width:min(620px,100%); border:1px solid rgba(255,255,255,.22); background:linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.055)); backdrop-filter:blur(16px); border-radius:22px; padding:18px 20px; box-shadow:0 20px 70px rgba(0,0,0,.16);}
.kural-card blockquote{margin:0; font-family:var(--font-tamil); font-size:clamp(.9rem, 2.05vw, 1.35rem); line-height:1.75; color:#fff; overflow-wrap:normal; letter-spacing:-.01em;}
.kural-line{display:block; white-space:nowrap;}
.kural-card blockquote::before{content:none;}
.kural-card figcaption{margin-top:8px; color:#d8eaa9; font-family:var(--font-tamil); font-weight:700; font-size:.95rem;}
.hero-dots{display:flex; gap:8px; margin-top:18px; opacity:.9;}
.hero-dots span{width:7px; height:7px; border-radius:50%; border:1px solid rgba(255,255,255,.7);}
.hero-dots span:first-child{background:#b6d98d; border-color:#b6d98d;}
.section{padding:clamp(64px, 8vw, 108px) 0;}
.section-soft{background:linear-gradient(180deg,#fffdf8 0%,#f6f1e7 100%);}
.section-dark{background:linear-gradient(135deg,var(--green-950),var(--green-800)); color:#fff;}
.section-head{text-align:center; max-width:850px; margin:0 auto 42px;}
.section-kicker{display:inline-flex; align-items:center; justify-content:center; gap:12px; color:var(--green-700); text-transform:uppercase; letter-spacing:.19em; font-size:.78rem; font-weight:900; margin-bottom:10px;}
.section-kicker::after,.section-kicker::before{content:""; width:32px; height:1px; background:var(--line);}
.section-title{font-family:var(--font-display); line-height:1.12; letter-spacing:-.035em; font-size:clamp(2rem, 4vw, 4rem); margin:0 0 12px; color:var(--green-950); text-wrap:balance;}
.section-dark .section-title{color:#fff;}
.section-subtitle{margin:0 auto; max-width:760px; color:var(--muted); font-size:clamp(1rem,2vw,1.22rem);}
.section-dark .section-subtitle{color:#d8ebe4;}
.grid-2{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px;}
.grid-3{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px;}
.grid-4{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px;}
.card{background:rgba(255,255,255,.82); border:1px solid rgba(6,56,41,.12); border-radius:var(--radius); box-shadow:var(--shadow); padding:clamp(22px,3vw,34px); min-width:0; overflow:hidden;}
.card h3{font-family:var(--font-display); font-size:clamp(1.55rem,2.7vw,2.5rem); line-height:1.14; margin:0 0 6px; color:var(--green-950); letter-spacing:-.025em; overflow-wrap:anywhere;}
.card p{color:#4e5f57; margin:12px 0 0;}
.specialty-card{display:flex; flex-direction:column; min-height:100%;}
.specialty-top{display:flex; align-items:center; gap:20px; margin-bottom:18px; min-width:0;}
.icon-circle{width:92px; height:92px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#fff,#eaf6ec); border:1px solid rgba(6,56,41,.12); color:var(--green-700); box-shadow:0 16px 28px rgba(6,56,41,.08);}
.icon-circle svg{width:48px; height:48px; stroke:currentColor; fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round;}
.specialty-meta{font-weight:900; color:var(--green-700); letter-spacing:.02em;}
.chips{display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 24px;}
.chip{display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:9px 12px; border-radius:999px; border:1px solid rgba(6,56,41,.12); background:rgba(255,255,255,.78); font-weight:750; color:#223f35; font-size:.94rem; min-width:0; max-width:100%; overflow-wrap:anywhere;}
.chip::before{content:""; width:8px; height:8px; border-radius:50%; background:var(--green-600); flex:0 0 auto;}
.specialty-card.resp .icon-circle,.specialty-card.resp .chip::before{color:var(--blue-700); background:linear-gradient(135deg,#fff,#eef8fb);}
.specialty-card.resp .specialty-meta{color:var(--blue-800);}
.specialty-card.resp .chip::before{background:var(--blue-700);}
.card-actions{margin-top:auto;}
.card-actions .btn{width:100%;}
.doctor-card{display:grid; grid-template-columns:220px minmax(0,1fr); gap:26px; align-items:center;}
.doctor-photo{border-radius:24px; overflow:hidden; background:#eef6ee; border:1px solid rgba(6,56,41,.12); aspect-ratio:1/1;}
.doctor-card h3{font-size:clamp(1.42rem,2.8vw,2.55rem);}
.credential{font-weight:900; color:var(--green-700); margin:.1rem 0 .55rem; overflow-wrap:anywhere;}
.doctor-card.resp .credential{color:var(--blue-800)}
.doctor-focus{display:inline-flex; max-width:100%; flex-wrap:wrap; gap:8px; align-items:center; margin:8px 0 6px; padding:9px 13px; border-radius:999px; background:rgba(8,112,79,.08); color:var(--green-900); font-weight:850; overflow-wrap:anywhere;}
.doctor-card.resp .doctor-focus{background:rgba(7,83,116,.09); color:var(--blue-800)}
.why-card{text-align:center; display:flex; flex-direction:column; align-items:center; gap:12px;}
.why-card .icon-circle{width:78px; height:78px;}
.why-card h3{font-family:var(--font-body); font-size:1.25rem; letter-spacing:0; margin:0;}
.why-card p{margin:0;}
.cta-strip{background:linear-gradient(135deg,#eef8ee,#fffdf7); border:1px solid rgba(6,56,41,.1); border-radius:32px; padding:clamp(22px,4vw,36px); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:24px; align-items:center; box-shadow:var(--shadow);}
.cta-strip h2{font-family:var(--font-display); font-size:clamp(1.8rem,3.2vw,3.2rem); line-height:1.1; margin:0 0 8px; color:var(--green-950);}
.cta-strip p{margin:0; color:var(--muted); font-size:1.08rem;}
.cta-actions{display:grid; grid-template-columns:1fr; gap:12px;}
.contact-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:start;}
.info-list{display:grid; gap:16px;}
.info-item{display:flex; gap:14px; align-items:flex-start; padding:18px; border-radius:20px; background:#fff; border:1px solid rgba(6,56,41,.1);}
.info-icon{width:42px; height:42px; border-radius:50%; flex:0 0 auto; display:grid; place-items:center; background:var(--mint); color:var(--green-700); font-weight:900;}
.info-item h3{margin:0 0 4px; font-size:1.05rem; color:var(--green-900);}
.info-item p{margin:0; color:#40534c;}
.map-card{min-height:390px; border-radius:28px; border:1px dashed rgba(6,56,41,.25); background:radial-gradient(circle at 20% 15%, rgba(8,112,79,.16), transparent 32%), linear-gradient(135deg,#edf6ee,#fffdf8); display:flex; align-items:center; justify-content:center; text-align:center; padding:28px; color:var(--green-900); box-shadow:var(--shadow);}
.map-card h3{font-family:var(--font-display); font-size:clamp(1.6rem,3vw,2.4rem); margin:0 0 8px;}
.map-card p{margin:0 auto 20px; color:var(--muted); max-width:400px;}
.footer{background:linear-gradient(135deg,#041f18,#063b2b); color:#e9f6ef; padding:54px 0 22px;}
.footer-grid{display:grid; grid-template-columns:1.1fr 1.2fr .8fr .9fr; gap:34px; align-items:start;}
.footer h2,.footer h3{margin:0 0 12px; color:#fff;}
.footer h2{font-family:var(--font-display); font-size:1.65rem; line-height:1.15;}
.footer p,.footer a{color:#cfe4da;}
.footer a{display:block; padding:4px 0;}
.footer .brand-logo{width:72px; height:72px; filter:drop-shadow(0 8px 18px rgba(0,0,0,.2));}
.footer-bottom{margin-top:34px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); color:#b9d5c8; font-size:.92rem;}
.footer .footer-contact-btn{box-shadow:none; border-color:rgba(255,255,255,.16);}

.page-hero{background:linear-gradient(135deg, #052b21 0%, #07533e 100%); color:#fff; padding:clamp(58px,8vw,100px) 0; position:relative; overflow:hidden;}
.page-hero::after{content:""; position:absolute; inset:auto -10% -65% auto; width:55%; height:120%; border-radius:50%; background:rgba(215,179,106,.12); filter:blur(30px);}
.page-hero .container{position:relative; z-index:1;}
.breadcrumb{font-weight:900; color:#c6dfd3; letter-spacing:.16em; text-transform:uppercase; font-size:.78rem; margin-bottom:10px;}
.page-hero h1{max-width:900px;}
.page-hero p{max-width:760px; color:#d9ede4; font-size:clamp(1rem,2vw,1.22rem);}
.text-panel{background:#fff; border:1px solid rgba(6,56,41,.1); border-radius:28px; padding:clamp(24px,4vw,44px); box-shadow:var(--shadow);}
.text-panel p:first-child{margin-top:0;}
.text-panel p:last-child{margin-bottom:0;}
.doctors-intro strong{color:var(--green-900); font-weight:900; background:linear-gradient(180deg, transparent 56%, rgba(215,179,106,.23) 56%); padding:0 .04em;}
.profile-list{margin:22px 0 0; display:grid; gap:12px;}
.profile-list .chip{justify-content:flex-start;}
.services-layout{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.service-block h2{font-family:var(--font-display); font-size:clamp(1.7rem,3vw,2.8rem); margin:0 0 10px; color:var(--green-950);}
.service-list{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; margin:22px 0 0; list-style:none;}
.service-list li{padding:12px 14px; border-radius:16px; background:rgba(8,112,79,.07); color:#203c33; font-weight:760; overflow-wrap:anywhere;}
.service-block.resp .service-list li{background:rgba(7,83,116,.08)}
.notice-card{margin-top:24px; padding:22px; border-radius:22px; background:linear-gradient(135deg,rgba(8,112,79,.09),rgba(215,179,106,.08)); border:1px solid rgba(6,56,41,.1);}
@media (max-width: 1080px){
  .nav{position:fixed; top:78px; left:18px; right:18px; display:none; flex-direction:column; align-items:stretch; padding:14px; border-radius:24px; background:rgba(255,253,247,.98); box-shadow:0 30px 80px rgba(6,37,29,.22); border:1px solid rgba(6,56,41,.12);}
  body.nav-open .nav{display:flex;}
  .nav a{padding:14px 16px; text-align:left;}
  .nav .nav-cta{text-align:center;}
  .menu-toggle{display:flex; flex-direction:column;}
  body.nav-open .menu-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  body.nav-open .menu-toggle span:nth-child(2){opacity:0}
  body.nav-open .menu-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .contact-grid,.cta-strip{grid-template-columns:1fr;}
  .services-layout{grid-template-columns:1fr;}
}
@media (max-width: 720px){
  .container{width:min(100% - 28px, 640px);}
  .header-inner{min-height:70px;}
  .brand-logo{width:42px; height:42px;}
  .brand-copy{flex-direction:column; align-items:flex-start; gap:1px; line-height:1.12; max-width:calc(100vw - 124px);}
  .brand-divider{display:none;}
  .brand-name{font-size:.98rem; max-width:100%; overflow:visible; text-overflow:clip;}
  .brand-tagline{font-size:.66rem; white-space:normal; max-width:100%; line-height:1.22;}
  .nav{top:70px;}
  .hero{min-height:auto;}
  .hero-overlay{background:linear-gradient(180deg, rgba(4,36,28,.96) 0%, rgba(4,36,28,.92) 48%, rgba(4,36,28,.84) 100%);}
  .hero-content{padding:58px 0 54px;}
  .eyebrow{font-size:.68rem; letter-spacing:.15em; margin-bottom:14px;}
  h1,.h1{font-size:clamp(2.05rem, 12vw, 3.4rem); line-height:1.08; letter-spacing:-.04em;}
  .typed-line{margin-top:.18em;}
  .typed-text{max-width:100%; font-size:.92em;}
  .hero-actions{display:grid; grid-template-columns:1fr; gap:12px;}
  .btn{width:100%; min-height:52px; padding:14px 16px; white-space:normal;}
  .timing-pill{border-radius:18px; align-items:flex-start; font-size:.94rem; line-height:1.35; width:100%; justify-content:center; text-align:center;}
  .kural-card{padding:14px 12px; border-radius:20px;}
  .kural-card blockquote{font-size:clamp(.64rem, 2.9vw, .96rem); line-height:1.7; text-align:center;}
  .kural-card figcaption{text-align:center; font-size:.78rem;}
  .section{padding:58px 0;}
  .section-head{margin-bottom:28px;}
  .section-kicker{font-size:.68rem; letter-spacing:.14em;}
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr; gap:18px;}
  .card{padding:22px; border-radius:22px;}
  .specialty-top{align-items:flex-start; gap:14px;}
  .icon-circle{width:72px; height:72px;}
  .icon-circle svg{width:38px; height:38px;}
  .chips{gap:8px;}
  .chip{font-size:.88rem; padding:8px 10px;}
  .doctor-card{grid-template-columns:1fr; gap:18px;}
  .doctor-photo{width:min(100%, 360px); margin-inline:auto;}
  .footer-grid{grid-template-columns:1fr; gap:24px;}
  .service-list{grid-template-columns:1fr;}
  .info-item{padding:16px;}
  .map-card{min-height:300px;}
}
@media (max-width: 390px){
  .container{width:calc(100% - 24px);}
  .brand-copy{max-width:calc(100vw - 118px);}
  .brand-name{max-width:100%; font-size:.92rem;}
  .brand-tagline{font-size:.62rem;}
  h1,.h1{font-size:2rem;}
  .card h3{font-size:1.45rem;}
  .section-title{font-size:1.82rem;}
  .specialty-top{flex-direction:column;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition:none !important;}
  .hero-slide:first-child{opacity:1 !important;}
}
