.service-descriptor{font-size:16px!important;font-weight:750;color:var(--purple);line-height:1.6!important}.brand-promise{font-weight:650}.hero-art{margin:0}.need-card{color:var(--ink);text-decoration:none;display:flex;flex-direction:column}.need-card:hover{border-color:var(--purple);box-shadow:0 8px 24px #5a30ae12}.need-card .more{margin-top:auto}.need-number{font:700 13px Manrope,Arial,sans-serif;color:var(--purple);margin-bottom:18px}.nav-search{font-weight:700;white-space:nowrap}.journey-tabs{display:flex;gap:12px;flex-wrap:wrap;padding-top:24px}.journey-tabs a{border:1px solid var(--line);border-radius:8px;padding:10px 16px;text-decoration:none}.journey-tabs .active{background:var(--purple);color:white}.faq{padding:20px 0;border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-weight:700;font-size:18px}.faq p{margin:16px 0 0;max-width:850px}.optional-details{margin:16px 0}.optional-details summary{cursor:pointer;color:var(--purple);padding:12px 0}#site-search-form{display:grid;grid-template-columns:1fr;gap:10px;max-width:720px;margin:24px 0}#site-search-form input,#site-search-form select{min-height:48px;border:1px solid var(--line);border-radius:8px;padding:12px;background:white}#site-search-results h2{font-size:21px;line-height:1.4}.product-placeholder{font-size:20px!important;display:flex!important;flex-direction:column;gap:10px;text-align:center;padding:24px!important}.product-placeholder .note{font-size:13px}.product-enquiry{display:block;margin-top:16px}.language-availability{margin:30px auto;max-width:1100px}.preferred-language{box-shadow:0 0 0 2px var(--purple)}.compare-category-status{color:var(--purple);font-weight:650}.nav-panel a{line-height:1.5}.language-bar{font-size:14px}.hero .note{font-size:13px;line-height:1.6}.homehero h1{font-size:clamp(32px,4.2vw,60px)}html[lang^="ta"] .homehero h1{font-size:clamp(30px,3.2vw,46px);line-height:1.5;letter-spacing:0}.diagram-caption{line-height:1.7}#site-search-results .card p{font-size:15px}
@media(max-width:700px){.grid.four{grid-template-columns:1fr}.homehero{gap:28px}.service-descriptor{font-size:14px!important}.journey-tabs{gap:8px}.journey-tabs a{font-size:13px;padding:10px}.hero-art img{max-height:340px;object-fit:cover}.head{gap:12px}.brand img{max-width:190px}.nav-search{padding:12px 0}.need-card{padding:24px}.language-more{display:none}.hero .actions .btn{width:100%;text-align:center}.section{padding-top:44px;padding-bottom:44px}.homehero h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Readability on phones: no text below ~12.5px; Tamil script gets a step more than Latin at the same size. */
.eyebrow{font-size:12px;letter-spacing:.14em}
.breadcrumb,.tagline,.diagram-caption{font-size:13px}
.copyright{font-size:12.5px}
.preview{font-size:12.5px;letter-spacing:.02em;line-height:1.5}
.foot a{font-size:14px}
:lang(ta) .eyebrow{font-size:13.5px}
:lang(ta) .breadcrumb,:lang(ta) .copyright,:lang(ta) .diagram-caption,:lang(ta) .note,:lang(ta) .preview,:lang(ta) .tagline{font-size:14px}
.copyright>span+span::before{content:" "}

/* Footer columns never push the page wider than the screen (long Tamil words cannot wrap). */
.foot>div{min-width:0}
@media(max-width:480px){:lang(ta) .foot{grid-template-columns:1fr}}

/* Touch targets: at least 44px tall for links and controls people tap on phones. */
@media(max-width:760px),(pointer:coarse){
  .language-link{display:inline-flex;align-items:center;min-height:44px;padding:0 14px}
  .menu{min-height:44px;padding:0 6px}
  .breadcrumb a,.copyright a{display:inline-flex;align-items:center;min-height:44px}
  .breadcrumb{padding-top:12px}
  .foot a{display:flex;align-items:center;min-height:44px;margin:0}
  .card a.more,.need-card .more{display:inline-flex;align-items:center;min-height:44px}
  .faq summary,.nav-group summary{min-height:44px;display:flex;align-items:center}
  .check input,.compare-toggle input{width:24px;height:24px;flex:0 0 24px;margin:0}
  .check{align-items:center;font-size:14px}
  .compare-toggle{display:flex;align-items:center;gap:10px;min-height:44px}
  .compare-toggle label{font-size:14px}
}

/* Phones: reach the call to action sooner. */
@media(max-width:760px){
  .preview{padding:6px 16px}
  .hero{padding:26px 0 34px}
  .hero p,.homehero p{font-size:17px}
  :lang(ta) .hero p,:lang(ta) .homehero p{font-size:16px;line-height:1.75}
}

/* Long Tamil words in headings must wrap rather than widen the page on small phones. */
h1,h2,h3{overflow-wrap:break-word}
@media(max-width:480px){:lang(ta) h2{font-size:22px}}
/* Grid columns may shrink below their longest word; table cells and labels wrap instead of widening the page. */
.split>*,.homehero>*,.article-layout>*,form .row>*,.grid>*{min-width:0}
td,th,label{overflow-wrap:anywhere}

/* Quiz answers and other radio buttons: large enough to tap. */
@media(max-width:760px),(pointer:coarse){input[type=radio]{width:22px;height:22px}}
/* Calculator result: the big figure and the formula note must fit a phone in Tamil too. */
.result .big{overflow-wrap:anywhere}
:lang(ta) .result .big{font-size:clamp(28px,8vw,46px);line-height:1.4}
.result small{font-size:13px;overflow-wrap:anywhere}
@media(max-width:760px),(pointer:coarse){input[type=radio]{flex:0 0 22px}}
/* Table headings and pills: readable sizes, larger for Tamil (no uppercase in Tamil script to aid legibility). */
th{font-size:12.5px}
.pill{font-size:12.5px}
:lang(ta) th,:lang(ta) .pill,:lang(ta) .translation-note{font-size:14px}
/* "On this page" label on its own line above the inline outline links on phones. */
@media(max-width:760px){.article-layout aside strong{display:block;margin-bottom:4px}}
/* Button groups inside a CTA band: one gap above, not two stacked margins. */
.cta .actions{margin:18px 0 0}
.cta .actions .btn{margin-top:0}
