/* Dr. Krishnamoorthy Asokan CMS v3.0.0 — readability and flexible section layouts */
:root{
  --forest:#2e7d32;
  --forest-2:#1d5222;
  --gold:#b58b36;
  --cream:#f5f5dc;
  --ink:#090909;
  --muted:#222;
  --max:1240px;
}
html{font-size:17px}
body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif!important;color:#090909!important;background:#fffef9!important;line-height:1.72}
body p,body li,body dd,body figcaption,body small,body .cms-prose,body .section-head p{color:#111!important}
h1,h2,h3,h4,h5,h6,.brand strong{font-family:'Cinzel',Georgia,serif!important;color:#050505!important;letter-spacing:0!important}
p{font-size:1rem}
.site-header{background:rgba(255,255,255,.96)!important;border-bottom:1px solid #deded6!important}
.site-menu a,.nav-dropdown summary{color:#080808!important;font-family:'Poppins',sans-serif;font-weight:700!important}
.site-menu a:hover,.site-menu a.active,.nav-dropdown summary:hover{background:#eaf4e8!important;color:#174d20!important}
.brand small{color:#111!important}
.eyebrow{color:#1f6528!important;font-family:'Poppins',sans-serif!important;font-weight:700!important}
.section-head{text-align:left!important;max-width:920px!important;margin-left:auto!important;margin-right:auto!important}
.section-head p,.cms-prose p,.cms-prose li{text-align:justify;text-justify:inter-word}

/* Full-width hero */
.cms-hero{
  min-height:min(82svh,780px);
  display:flex;
  align-items:flex-end;
  position:relative;
  isolation:isolate;
  background:#18351e var(--cms-hero-image) center/cover no-repeat!important;
  padding:clamp(90px,12vw,160px) 0 70px;
  color:#fff;
}
.cms-hero:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(3,12,5,.88) 0%,rgba(5,20,8,.72) 46%,rgba(4,18,7,.30) 100%)}
.cms-hero-inner{max-width:980px;margin-left:max(16px,calc((100vw - min(var(--max),calc(100vw - 32px)))/2));margin-right:auto}
.cms-hero h1{color:#fff!important;font-size:clamp(2.35rem,5vw,4.7rem)!important;max-width:1000px;line-height:1.12}
.cms-hero p{color:#fff!important;font-size:clamp(1.04rem,1.7vw,1.25rem);max-width:900px;text-align:justify}
.cms-hero .eyebrow{color:#f3e1ad!important}
.cms-hero .btn{border-radius:10px!important}
.cms-hero .btn.gold{background:#f5f5dc!important;color:#080808!important}
.cms-hero .btn.ghost{color:#fff!important;border-color:rgba(255,255,255,.7)!important;background:rgba(0,0,0,.2)!important}

/* Flexible content section */
.cms-content-section{padding:76px 0;background:#fffef9}
.cms-content-section:nth-of-type(even){background:#faf7ea}
.cms-section-shell{display:grid;gap:34px;align-items:center;margin-inline:auto;padding-inline:16px}
.cms-width-narrow{width:min(820px,100%)}
.cms-width-standard{width:min(1120px,100%)}
.cms-width-wide{width:min(1340px,100%)}
.cms-width-full{width:100%;padding-inline:clamp(16px,4vw,70px)}
.cms-section-copy{min-width:0}
.cms-section-copy h2{font-size:clamp(1.75rem,3.2vw,3rem);margin-bottom:20px}
.cms-prose{font-size:1rem;color:#090909!important}
.cms-prose p{margin:0 0 1.1em}
.cms-prose h3,.cms-prose h4{margin:1.6em 0 .65em;color:#050505!important}
.cms-prose ul,.cms-prose ol{padding-left:1.35rem}
.cms-prose li{margin:.42em 0}
.cms-prose a{color:#165f25;text-decoration:underline;text-underline-offset:3px;font-weight:600}
.cms-prose strong{color:#050505}
.text-align-left .cms-section-copy,.text-align-left .cms-prose p,.text-align-left .cms-prose li{text-align:left}
.text-align-center .cms-section-copy,.text-align-center .cms-prose p,.text-align-center .cms-prose li{text-align:center}
.text-align-right .cms-section-copy,.text-align-right .cms-prose p,.text-align-right .cms-prose li{text-align:right}
.text-align-justify .cms-section-copy{text-align:left}
.text-align-justify .cms-prose p,.text-align-justify .cms-prose li{text-align:justify;text-justify:inter-word}
.image-position-left .cms-section-shell{grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr)}
.image-position-right .cms-section-shell{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr)}
.image-position-top .cms-section-shell,.image-position-bottom .cms-section-shell{grid-template-columns:1fr}
.cms-section-images{display:grid;gap:16px;min-width:0}
.cms-section-images.columns-1{grid-template-columns:1fr}
.cms-section-images.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cms-section-images.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cms-section-images.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cms-section-images figure{margin:0;border-radius:14px;overflow:hidden;background:#f0efe8;border:1px solid #deddd2;box-shadow:0 10px 28px rgba(0,0,0,.08)}
.cms-section-images img{width:100%;height:clamp(230px,26vw,420px);display:block;background:#efeee8}
.cms-section-images.image-fit-cover img{object-fit:cover}
.cms-section-images.image-fit-contain img{object-fit:contain}
.cms-section-images figcaption{padding:11px 13px;background:#fff;color:#111!important;font-size:.86rem;text-align:left}
.image-position-left .cms-section-images.columns-3,.image-position-left .cms-section-images.columns-4,
.image-position-right .cms-section-images.columns-3,.image-position-right .cms-section-images.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
.image-position-left .cms-section-images img,.image-position-right .cms-section-images img{height:clamp(220px,24vw,360px)}

/* Existing components */
.cms-card-grid .portfolio-card,.public-video-card,.public-document-card,.contact-card,.contact-form{background:#fff!important;color:#080808!important;border-color:#dcd9c9!important}
.cms-card-grid h3,.public-video-card h3,.public-document-card h3{color:#050505!important}
.cms-card-grid p,.public-video-card p,.public-document-card p{color:#111!important;text-align:justify}
.cms-stats{background:#1e5b28!important}.cms-stats h2,.cms-stats strong,.cms-stats span,.cms-stats .eyebrow{color:#fff!important}
.pro-cta,.cms-cta{background:#1f5b28!important}.pro-cta h2,.pro-cta p,.pro-cta .eyebrow{color:#fff!important}
.cms-gallery .section-head{text-align:left!important}
.empty-resource-note{grid-column:1/-1;padding:24px;border:1px dashed #999;background:#fff;text-align:center!important}
.footer,.pro-footer{background:#141b15!important}.footer p,.footer a,.pro-footer p,.pro-footer a,.footer small{color:#fff!important}.footer h2,.footer h3{color:#fff!important}
.footer-motto{font-family:'Cinzel',serif;font-size:1.05rem}

@media(max-width:980px){
  .image-position-left .cms-section-shell,.image-position-right .cms-section-shell{grid-template-columns:1fr}
  .image-position-right .cms-section-copy{order:2}.image-position-right .cms-section-images{order:1}
  .cms-section-images.columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cms-hero{min-height:680px;background-position:center}
}
@media(max-width:640px){
  html{font-size:16px}
  .cms-content-section{padding:54px 0}
  .cms-section-shell{gap:24px;padding-inline:12px}
  .cms-width-full{padding-inline:12px}
  .cms-section-images.columns-2,.cms-section-images.columns-3,.cms-section-images.columns-4{grid-template-columns:1fr}
  .cms-section-images img,.image-position-left .cms-section-images img,.image-position-right .cms-section-images img{height:auto;max-height:520px}
  .cms-hero{min-height:640px;padding:110px 0 48px;background-position:58% center}
  .cms-hero:before{background:linear-gradient(180deg,rgba(3,12,5,.70),rgba(3,12,5,.88))}
  .cms-hero p{text-align:left}
}
