/* Shared sizing accommodates translated text without changing the brand. */
html { text-size-adjust:100%; -webkit-text-size-adjust:100%; }
body { overflow-wrap:break-word; }
header { gap:1.25rem; height:auto; min-height:100px; padding-block:1.25rem; }
header .brand, html[lang=en] header .brand { font-size:1.7rem; white-space:nowrap; letter-spacing:-.04em; }
header nav, html[lang=en] nav { gap:1.3rem; flex-wrap:wrap; }
header nav a { font-size:.875rem; }
.header-actions { flex-shrink:0; }
.header-actions .nav-cta { display:none; }
.language-menu { position:relative; z-index:20; }
.language-menu>summary { padding:.5rem .7rem; border:1px solid #c1cbb3; border-radius:.5rem; background:var(--paper); gap:.6rem; font-size:.875rem; min-height:44px; }
.language-menu>summary span { font-size:1rem; }
.language-menu[open]>summary span { transform:rotate(180deg); }
.language-options { position:absolute; top:calc(100% + .6rem); right:0; width:min(390px,calc(100vw - 48px)); display:grid; grid-template-columns:1fr 1fr; gap:.3rem; padding:.6rem; background:#fffef7; border:1px solid var(--line); border-radius:.8rem; box-shadow:0 12px 40px #273e2f24; max-height:65vh; overflow:auto; }
.language-options a { display:flex; align-items:center; justify-content:space-between; gap:.5rem; padding:.65rem; min-height:44px; font-size:.875rem; border-radius:.4rem; line-height:1.5; }
.language-options a:hover,.language-options a:focus-visible { background:#e9efda; }
.language-options a[aria-current] { background:#315a3e; color:white; font-weight:600; }
.language-options a[data-preferred]:not([aria-current]) { text-decoration:underline; text-underline-offset:4px; }
.hero-copy,.hero-visual,.section-top>div,.section-top>p,.steps,.demo-wrap,.custom-grid article,.parent-list,.faq-items { min-width:0; }
.hero h1,html[lang=en] .hero h1 { font-size:clamp(2.75rem,4.8vw,4.5rem); letter-spacing:-.045em; overflow-wrap:anywhere; }
.hero h1:lang(hi),h2:lang(hi),h3:lang(hi) { letter-spacing:normal; line-height:1.5; }
h2,h3 { overflow-wrap:anywhere; }
.hero-visual .visual-caption span:first-child { writing-mode:horizontal-tb; font-size:.875rem; letter-spacing:0; max-width:150px; line-height:1.6; }
.visual-caption span:last-child { white-space:normal; min-width:180px; font-size:.75rem; letter-spacing:.04em; }
.task-note { max-width:90%; }
.task-note div { min-width:0; }
.task-note .check { flex-shrink:0; }
.step strong { font-size:1.25rem; }
.step small,.demo-row strong,.demo-row small,.demo-row>b,.demo-message,.demo-top span,.demo-label,.config-tags span,.swatches span { font-size:.875rem; }
.demo-top { gap:.75rem; flex-wrap:wrap; }
.demo-row>div { min-width:0; flex:1; }
.demo-row>span:first-child { flex-shrink:0; }
.demo-row>b { max-width:30%; }
.demo-label { gap:.75rem; flex-wrap:wrap; }
.demo { min-height:330px; }
.feature p,.custom-grid p,.parent-list p,.parent-intro,details p,.section-top>p { font-size:1rem; }
.feature-heading { gap:.5rem; line-height:1.7; }
.feature h3,html[lang=en] .feature h3 { font-size:1.65rem; }
.feature>small,.hero-note,.demo-foot,.custom-note { font-size:.8125rem; }
.calendar { gap:5px; }
.calendar span { font-size:.75rem; overflow-wrap:anywhere; }
.swatches { flex-wrap:wrap; }
footer { flex-wrap:wrap; }
footer .brand { font-size:1.75rem; }
footer .footer-support { font-size:.875rem; line-height:1.5; overflow-wrap:anywhere; }
@media(max-width:1100px) {
 header { flex-wrap:wrap; }
 header nav { order:3; width:100%; justify-content:space-between; }
 .header-actions { margin-left:auto; }
 .journey-grid { gap:1.5rem; }
 .demo-wrap { padding-inline:1rem; }
}
@media(max-width:640px) {
 header { padding-inline:1.5rem; gap:.75rem; }
 header nav,html[lang=en] nav { gap:.65rem 1rem; justify-content:flex-start; }
 header nav a { font-size:.875rem; }
 .hero h1,html[lang=en] .hero h1 { font-size:clamp(2.6rem,10vw,3.5rem); }
 .hero-visual,html[lang=en] .hero-visual { margin-left:0; }
 .demo-row { gap:.5rem; }
 .demo,html[lang=en] .demo { padding:1rem; }
 .values { font-size:.875rem; }
 .values span,html[lang=en] .values span { font-size:.875rem; }
 .visual-caption span:last-child { max-width:210px; }
 .section-top>p { margin-left:0; }
 .language-options { grid-template-columns:1fr; width:min(270px,calc(100vw - 48px)); }
}
