.locale-picker {display:inline-flex; align-items:center; gap:5px; color:#746574; margin:0; flex-shrink:0;}.locale-picker>svg {width:17px;height:17px;flex-shrink:0;}.language-select {font:600 12px/1.2 Quicksand,sans-serif; color:inherit; max-width:82px; padding:8px 14px 8px 2px; border:0; background:transparent; cursor:pointer;}.language-select:focus-visible {outline:2px solid #c25a88;outline-offset:3px;border-radius:4px;}.nav-feedback {display:inline-flex;align-items:center;gap:7px;}.nav-feedback svg {width:19px;height:19px;flex-shrink:0;}.desktop-nav {gap:22px;}.header-inner {gap:18px;}.header-actions {gap:14px;}.footer-top .locale-picker {margin-left:auto;}
@media(max-width:1150px) {.desktop-nav {gap:14px;font-size:.85rem;}.nav-feedback span {font-size:.8rem;}.header-inner {gap:12px;}.header-actions {gap:10px;}.brand span {font-size:1.1rem;}}
@media(max-width:760px) {.header-actions .locale-picker {gap:2px;}.header-actions {gap:8px;}.language-select {font-size:11px;max-width:70px;}.footer-top {gap:20px;}.brand span {font-size:1rem;}}
html[lang="ja"] body {font-family:Quicksand,"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;}html[lang="ja"] .hero h1 {font-size:clamp(2.5rem,4vw,4rem);line-height:1.35;}html[lang="ja"] .iou-story-heading h2 {font-size:clamp(2rem,3.6vw,3.4rem);}
@media(max-width:350px) {.site-header .brand span {display:none;}.header-inner {padding-inline:14px;}}

/* Reserve each header control's width instead of shrinking the brand underneath it. */
.site-header .brand { flex-shrink:0; }
.site-header .header-actions { flex-shrink:0; }
.site-header .locale-picker { width:72px; min-width:72px; gap:4px; }
.site-header .language-select { width:51px; min-width:0; max-width:51px; padding-right:0; }
@media(max-width:1000px) { .site-header .desktop-nav { display:none; } .site-header .menu-button { display:flex; } }
@media(max-width:760px) {
  .site-header .header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; padding-inline:14px; }
  .site-header .header-actions { gap:8px; }
  .site-header .header-actions > .button, .site-header .login-link { display:none; }
  .site-header .locale-picker { width:62px; min-width:62px; }
  .site-header .language-select { width:41px; max-width:41px; font-size:12px; padding:8px 0; }
  .site-header .menu-button { width:40px; min-width:40px; height:44px; }
  .site-header .brand { gap:7px; }
  .site-header .brand img { width:30px; }
  .site-header .brand span { display:inline; font-size:1rem; }
}
@media(max-width:350px) { .site-header .header-inner { padding-inline:12px; gap:6px; } .site-header .brand span { font-size:.95rem; } }
