/* INGAA LIFE presentation theme, modelled on the bharatfirm.com layout system:
   navy announcement bar and footer, heavy display headings, monospace labels with an amber dash,
   pill buttons, hairline cards on alternating white / cool-grey sections, and a phone action bar.
   INGAA purple takes the accent role so the logo and identity stay INGAA's own.
   Loaded after style.css and experience.css; removing its <link> restores the previous look. */

/* Self-hosted fonts (SIL Open Font License, see fonts/OFL-*.txt). Latin and Tamil subsets only. */
@font-face{font-family:'Anek Latin';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/anek-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Anek Tamil';font-style:normal;font-weight:500 800;font-display:swap;src:url(fonts/anek-tamil.woff2) format('woff2');unicode-range:U+0964-0965,U+0B82-0BFA,U+200C-200D,U+20B9,U+25CC}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/public-sans.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/plex-mono-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --ink:#181A27;          /* text, announcement bar, footer, dark bands */
  --muted:#555A6B;        /* body copy */
  --purple:#5A30AE;       /* INGAA purple: links, buttons, icons */
  --purple-ink:#4A2494;
  --deep:#181A27;
  --lav:#F3EEFB;          /* purple tint: icon tiles, active nav */
  --amber:#E8A317;        /* the theme's dash and underline */
  --amber-light:#F5C451;  /* amber on navy */
  --paper:#FFFFFF;
  --surface:#F6F7FA;      /* alternate sections, chips, table heads */
  --line:#E3E6ED;
  --radius:14px;
  --font-display:'Anek Latin','Segoe UI',system-ui,sans-serif;
  --font-body:'Public Sans','Segoe UI',system-ui,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
  --font-ta-display:'Anek Tamil','Anek Latin','Noto Sans Tamil','Nirmala UI','Latha',sans-serif;
  --font-ta-body:'Public Sans','Noto Sans Tamil','Nirmala UI','Latha',sans-serif;
}
html{scroll-padding-top:110px}

/* ---- Type ---- */
body{background:#fff;color:var(--ink);font:16px/1.65 var(--font-body)}
:lang(ta){font-family:var(--font-ta-body)}
h1,h2,h3{font-family:var(--font-display);color:var(--ink)}
h1{font-weight:780;font-size:clamp(40px,5.2vw,68px);line-height:1.03;letter-spacing:-.012em}
.homehero h1{font-size:clamp(40px,5vw,68px)}
h2{font-weight:740;font-size:clamp(28px,3.3vw,44px);line-height:1.08;letter-spacing:-.01em}
h3{font-weight:680;font-size:21px;line-height:1.22;letter-spacing:-.004em}
.article-layout article h2{font-size:clamp(24px,2.4vw,30px)}
.article-layout article p,.card p,.hero p{color:var(--muted)}
:lang(ta) h1,:lang(ta) h2,:lang(ta) h3{font-family:var(--font-ta-display);font-weight:700;letter-spacing:0;line-height:1.34}
:lang(ta) h1{font-size:clamp(30px,4vw,54px)}
html[lang^="ta"] .homehero h1{font-size:clamp(32px,4vw,54px);line-height:1.3}
:lang(ta) h2{font-size:clamp(24px,2.8vw,36px)}

/* Monospace label with the amber dash */
.eyebrow{display:inline-flex;align-items:flex-start;gap:10px;font:500 12.5px/1.45 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.eyebrow::before{content:"";flex:0 0 18px;height:2px;border-radius:2px;background:var(--amber);margin-top:.68em}
:lang(ta) .eyebrow::before{margin-top:.75em}
.card .eyebrow::before{display:none}
:lang(ta) .eyebrow{font:600 14px/1.6 var(--font-ta-display);letter-spacing:0;text-transform:none}
.section.dark .eyebrow,.result .eyebrow,.cta .eyebrow{color:var(--amber-light)}

/* ---- Announcement bar (preview notice) ---- */
.preview{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;text-align:left;background:var(--deep);color:#fff;font:500 14px/1.5 var(--font-body);letter-spacing:0;padding:9px max(32px,calc((100% - 1220px) / 2))}
.preview::before{content:"";flex:0 0 8px;height:8px;border-radius:50%;background:#3DD68C}
.preview a{margin-left:auto;color:var(--amber-light);font-weight:600;text-decoration:none}
.preview a::after{content:" \2192"}
.preview a:hover{text-decoration:underline}
:lang(ta) .preview{font-family:var(--font-ta-body);font-size:14px}

/* ---- Header and navigation ---- */
.language-bar{background:#fff}
.language-link{font-family:var(--font-body)}
header{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.nav-group summary{list-style:none;display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:8px;font:500 15px/1.3 var(--font-body);color:var(--muted)}
.nav-group summary::-webkit-details-marker{display:none}
.nav-group summary::marker{content:""}
.nav-group summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.75}
.nav-group[open] summary{background:var(--lav);color:var(--purple)}
.nav-group summary:hover{color:var(--purple)}
nav a.nav-search{font:500 15px/1.3 var(--font-body);color:var(--muted);padding:9px 12px;border-radius:8px}
nav a.nav-search:hover{background:var(--lav);color:var(--purple)}
:lang(ta) .nav-group summary,:lang(ta) nav a.nav-search{font-family:var(--font-ta-body);font-size:14px}
.head nav{gap:4px}
.head nav .btn{margin-inline-start:10px}
:lang(ta) .nav-group summary,:lang(ta) nav a.nav-search{padding-inline:9px}
.nav-panel{background:#fff;border-color:var(--line);border-radius:0 0 var(--radius) var(--radius)}
.nav-panel a{color:var(--ink);font-weight:500}
.nav-panel a:hover,.nav-panel a[aria-current]{background:var(--lav);color:var(--purple)}
.menu{border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font:600 15px/1 var(--font-body)}
:lang(ta) .menu{font-family:var(--font-ta-body)}

/* ---- Buttons ---- */
.btn,button.primary{border-radius:999px;padding:12px 22px;min-height:46px;gap:8px;font:600 15.5px/1.25 var(--font-body);letter-spacing:0}
:lang(ta) .btn,:lang(ta) button.primary{font-family:var(--font-ta-body);font-size:15px;line-height:1.5}
.btn:hover,button.primary:hover{filter:none;background:var(--purple-ink);border-color:var(--purple-ink)}
.btn.light{background:#fff;color:var(--ink);border-color:var(--line)}
.btn.light:hover{background:#fff;border-color:#C5CAD6;color:var(--purple)}
.btn.lime{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.btn.lime:hover{background:var(--amber-light);border-color:var(--amber-light)}
.draft-form button[type=reset],.quiz button,.small-button{border-radius:999px;padding:10px 18px;font-weight:600}

/* ---- Hero ---- */
.hero{padding:72px 0 64px}
.hero p{font-size:19px;max-width:640px}
.service-descriptor{color:var(--ink)!important;font-weight:600!important;margin-top:16px}
.homehero h1 em{font-style:normal;color:var(--purple);text-decoration:underline;text-decoration-color:var(--amber);text-decoration-thickness:.085em;text-underline-offset:.14em;text-decoration-skip-ink:none}
html[lang^="ta"] .homehero h1 em{text-underline-offset:.32em;text-decoration-thickness:.07em}
.brand-promise{font-family:var(--font-ta-display);color:var(--muted)}
.hero-art{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 1px 2px rgba(24,26,39,.05),0 14px 28px -18px rgba(24,26,39,.38)}
.hero-art .diagram-caption{background:#fff;border-top:1px solid var(--line);font:500 12.5px/1.5 var(--font-mono);color:var(--muted)}
:lang(ta) .hero-art .diagram-caption{font:500 14px/1.6 var(--font-ta-body)}

/* ---- Sections and cards ---- */
.section{padding:72px 0}
.section.tint{background:var(--surface)}
.section.dark{background:var(--deep)}
.section.dark p{color:rgba(255,255,255,.75)}
.section.dark h2,.section.dark h3{color:#fff}
.card{border-color:var(--line);border-radius:var(--radius);padding:24px;background:#fff}
.card h3{font-size:19px}
@media(prefers-reduced-motion:no-preference){.card{transition:border-color .18s}.card:hover{transform:none;border-color:#C5CAD6}}
.need-number{display:none}
.need-card>.service-icon{width:44px;height:44px;flex:0 0 44px;padding:5px;background:var(--lav);border-radius:10px;margin-bottom:16px}
.icon-tile{width:42px;height:42px;border-radius:10px;background:var(--lav);margin-bottom:16px}
.icon-tile .service-icon{width:24px;height:24px;flex-basis:24px}
.card a.more,.need-card .more{color:var(--purple);font-weight:600}
.symbol{border-radius:10px}
.pill,.tag-row span{font:500 12px/1.35 var(--font-mono);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:4px 8px;color:var(--ink)}
:lang(ta) .pill,:lang(ta) .tag-row span{font:600 13.5px/1.4 var(--font-ta-body)}
.step:before{font:500 13px/1.6 var(--font-mono);color:var(--purple)}
.callout{background:var(--lav);border-radius:var(--radius)}
.sources{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.empty,.quiz{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.motif,.no-image{font-family:var(--font-display)}
:lang(ta) .motif{font-family:var(--font-ta-display)}

/* ---- Inner pages ---- */
.breadcrumb{font-size:13px;color:var(--muted)}
.article-layout aside strong{font:500 12.5px/1.5 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
:lang(ta) .article-layout aside strong{font:600 14px/1.6 var(--font-ta-display);letter-spacing:0;text-transform:none}
.article-layout aside a:hover{color:var(--purple)}
.journey-tabs a,.mini-nav a{border-radius:999px;border:1px solid var(--line);background:#fff;font-weight:500}
.journey-tabs a.active{background:var(--lav);border-color:transparent;color:var(--purple)}
.cta{background:var(--deep);border-radius:var(--radius)}
.cta h2{color:#fff}
.cta p{color:rgba(255,255,255,.75)}
.cta .btn.light{background:transparent;color:#fff;border-color:rgba(255,255,255,.32)}
.cta .btn.light:hover{border-color:#fff;color:#fff}
.result{background:var(--deep);border-radius:var(--radius)}
.result .big{font-family:var(--font-display);font-weight:780}
:lang(ta) .result .big{font-family:var(--font-ta-display)}
.result p{color:rgba(255,255,255,.78)}
.result small{color:rgba(255,255,255,.62)}

/* ---- Forms and tables ---- */
input,select,textarea{border:1px solid #D5D9E2;border-radius:10px}
.formbox,.compare-box,.product-detail-img{border-radius:var(--radius);border-color:var(--line)}
label{color:var(--ink)}
th{background:var(--surface);font:600 13px/1.4 var(--font-body);letter-spacing:0;text-transform:none;color:var(--muted)}
:lang(ta) th{font:600 14px/1.5 var(--font-ta-body);letter-spacing:0;text-transform:none}
th,td{border-bottom-color:var(--line)}

/* ---- Footer ---- */
footer{background:var(--deep);color:rgba(255,255,255,.75);border-top:0;padding:64px 0 32px}
.foot strong{display:block;margin-bottom:6px;font:500 12px/1.5 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#fff}
:lang(ta) .foot strong{font:600 14px/1.6 var(--font-ta-display);letter-spacing:0;text-transform:none}
.foot a{color:rgba(255,255,255,.82)}
.foot a:hover{color:#fff}
.foot .note,.foot .tagline{color:rgba(255,255,255,.7)}
.foot .brand-art img{filter:brightness(0) invert(1)}
.copyright{border-top-color:rgba(255,255,255,.14);color:rgba(255,255,255,.6)}
.copyright a{color:rgba(255,255,255,.82)}
footer a:focus-visible{outline-color:var(--amber-light)}

/* ---- Phone action bar (the theme's sticky WhatsApp / quote bar) ---- */
.mobile-cta{display:none}
@media(max-width:760px){
  .hero{padding:32px 0 40px}
  .section{padding:48px 0}
  .preview{display:block;padding:10px 16px}
  .preview::before{display:inline-block;width:8px;margin-right:10px;vertical-align:.1em}
  .preview a{display:inline-block;margin:4px 0 0}
  .brand-art img{width:176px}
  /* Footer: logo block gets its own row so the 250px logo never runs into the link columns. */
  .foot>div:first-child{grid-column:1/-1}
  .foot .brand-art{display:block;min-height:0}
  .foot .brand-art img{width:min(220px,100%)}
  /* It is a <nav>: undo style.css's phone rules for the main menu (column, top:72px, panel padding). */
  .mobile-cta{display:flex;flex-direction:row;align-items:stretch;gap:10px;position:fixed;inset-inline:0;top:auto;bottom:0;z-index:30;max-height:none;overflow:visible;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);box-shadow:0 -10px 24px -20px rgba(24,26,39,.5)}
  .mobile-cta .btn{flex:1 1 auto;margin:0;min-height:48px;padding:8px 12px;text-align:center;font-size:14.5px}
  :lang(ta) .mobile-cta .btn{font-size:13.5px;line-height:1.35}
  body{padding-bottom:76px}
  body[data-page=quote] .mobile-cta,body[data-page=support] .mobile-cta,body[data-page=join] .mobile-cta,body[data-page=contact] .mobile-cta{display:none}
  body[data-page=quote],body[data-page=support],body[data-page=join],body[data-page=contact]{padding-bottom:0}
}
@media print{.mobile-cta{display:none!important}footer{background:none;color:inherit}}

/* ==== Mega menu (modelled on infoc.com): intro column, grouped items with icons, featured card ==== */
.i{width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.btn .i{width:18px;height:18px;flex-basis:18px}
@media(prefers-reduced-motion:no-preference){.btn .i,.mega-all .i{transition:transform .15s}.btn:hover .i,.mega-all:hover .i,.mega-feature:hover .mega-all .i{transform:translateX(3px)}}
nav a.nav-link{font:500 15px/1.3 var(--font-body);color:var(--muted);padding:9px 12px;border-radius:8px;text-decoration:none}
nav a.nav-link:hover{background:var(--lav);color:var(--purple)}
:lang(ta) nav a.nav-link{font-family:var(--font-ta-body);font-size:14px;padding-inline:9px}
nav a.nav-search{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
nav a.nav-search:hover{border-color:#C5CAD6;background:#fff;color:var(--purple)}
.nav-search-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.nav-panel.mega-panel{display:flex;align-items:flex-start;gap:24px;padding:28px 28px 30px;border-top:0;box-shadow:0 28px 48px -28px rgba(24,26,39,.4)}
.mega-intro{flex:0 0 220px;padding-right:8px}
.mega-label,.mega-group{margin:0 0 8px;font:500 11.5px/1.4 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--purple)}
.mega-title{margin:0 0 10px;font:740 22px/1.15 var(--font-display);color:var(--ink);letter-spacing:-.006em}
.mega-intro>p:not([class]){margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--muted)}
.mega-panel a.mega-all,.mega-all{display:inline-flex;align-items:center;gap:6px;padding:0;font-weight:600;font-size:14.5px;color:var(--purple);text-decoration:none}
.mega-all .i{width:16px;height:16px;flex-basis:16px}
.mega-panel a.mega-all:hover{background:none;text-decoration:underline}
.mega-col{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:2px}
.mega-group{margin:2px 12px 6px}
.mega-group:not(:first-child){margin-top:16px}
.mega-panel a.mega-item{display:flex;align-items:flex-start;gap:12px;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none}
.mega-item .i{margin-top:1px;color:var(--purple)}
.mega-item strong{display:block;font-weight:600;font-size:14.5px;line-height:1.35}
.mega-item small{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--muted)}
.mega-panel a.mega-item:hover{background:var(--surface);color:var(--ink)}
.mega-panel a.mega-item:hover strong{color:var(--purple)}
.mega-panel a.mega-feature{flex:0 0 250px;align-self:flex-start;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:20px;border-left:3px solid var(--purple);border-radius:0 12px 12px 0;background:var(--surface);color:var(--ink);text-decoration:none}
.mega-feature>.i{width:24px;height:24px;flex-basis:24px;margin-bottom:4px;color:var(--purple)}
.mega-feature strong{font:700 17px/1.25 var(--font-display)}
.mega-feature small{font-size:13.5px;line-height:1.5;color:var(--muted)}
.mega-feature .mega-all{padding-top:8px}
.mega-panel a.mega-feature:hover{background:var(--lav)}
:lang(ta) .mega-label,:lang(ta) .mega-group{font:600 13px/1.5 var(--font-ta-display);letter-spacing:0;text-transform:none}
:lang(ta) .mega-title,:lang(ta) .mega-feature strong{font-family:var(--font-ta-display);font-weight:700;line-height:1.35}
:lang(ta) .mega-title{font-size:20px}
:lang(ta) .mega-item strong{font-size:14px}
/* Tamil runs longer: narrower side columns and tighter items keep each panel within the screen. */
:lang(ta) .mega-intro{flex-basis:190px}
:lang(ta) .mega-panel a.mega-feature{flex-basis:220px}
:lang(ta) .nav-panel.mega-panel{gap:18px}
:lang(ta) .mega-panel a.mega-item{padding:7px 10px}
:lang(ta) .mega-item small{font-size:12.5px;line-height:1.4}

/* A button row that is also the page wrap (contact page): keep the wrap's centring. */
.wrap.actions{margin:28px auto 56px}

/* ==== Footer: dark, call-to-action row, bold headings, arrow links, colour switch ==== */
footer{padding:0 0 28px}
.foot-cta{display:flex;align-items:center;justify-content:space-between;gap:20px 40px;padding:44px 0;margin-bottom:48px;border-bottom:1px solid rgba(255,255,255,.12)}
.foot-cta-title{margin:0 0 6px;font:740 clamp(22px,2.4vw,30px)/1.15 var(--font-display);color:#fff}
:lang(ta) .foot-cta-title{font-family:var(--font-ta-display);line-height:1.35}
.foot-cta p:not(.foot-cta-title){margin:0;max-width:560px;color:rgba(255,255,255,.72)}
.foot-cta-actions{display:flex;flex-wrap:wrap;gap:12px;flex-shrink:0}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.35)}
.btn.ghost:hover{background:rgba(255,255,255,.06);border-color:#fff;color:#fff}
.foot{grid-template-columns:1.35fr repeat(4,1fr);gap:36px}
/* Pages that end with their own call to action have no footer band above the links. */
.foot:first-child{padding-top:56px}
.foot-head{margin:0 0 14px;font:700 15px/1.3 var(--font-body);color:#fff}
:lang(ta) .foot-head{font-family:var(--font-ta-display)}
.foot>div>a:not(.brand-art){display:flex;align-items:center;gap:10px;margin:0 0 10px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.76);text-decoration:none}
.foot>div>a:not(.brand-art)::before{content:"";flex:0 0 6px;width:6px;height:6px;border-top:1.6px solid currentColor;border-right:1.6px solid currentColor;transform:rotate(45deg);opacity:.55}
@media(prefers-reduced-motion:no-preference){.foot>div>a:not(.brand-art)::before{transition:transform .15s,opacity .15s}}
.foot>div>a:not(.brand-art):hover{color:#fff}
.foot>div>a:not(.brand-art):hover::before{opacity:1;border-color:var(--amber-light);transform:translateX(2px) rotate(45deg)}
.foot a.strong{font-weight:700;color:#fff}
.foot-brand .tagline{margin:14px 0 4px;font-size:15px;font-weight:700;letter-spacing:.02em;color:#fff}
.foot-place{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:14px;color:rgba(255,255,255,.72)}
.foot-place .i{width:18px;height:18px;flex-basis:18px;color:var(--amber-light)}
.copyright{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-top:40px;padding-top:22px}
.copyright a.to-top{color:rgba(255,255,255,.85);font-weight:600;text-decoration:none}
.copyright a.to-top:hover{color:#fff;text-decoration:underline}

@media(max-width:1000px){.foot{grid-template-columns:repeat(2,minmax(0,1fr))}.foot>div:first-child{grid-column:1/-1}}
@media(max-width:760px){
  /* The phone menu scrolls (max-height in style.css); a wrapping column would spill into a second column. */
  .head nav{flex-wrap:nowrap}
  body:has(#navigation.open) .mobile-cta{display:none}
  .nav-panel.mega-panel{display:block;padding:4px 0 10px;border:0;box-shadow:none}
  .mega-intro{display:none}
  .mega-col{display:block}
  .mega-group{margin:14px 12px 4px}
  .mega-panel a.mega-feature{margin:12px 12px 4px;border-radius:12px}
  nav a.nav-search{width:auto;height:auto;justify-content:flex-start;gap:10px;padding:12px;border:0;border-radius:8px}
  .nav-search-label{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
  .foot-cta{display:block;padding:32px 0;margin-bottom:32px}
  .foot-cta-actions{margin-top:18px}
  .foot-cta-actions .btn{flex:1 1 220px}
  .foot:first-child{padding-top:40px}
  .copyright{display:flex;flex-direction:column;align-items:flex-start}
}

/* ==== Home page: compact hero, image service cards, steps, tiles, trained professionals band ==== */
.home-hero{padding:56px 0 48px}
.home-hero .actions{margin:24px 0 0}
.chips{display:flex;flex-wrap:wrap;gap:8px 18px;margin:20px 0 0;padding:0;list-style:none}
.chips li{display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--ink)}
.chips .i{width:18px;height:18px;flex-basis:18px;color:#1E7B4A;stroke-width:2.4}
.svc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:24px}
.svc-card{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none}
.svc-card img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.svc-body{display:flex;flex:1;flex-direction:column;gap:6px;padding:16px 18px 18px}
.svc-title{display:flex;align-items:center;gap:10px;font:700 18px/1.25 var(--font-display)}
.svc-title .i{color:var(--purple)}
.svc-text{font-size:14.5px;line-height:1.5;color:var(--muted)}
.svc-card .more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:8px;font-size:14.5px;font-weight:600;color:var(--purple)}
.svc-card .more .i,.tile>.i:last-child{width:16px;height:16px;flex-basis:16px}
.svc-card:hover,.tile:hover{border-color:#C5CAD6}
@media(prefers-reduced-motion:no-preference){.svc-card .more .i,.tile>.i:last-child{transition:transform .15s}.svc-card:hover .more .i,.tile:hover>.i:last-child{transform:translateX(3px)}}
:lang(ta) .svc-title{font-family:var(--font-ta-display);font-size:17px}
.step-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:24px 0 0;padding:0;list-style:none}
.step-row li{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.step-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-bottom:6px;border-radius:10px;background:var(--lav);color:var(--purple)}
.step-num{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;background:var(--purple);color:#fff;font:600 12.5px/22px var(--font-mono);text-align:center}
.step-row strong{font:700 17px/1.3 var(--font-display)}
:lang(ta) .step-row strong{font-family:var(--font-ta-display);font-size:16px}
.step-row li>span:last-child{font-size:14px;line-height:1.5;color:var(--muted)}
.two-up{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.tile{display:flex;align-items:center;gap:12px;min-height:60px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.tile>.i:first-child{width:22px;height:22px;flex-basis:22px;color:var(--purple)}
.tile>span{flex:1;min-width:0}
.tile strong{display:block;font-size:15px;font-weight:600}
.tile small{display:block;font-size:13px;line-height:1.4;color:var(--muted)}
.tile>.i:last-child{color:var(--muted)}
.tile:hover>.i:last-child{color:var(--purple)}
.pro-section{background:var(--deep)}
.pro-band{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:44px}
.pro-band img{display:block;width:100%;height:auto;border-radius:var(--radius)}
.pro-band h2{color:#fff}
.pro-band p{color:rgba(255,255,255,.78)}
.pro-band .eyebrow{color:var(--amber-light)}
.pro-band .btn{background:var(--amber);border-color:var(--amber);color:var(--ink)}
.pro-band .btn.light{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.area-strip{border-block:1px solid var(--line);background:var(--surface)}
.area-strip .wrap{display:flex;align-items:center;gap:14px;padding:18px 0}
.area-strip .wrap>.i{width:24px;height:24px;flex-basis:24px;color:var(--purple)}
.area-strip p{flex:1;margin:0;font-weight:500}
.area-strip a{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--purple);text-decoration:none;white-space:nowrap}
.faq-wrap{max-width:820px}

/* ==== Forms: intro and checklist left, form card right (form first on phones) ==== */
.form-page{padding:24px 0 64px}
.form-page .journey-tabs{display:flex;flex-wrap:wrap;gap:8px;width:auto;margin:0 0 28px}
.form-page .journey-tabs a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:0 16px;color:var(--ink);text-decoration:none}
.form-page .journey-tabs a .i{width:18px;height:18px;flex-basis:18px}
.form-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);grid-template-rows:auto 1fr;grid-template-areas:"intro form" "aside form";align-items:start;gap:24px 56px}
.form-intro{grid-area:intro}
.form-intro h1{margin:10px 0 12px;font-size:clamp(34px,4vw,52px)}
.form-intro p{max-width:520px;font-size:18px;color:var(--muted)}
.form-card{grid-area:form;position:sticky;top:96px;padding:28px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 1px 2px rgba(24,26,39,.05),0 20px 40px -28px rgba(24,26,39,.45)}
.form-aside{grid-area:aside;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.form-head{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.form-head h2{margin:0 0 4px;font-size:24px}
.form-head p{margin:0;font-size:14.5px;color:var(--muted)}
.form-head .req-note{margin-top:4px;font-size:13px}
.form-card label{margin-bottom:16px;font-size:14.5px;font-weight:600}
.req{margin-left:3px;color:#B42318}
.hint{display:block;margin-top:2px;font-size:13px;font-weight:400;color:var(--muted)}
.form-card input:not([type=checkbox]):not([type=radio]),.form-card textarea{min-height:48px;padding:12px 14px;border:1px solid #CDD2DC;border-radius:10px;background:#fff;font-size:16px}
.form-card textarea{min-height:96px}
.form-card input:not([type=checkbox]):not([type=radio]):focus,.form-card textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--lav)}
fieldset.choice{min-width:0;margin:0 0 16px;padding:0;border:0}
fieldset.choice legend{margin-bottom:8px;padding:0;font-size:14.5px;font-weight:600}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.choice-card span{min-width:0;overflow-wrap:anywhere}
.choice-grid.list{grid-template-columns:1fr}
.form-card .choice-card{position:relative;display:flex;align-items:center;gap:10px;min-height:52px;margin:0;padding:10px 12px;border:1.5px solid #CDD2DC;border-radius:12px;background:#fff;font-size:14.5px;font-weight:600;cursor:pointer}
.choice-card input{position:absolute;width:1px;height:1px;opacity:0}
.choice-card .i{color:var(--purple)}
.choice-card:hover{border-color:#9AA1B2}
.choice-card:has(input:checked){border-color:var(--purple);background:var(--lav);box-shadow:inset 0 0 0 1px var(--purple)}
.choice-card:has(input:focus-visible){outline:3px solid #af6eff;outline-offset:2px}
:lang(ta) .choice-card{font-size:14px}
.form-card .optional-details{margin:4px 0 16px;padding-top:12px;border-top:1px dashed var(--line)}
.form-card .optional-details summary{margin-bottom:12px;color:var(--purple);font-weight:600;cursor:pointer}
.form-card .check{display:flex;align-items:flex-start;gap:10px;margin:8px 0 18px;font-size:14px;font-weight:400;color:var(--muted)}
.form-card .check input{flex:0 0 22px;width:22px;height:22px;margin:0}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.draft-form .form-actions button{margin:0}
.form-actions .primary{flex:1 1 220px;justify-content:center;min-height:52px;font-size:16px}
.draft-form .form-actions .text-button{padding:8px 4px;border:0;background:none;color:var(--muted);font-weight:500;text-decoration:underline}
.form-aside h2{margin:0 0 12px;font-size:20px}
.ready-list{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.ready-list li{display:flex;align-items:flex-start;gap:12px;font-size:14.5px;line-height:1.5}
.ready-list .i,.ready-links .i:first-child{color:var(--purple)}
.ready-list .i{margin-top:2px}
.ready-links{display:grid;gap:8px}
.ready-links a{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:600;text-decoration:none}
.ready-links a span{flex:1}
.form-aside .warn{display:flex;align-items:flex-start;gap:12px;margin:16px 0 0;padding:14px;border:1px solid #FECDCA;border-radius:12px;background:#FEF3F2;font-size:14px;color:#7A271A}
.form-aside .warn .i{width:22px;height:22px;flex-basis:22px;color:#B42318}
.form-aside .note{margin:14px 0 0;font-size:14px}
.privacy-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:14px;font-weight:600;color:var(--purple);text-decoration:none}
.privacy-link .i{width:16px;height:16px;flex-basis:16px}

@media(max-width:1000px){
  .svc-grid,.step-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .two-up,.pro-band{grid-template-columns:1fr}
  .form-layout{grid-template-columns:1fr;grid-template-areas:"intro" "form" "aside"}
  .form-card{position:static}
}
@media(max-width:760px){
  /* The form tabs are a <nav>: undo style.css's phone rules for the main menu (absolute dropdown panel). */
  .form-page .journey-tabs{position:static;display:flex;flex-direction:row;flex-wrap:wrap;gap:6px;padding:0;background:none;box-shadow:none}
  .form-page .journey-tabs a{min-height:40px;padding:0 12px;font-size:14px}
  .form-page{padding-top:16px}
  .home-hero .hero-art img{aspect-ratio:16/10;object-fit:cover}
}
@media(max-width:560px){
  .home-hero{padding:28px 0 32px}
  .svc-grid{gap:12px}
  .svc-body{padding:12px 12px 14px}
  .svc-title{font-size:16px;gap:8px}
  .svc-text{font-size:13.5px}
  .step-row{grid-template-columns:1fr}
  .form-card{padding:20px 16px}
  .area-strip .wrap{flex-wrap:wrap}
}

/* ==== Header: language switch beside the logo; icon menu button on phones ==== */
.lang-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;margin-right:auto;border:1px solid var(--line);border-radius:999px;background:#fff}
.lang-switch .language-link{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border-radius:999px;font:600 13px/1 var(--font-body);color:var(--muted);text-decoration:none}
.lang-switch .language-link[lang=ta]{font-family:var(--font-ta-body);font-size:13.5px}
.lang-switch .language-link[aria-current]{background:var(--purple);color:#fff}
.lang-switch .language-link:not([aria-current]):hover{background:var(--lav);color:var(--purple)}
.menu{align-items:center;gap:8px}
.menu .i{width:22px;height:22px;flex-basis:22px}
.foot-lang{display:flex;gap:14px}
.foot-lang .language-link{color:rgba(255,255,255,.82);font-weight:600;text-decoration:none}
.foot-lang .language-link[lang=ta]{font-family:var(--font-ta-body)}
.foot-lang .language-link[aria-current]{color:#fff;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--amber-light)}
@media(max-width:760px){
  .js .menu{display:inline-flex}
  .menu{width:46px;height:46px;justify-content:center;padding:0}
  .menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .head{gap:10px;flex-wrap:nowrap}
  .brand-art img{width:150px}
  .lang-switch{margin-left:2px}
  .lang-switch .language-link{min-height:36px;padding:0 11px}
  .foot-lang .language-link{min-height:44px}
}


/* ==== Design and motion review fixes (2026-10-20) ==== */
:lang(ta) .choice-card span{overflow-wrap:break-word}
:lang(ta) .product-detail-img+div :is(th,td){overflow-wrap:break-word}
@media(max-width:560px){
  :lang(ta) .choice-grid{grid-template-columns:1fr}
  .product-detail-img+div :is(table,tbody,tr,th,td){display:block;width:auto}
  .product-detail-img+div th{padding-bottom:2px;border-bottom:0}
  .product-detail-img+div td{padding-top:4px}
  .svc-grid{grid-template-columns:1fr}
  .svc-card{flex-direction:row}
  .svc-card img{width:38%;flex:0 0 38%;aspect-ratio:auto;object-fit:cover}
  .svc-body{padding:14px 16px}
  .tile-grid{grid-template-columns:1fr}
  .form-intro h1{font-size:30px}
  :lang(ta) .form-intro h1{font-size:26px}
  .eyebrow{letter-spacing:.04em}
}
@media(min-width:761px){.head nav a.nav-link,.head .nav-group summary{padding-inline:9px}:lang(ta) .head nav{flex:1 0 100%}:lang(ta) .head nav a.nav-search{margin-inline-start:auto}html:lang(ta){scroll-padding-top:180px}}
@media(min-width:761px) and (max-width:1259px){.head nav{flex:1 0 100%}.head nav a.nav-search{margin-inline-start:auto}html{scroll-padding-top:180px}}
.skip{top:0;transform:translateY(-100%)}
.skip:focus{transform:none}
@media(max-width:760px){
  .js .head nav.open{border-bottom:1px solid var(--line)}
  body:has(#navigation.open){overflow:hidden}
  body:has(#navigation.open) header{background:#fff}
  body:has(#navigation.open)::after{content:"";position:fixed;inset:0;z-index:19;background:rgba(24,26,39,.45)}
  .home-hero .actions .btn.light{display:none}
  .preview-more{display:none}
  .foot>div>a:not(.brand-art){margin:0}
}
.preview::before{background:var(--amber-light)}
.nav-group[open] summary::after{transform:translateY(1px) rotate(225deg)}
@keyframes menu-in{from{opacity:0;transform:translateY(-6px)}}
@keyframes scrim-in{from{opacity:0}}
.faq-wrap{max-width:none}
.faq-wrap>*{max-width:820px}
.faq summary,.form-card .optional-details summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker,.optional-details summary::-webkit-details-marker{display:none}
.faq summary::after,.optional-details summary::after{content:"";flex:0 0 8px;height:8px;border-right:2px solid var(--purple);border-bottom:2px solid var(--purple);transform:translateY(-3px) rotate(45deg)}
.faq[open] summary::after,.optional-details[open] summary::after{transform:translateY(2px) rotate(225deg)}
.product-detail-img+div h2{font-size:clamp(22px,2.2vw,28px);line-height:1.3}
:lang(ta) .product-detail-img+div h2{line-height:1.45}
.breadcrumb+.hero{padding-top:32px}
.card.filter-item{display:flex;flex-direction:column}
.card.filter-item>br{display:none}
.card.filter-item .compare-toggle{margin-top:auto;padding-top:8px}
.card.filter-item a.more{margin-top:10px}
.mega-panel a.mega-feature{border-left:0;border-radius:12px}
.hero p.note,:lang(ta) .hero p.note{font-size:14px;line-height:1.6}
h1,h2{text-wrap:balance}
@media(prefers-reduced-motion:no-preference){
  .nav-group summary::after,.faq summary::after,.optional-details summary::after{transition:transform .18s ease-out}
  .nav-group[open]>.nav-panel,.js .head nav.open{animation:menu-in .18s cubic-bezier(.2,.7,.2,1)}
  body:has(#navigation.open)::after{animation:scrim-in .18s ease-out}
  .btn,button.primary,.svc-card,.tile,.choice-card,.ready-links a,.form-page .journey-tabs a,.nav-group summary,nav a.nav-link,nav a.nav-search,.mega-panel a.mega-item,.mega-panel a.mega-feature{transition:background-color .15s ease-out,border-color .15s ease-out,color .15s ease-out}
}

/* ==== Contact page: three ways to reach us, visit details, forms ==== */
.contact-hero{padding:48px 0 0}
.contact-hero h1{margin:0 0 10px}
.contact-hero .lead{max-width:620px;margin:0;font-size:18px;line-height:1.55;color:var(--muted)}
.contact-note{display:flex;align-items:flex-start;gap:10px;max-width:620px;margin:18px 0 0;padding:12px 14px;border:1px solid #F3DFA6;border-radius:12px;background:#FFF8E6;font-size:14px;line-height:1.5;color:var(--ink)}
.contact-note .i{width:18px;height:18px;flex-basis:18px;margin-top:1px;color:#A86B0C}
.contact-body{padding:36px 0 72px}
.contact-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.contact-card{display:flex;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--ink);text-decoration:none}
.contact-card .icon-tile{display:grid;place-items:center;color:var(--purple)}
.contact-card .icon-tile .i{width:22px;height:22px;flex-basis:22px}
.contact-text{display:flex;flex-direction:column;gap:4px;min-width:0}
.contact-kind{font-size:14px;font-weight:600;color:var(--muted)}
.contact-card strong{font:700 22px/1.25 var(--font-display);overflow-wrap:anywhere}
.contact-card small{font-size:14px;line-height:1.5;color:var(--muted)}
:lang(ta) .contact-card small{line-height:1.6}
.contact-card .more{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding-top:16px;font-size:15px;font-weight:600;color:var(--purple)}
.contact-card .more .i{width:16px;height:16px;flex-basis:16px}
.contact-card:hover{border-color:#C5CAD6}
.contact-more{margin-top:56px}
.contact-more h2{margin:0 0 14px}
.contact-visit address{font-style:normal;font-size:17px;line-height:1.6}
.map-link{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-weight:600;color:var(--purple)}
.map-link .i{width:18px;height:18px;flex-basis:18px}
.contact-visit h3{margin:28px 0 8px;font-size:17px}
.hours{margin:0;border-top:1px solid var(--line)}
.hours div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
.hours dt{font-weight:600}
.hours dd{margin:0;text-align:right;color:var(--muted)}
.contact-visit .hint{margin-top:10px;font-size:14px}
.contact-sub{margin:0;color:var(--muted)}
.contact-online{max-width:640px}
.contact-online h2{margin:0 0 14px}
.tile-grid.tile-stack{grid-template-columns:1fr}
/* Research page: space above the supplier list heading (a class, because the site's security policy blocks inline styles). */
.landscape-title{margin-top:50px}
@media(max-width:760px){
  .contact-hero{padding-top:28px}
  .contact-hero .lead{font-size:16.5px}
  .contact-body{padding:24px 0 48px}
  .contact-methods{grid-template-columns:1fr;gap:12px}
  .contact-card{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:14px;padding:16px}
  .contact-card .icon-tile{grid-row:span 2;margin:0}
  .contact-card .more{padding-top:10px}
  .contact-card strong{font-size:20px}
  .contact-more{margin-top:40px;gap:40px}
}
@media(prefers-reduced-motion:no-preference){
  .contact-card{transition:border-color .15s ease-out}
  .contact-card .more .i{transition:transform .15s ease-out}
  .contact-card:hover .more .i{transform:translateX(3px)}
}

/* ==== Home hero slider: four pictures, crossfade, caption and controls on the picture ==== */
.hero-slider{position:relative;overflow:hidden;aspect-ratio:4/3;padding:0}
.hero-slider .slides{position:absolute;inset:0;touch-action:pan-y}
.hero-slider .slide{position:absolute;inset:0;margin:0;opacity:0}
.hero-slider .slide.is-active{opacity:1;z-index:1}
.home-hero .hero-slider .slide img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover}
.hero-slider figcaption{position:absolute;top:14px;left:14px;display:inline-flex;align-items:center;gap:8px;max-width:calc(100% - 28px);padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px -8px rgba(24,26,39,.45);font-size:14px;font-weight:600;line-height:1.3;color:var(--ink)}
.hero-slider figcaption .i{width:18px;height:18px;flex-basis:18px;color:var(--purple)}
.slider-controls{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;gap:2px;padding:4px;border-radius:999px;background:rgba(255,255,255,.94);box-shadow:0 4px 14px -8px rgba(24,26,39,.45)}
.slider-controls[hidden]{display:none}
.slider-controls button{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ink);cursor:pointer}
.slider-controls button:hover{background:var(--lav);color:var(--purple)}
.slider-controls .i{width:18px;height:18px;flex-basis:18px}
.slider-count{min-width:40px;text-align:center;font:500 13px/1 var(--font-mono);color:var(--muted)}
.hero-slider[data-state=paused] .i-pause,.hero-slider:not([data-state=paused]) .i-play{display:none}
@media(max-width:760px){
  .home-hero .hero-slider{aspect-ratio:16/10}
  .hero-slider figcaption{top:10px;left:10px;max-width:calc(100% - 20px);padding:6px 12px;font-size:13px}
  .slider-controls{right:10px;bottom:10px}
  .slider-controls button{width:36px;height:36px}
}
@media(prefers-reduced-motion:no-preference){
  .hero-slider .slide{transition:opacity .7s ease}
}
