/* India Product Office | Launch update 3. Typography and usable persistent contact. */
:root{--body-size:17px;--copy-size:17px;--lead-size:19px;--small-size:14px;--label-size:13px;--header-height:88px;--muted:#565e52}
html{scroll-padding-top:calc(var(--header-height) + 20px);-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-size:var(--body-size);line-height:1.75;padding-bottom:96px}
p,li{overflow-wrap:break-word}
small{font-size:var(--small-size)}
.topline{font-size:13px;letter-spacing:.04em}
.topline .wrap{min-height:36px;padding-block:5px;font-size:inherit;line-height:1.6}
.nav-wrap{min-height:var(--header-height);gap:24px}
.brand-text{font-size:14px;letter-spacing:.09em}
.nav-menu{gap:27px}
.nav-menu>a:not(.button){font-size:15px}
.nav-menu .button{font-size:15px;min-height:48px}
.eyebrow,.hero .eyebrow,.cap-item .eyebrow,.process-output .eyebrow{font-size:var(--label-size);letter-spacing:.09em;line-height:1.65}
.hero .eyebrow{max-width:none}
.lead,.hero .lead,.problem-grid .lead,.section-heading .lead,.compliance-grid .lead,.evidence-grid .lead,.transparent-grid .lead,.story-grid .lead,.page-hero .lead,.detail-grid .lead,.form-aside .lead{font-size:var(--lead-size);line-height:1.75}
.hero .lead{max-width:49ch}
.page-hero .lead{max-width:64ch}
.section-heading .lead{max-width:43ch}
.problem-item p,.solution-card p,.cap-item p,.rescue-bar p,.category-card p,.principle,.flow-step p,details .answer,.end-cta p,.deliverables li,.full-width-callout p,.process-row p,.about-principle p,.founder-note p,.legal-content p,.legal-content li,.next-step p,.muted.space-top{font-size:var(--copy-size);line-height:1.75}
.problem-item h3,summary{font-size:18px;line-height:1.55}
.hero-small,.fine,.category-footnote,.sample-label,.sample-table-note,.footer-description,.footer-links,.footer-links a,.detail-foot,.boundary,.process-output p,.field-hint,.form-bottom-note,.consent,.notice,.draft-note,.legal-placeholder{font-size:var(--small-size);line-height:1.75}
.footer-title,.footer-bottom,.footer-bottom-links,.tag,.card-number,.problem-number,.flow-number,.next-step .num{font-size:var(--label-size);line-height:1.7}
.footer-description{max-width:40ch}
.footer-links a{min-height:32px;display:inline-flex;align-items:center}
.footer-bottom-links{flex-wrap:wrap;row-gap:10px}
.button,.text-link,.hero .button,.hero .text-link,.rescue-bar .text-link,.subnav a,.form-download,.back-btn{font-size:16px;line-height:1.5}
.button{min-height:50px}
.text-link,.subnav a,.tab-button,.back-btn{min-height:44px}
.art-caption,.hero-art .art-caption{font-size:12px!important;letter-spacing:.035em;line-height:1.55;flex-wrap:wrap;gap:5px 18px}
.assurance{font-size:14px;letter-spacing:0;align-items:center}
.assurance .tiny-icon{flex-shrink:0}
.cap-item h3{font-size:27px}
.cap-item .eyebrow{margin-bottom:15px}
.compliance-note{font-size:14px!important;line-height:1.75!important}
.doc-logo,.doc-tag{font-size:12px;line-height:1.55;letter-spacing:.07em}
.doc-sub,.doc-foot{font-size:14px!important;line-height:1.7!important}
.doc-row{font-size:15px;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.doc-row span:last-child{font-size:13px}
.document{transform:none}
.doc-head{gap:14px;flex-wrap:wrap}
.tab-button{font-size:16px}
.panel-title{flex-wrap:wrap;gap:8px}
.panel-title span{font-size:12px;letter-spacing:.04em}
.data-table{font-size:14px;line-height:1.6;table-layout:fixed}
.data-table th{font-size:12px;letter-spacing:.035em}
.data-table th,.data-table td{padding-right:12px;overflow-wrap:break-word}
.data-table th:first-child,.data-table td:first-child{width:36%}
.data-table th:nth-child(2),.data-table td:nth-child(2){width:37%}
.data-table th:last-child,.data-table td:last-child{width:27%;padding-right:0}
.badge{font-size:12px;padding:3px 6px}
.field label,.fieldset-label,.checkbox-label{font-size:15px;line-height:1.65}
.field input,.field select,.field textarea{font-size:16px;min-height:50px;line-height:1.5;min-width:0}
.field textarea{min-height:150px}
.form-progress{flex-wrap:wrap;gap:15px 24px}
.form-progress span{font-size:14px}
.form-progress span:before{font-size:12px;width:26px;height:26px;flex-shrink:0}
.form-message{font-size:15px;line-height:1.7}
.form-actions{flex-wrap:wrap}
#project-form{scroll-margin-top:20px}
#project-form:focus{outline:none}
#project-form legend{scroll-margin-top:calc(var(--header-height) + 24px)}
.field input,.field select,.field textarea{scroll-margin-block:calc(var(--header-height) + 28px) 100px}
.quick-contact{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:45;display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:54px;padding:14px 22px;background:var(--green);color:var(--white);border:1px solid var(--paper);border-radius:999px;box-shadow:0 5px 24px #172f2833;font-size:16px;line-height:1.5;transition:background .15s,transform .15s;max-width:calc(100% - 32px)}
.quick-contact:hover{background:var(--deep);transform:translateY(-2px)}
.quick-contact:focus-visible{outline:3px solid var(--rust);outline-offset:4px}
.quick-contact .arrow{width:18px;height:18px;flex-shrink:0}
.menu-open .quick-contact{display:none}
@media(max-width:1100px){
 .nav-menu{gap:18px}.nav-menu>a:not(.button),.nav-menu .button{font-size:14px}
 .hero .actions{gap:12px 20px}.section-heading .lead{max-width:34ch}
 .form-layout{grid-template-columns:1fr 1.25fr;gap:38px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}
 .assurances{grid-template-columns:1fr 1fr;gap:20px;padding-block:25px}.assurance{justify-content:flex-start!important;border:0!important}
}
@media(min-width:761px) and (max-width:900px){
 .brand-text{font-size:12px}.nav-wrap{gap:12px}.nav-menu{gap:14px}
 .nav-menu .button{padding:10px 13px;gap:12px}.nav-menu>a:not(.button){font-size:14px}
 .cap-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:53px}
}
@media(max-width:760px){
 :root{--body-size:16px;--copy-size:16px;--lead-size:17px;--label-size:13px;--small-size:14px;--header-height:76px}
 body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 .topline .wrap{font-size:12px;line-height:1.6;min-height:32px;letter-spacing:.015em;text-align:center}
 .nav-wrap{min-height:var(--header-height)}.brand-text{font-size:13px}.brand-mark{width:34px}
 .nav-menu{inset:var(--header-height) 0 auto;max-height:calc(100dvh - var(--header-height));gap:0}
 .nav-menu>a:not(.button){font-size:18px;padding:16px 0}
 .nav-menu .button{font-size:16px;min-height:50px}
 .hero .eyebrow{max-width:42ch;line-height:1.65}
 .hero .actions{gap:16px}.hero .text-link{font-size:16px}
 .hero-small{font-size:14px}
 .section-heading .lead{max-width:55ch}
 .cap-grid{grid-template-columns:1fr;gap:0}
 .cap-item h3{font-size:28px}
 .assurances{gap:18px 16px}.assurance{font-size:14px;align-items:flex-start;gap:9px}
 .footer-top{grid-template-columns:1fr;gap:30px}.footer-brand{grid-column:auto}
 .footer-links{grid-template-columns:1fr 1fr;gap:8px 16px}
 .footer-bottom{font-size:13px}.footer-title{font-size:13px}
 .document{padding:24px;transform:none}.evidence-panel{padding:22px 19px}
 .form-layout{grid-template-columns:1fr;gap:32px}.form-grid{grid-template-columns:1fr}
 .enquiry-box{padding:26px 22px}
 .form-actions{gap:12px}.form-actions .button{padding-inline:18px;gap:15px}
 .quick-contact{left:16px;right:16px;bottom:calc(12px + env(safe-area-inset-bottom));min-height:54px;font-size:16px;padding:13px 20px;border-radius:6px}
 .subnav{gap:6px 20px}.detail-section{scroll-margin-top:20px}
}
@media(max-width:380px){
 .topline .wrap{font-size:12px;letter-spacing:0}.brand-text{font-size:12px}
 .hero h1{font-size:44px}.page-hero h1{font-size:39px}
 .assurances{grid-template-columns:1fr;gap:14px}
 .document{padding:20px}.doc-row{font-size:14px;gap:10px}.doc-row span:last-child{font-size:12px}
 .enquiry-box{padding:23px 18px}.form-actions .button{font-size:15px;padding-inline:13px}
 .tab-buttons{gap:20px}.tab-button{font-size:15px}.data-table{font-size:13px}
 .data-table th,.badge{font-size:12px}.panel-title h3{font-size:25px}
}
@media(prefers-reduced-motion:reduce){.quick-contact{transition:none}.quick-contact:hover{transform:none}}
@media print{body{padding-bottom:0;font-size:12pt}.quick-contact{display:none!important}}
