/* FIGSITE Premium Type 20261014.8 — no downloaded or distributed font files */
:root{--serif:'Iowan Old Style','Baskerville','Palatino Linotype','Book Antiqua',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;--max:1240px;--measure:67ch}
html{scroll-padding-top:102px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:clamp(16.5px,.35vw + 16px,18px);font-weight:400;line-height:1.67;letter-spacing:-.008em;font-synthesis: none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
p{max-width:var(--measure);margin-block:.8em 1.25em;overflow-wrap:pretty}
h1,h2,h3,h4{overflow-wrap:break-word;text-wrap:balance}
.hero h1,.section-title,.page-title,.title-sm,.footer h2,.contact-cta h2{font-family:var(--serif);font-weight:500;letter-spacing:-.047em;text-wrap:balance}
.hero h1{font-size:clamp(3.25rem,5.3vw,5.55rem);line-height:1.035;letter-spacing:-.06em;margin-block:18px 25px}
.section-title{font-size:clamp(2.35rem,4.2vw,4.18rem);line-height:1.105;letter-spacing:-.046em}
.page-title{line-height:1.07;letter-spacing:-.049em}
.section-intro{font-size:clamp(1.05rem,.42vw + 1rem,1.22rem);line-height:1.66;max-width:65ch}
.hero-lead{font-size:clamp(1.08rem,.55vw + .96rem,1.26rem);line-height:1.62;max-width:61ch;color:#30445f}
.hero-lead strong, p strong{font-weight:650;color:var(--ink)}
.eyebrow,.kicker,.label{font-family:var(--sans);font-weight:750;letter-spacing:.13em;font-size:.76rem;line-height:1.55;text-transform:uppercase}
.nav-links{font-size:.88rem;font-weight:630;letter-spacing:-.01em;gap:22px}
.brand-word{font-weight:750;letter-spacing:.22em}
.brand-sub{font-size:.7rem;font-weight:480;letter-spacing:0}
.btn{font-size:.96rem;font-weight:650;letter-spacing:0;border-radius:10px}
.path-card h3,.value-card h3,.proof-card h3,.service-card h3{letter-spacing:-.022em;line-height:1.28}
.strip-item{font-size:.91rem;font-weight:650;line-height:1.34}
.mini-step b{font-size:.87rem;font-weight:665}
.mini-step span{font-size:.8rem;line-height:1.45}
.question-float strong{font-family:var(--serif);font-size:1.48rem;line-height:1.2;letter-spacing:-.026em}
.contact-cta h2{line-height:1.1}
.faq summary{font-weight:650;letter-spacing:-.01em}
.footer-links h3{font-size:.76rem;letter-spacing:.12em;font-weight:650}
/* Locale control: shared on all four destinations, visible on narrow screens. */
.nav-cta{gap:10px}
.language-picker{display:flex;align-items:center;gap:6px;flex-shrink:0}
.language-picker label{font-size:.76rem;color:#384d6b;font-weight:650;white-space:nowrap}
.language-picker select{border:1px solid #a9bad3;background-color:#fff;color:#0a2346;border-radius:9px;padding:9px 27px 9px 11px;min-height:42px;font-size:.82rem;font-weight:630;max-width:155px}
.language-picker select:focus-visible{outline:3px solid #1456f5;outline-offset:3px}
.lang-note{font-size:.79rem;line-height:1.5;color:var(--muted)}
.page-shell-note{margin:0;padding:12px 0;background:#eef5ff;color:#193453;font-size:.82rem;border-bottom:1px solid #dce8fa}
.page-shell-note p{margin:0;max-width:none}
.locale-pill{display:inline-block;background:#e7f0ff;color:#1149b5;border-radius:7px;padding:4px 9px;font-size:.8rem;font-weight:700}
.visual-caption{font-size:.78rem;color:#50617e}
/* Localized semantic cards use existing type tokens and visual rhythm. */
.locale-visual-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.locale-visual-step{background:white;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 10px 24px rgba(10,35,72,.035)}
.locale-visual-step h3{font-size:1.13rem;line-height:1.33;margin:10px 0 6px;font-weight:650}
.locale-visual-step p{color:var(--muted);font-size:.91rem;margin:0}
.locale-visual-step .iconbox{margin-bottom:10px}
.locale-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.locale-tile{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}
.locale-tile h3{font-size:1.2rem;line-height:1.36;margin:9px 0;font-weight:650}
.locale-tile p{font-size:.93rem;color:var(--muted);margin:0}
.locale-quote{border-left:4px solid var(--blue);background:#eef5ff;border-radius:0 14px 14px 0;padding:20px 25px;font:500 clamp(1.3rem,2.3vw,2rem)/1.35 var(--serif);letter-spacing:-.026em}
.locale-footnote{font-size:.8rem;color:var(--muted);margin-top:22px}
/* Chinese glyphs require font fallback and relaxed spacing; no Latin serif imposition. */
html[lang='zh-Hans']{--serif:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC','Source Han Sans SC',sans-serif;--sans:'PingFang SC','Microsoft YaHei','Noto Sans CJK SC',-apple-system,BlinkMacSystemFont,sans-serif}
html[lang='zh-Hans'] body{letter-spacing:0;line-height:1.78}
html[lang='zh-Hans'] h1,html[lang='zh-Hans'] h2,html[lang='zh-Hans'] h3{letter-spacing:-.018em;line-height:1.27}
html[lang='zh-Hans'] .hero h1{font-size:clamp(3rem,5vw,4.8rem);line-height:1.19}
html[lang='zh-Hans'] .eyebrow,html[lang='zh-Hans'] .kicker,html[lang='zh-Hans'] .label{letter-spacing:.07em}
html[lang='es'] .hero h1{font-size:clamp(3.05rem,4.8vw,5rem);letter-spacing:-.05em}
html[lang='es'] .nav-links{gap:14px}
/* Preserve layout without forcing long translation into nonwrapping controls. */
.strip-item,.locale-tile,.locale-visual-step{min-width:0}
@media(max-width:1200px){.nav-links{gap:13px}.nav-cta .btn-sm{display:none}.language-picker select{max-width:135px}}
@media(max-width:800px){.nav-cta .btn-sm{display:none}.language-picker select{max-width:145px}.locale-visual-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.locale-tiles{grid-template-columns:1fr 1fr}.nav-cta{margin-left:auto}}
@media(max-width:520px){.hero h1{font-size:clamp(2.66rem,10.8vw,3.55rem);line-height:1.06}.section-title{font-size:clamp(2.06rem,9vw,3rem)}.container{width:min(calc(100% - 32px),var(--max))}.language-picker label{display:none}.language-picker select{max-width:120px;font-size:.76rem;padding:8px 18px 8px 8px}.locale-visual-steps,.locale-tiles{grid-template-columns:1fr}.locale-visual-step,.locale-tile{padding:21px}html[lang='zh-Hans'] .hero h1{font-size:clamp(2.65rem,9.4vw,3.45rem)}.brand-word{font-size:.98rem}.brand-sub{font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.language-picker *, .locale-tile *, .locale-visual-step *{transition:none!important}}
.locale-method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media(max-width:1160px){.nav-links{display:none;position:absolute;top:79px;left:0;right:0;background:#fff;box-shadow:0 20px 35px rgba(0,20,70,.1);padding:18px;flex-direction:column;align-items:stretch;gap:0}.nav-links.is-open{display:flex}.nav-links a{padding:12px;border-bottom:1px solid var(--line);font-size:1rem}.mobile-toggle{display:grid;place-items:center}.nav-cta .btn-sm{display:none}.site-header{z-index:50}}
@media(max-width:800px){.nav-links{top:71px}.locale-method-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.locale-method-steps{grid-template-columns:1fr}}
@media(max-width:420px){.nav-inner{gap:6px}.nav-cta{gap:5px}.language-picker select{width:98px;max-width:98px;padding-left:6px;padding-right:12px}.brand{gap:5px}.brand img{width:32px;height:32px}.brand-word{font-size:.91rem;letter-spacing:.15em}.brand-sub{font-size:.52rem;letter-spacing:-.015em}.mobile-toggle{width:40px;height:40px}}
