:root{--background: oklch(97.66% .0034 174.5);--background-deep: oklch(95.78% .0045 179.7);--paper: oklch(97.35% .0139 88.7);--surface: oklch(100% 0 0);--surface-secondary: oklch(96.36% .005 165);--separator: oklch(93.65% .0089 179.6);--hairline: oklch(93.65% .0089 179.6 / .7);--text-primary: oklch(20.76% .0092 255.6);--text-secondary: oklch(50.68% .0205 240.3);--text-tertiary: oklch(69.89% .0153 231.3);--icon-muted: oklch(44.29% .0243 257.5);--brand: oklch(72.05% .0934 182.8);--brand-deep: oklch(62.22% .0874 183.3);--brand-soft: oklch(96.56% .0143 180.7);--brand-glow: oklch(72.05% .0934 182.8 / .18);--warning: oklch(79.41% .1329 87.5);--strong-warning: oklch(64.37% .1364 31.7);--shadow-soft: 0 16px 48px oklch(20.76% .0092 255.6 / .04);--shadow-card: 0 24px 64px oklch(20.76% .0092 255.6 / .06);--shadow-brand: 0 18px 36px oklch(72.05% .0934 182.8 / .22);--radius-card: 22px;--radius-inline: 14px;--radius-pill: 999px;--screen-x: clamp(20px, 5vw, 56px);--max-content: 1120px;--font-display-jp: "Shippori Mincho B1", "Hiragino Mincho ProN", "Yu Mincho", serif;--font-display-en: "Fraunces", "Hoefler Text", Georgia, serif;--font-body-jp: "Zen Kaku Gothic New", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--font-body-en: "Manrope", -apple-system, BlinkMacSystemFont, sans-serif}html[lang=ja]{font-family:var(--font-body-jp)}html[lang=en]{font-family:var(--font-body-en)}*{box-sizing:border-box}html{background:var(--background);color:var(--text-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;background:radial-gradient(circle at 22% -10%,oklch(72.05% .0934 182.8 / .1),transparent 38rem),radial-gradient(circle at 80% 6%,oklch(78% .13 145 / .06),transparent 32rem),var(--background);line-height:1.7}a{color:inherit;text-decoration:none}p{color:var(--text-secondary);line-height:1.8;margin:0}.site-header{position:sticky;top:0;z-index:20;background:#f5f8f7c7;backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px);border-bottom:1px solid var(--hairline)}.header-inner{display:flex;align-items:center;gap:18px;height:64px;padding:0 var(--screen-x);max-width:var(--max-content);margin:0 auto}.brand-link{display:inline-flex;align-items:center;gap:10px;font-size:19px;font-weight:500;letter-spacing:-.01em}.brand-name{font-family:var(--font-display-en);font-variation-settings:"opsz" 12,"SOFT" 100;font-weight:500;letter-spacing:-.015em}.primary-nav{display:flex;align-items:center;gap:4px;margin-left:auto;color:var(--text-secondary);font-size:14px;font-weight:500}.primary-nav a{padding:8px 12px;border-radius:999px;transition:color .12s,background .12s}.primary-nav a:hover{color:var(--text-primary);background:var(--surface)}.header-right{display:flex;align-items:center;gap:8px}.lang-switch{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--hairline);background:var(--surface);font-family:var(--font-body-en);font-size:12px;font-weight:600;letter-spacing:.04em;transition:border-color .12s}.lang-switch:hover{border-color:var(--brand)}.lang-current{color:var(--brand-deep)}.lang-other,.lang-divider{color:var(--text-tertiary)}.contact-pill{display:inline-flex;align-items:center;height:36px;padding:0 16px;border-radius:999px;background:var(--text-primary);color:#fff;font-size:13px;font-weight:600;transition:opacity .12s}.contact-pill:hover{opacity:.85}.site-footer{margin-top:96px;padding:56px var(--screen-x) 40px;border-top:1px solid var(--hairline)}.footer-inner{max-width:var(--max-content);margin:0 auto;display:grid;gap:16px}.footer-brand{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700}.footer-tagline{max-width:540px;color:var(--text-secondary);font-size:14px;line-height:1.7}.footer-grid{display:flex;flex-wrap:wrap;gap:14px 22px;color:var(--text-secondary);font-size:13px;font-weight:500}.footer-grid a:hover{color:var(--text-primary)}.footer-rights{color:var(--text-tertiary);font-size:12px;font-family:var(--font-body-en)}.section{padding:clamp(60px,9vw,120px) var(--screen-x)}.section.tight{padding:clamp(40px,6vw,80px) var(--screen-x)}.section-inner{max-width:var(--max-content);margin:0 auto}.section-inner.narrow{max-width:760px}.eyebrow{margin:0 0 18px;color:var(--brand-deep);font-family:var(--font-display-en);font-size:13px;font-weight:500;font-style:italic;letter-spacing:.04em;font-variation-settings:"opsz" 9}html[lang=ja] .eyebrow{font-family:var(--font-display-jp);font-style:normal;letter-spacing:.16em;font-size:12px}.display-title{margin:0;font-family:var(--font-display-jp);font-size:clamp(36px,5.8vw,64px);line-height:1.18;letter-spacing:.005em;font-weight:700}html[lang=en] .display-title{font-family:var(--font-display-en);font-size:clamp(40px,6.4vw,76px);line-height:1.06;letter-spacing:-.025em;font-variation-settings:"opsz" 144,"SOFT" 100;font-weight:500}.section-title{margin:0;font-family:var(--font-display-jp);font-size:clamp(26px,3.8vw,40px);line-height:1.28;letter-spacing:.005em;font-weight:700}html[lang=en] .section-title{font-family:var(--font-display-en);font-size:clamp(28px,4.2vw,46px);line-height:1.12;letter-spacing:-.022em;font-variation-settings:"opsz" 144;font-weight:500}.lead{max-width:620px;margin-top:22px;color:var(--text-secondary);font-size:clamp(15px,1.4vw,17px);line-height:1.9}.button{display:inline-flex;align-items:center;justify-content:center;height:52px;padding:0 22px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:-.005em;transition:transform .14s,box-shadow .14s,opacity .14s}.button.primary{color:#fff;background:var(--text-primary)}.button.primary:hover{transform:translateY(-1px);opacity:.92}.button.secondary{color:var(--text-primary);background:var(--surface);border:1px solid var(--separator)}.button.secondary:hover{border-color:var(--text-primary)}.button.brand{color:#fff;background:var(--brand);box-shadow:var(--shadow-brand)}.button.brand:hover{transform:translateY(-1px);box-shadow:0 22px 40px #58b8aa4d}.card{border:1px solid var(--hairline);border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-soft)}.chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;background:var(--surface);border:1px solid var(--hairline);color:var(--text-secondary);font-size:12px;font-weight:500}.chip:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--brand)}@keyframes nod-fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:nod-fade-up .72s cubic-bezier(.22,.61,.36,1) forwards}.reveal-1{animation-delay:80ms}.reveal-2{animation-delay:.16s}.reveal-3{animation-delay:.24s}.reveal-4{animation-delay:.32s}.reveal-5{animation-delay:.4s}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;animation:none}}.pull-quote{padding:clamp(80px,12vw,160px) var(--screen-x);max-width:980px;margin:0 auto;text-align:center}.pull-quote q{display:block;margin:0 auto;max-width:720px;font-family:var(--font-display-jp);font-size:clamp(28px,4.4vw,44px);font-weight:500;line-height:1.6;letter-spacing:.01em;color:var(--text-primary);quotes:none}html[lang=en] .pull-quote q{font-family:var(--font-display-en);font-style:italic;font-weight:400;line-height:1.22;letter-spacing:-.012em;font-variation-settings:"opsz" 144,"SOFT" 100;font-size:clamp(32px,5.2vw,56px)}.pull-quote q:before,.pull-quote q:after{content:""}.pull-quote-mark{display:block;width:28px;height:1px;margin:0 auto 32px;background:var(--brand)}@media(max-width:720px){.primary-nav{display:none}.header-inner{gap:12px}.header-right{margin-left:auto}.contact-pill{height:32px;padding:0 12px;font-size:12px}}
