:root { --ink:#161b1d; --muted:#596165; --line:#dce1e3; --paper:#f3f5f5; --blue:#006ac7; --max:1280px; --ease:cubic-bezier(.22,1,.36,1); }
* { box-sizing:border-box; letter-spacing:0; }
html { scroll-behavior:smooth; scroll-padding-top:112px; }
body { margin:0; background:#fff; color:var(--ink); font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
body.menu-open { overflow:hidden; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; color:inherit; border-radius:0; }
button { cursor:pointer; }
:focus-visible { outline:2px solid var(--blue); outline-offset:5px; }
::selection { background:#c5e3ff; color:#111; }
h1,h2,h3,h4,p,figure { margin:0; }
h1,h2,h3,h4 { font-weight:500; line-height:1.25; text-wrap:balance; }
h2 { font-size:44px; } h3 { font-size:24px; } p { color:var(--muted); }
ul,ol { padding-left:20px; } li+li { margin-top:10px; }
[hidden] { display:none!important; }
.section-inner,.header-inner,.footer-inner { width:min(calc(100% - 112px),var(--max)); margin-inline:auto; }
.section { padding:104px 0; } .soft { background:var(--paper); }
.eyebrow { margin-bottom:20px; font-size:12px; font-weight:600; color:var(--blue); line-height:1.5; }
.section-heading { margin-bottom:48px; max-width:900px; }
.section-heading>p { margin-top:22px; max-width:700px; }
.split-heading { max-width:none; display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:80px; }
.split-heading p { max-width:560px; } .split-heading .text-link { margin-top:20px; }
.icon { width:20px; height:20px; flex:0 0 auto; stroke-width:1.7; }
.skip-link { position:fixed; top:10px; left:10px; z-index:200; padding:10px 20px; background:white; transform:translateY(-150%); } .skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--line); }
.header-inner { display:flex; align-items:center; gap:32px; min-height:88px; }
.brand { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.brand-mark { width:47px; height:47px; object-fit:contain; }
.brand-name { display:block; font-size:21px; font-weight:600; line-height:1.25; }
.brand-line { display:block; font-size:10px; color:var(--muted); margin-top:4px; }
.desktop-nav { display:flex; align-items:center; gap:25px; margin-left:auto; }
.desktop-nav a { font-size:14px; white-space:nowrap; position:relative; padding:12px 0; }
.desktop-nav a::after { content:""; height:1px; position:absolute; bottom:5px; left:0; right:0; background:var(--blue); transform:scaleX(0); transform-origin:left; transition:transform .25s; }
.desktop-nav a:hover::after,.desktop-nav [aria-current]::after { transform:scaleX(1); }
.header-actions { display:flex; align-items:center; gap:22px; flex-shrink:0; }
.language-switcher { font-size:13px; white-space:nowrap; min-height:44px; display:inline-flex; align-items:center; }
.nav-cta { color:#fff; background:var(--ink); font-size:13px; padding:12px 19px; white-space:nowrap; transition:background .2s; } .nav-cta:hover { background:var(--blue); }
.menu-toggle { display:none; background:none; border:0; align-items:center; gap:10px; min-width:44px; min-height:44px; }
.menu-label { font-size:12px; }
.mobile-menu { position:fixed; top:88px; left:0; right:0; bottom:0; background:#fff; overflow-y:auto; }
.mobile-menu-inner { max-width:640px; padding:30px; margin:auto; }
.mobile-nav a { display:block; font-size:22px; padding:13px 0; border-bottom:1px solid var(--line); } .mobile-nav [aria-current] { color:var(--blue); }
.mobile-language { display:flex; align-items:center; justify-content:space-between; margin-top:30px; font-size:14px; }
.mobile-quick-action { display:none; }
.button { display:inline-flex; align-items:center; justify-content:center; gap:18px; min-height:52px; padding:13px 23px; border:1px solid transparent; font-size:14px; line-height:1.5; transition:background .25s,color .25s,border-color .25s; }
.button.primary { background:var(--blue); color:#fff; } .button.primary:hover { background:#00539e; }
.button.secondary { border-color:currentColor; background:transparent; } .button.secondary:hover { background:var(--ink); color:white; }
.text-link { display:inline-flex; gap:25px; align-items:center; font-size:14px; font-weight:500; min-height:44px; border-bottom:1px solid var(--line); }
.text-link:hover { color:var(--blue); border-color:var(--blue); }
.link-arrow { display:inline-flex; width:20px; height:20px; flex-shrink:0; transition:transform .25s var(--ease); } a:hover .link-arrow { transform:translate(3px,-3px); }
.text-control { display:inline-flex; align-items:center; justify-content:center; gap:8px; border:0; border-bottom:1px solid var(--line); padding:8px 0; background:none; min-height:44px; font-size:12px; white-space:nowrap; } .text-control:hover { color:var(--blue); }
.home-hero { color:#fff; position:relative; height:calc(100svh - 176px); min-height:600px; max-height:820px; isolation:isolate; overflow:hidden; background:#1e272b; }
.hero-photo,.hero-shade { position:absolute; inset:0; width:100%; height:100%; z-index:-1; }
.hero-photo { object-fit:cover; object-position:center 42%; }
.hero-shade { background:linear-gradient(90deg,rgba(5,15,20,.73),rgba(5,15,20,.28) 49%,transparent 76%); }
.hero-content { height:100%; display:flex; flex-direction:column; justify-content:center; position:relative; padding-top:20px; padding-bottom:70px; }
.hero-copy { max-width:590px; }
.hero-copy .eyebrow { color:#fff; font-size:17px; margin-bottom:26px; font-weight:400; }
.hero-copy h1 { font-size:68px; font-weight:400; line-height:1.18; } .hero-copy h1 span { display:block; }
html[lang="en"] .hero-copy h1 { font-size:59px; }
.hero-lead { color:#fff; font-size:20px; margin-top:28px; }
.hero-description { color:#e1e7ea; max-width:455px; font-size:15px; line-height:1.85; margin-top:14px; }
.hero-actions { display:flex; flex-wrap:wrap; gap:24px; align-items:center; margin-top:32px; }
.hero-secondary { display:inline-flex; gap:20px; align-items:center; border-bottom:1px solid #94a0a5; padding-block:12px; font-size:14px; }
.hero-foot { position:absolute; bottom:21px; left:0; right:0; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #ffffff40; padding-top:14px; font-size:12px; } .hero-foot a { width:40px; display:inline-flex; justify-content:flex-end; }
.network-section { padding:42px 0 32px; border-bottom:1px solid var(--line); background:#fff; }
.network-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.network-heading .eyebrow { margin-bottom:7px; font-size:11px; color:var(--muted); } .network-heading h2 { font-size:22px; }
.logo-wall { margin-top:30px; }
.logo-marquee { overflow:hidden; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); }
.logo-marquee+.logo-marquee { border-top:1px solid #edf0f2; }
.logo-track { display:flex; width:max-content; animation:logoRail 72s linear infinite; }
.logo-marquee:nth-child(2) .logo-track { animation-duration:80s; animation-direction:reverse; animation-delay:-17s; }
.logo-marquee:nth-child(3) .logo-track { animation-duration:76s; animation-delay:-31s; }
.logo-group { display:flex; flex:none; align-items:center; justify-content:space-around; min-width:100vw; }
.partner-logo { display:flex; align-items:center; justify-content:center; gap:16px; padding:18px 28px; width:264px; height:88px; flex:none; filter:grayscale(1); }
.partner-logo img { width:36px; height:36px; object-fit:contain; flex:none; } .partner-logo span { font-size:19px; font-weight:500; white-space:nowrap; }
.partner-logo.wordmark img { width:132px; height:72px; }
.logo-wall:hover .logo-track,.logo-wall.is-paused .logo-track { animation-play-state:paused; }
@keyframes logoRail { to { transform:translateX(-50%); } }
.editorial-heading { display:grid; grid-template-columns:1fr 1fr; gap:96px; align-items:start; } .editorial-heading h2 { font-size:49px; }
.editorial-body { padding-top:39px; } .editorial-body>p { font-size:18px; line-height:1.9; } .editorial-body .text-link { margin-top:23px; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); margin-top:64px; border-top:1px solid var(--line); }
.principles>div { padding:30px 30px 0 0; } .principles>div+div { padding-left:44px; border-left:1px solid var(--line); }
.principles strong { display:block; font-weight:400; font-size:40px; line-height:1.3; } .principles span { display:block; font-size:13px; color:var(--muted); margin-top:10px; }
.services-section { background:var(--paper); } .program-grid { display:grid; grid-template-columns:1fr 1fr; gap:58px 34px; }
.program-image { display:block; overflow:hidden; aspect-ratio:1.56; } .program-image img { width:100%; height:100%; object-fit:cover; transition:transform .8s var(--ease); } .program-tile:hover img { transform:scale(1.035); }
.program-caption { padding-top:23px; } .program-caption .eyebrow { color:var(--muted); font-size:11px; display:flex; gap:18px; margin-bottom:16px; } .program-caption .eyebrow span { color:var(--blue); }
.program-caption h3 a { display:flex; align-items:center; justify-content:space-between; gap:20px; } .program-caption h3 a:hover { color:var(--blue); }
.program-caption>p:last-child { margin-top:15px; font-size:15px; max-width:510px; }
.approach-section { background:#151b1c; color:#fff; } .approach-grid { display:grid; grid-template-columns:1fr 1fr; gap:110px; }
.approach-section .eyebrow { color:#8bc9ff; } .approach-intro { color:#b7c1c3; margin-top:25px; max-width:460px; }
.approach-photo { margin-top:38px; aspect-ratio:1.6; overflow:hidden; } .approach-photo img { width:100%; height:100%; object-fit:cover; }
.approach-steps { align-self:center; } details>summary { list-style:none; cursor:pointer; } details>summary::-webkit-details-marker { display:none; }
.approach-step { border-top:1px solid #ffffff32; } .approach-step:last-child { border-bottom:1px solid #ffffff32; }
.approach-step summary { display:flex; gap:20px; align-items:center; min-height:95px; padding:20px 0; } .approach-step h3 { font-size:22px; flex:1; }
.step-number { font-size:13px; color:var(--blue); font-variant-numeric:tabular-nums; } .approach-step .step-number { color:#8bc9ff; }
.detail-sign { position:relative; width:16px; height:16px; flex-shrink:0; margin-left:12px; }
.detail-sign::before,.detail-sign::after { content:""; position:absolute; background:currentColor; } .detail-sign::before { width:16px; height:1px; top:7px; } .detail-sign::after { width:1px; height:16px; left:7px; transition:transform .2s; } details[open]>summary .detail-sign::after { transform:rotate(90deg); }
.step-content { padding:0 0 30px 37px; } .step-content>p { color:#b7c1c3; font-size:15px; } .step-content .output { display:flex; flex-direction:column; gap:5px; color:#fff; margin-top:24px; font-size:14px; } .output span { color:#8bc9ff; font-size:11px; }
.insight-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; } .insight-card img { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; }
.insight-card .eyebrow { margin:23px 0 14px; color:var(--muted); font-size:11px; } .insight-card h3 { font-size:23px; line-height:1.5; } .insight-card h3 a:hover { color:var(--blue); } .insight-card .text-link { margin-top:19px; }
.faq-section { padding-top:0; } .faq-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:90px; border-top:1px solid var(--line); padding-top:72px; }
.faq-item { border-bottom:1px solid var(--line); } .faq-item summary { padding:24px 0; display:flex; justify-content:space-between; align-items:center; font-size:17px; } .faq-item p { padding:0 30px 28px 0; font-size:15px; }
.cta-band { padding:76px 0; background:#0066bc; color:#fff; } .cta-band .section-inner { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:72px; }
.cta-band h2 { font-size:38px; } .cta-band p { margin-top:22px; color:#e0effd; }
.section-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; } .cta-band .section-actions { justify-content:flex-end; } .cta-band .text-link { border-color:#ffffff70; } .cta-band .text-link:hover { color:white; } .cta-band .button.secondary:hover { background:white; color:#005aa7; border-color:white; }
.disclaimer { background:#f3f5f5; padding:26px 0; } .disclaimer p { width:min(calc(100% - 112px),var(--max)); margin:auto; font-size:11px; line-height:1.9; }
.site-footer { background:#111718; color:#fff; padding-top:65px; } .footer-inner { display:grid; grid-template-columns:1.8fr .7fr 1fr .7fr; gap:60px; }
.footer-brand { display:flex; align-items:center; gap:8px; margin-bottom:24px; } .footer-brand strong { font-size:22px; font-weight:500; }
.site-footer h2 { font-size:24px; max-width:365px; } .site-footer h3 { font-size:13px; margin:15px 0 28px; color:#c2cbce; } .site-footer p { font-size:13px; color:#a9b4b8; margin-top:16px; max-width:400px; }
.site-footer ul { list-style:none; padding:0; margin:0; font-size:13px; } .site-footer li { margin-top:0; } .site-footer li a { display:inline-block; padding:5px 0; } .site-footer a:hover { color:#8bc9ff; }
.footer-qr { width:92px; height:92px; margin-top:17px; } .copyright { border-top:1px solid #ffffff25; display:flex; gap:40px; justify-content:space-between; padding:24px 0; margin-top:56px; } .copyright p { font-size:10px; margin:0; max-width:620px; }
.page-hero { padding:70px 0 76px; background:var(--paper); border-bottom:1px solid var(--line); } .page-hero-grid { display:grid; grid-template-columns:1fr 190px; gap:80px; align-items:end; } .page-hero h1 { max-width:910px; font-size:50px; }
.page-hero p:not(.eyebrow) { max-width:760px; margin-top:24px; font-size:17px; } .page-hero .hero-actions { margin-top:28px; }
.page-hero-mark { border-left:1px solid #a8b4bb; padding-left:24px; align-self:start; margin-top:45px; } .page-hero-mark span { font-size:11px; color:var(--muted); display:block; } .page-hero-mark strong { font-size:18px; font-weight:500; display:block; margin-top:10px; }
.feature-grid,.steps-grid,.events-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; } .feature-card,.step-card,.event-card { border-top:1px solid var(--line); padding-top:25px; }
.feature-index,.event-date { font-size:12px; color:var(--blue); display:block; margin-bottom:22px; } .feature-card h3,.step-card h3,.event-card h3 { font-size:22px; margin-bottom:18px; } .feature-card p,.step-card p,.event-card p { font-size:15px; } .step-card .step-number { display:block; margin-bottom:22px; }
.split-layout { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; } .split-copy>p:not(.eyebrow) { margin-top:26px; } .split-copy li { font-size:15px; padding-block:6px; } .split-image { aspect-ratio:1.2; } .split-image img { width:100%; height:100%; object-fit:cover; }
.timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:25px; } .timeline-item { border-top:2px solid var(--blue); padding:25px 0; } .timeline-label { font-size:19px; font-weight:500; } .timeline-item p { font-size:15px; margin-top:18px; }
.service-catalog-item { display:grid; grid-template-columns:45px 1fr 1fr 1.1fr; gap:30px; border-top:1px solid var(--line); padding:42px 0; scroll-margin-top:112px; } .service-catalog-item:target { border-top-color:var(--blue); }
.service-catalog-index { color:var(--blue); font-size:14px; } .service-catalog-title>span { display:block; color:var(--muted); font-size:11px; margin-bottom:16px; } .service-catalog-title h3 { font-size:25px; } .service-catalog-title .text-link { font-size:12px; margin-top:22px; } .service-catalog-item>p,.service-catalog-item li { font-size:14px; } .service-catalog-item ul { margin:0; }
.fit-section { padding-block:55px; border-bottom:1px solid var(--line); } .fit-selector { display:grid; grid-template-columns:1fr 1fr; gap:80px; } .fit-selector h2 { font-size:31px; } .fit-selector label { display:block; font-size:14px; margin-bottom:12px; } .fit-selector select { width:100%; } .fit-result { margin-top:15px; display:flex; flex-wrap:wrap; align-items:center; gap:18px; } .fit-result>span { font-size:12px; color:var(--muted); } .small-copy { font-size:12px; line-height:1.8; } .fit-selector .small-copy { margin-top:12px; }
.guide-note { max-width:750px; margin-bottom:44px; font-size:14px; } .guide-article { display:grid; grid-template-columns:.75fr 1.25fr; align-items:start; gap:70px; padding-bottom:65px; margin-bottom:65px; border-bottom:1px solid var(--line); scroll-margin-top:120px; }
.guide-article img { width:100%; aspect-ratio:1.1; height:auto; object-fit:cover; } .guide-article h2 { font-size:33px; } .guide-intro { margin-top:25px; } .guide-article li { font-size:15px; margin-top:18px; padding-left:8px; color:var(--muted); }
.legal-list { max-width:900px; } .legal-item+.legal-item { margin-top:50px; } .legal-item h2 { font-size:28px; margin-bottom:20px; }
.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; } .contact-panel h2,.contact-form h2 { font-size:30px; margin-bottom:24px; } .contact-email { display:block; font-size:22px; margin-top:24px; overflow-wrap:anywhere; } .contact-panel .text-control { margin-top:10px; } .copy-status { font-size:12px; min-height:20px; margin-top:8px; }
.qr-wrap { display:flex; align-items:center; gap:22px; margin-top:20px; } .qr-wrap img { width:135px; height:135px; } .qr-wrap span { font-size:13px; color:var(--muted); }
.contact-next { border-top:1px solid var(--line); margin-top:40px; padding-top:30px; } .contact-next h3 { font-size:20px; } .contact-next li { font-size:14px; color:var(--muted); padding-left:5px; }
.contact-form>div>p { font-size:14px; } .contact-form fieldset { padding:0; border:0; margin:30px 0 0; min-width:0; } .form-row { display:grid; grid-template-columns:1fr 1fr; gap:24px; } .field { margin-bottom:22px; } .field label { display:block; margin-bottom:9px; font-size:13px; } .required { color:var(--blue); padding-left:3px; }
input:not([type="checkbox"]),select,textarea { width:100%; max-width:100%; min-height:49px; border:1px solid #a6b0b5; background:white; padding:12px 13px; font-size:14px; line-height:1.5; } select { padding-right:26px; } input::placeholder,textarea::placeholder { color:#747e83; } textarea { min-height:160px; resize:vertical; }
[aria-invalid="true"] { border-color:#b63131!important; } .field-error { display:block; margin-top:5px; color:#b63131; font-size:12px; } .field-error:empty { display:none; } .consent-field { margin-top:22px; }
.consent-field a .icon { width:1em; height:1em; margin-left:4px; vertical-align:-.125em; }
.field .checkbox-label { display:flex; align-items:start; gap:12px; font-size:12px; line-height:1.8; } .checkbox-label input { margin:4px 0 0; width:17px; height:17px; flex:0 0 17px; accent-color:var(--blue); } .checkbox-label a { text-decoration:underline; }
.form-actions { display:flex; flex-wrap:wrap; gap:12px; } .form-actions .button { font-size:13px; gap:10px; padding-inline:17px; } .form-status { margin-top:22px; font-size:14px; color:#285f46; } .form-status:empty { display:none; }
/* Reveal motion is progressive: content stays visible when scripts are unavailable. */
.reveal-enabled [data-reveal].is-pending { opacity:0; transform:translateY(18px); } [data-reveal] { transition:opacity .65s var(--ease),transform .65s var(--ease); }
@media(min-width:1700px) { :root { --max:1440px; } .hero-copy h1 { font-size:78px; } html[lang="en"] .hero-copy h1 { font-size:65px; } }
@media(max-width:1279px) {
  .section-inner,.header-inner,.footer-inner,.disclaimer p { width:calc(100% - 72px); }
  .header-inner { gap:22px; } .desktop-nav { gap:19px; } .brand-line { font-size:9px; } .brand-name { font-size:19px; } .header-actions { gap:18px; } .nav-cta { padding-inline:14px; }
  .approach-grid,.contact-layout { gap:60px; } .footer-inner { gap:35px; }
}
@media(max-width:1100px) {
  .desktop-nav { display:none; } .header-actions { margin-left:auto; } .menu-toggle { display:inline-flex; }
  .hero-copy { max-width:510px; } .hero-copy h1 { font-size:61px; } html[lang="en"] .hero-copy h1 { font-size:49px; } .hero-description { max-width:400px; }
  .split-heading,.editorial-heading,.split-layout,.fit-selector { gap:45px; }
  .feature-grid,.steps-grid,.events-grid,.timeline { grid-template-columns:repeat(2,1fr); gap:40px; }
  .service-catalog-item { grid-template-columns:35px 1fr 1fr; } .service-catalog-item>ul { grid-column:3; } .service-catalog-item>p { grid-row:span 2; }
  .footer-inner { grid-template-columns:1.5fr 1fr; gap:35px 80px; }
}
@media(max-width:767px) {
  html { scroll-padding-top:90px; } .section-inner,.header-inner,.footer-inner,.disclaimer p { width:calc(100% - 40px); } .section { padding-block:64px; }
  h2 { font-size:32px; } h3 { font-size:22px; } .eyebrow { margin-bottom:16px; font-size:11px; }
  .header-inner { min-height:72px; gap:10px; } .brand { gap:3px; } .brand-mark { width:35px; height:35px; } .brand-name { font-size:18px; } .brand-line { font-size:8px; } .header-actions { gap:16px; }
  .header-actions .nav-cta,.menu-label { display:none; } .menu-toggle { padding:0; min-width:28px; } .mobile-menu { top:72px; } .language-switcher { font-size:12px; }
  .home-hero { min-height:590px; height:calc(100svh - 126px); max-height:750px; } .hero-photo { object-position:69% 20%; } .hero-shade { background:linear-gradient(0deg,rgba(6,17,23,.97),rgba(6,17,23,.65) 44%,rgba(6,17,23,.12) 85%); }
  .hero-content { justify-content:end; padding:160px 0 62px; } .hero-copy { max-width:100%; } .hero-copy .eyebrow { font-size:13px; margin-bottom:13px; }
  .hero-copy h1 { font-size:43px; line-height:1.15; } html[lang="en"] .hero-copy h1 { font-size:36px; }
  .hero-lead { font-size:16px; margin-top:20px; } .hero-description { font-size:13px; margin-top:9px; line-height:1.8; max-width:380px; }
  .hero-actions { gap:12px 20px; margin-top:22px; } .hero-actions .button { min-height:47px; padding:10px 16px; font-size:13px; gap:16px; } .hero-secondary { font-size:12px; gap:12px; }
  .hero-foot { bottom:13px; padding-top:12px; font-size:10px; } .hero-foot a { font-size:18px; }
  .network-section { padding-top:25px; } .network-heading h2 { font-size:18px; } .network-heading { align-items:start; gap:15px; } .network-heading .text-control { font-size:10px; }
  .logo-wall { margin-top:22px; } .partner-logo { width:222px; padding-inline:22px; gap:13px; height:72px; } .partner-logo span { font-size:17px; } .partner-logo img { width:30px; height:30px; }
  .partner-logo.wordmark img { width:114px; height:60px; }
  .editorial-heading,.split-heading,.approach-grid,.faq-layout,.cta-band .section-inner,.page-hero-grid,.split-layout,.fit-selector,.guide-article,.contact-layout { grid-template-columns:1fr; gap:30px; }
  .editorial-heading h2 { font-size:36px; } .editorial-body { padding-top:0; } .editorial-body>p { font-size:16px; line-height:1.9; }
  .principles { margin-top:32px; } .principles>div { padding:23px 12px 0 0; } .principles>div+div { padding-left:17px; } .principles strong { font-size:26px; } .principles span { font-size:10px; margin-top:8px; }
  .section-heading { margin-bottom:33px; } .split-heading p { font-size:15px; }
  .program-grid { gap:38px; grid-template-columns:1fr; } .program-image { aspect-ratio:1.5; } .program-caption { padding-top:19px; } .program-caption h3 { font-size:24px; } .program-caption>p:last-child { font-size:14px; margin-top:11px; } .program-caption .eyebrow { font-size:10px; }
  .approach-intro { font-size:15px; } .approach-photo { aspect-ratio:1.6; margin-top:28px; } .approach-step summary { min-height:81px; } .approach-step h3 { font-size:20px; } .approach-grid { gap:38px; }
  .insight-grid { grid-template-columns:1fr; gap:38px; } .insight-card img { aspect-ratio:1.6; } .insight-card h3 { font-size:23px; } .insight-card .text-link { margin-top:10px; }
  .faq-section { padding-top:0; } .faq-layout { padding-top:45px; gap:20px; } .faq-item summary { font-size:16px; padding-block:21px; } .faq-item p { font-size:14px; padding-right:5px; }
  .cta-band { padding-block:50px; } .cta-band h2 { font-size:31px; } .cta-band p { font-size:15px; margin-top:17px; } .cta-band .section-actions { justify-content:start; }
  .footer-inner { grid-template-columns:1fr 1fr; gap:35px 24px; } .footer-inner>div:first-child { grid-column:1/-1; } .site-footer { padding-top:44px; } .site-footer h2 { font-size:24px; } .site-footer h3 { margin-top:0; margin-bottom:16px; } .copyright { display:block; padding-block:20px; margin-top:30px; } .copyright p+p { margin-top:8px; }
  .page-hero { padding-block:44px; } .page-hero h1 { font-size:35px; line-height:1.35; } .page-hero p:not(.eyebrow) { font-size:15px; margin-top:20px; } .page-hero-mark { display:none; }
  .feature-grid,.steps-grid,.events-grid,.timeline { gap:30px 24px; } .feature-card h3,.step-card h3,.event-card h3 { font-size:19px; } .feature-card p,.step-card p,.event-card p,.timeline-item p { font-size:14px; } .timeline-label { font-size:17px; }
  .service-catalog-item { grid-template-columns:28px 1fr; gap:20px 15px; padding-block:32px; } .service-catalog-item>p,.service-catalog-item>ul { grid-column:2; grid-row:auto; } .service-catalog-title h3 { font-size:24px; } .service-catalog-title .text-link { margin-top:10px; }
  .fit-section { padding-block:36px; } .fit-selector h2 { font-size:27px; } .guide-article { padding-bottom:38px; margin-bottom:38px; } .guide-article h2 { font-size:28px; } .guide-article img { aspect-ratio:1.5; } .guide-article li { font-size:14px; }
  .contact-layout { gap:44px; } .contact-next { margin-top:28px; padding-top:25px; } .contact-form { border-top:1px solid var(--line); padding-top:35px; } .contact-form h2,.contact-panel h2 { font-size:27px; } .form-row { gap:16px; }
  input:not([type="checkbox"]),select,textarea { font-size:16px; } .form-actions .button { flex:1 1 160px; }
}
@media(max-width:380px) {
  .brand-line { display:none; } .brand-name { font-size:17px; } .header-actions { gap:13px; } html[lang="en"] .hero-copy h1 { font-size:31px; } .hero-copy h1 { font-size:39px; }
  .hero-actions { gap:10px 12px; } .hero-actions .button { padding-inline:13px; gap:10px; font-size:12px; } .hero-secondary { font-size:11px; gap:8px; } .form-row { grid-template-columns:1fr; gap:0; } .principles strong { font-size:23px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; }
  .logo-track { animation:none; } .logo-marquee { overflow-x:auto; mask-image:none; } .logo-group[aria-hidden] { display:none; } .reveal-enabled [data-reveal].is-pending { opacity:1; transform:none; }
}

body.dialog-open { overflow:hidden; }
.header-actions { gap:16px; }
.icon-button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:0; background:transparent; flex-shrink:0; }
.icon-button:hover { color:var(--blue); background:var(--paper); }
.icon-tooltip { position:absolute; top:calc(100% + 8px); right:0; width:max-content; max-width:240px; padding:8px 12px; background:var(--ink); color:white; font-size:11px; line-height:1.5; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-3px); transition:opacity .2s,transform .2s; }
.icon-button:hover .icon-tooltip,.icon-button:focus-visible .icon-tooltip { opacity:1; visibility:visible; transform:none; }
.perspective-section { padding-bottom:64px; }
.personal-section { padding-top:24px; }
.personal-grid { display:grid; grid-template-columns:1.08fr 1fr; align-items:center; gap:84px; }
.personal-photo img { width:100%; height:auto; aspect-ratio:1.08; object-fit:cover; object-position:48% center; }
.personal-photo figcaption,.initial-grid figcaption { font-size:11px; color:var(--muted); margin-top:12px; }
.personal-copy h2 { font-size:42px; line-height:1.3; }
.personal-intro { margin-top:24px; font-size:16px; }
.personal-points { list-style:none; padding:0; margin:28px 0 20px; }
.personal-points li { display:flex; gap:20px; border-top:1px solid var(--line); padding:17px 0; margin:0; }
.personal-points .step-number { margin-top:4px; flex:0 0 20px; }
.personal-points h3 { font-size:18px; line-height:1.5; }
.personal-points p { margin-top:7px; font-size:13px; line-height:1.85; }
.initial-section { background:#edf2f3; }
.initial-heading { display:grid; grid-template-columns:1fr 1fr; gap:84px; align-items:end; margin-bottom:48px; }
.initial-heading h2 { font-size:44px; line-height:1.3; }
.initial-heading>div>p:not(.eyebrow) { max-width:530px; }
.initial-heading .button { margin-top:24px; }
.initial-grid { display:grid; grid-template-columns:1fr 1fr; gap:84px; align-items:start; }
.initial-photo { width:100%; height:auto; aspect-ratio:1.45; object-fit:cover; }
.consultation-qr { display:grid; grid-template-columns:220px minmax(0,1fr); gap:28px; align-items:center; }
.qr-image-link { display:block; width:220px; height:220px; background:#fff; cursor:zoom-in; }
.qr-image-link img { width:100%; height:100%; object-fit:contain; }
.qr-caption h3 { font-size:19px; line-height:1.5; }
.qr-caption p { font-size:13px; margin-top:12px; }
.qr-caption .text-link { font-size:12px; gap:9px; margin-top:14px; }
.qr-caption .icon { width:16px; height:16px; }
.initial-points { margin:24px 0 15px; padding:0; list-style:none; border-top:1px solid #cbd5d8; }
.initial-points li { font-size:14px; margin:0; padding-top:12px; display:flex; gap:18px; align-items:baseline; }
.initial-points li span { font-size:11px; color:var(--blue); }
.compact.consultation-qr { grid-template-columns:180px minmax(0,1fr); gap:22px; padding-block:12px; }
.compact .qr-image-link { width:180px; height:180px; }
.compact .qr-caption h3 { font-size:17px; }
.qr-dialog { border:0; padding:40px; width:min(480px,calc(100% - 32px)); max-height:calc(100dvh - 32px); color:var(--ink); background:#fff; text-align:center; overflow:auto; }
.qr-dialog::backdrop { background:rgba(10,19,22,.66); backdrop-filter:blur(3px); }
.qr-dialog[open] { animation:dialogEnter .2s var(--ease); }
.qr-dialog .eyebrow { margin:8px 0 16px; font-size:12px; }
.qr-dialog h2 { font-size:27px; line-height:1.35; }
.qr-dialog>p:not(.eyebrow) { font-size:13px; margin-top:12px; }
.qr-close { position:absolute; right:9px; top:9px; }
.dialog-qr { width:260px; height:260px; margin:24px auto; }
.qr-dialog-actions { display:flex; flex-direction:column; align-items:center; gap:14px; }
.qr-dialog-actions .button { font-size:13px; }
.qr-dialog-actions .text-link { font-size:12px; }
.page-photo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:40px; }
.page-photo img { width:100%; height:auto; aspect-ratio:1.5; object-fit:cover; object-position:center; }
.page-photo+.personal-section { padding-top:88px; }
.footer-qr-link { display:inline-block; }
@keyframes dialogEnter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }

@media(max-width:1279px) {
  .personal-grid,.initial-grid,.initial-heading { gap:48px; }
  .consultation-qr { grid-template-columns:190px minmax(0,1fr); gap:24px; }
  .qr-image-link { width:190px; height:190px; }
  .compact.consultation-qr { grid-template-columns:1fr; gap:18px; }
}
@media(max-width:1100px) {
  .initial-grid { grid-template-columns:.85fr 1.15fr; gap:32px; }
  .initial-photo { aspect-ratio:.85; object-position:60% center; }
  .personal-grid { gap:40px; }
  .personal-copy h2 { font-size:36px; }
  .personal-photo img { aspect-ratio:.85; }
  .consultation-qr { grid-template-columns:160px minmax(0,1fr); gap:20px; }
  .qr-image-link { width:160px; height:160px; }
  .qr-caption h3 { font-size:17px; }
}
@media(max-width:767px) {
  .header-actions { gap:10px; }
  .header-qr { width:30px; }
  .header-qr .icon { width:19px; height:19px; }
  .perspective-section { padding-bottom:44px; }
  .personal-section { padding-top:0; }
  .personal-grid,.initial-heading,.initial-grid { grid-template-columns:1fr; gap:30px; }
  .personal-photo img { aspect-ratio:1.3; }
  .personal-copy h2 { font-size:34px; }
  .personal-intro { font-size:15px; margin-top:18px; }
  .personal-points { margin-top:23px; }
  .personal-points li { padding-block:16px; }
  .personal-points h3 { font-size:17px; }
  .initial-heading { margin-bottom:32px; gap:22px; }
  .initial-heading h2 { font-size:34px; }
  .initial-heading>div>p:not(.eyebrow) { font-size:15px; }
  .initial-photo { aspect-ratio:1.5; }
  .initial-grid figcaption { font-size:10px; }
  .consultation-qr,.compact.consultation-qr { grid-template-columns:160px minmax(0,1fr); gap:20px; }
  .qr-image-link,.compact .qr-image-link { width:160px; height:160px; }
  .qr-caption h3 { font-size:16px; }
  .qr-caption p { font-size:12px; margin-top:8px; }
  .qr-caption .text-link { font-size:11px; margin-top:8px; gap:6px; }
  .initial-points { margin-top:26px; }
  .initial-points li { font-size:13px; }
  .qr-dialog { padding:34px 24px 26px; }
  .qr-dialog h2 { font-size:24px; }
  .dialog-qr { width:240px; height:240px; max-width:100%; }
  .page-photo { grid-template-columns:1fr; margin-top:28px; }
  .page-photo img:nth-child(2) { display:none; }
  .page-photo+.personal-section { padding-top:58px; }
}
@media(max-width:380px) {
  .header-actions { gap:8px; }
  .header-inner { gap:6px; }
  .header-qr { width:27px; }
  .consultation-qr,.compact.consultation-qr { grid-template-columns:1fr; gap:16px; }
  .qr-image-link,.compact .qr-image-link { width:200px; height:200px; }
  .qr-caption h3 { font-size:19px; }
}

.brand-identity { width:100%; min-width:0; min-height:460px; aspect-ratio:1.2; padding:38px; display:flex; flex-direction:column; justify-content:space-between; background:#151b1c; color:#fff; }
.identity-eyebrow { color:#8bc9ff; font-size:12px; line-height:1.6; }
.identity-lockup { display:flex; flex-direction:column; align-items:center; padding:4px 0 30px; }
.identity-lockup img { width:220px; height:220px; object-fit:contain; }
.identity-lockup strong { font-size:38px; font-weight:500; line-height:1.25; white-space:nowrap; }
.brand-identity figcaption { display:flex; justify-content:space-between; gap:22px; border-top:1px solid #ffffff30; padding-top:22px; font-size:12px; color:#c8d2d5; }
.industry-wall { scroll-margin-top:112px; }
.industry-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:36px; }
.industry-heading>div:first-child { max-width:710px; }
.industry-heading h2 { font-size:40px; }
.industry-heading p:not(.eyebrow) { margin-top:22px; font-size:16px; }
.industry-actions { display:flex; flex-shrink:0; gap:24px; }
.industry-actions .text-control { font-size:12px; gap:7px; }
.industry-actions .icon { width:17px; height:17px; }
.industry-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; align-items:start; }
.industry-column { display:flex; flex-direction:column; gap:20px; min-width:0; }
.industry-card { min-width:0; border:1px solid var(--line); background:#fff; transition:border-color .25s; }
.industry-card:hover,.industry-card[open] { border-color:#87aeca; }
.industry-card summary { padding:25px 23px 22px; }
.industry-symbol { display:flex; align-items:center; justify-content:space-between; margin-bottom:24px; color:var(--blue); }
.industry-symbol>.icon { width:29px; height:29px; stroke-width:1.5; }
.industry-symbol>span { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
.industry-card h3 { min-height:55px; font-size:20px; line-height:1.4; text-wrap:pretty; }
html[lang="en"] .industry-card h3 { min-height:76px; font-size:19px; line-height:1.35; }
.industry-card-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:21px; font-size:11px; color:var(--muted); }
.industry-card-meta>.icon { width:18px; height:18px; transition:transform .25s; }
.industry-card[open] .industry-card-meta>.icon { transform:rotate(180deg); color:var(--blue); }
.industry-panel { padding:0 23px 23px; }
.industry-panel ul { margin:0; padding:18px 0 10px; list-style:none; border-top:1px solid var(--line); }
.industry-panel li { margin:0; padding:5px 0; font-size:13px; color:var(--muted); }
.industry-panel .text-link { margin-top:12px; font-size:12px; gap:12px; }
.industry-panel .text-link>.icon { width:16px; height:16px; }
.industry-card[open] .industry-panel { animation:industryEnter .2s var(--ease); }
.industry-note { font-size:12px; margin-top:28px; max-width:850px; }
.principles a { display:block; }
.principles a:hover strong,.principles a:hover span { color:var(--blue); }
.principles span .icon { display:inline; vertical-align:middle; margin-left:8px; width:14px; height:14px; }
@keyframes industryEnter { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:none; } }
@media(max-width:1100px) {
  .brand-identity { min-height:430px; padding:28px; }
  .identity-lockup strong { font-size:31px; }
  .identity-lockup img { width:190px; height:190px; }
  .brand-identity figcaption { flex-direction:column; gap:7px; }
  .industry-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .industry-heading { align-items:start; }
  .industry-actions { flex-direction:column; gap:5px; }
}
@media(max-width:767px) {
  .brand-identity { min-height:360px; padding:27px; aspect-ratio:auto; }
  .identity-lockup { padding-bottom:26px; }
  .identity-lockup img { width:170px; height:170px; }
  .identity-lockup strong { font-size:29px; }
  .identity-eyebrow { font-size:11px; }
  .brand-identity figcaption { flex-direction:row; gap:16px; font-size:10px; padding-top:20px; }
  .industry-wall { scroll-margin-top:90px; }
  .industry-heading { flex-direction:column; gap:22px; margin-bottom:28px; }
  .industry-heading h2 { font-size:32px; }
  .industry-heading p:not(.eyebrow) { margin-top:18px; font-size:15px; }
  .industry-actions { flex-direction:row; gap:25px; }
  .industry-grid,.industry-column { gap:14px; }
  .industry-card summary { padding:20px 16px 18px; }
  .industry-symbol { margin-bottom:19px; }
  .industry-symbol>.icon { width:25px; height:25px; }
  .industry-card h3 { font-size:18px; min-height:76px; }
  html[lang="en"] .industry-card h3 { font-size:17px; min-height:96px; overflow-wrap:anywhere; }
  .industry-card-meta { font-size:10px; gap:6px; margin-top:16px; }
  .industry-panel { padding:0 16px 18px; }
  .industry-panel li { font-size:12px; overflow-wrap:anywhere; }
  .industry-panel .text-link { font-size:11px; gap:8px; }
  .industry-note { font-size:11px; margin-top:23px; }
}
@media(max-width:380px) {
  .identity-lockup strong { font-size:26px; }
  .brand-identity { padding:23px; }
  .industry-grid { grid-template-columns:1fr; }
  .industry-card h3,html[lang="en"] .industry-card h3 { min-height:0; font-size:20px; }
  .industry-card-meta { font-size:11px; }
}
