/* UMIBE Soft Condensed: subtly rounded-corner modification of D-DIN Condensed,
   distributed under SIL OFL 1.1. Original license: /fonts/OFL-1.1.txt */
@font-face {
  font-family: 'UMIBE Soft Condensed';
  src: url('/fonts/umibe-soft-condensed-bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'UMIBE Soft Condensed';
  src: url('/fonts/umibe-soft-condensed-regular.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

:root {
  --blue:#1159A8;--white:#fff;--muted:rgba(255,255,255,.82);
  --gutter:64px;--space:40px;
  --display:'Barlow Condensed','Arial Narrow',sans-serif;
  --hero-display:'UMIBE Soft Condensed','D-DIN Condensed','Barlow Condensed','Arial Narrow',sans-serif;
  --body:'Noto Sans JP','Noto Sans CJK JP',sans-serif;
  --latin:'Barlow',Arial,sans-serif;
  --ease:cubic-bezier(.18,1,.32,1);
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:22px;overflow-x:clip}
body{margin:0;background:var(--blue);color:var(--white);font-family:var(--body);font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,h4,p{margin:0}
a{color:inherit;text-decoration:none}
a:hover{opacity:.80}
a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}
button{font:inherit}
.container{max-width:1680px;margin-inline:auto;padding-inline:var(--gutter)}
.text-muted{color:var(--muted)}
.rule{border-top:1px solid rgba(255,255,255,.78);width:100%;height:1px}
.skip-link{position:absolute;top:-100px;left:15px;background:#fff;color:var(--blue);padding:12px 18px;z-index:100}
.skip-link:focus{top:12px}
.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20}
.logo{font:700 31px/1 var(--display);letter-spacing:-.03em}
.desktop-nav{display:flex;align-items:center;gap:32px;font:400 14px/1.25 var(--display);white-space:nowrap}
.desktop-nav .nav-contact{font-weight:600}
.mobile-nav,.menu-toggle{display:none}
.hero{height:calc(100svh - 108px);min-height:730px;max-height:980px;display:flex;align-items:center}
.hero-inner{width:100%}
.hero-label{font:500 13px/1.2 var(--display);letter-spacing:.16em;margin-bottom:58px;opacity:.85}
.hero-primary{font:700 clamp(24.8px,6.2vw,97.6px)/1.01 var(--hero-display);letter-spacing:-.018em;perspective:900px;max-width:none;min-width:0}
.hero-primary .hero-line{display:block;white-space:nowrap;width:100%;min-width:0}
.hero-inner{min-width:0}
/* Headline text is kept on one line; JS scales down only as needed to fit. */
.hero-sub{font:700 clamp(16px,1.7vw,22px)/1.8 var(--body);letter-spacing:.02em;margin-top:14px}
.section-index{display:flex;gap:20px;align-items:baseline;font:500 15px/1.25 var(--display)}
.section-index span:first-child{font:600 14px/1.2 var(--latin)}
.section-grid{display:grid;grid-template-columns:minmax(0,408fr) minmax(0,864fr);gap:40px}
.idea{padding-block:100px 128px}
.idea-left,.idea-right{display:flex;flex-direction:column;align-items:flex-start}
.idea-left{gap:70px}
.idea-right{gap:34px}
.idea-title{font:400 42px/1.15 var(--display)}
.idea-description{font:400 16px/1.8 var(--body);max-width:408px}
.idea-statement{font:500 34px/1.65 var(--display);max-width:860px}
.idea-declaration{font:400 20px/2 var(--body);max-width:720px}
.idea-right>.text-muted{font:400 16px/1.8 var(--body);max-width:720px}
.text-link{display:inline-flex;position:relative;align-items:center;gap:32px;border-bottom:1px solid rgba(255,255,255,.38);padding-bottom:12px;font:400 15px/1.3 var(--display)}
.text-link::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;background:#fff;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.text-link:hover,.text-link:focus-visible{opacity:1}
.text-link:hover::after,.text-link:focus-visible::after{transform:scaleX(1)}
.text-link small{font:400 13px var(--body);color:var(--muted)}
.method{padding-block:98px 130px}
.method-header{display:grid;grid-template-columns:245px 1fr minmax(250px,430px);gap:30px;align-items:start;margin-bottom:65px}
.method-header h2{font:400 38px/1.35 var(--display)}
.method-header .text-muted{font:400 14px/1.9 var(--body)}
.attitudes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.attitudes article{display:flex;flex-direction:column;align-items:flex-start;gap:22px;min-width:0}
.attitudes .rule{margin-bottom:2px}
.attitudes h3{font:400 31px/1.2 var(--display)}
.attitudes h4{font:600 18px/1.8 var(--body)}
.attitudes p{font:400 15px/2 var(--body)}
.method-end{font:400 14px/1.5 var(--display);margin-top:55px;opacity:.85}
.work{padding-block:120px 130px}
.work-left{display:flex;flex-direction:column;align-items:flex-start;gap:32px}
.work-left h2{font:500 42px/1.42 var(--display);max-width:440px}
.work-left>p{font:400 16px/1.9 var(--body);max-width:370px}
.work-left>.text-muted{font-size:14px}
.work-left .text-link{margin-top:16px}
.discipline-list article{padding:26px 0;border-bottom:1px solid rgba(255,255,255,.8)}
.discipline-list h3{font:400 32px/1.1 var(--display);margin-bottom:15px}
.discipline-list p{font:400 14px/1.8 var(--body)}
.art{padding-block:88px 140px}
.art>.rule{margin-bottom:44px}
.art-header{display:grid;grid-template-columns:minmax(260px,408fr) minmax(0,630fr) minmax(200px,370fr);gap:40px;align-items:start}
.art-kicker{display:flex;flex-direction:column;gap:24px;font:400 14px/1.4 var(--display)}
.art-header h2{font:500 38px/1.55 var(--display)}
.art-header p{font:400 16px/1.8 var(--body)}
.bookshop{padding-block:40px 120px;display:grid;grid-template-columns:minmax(0,712fr) minmax(0,528fr);gap:72px;align-items:center}
.bookshop-visual{min-width:0;min-height:530px;position:relative;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.65);overflow:hidden}
.bookshop-vertical-label{position:absolute;top:30px;left:33px;font:500 13px/1.4 var(--display);letter-spacing:.08em}
.bookshop-visual-type{font:700 clamp(65px,9vw,140px)/1.2 var(--body);letter-spacing:-.08em;white-space:nowrap}
.bookshop-copy{display:flex;flex-direction:column;gap:34px}
.bookshop-copy h2{font:500 74px/1.05 var(--display)}
.bookshop-copy .bookshop-en{font:400 14px/1.4 var(--display);margin-top:8px}
.bookshop-copy .text-muted{font:400 13px/1.8 var(--body);margin-top:12px}
.bookshop-copy h3{font:500 27px/1.7 var(--display)}
.bookshop-copy>p{font:400 16px/2 var(--body)}
.contact{padding-block:110px 32px}
.contact-invite{display:flex;flex-direction:column;gap:28px;align-items:flex-end;padding-block:42px 65px}
.contact-invite h2,.contact-invite>div{width:min(100%,856px)}
.contact-invite h2{font:500 60px/1.5 var(--display)}
.contact-invite>div{font:400 16px/2 var(--body)}
.contact-invite>div p+p{margin-top:16px}
.contact-lead{font-size:18px}
.contact-action{display:grid;grid-template-columns:1.1fr .55fr 1fr auto;align-items:center;gap:24px;padding-block:26px;position:relative}
.contact-action>span:first-child{font:500 34px/1.2 var(--display)}
.contact-action small{font:400 18px/1.5 var(--body);color:var(--muted)}
.contact-action .contact-english{font:400 18px/1.5 var(--display)}
.contact-action b{font:400 48px/1 var(--latin);transition:transform .35s var(--ease)}
.contact-action:hover b,.contact-action:focus-visible b{transform:translateX(7px)}
.contact-action::before,.contact-action::after{content:'';position:absolute;left:0;right:0;background:#fff;height:1px}
.contact-action::before{top:0}
.contact-action::after{bottom:0}
.contact-note{display:flex;justify-content:space-between;gap:25px;padding-top:23px;color:var(--muted);font:400 14px/1.6 var(--body)}
.site-footer{padding-top:60px;padding-bottom:32px}
.site-footer>.rule{margin-bottom:34px}
.footer-main{display:flex;justify-content:space-between;gap:50px}
.footer-main>div{font:400 14px/1.8 var(--display)}
.footer-main .footer-identity{font:500 18px/1.3 var(--display)}
.footer-main>div p:last-child{font:400 12px/1.8 var(--body)}
.footer-main nav{display:flex;flex-wrap:wrap;gap:28px;font:400 14px/1.3 var(--display)}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:80px;font:400 11px/1.4 var(--display)}
/* Character-by-character Japanese reveal: rotational, soft-focus, purposeful */
.hero-word{display:inline-block;white-space:nowrap}
.hero-char{display:inline-block;white-space:pre;transform-origin:50% 75%;backface-visibility:hidden}
.hero-motion-enabled .hero-motion-ready .hero-char{
  animation:hero-letter-rotate-blur .84s cubic-bezier(.18,.76,.18,1) var(--reveal-delay,0ms) both;
}
@keyframes hero-letter-rotate-blur{
  0%{opacity:0;transform:perspective(800px) translate3d(0,25px,0) rotateY(var(--hero-turn,-65deg)) rotateZ(var(--hero-tilt,-10deg)) scale(.94);filter:blur(var(--hero-blur-start,13px))}
  65%{opacity:1;filter:blur(2px)}
  100%{opacity:1;transform:perspective(800px) translate3d(0,0,0) rotateY(0deg) rotateZ(0deg) scale(1);filter:blur(0)}
}
/* Section-specific rhythms, not an all-purpose fade-up */
.scroll-motion-enabled [data-motion]{
  transition-property:transform,opacity,filter,clip-path;
  transition-delay:var(--motion-delay,0ms);
  transition-timing-function:var(--ease);
}
.scroll-motion-enabled [data-motion]:not(.is-visible){opacity:0}
.scroll-motion-enabled [data-motion="kicker"]{transition-duration:.55s}
.scroll-motion-enabled [data-motion="kicker"]:not(.is-visible){transform:translate(-22px,0);filter:blur(3px)}
.scroll-motion-enabled [data-motion="soft"]{transition-duration:.83s}
.scroll-motion-enabled [data-motion="soft"]:not(.is-visible){transform:translateY(14px);filter:blur(4px)}
.scroll-motion-enabled [data-motion="float"]{transition-duration:.78s}
.scroll-motion-enabled [data-motion="float"]:not(.is-visible){transform:translateY(28px)}
.scroll-motion-enabled [data-motion="from-right"]{transition-duration:.84s}
.scroll-motion-enabled [data-motion="from-right"]:not(.is-visible){transform:translateX(38px);filter:blur(3px)}
.scroll-motion-enabled [data-motion="headline"]{transition-duration:.81s}
.scroll-motion-enabled [data-motion="headline"]:not(.is-visible){transform:translateY(40px);filter:blur(5px)}
.scroll-motion-enabled [data-motion="ink"]{transition-duration:.90s;transform-origin:15% 75%}
.scroll-motion-enabled [data-motion="ink"]:not(.is-visible){transform:perspective(900px) translateY(34px) rotateX(11deg) rotateZ(-1deg);filter:blur(8px)}
.scroll-motion-enabled [data-motion="rule"]{transition-duration:.85s;transform-origin:0 50%}
.scroll-motion-enabled [data-motion="rule"]:not(.is-visible){transform:scaleX(.001);opacity:.35}
.scroll-motion-enabled [data-motion="method-card"]{transition-duration:.78s}
.scroll-motion-enabled [data-motion="method-card"]:not(.is-visible){transform:perspective(850px) translateY(45px) rotateX(5deg)}
.scroll-motion-enabled .attitudes article .rule{transform-origin:0 50%;transition:transform .82s cubic-bezier(.65,0,.2,1);transition-delay:calc(var(--motion-delay,0ms) + 90ms)}
.scroll-motion-enabled .attitudes article:not(.is-visible) .rule{transform:scaleX(0)}
.scroll-motion-enabled [data-motion="service-row"]{transition-duration:.72s}
.scroll-motion-enabled [data-motion="service-row"]:not(.is-visible){transform:translateX(27px)}
.scroll-motion-enabled [data-motion="line"]{transition-duration:.70s}
.scroll-motion-enabled [data-motion="line"]:not(.is-visible){transform:translate(-12px,8px);filter:blur(3px)}
.scroll-motion-enabled [data-motion="image-left"]{transition-duration:1.05s;transition-timing-function:cubic-bezier(.65,0,.2,1)}
.scroll-motion-enabled [data-motion="image-left"]:not(.is-visible){opacity:1;clip-path:inset(0 100% 0 0)}
.scroll-motion-enabled [data-motion="contact-line"]{transition-duration:.95s}
.scroll-motion-enabled [data-motion="contact-line"]:not(.is-visible){transform:translateY(34px);filter:blur(3px)}
.scroll-motion-enabled .contact-action::before,.scroll-motion-enabled .contact-action::after{transform-origin:left;transition:transform .90s cubic-bezier(.65,0,.2,1)}
.scroll-motion-enabled .contact-action:not(.is-visible)::before,.scroll-motion-enabled .contact-action:not(.is-visible)::after{transform:scaleX(0)}
.hero-motion-enabled .site-header .logo{animation:site-signature .66s var(--ease) .04s both}
.hero-motion-enabled .desktop-nav a{animation:site-nav-settle .62s var(--ease) both;animation-delay:calc(.14s + var(--nav-step,0) * .054s)}
.desktop-nav a:nth-child(1){--nav-step:0}.desktop-nav a:nth-child(2){--nav-step:1}.desktop-nav a:nth-child(3){--nav-step:2}.desktop-nav a:nth-child(4){--nav-step:3}.desktop-nav a:nth-child(5){--nav-step:4}.desktop-nav a:nth-child(6){--nav-step:5}
@keyframes site-signature{from{opacity:0;transform:translateX(-14px);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes site-nav-settle{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(max-width:1199px){
  :root{--gutter:40px;--space:30px}
  .hero-primary{font-size:clamp(24.8px,6.2vw,97.6px)}
  .art-header{grid-template-columns:minmax(180px,300px) 1fr}
  .art-header>p{grid-column:2}
  .method-header{grid-template-columns:1fr 1.3fr}
  .method-header>.text-muted{grid-column:2}
  .section-grid{grid-template-columns:minmax(220px,1fr) 1.8fr;gap:32px}
  .bookshop{gap:45px}
}
@media(max-width:860px){
  :root{--gutter:28px;--space:28px}
  .site-header{height:88px}
  .desktop-nav{display:none}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;width:45px;height:45px;border:1px solid rgba(255,255,255,.6);color:#fff;background:transparent;cursor:pointer}
  .menu-toggle span{width:20px;height:1px;background:currentColor}
  .mobile-nav:not([hidden]){display:flex;flex-direction:column;position:absolute;right:var(--gutter);top:72px;left:var(--gutter);padding:25px;background:var(--blue);border:1px solid rgba(255,255,255,.7);z-index:30;gap:18px;font:400 22px/1.3 var(--display)}
  .hero{height:calc(100svh - 88px);min-height:620px;max-height:850px}
  .hero-primary{font-size:clamp(24.8px,6.2vw,97.6px)}
  .hero-label{margin-bottom:46px}
  .section-grid{grid-template-columns:1fr;gap:45px}
  .idea-left{gap:28px}
  .idea-right{gap:26px}
  .method-header{grid-template-columns:1fr 1fr}
  .attitudes{grid-template-columns:repeat(2,1fr);gap:40px}
  .art-header{grid-template-columns:1fr}
  .art-header>p{grid-column:auto}
  .bookshop{grid-template-columns:1fr;gap:40px}
  .bookshop-visual{min-height:360px}
  .contact-invite h2{font-size:48px}
}
@media(max-width:600px){
  :root{--gutter:18px}
  .site-header{height:76px}
  .logo{font-size:28px}
  .mobile-nav:not([hidden]){top:66px}
  .hero{height:calc(85svh - 76px);min-height:460px;max-height:720px}
  .hero-primary{font-size:clamp(34px,10.5vw,54px);line-height:1.07}
  .hero-label{font-size:11px;margin-bottom:28px}
  .hero-sub{font-size:clamp(13px,3.6vw,16px);margin-top:12px}
  .idea{padding-block:54px 85px}
  .idea-title{font-size:38px}
  .idea-statement{font-size:29px;line-height:1.4}
  .idea-declaration{font-size:16px;line-height:1.95}
  .idea-description,.idea-right>.text-muted{font-size:14px}
  .text-link{gap:18px}
  .method{padding-block:62px 85px}
  .method-header{grid-template-columns:1fr;gap:22px}
  .method-header>.text-muted{grid-column:auto}
  .method-header h2{font-size:33px}
  .attitudes{gap:32px 20px}
  .attitudes h3{font-size:24px}
  .attitudes h4{font-size:14px}
  .attitudes p{font-size:13px}
  .work{padding-block:60px 85px}
  .work-left h2{font-size:35px}
  .discipline-list h3{font-size:29px}
  .art{padding-block:50px 85px}
  .art-header h2{font-size:34px}
  .bookshop{padding-block:30px 80px}
  /* Hide the decorative text panel on phones; the bookshop copy and link remain. */
  .bookshop-visual{display:none}
  .bookshop-copy h2{font-size:64px}
  .contact{padding-top:65px}
  .contact-invite{align-items:flex-start;padding-block:45px}
  .contact-invite h2{font-size:39px}
  .contact-invite>div{font-size:14px}
  .contact-lead{font-size:16px}
  .contact-action{grid-template-columns:1fr auto;gap:10px}
  .contact-action>span:first-child{font-size:31px}
  .contact-action small{font-size:13px}
  .contact-action .contact-english{grid-row:2;font-size:13px}
  .contact-action b{grid-column:2;grid-row:1 / 3}
  .contact-note{display:block;font-size:12px}
  .footer-main{display:block}
  .footer-main nav{margin-top:30px;gap:16px 23px}
  .footer-bottom{margin-top:55px}
  .scroll-motion-enabled [data-motion="ink"]:not(.is-visible){transform:translateY(23px) rotateZ(-.5deg);filter:blur(5px)}
}

/* Full-screen mobile editorial navigation — reveal, stagger, close */
@media (max-width:860px) {
  html.menu-open, html.menu-open body { overflow:hidden; }
  .site-header .logo { position:relative; z-index:52; }
  .menu-toggle {
    position:relative; z-index:53; display:flex; flex-direction:column;
    align-items:center; justify-content:center; gap:6px;
    width:52px; height:54px; padding:0; border:0; border-radius:0;
    background:transparent; color:#fff; cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .menu-toggle .menu-icon { position:relative; display:block; width:29px; height:18px; background:none; }
  .menu-toggle .menu-icon span {
    position:absolute; display:block; left:0; width:29px; height:1.5px;
    background:currentColor; transform-origin:center;
    transition:transform .44s cubic-bezier(.22,1,.36,1),top .44s cubic-bezier(.22,1,.36,1),width .44s;
  }
  .menu-toggle .menu-icon span:first-child { top:4px; }
  .menu-toggle .menu-icon span:last-child { top:13px; left:auto; right:0; width:21px; }
  .menu-toggle .menu-toggle-text {
    display:block; width:auto; height:auto; background:none;
    font:500 9px/1 var(--display); letter-spacing:.15em;
  }
  .menu-open .menu-icon span:first-child { top:9px; transform:rotate(45deg); }
  .menu-open .menu-icon span:last-child { top:9px; width:29px; transform:rotate(-45deg); }
  .mobile-nav:not([hidden]) {
    display:block; position:fixed; inset:0; top:0; right:0; bottom:0; left:0;
    width:100%; max-width:none; height:100vh; height:100dvh; padding:0; margin:0;
    z-index:51; border:0; border-radius:0; background:#0b498e;
    overflow:hidden; overscroll-behavior:contain;
    clip-path:inset(0 0 100% 0); visibility:hidden; pointer-events:none;
    transition:clip-path .68s cubic-bezier(.76,0,.19,1),visibility 0s linear .68s;
  }
  .mobile-nav.is-open:not([hidden]) {
    clip-path:inset(0 0 0 0); visibility:visible; pointer-events:auto;
    transition:clip-path .68s cubic-bezier(.76,0,.19,1),visibility 0s linear 0s;
  }
  .mobile-nav-inner {
    display:flex; flex-direction:column; width:100%; height:100%;
    overflow-y:auto; overscroll-behavior:contain;
    padding:calc(106px + env(safe-area-inset-top,0px)) var(--gutter) max(24px,env(safe-area-inset-bottom,0px));
  }
  .mobile-nav-heading, .mobile-nav-signoff {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    font:500 12px/1.4 var(--display); letter-spacing:.11em;
  }
  .mobile-nav-heading { margin-bottom:18px; padding-bottom:15px; border-bottom:1px solid rgba(255,255,255,.45); }
  .mobile-nav-list { display:flex; flex-direction:column; }
  .mobile-nav-link {
    display:grid; grid-template-columns:25px minmax(0,1fr) auto;
    gap:10px; align-items:baseline; min-height:68px; padding:9px 0 10px;
    border-bottom:1px solid rgba(255,255,255,.4);
    opacity:0; transform:translate3d(0,30px,0) rotate(-1deg);
    filter:blur(6px);
    transition:opacity .55s ease,transform .66s cubic-bezier(.16,1,.3,1),filter .68s ease;
    transition-delay:0ms;
    will-change:transform,opacity;
  }
  .mobile-nav.is-open .mobile-nav-link {
    opacity:1; transform:none; filter:blur(0);
    transition-delay:calc(140ms + var(--menu-i,0) * 65ms);
  }
  .mobile-nav-num { align-self:start; padding-top:8px; font:500 11px/1 var(--latin); color:rgba(255,255,255,.74); }
  .mobile-nav-label { display:block; font:500 clamp(34px,8vw,55px)/1.06 var(--display); letter-spacing:-.012em; white-space:nowrap; }
  .mobile-nav-jp { font:400 10px/1.5 var(--body); white-space:nowrap; color:rgba(255,255,255,.75); }
  .mobile-nav-link:hover, .mobile-nav-link:focus-visible { opacity:1; }
  .mobile-nav-signoff {
    margin-top:auto; padding-top:25px; color:rgba(255,255,255,.7);
    font:400 11px/1.7 var(--body); letter-spacing:0;
    opacity:0; transform:translateY(12px);
    transition:opacity .6s ease,transform .6s var(--ease);
  }
  .mobile-nav.is-open .mobile-nav-signoff { opacity:1; transform:none; transition-delay:.54s; }
}
@media (max-width:600px) {
  .mobile-nav-inner { padding-top:calc(88px + env(safe-area-inset-top,0px)); }
  .mobile-nav-heading { font-size:11px; margin-bottom:12px; }
  .mobile-nav-link { min-height:60px; padding-block:8px; grid-template-columns:22px minmax(0,1fr) auto; gap:6px; }
  .mobile-nav-label { font-size:clamp(30px,8.1vw,45px); }
  .mobile-nav-jp { font-size:9px; }
  .mobile-nav-signoff { font-size:10px; gap:8px; }
}
@media (max-width:860px) and (max-height:680px) {
  .mobile-nav-inner { padding-top:calc(74px + env(safe-area-inset-top,0px)); }
  .mobile-nav-heading { margin-bottom:6px; padding-bottom:7px; }
  .mobile-nav-link { min-height:53px; padding-block:5px; }
  .mobile-nav-label { font-size:clamp(30px,6.6vh,42px); }
}

@media (max-width:359px) {
  .mobile-nav-link { grid-template-columns:22px minmax(0,1fr); }
  .mobile-nav-jp { display:none; }
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
  .hero-char,[data-motion]{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .mobile-nav,.mobile-nav-link,.mobile-nav-signoff,.menu-icon span{transition:none!important;animation:none!important}
  .mobile-nav.is-open{clip-path:none!important;visibility:visible!important}
  .mobile-nav-link,.mobile-nav-signoff{opacity:1!important;transform:none!important;filter:none!important}
}

/* Reading mode: intentionally separate from the blue editorial presentation.
   Mirrors the supplied Chrome Reader screenshot: white canvas, left-aligned
   sans-serif text, generous column width and minimal controls. */
/* Quiet utility pill: white outline on UMIBE blue, with fully rounded ends. */
.reader-trigger,
.reader-trigger-mobile {
  appearance:none; display:inline-flex; align-items:center; justify-content:center;
  min-height:38px; padding:0 16px; border:1px solid #fff; border-radius:999px;
  background:transparent; color:#fff;
  font:500 13px/1 var(--display); letter-spacing:.045em;
  white-space:nowrap; cursor:pointer;
  transition:background-color .2s ease,color .2s ease;
}
@media (hover:hover) {
  .reader-trigger:hover,
  .reader-trigger-mobile:hover { background:#fff; color:var(--blue); }
}
.reader-trigger:focus-visible,
.reader-trigger-mobile:focus-visible {
  background:#fff; color:var(--blue); outline:2px solid #fff; outline-offset:3px;
}
.header-mobile-actions { display:none; }
@media (max-width:860px) {
  .header-mobile-actions { display:flex; align-items:center; gap:17px; margin-left:auto; }
  .reader-trigger-mobile { min-height:38px; padding-inline:14px; }
}
@media (max-width:600px) {
  .header-mobile-actions { gap:10px; }
  .reader-trigger-mobile { min-height:36px; padding-inline:12px; font-size:12px; }
}
/* Original document remains in the DOM for SEO, links and returning to the
   same scroll position, but is noninteractive while the reader is active. */
html.read-mode { scroll-behavior:auto; color-scheme:light; }
html.read-mode body { background:#fff; color:#202124; }
html.read-mode .site-header,
html.read-mode main,
html.read-mode .site-footer,
html.read-mode .skip-link { display:none!important; }
.reading-view[hidden] { display:none!important; }
.reading-view:not([hidden]) { display:block; background:#fff; color:#202124; min-height:100vh; }
.reading-view {
  --reading-font-size:26px;
  --reading-ink:#202124;
  --reading-ui:#5f6368;
  font-family:Arial,Helvetica,'Hiragino Kaku Gothic ProN','Noto Sans JP',sans-serif;
  -webkit-font-smoothing:antialiased;
  font-size:var(--reading-font-size);
  line-height:1.56; letter-spacing:0;
}
.reading-article {
  width:min(1085px,calc(100% - 64px));
  margin-inline:auto; padding:112px 0 150px;
  font:inherit; overflow-wrap:break-word;
}
.reading-article h1,.reading-article h2,.reading-article h3,
.reading-article h4,.reading-article p { margin:0; padding:0; color:var(--reading-ink); font-family:inherit; letter-spacing:0; }
.reading-article h2,.reading-article h3,.reading-article h4 { white-space:pre-line; }
.reading-article h1 { font-size:clamp(34px,4vw,62px); line-height:1.19; font-weight:700; margin-bottom:45px; }
.reading-article h2 { font-size:clamp(31px,3vw,46px); line-height:1.30; font-weight:700; margin:38px 0 38px; }
.reading-article h3 { font-size:clamp(25px,2.4vw,36px); line-height:1.35; font-weight:700; margin:32px 0 27px; }
.reading-article h4 { font-size:1.14em; line-height:1.4; font-weight:700; margin:25px 0 13px; }
.reading-article p { font-size:1em; font-weight:400; line-height:1.57; margin:0 0 28px; }
.reading-article .reading-index { font-size:1.08em; margin:42px 0 37px; font-weight:400; }
.reading-article .reading-kicker { font-size:1.08em; margin-bottom:39px; }
.reading-article .reading-subcopy { font-size:.93em; margin-bottom:34px; }
.reading-article .reading-section { margin-bottom:60px; }
.reading-article a { color:#1967d2; text-decoration:underline; text-underline-offset:3px; }
.reading-article a:hover { opacity:1; }
.reading-toolbar {
  position:fixed; right:28px; top:17px; z-index:100;
  display:flex; align-items:center; gap:6px; padding:5px;
  background:#fff; border-radius:24px; color:var(--reading-ui);
  font:600 17px/1 Arial,Helvetica,sans-serif;
}
.reading-toolbar button {
  display:grid; place-items:center; width:38px; height:38px;
  padding:0; border:0; border-radius:50%; color:var(--reading-ui);
  background:transparent; cursor:pointer; font:inherit;
}
.reading-toolbar button:hover { background:#e8f0fe; color:#174ea6; }
.reading-toolbar button:focus-visible { outline:2px solid #1a73e8; outline-offset:2px; }
.reading-toolbar .reading-close { font-size:27px; font-weight:400; line-height:1; }
.reading-toolbar-divider { width:1px; height:18px; background:#dadce0; margin:0 4px; }
@media (max-width:860px) {
  .reading-view { --reading-font-size:21px; }
  .reading-article { width:calc(100% - 56px); padding-top:102px; }
  .reading-article h1 { font-size:clamp(34px,5.5vw,50px); }
  .reading-article h2 { font-size:clamp(29px,4.6vw,39px); }
  .reading-article h3 { font-size:clamp(24px,3.7vw,32px); }
}
@media (max-width:600px) {
  .reading-view { --reading-font-size:18px; }
  .reading-article { width:calc(100% - 40px); padding-top:105px; padding-bottom:90px; }
  .reading-article h1 { font-size:34px; line-height:1.23; margin-bottom:34px; }
  .reading-article h2 { font-size:31px; margin-block:29px; }
  .reading-article h3 { font-size:25px; margin-block:27px 20px; }
  .reading-article p { margin-bottom:22px; }
  .reading-article .reading-index { margin-block:30px 25px; }
  .reading-toolbar { top:10px; right:12px; }
}
@media (prefers-reduced-motion:reduce) {
  .reading-view,.reading-view * { animation:none!important; transition:none!important; }
}

/* Mobile-only deliberate word wrapping; larger English type remains legible
   instead of being silently scaled back to a single tiny line. */
@media (max-width:600px) {
  .hero-primary .hero-line { white-space:normal; }
  .hero-primary { letter-spacing:-.028em; }
}
