:root{--c-base:#f4f6f8;--c-grey:#e7ebf0;--c-card:#fbfcfd;--c-charcoal:#232b38;--c-footer:#1a212c;--c-ink:#232b38;--c-ink-2:#39414f;--c-ink-3:#515a68;--c-ink-4:#6a7382;--c-micro:#97a0ad;--c-accent:#3f5688;--c-accent-hover:#32466c;--c-accent-pale:#9fb1d0;--c-accent-pale-2:#aab8d2;--c-accent-pale-3:#cbd6ec;--c-line:#e0e5eb;--c-line-2:#dde3e9;--c-line-3:#d9dfe7;--c-line-4:#d5dce4;--c-line-5:#d1d9e2;--maxw:1240px;--pad-x:clamp(20px,6vw,80px);--pad-y:clamp(76px,10vw,140px);--pad-y-dark:clamp(70px,9vw,130px);--ease:cubic-bezier(0.22,0.61,0.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--c-base);color:var(--c-ink);font-family:var(--font-gothic),"Zen Kaku Gothic New",sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--c-accent);color:#fff}a{color:inherit}img{display:block;max-width:100%}.mincho{font-family:var(--font-mincho),"Shippori Mincho",serif}.jost{font-family:var(--font-jost),"Jost",sans-serif}.container{max-width:var(--maxw);margin:0 auto}.section{scroll-margin-top:88px;padding:var(--pad-y) var(--pad-x)}.section--grey{background:var(--c-grey)}.section--base{background:var(--c-base)}.eyebrow{font-family:var(--font-jost),sans-serif;font-size:12px;letter-spacing:.3em;color:var(--c-accent);margin-bottom:18px}.eyebrow--light{color:var(--c-accent-pale)}.h2{font-family:var(--font-mincho),serif;font-weight:600;font-size:clamp(25px,4vw,46px);line-height:1.5;letter-spacing:.02em;margin:0}.btn{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:500;letter-spacing:.08em;border:1px solid transparent;transition:background .4s var(--ease),color .4s var(--ease);cursor:pointer}.btn--solid{background:var(--c-accent);color:#fff;border-color:var(--c-accent)}.btn--solid:hover{background:var(--c-accent-hover);border-color:var(--c-accent-hover)}.btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}.btn--ghost:hover{background:rgba(255,255,255,.1)}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);will-change:opacity,transform}[data-reveal][data-shown]{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal]{opacity:1;transform:none}.btn,[data-reveal]{transition:none}}