:root{--color-indigo-navy:#1a3e6a;--color-gold-brown:#b98a57;--color-sage-green:#6f7f6a;--color-milky-ivory:#faf8f2;--color-ink:#1f2933;--color-bg:#faf8f2;--color-bg-alt:#f4efe3;--color-bg-warm:#fffdf7;--color-text:var(--color-ink);--color-text-muted:#1f2933a8;--color-border:#1a3e6a1a;--color-border-strong:#1a3e6a3d;--color-accent:var(--color-gold-brown);--font-serif-jp:"Noto Serif JP", "Hiragino Mincho ProN", "YuMincho", serif;--font-serif-en:"Cormorant Garamond", "EB Garamond", Georgia, serif;--font-sans-jp:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--font-sans-en:"Inter", system-ui, sans-serif;--max-w:1200px;--pad-x:clamp(20px, 5vw, 64px);--section-y:clamp(96px, 12vw, 140px);--shadow-card:0 20px 60px #1a3e6a14;--shadow-cta:0 16px 40px #1a3e6a2e;--shadow-cta-hover:0 22px 50px #1a3e6a3d}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans-jp);font-feature-settings:"palt";color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:16px;line-height:1.9}img,picture,svg{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}p{margin:0}h1,h2,h3,h4,h5{font-family:var(--font-serif-jp);letter-spacing:.02em;margin:0;font-weight:700;line-height:1.45}button{font:inherit;cursor:pointer}::selection{background:var(--color-gold-brown);color:var(--color-milky-ivory)}.container{max-width:var(--max-w);padding-inline:var(--pad-x);width:100%;margin-inline:auto}.section{padding-block:var(--section-y)}.section--alt{background:var(--color-bg-alt)}.section--warm{background:var(--color-bg-warm)}.section--navy{background:var(--color-indigo-navy);color:var(--color-milky-ivory)}.section--navy h2,.section--navy h3{color:var(--color-milky-ivory)}.eyebrow{font-family:var(--font-sans-jp);letter-spacing:.32em;color:var(--color-gold-brown);align-items:center;gap:.5em;margin:0;font-size:.78rem;font-weight:700;display:inline-flex}.section--navy .eyebrow{color:var(--color-gold-brown)}.section-heading{font-family:var(--font-serif-jp);color:var(--color-indigo-navy);letter-spacing:.04em;margin:18px 0 0;font-size:clamp(1.75rem,3.6vw,2.6rem);font-weight:700;line-height:1.45}.section--navy .section-heading{color:var(--color-milky-ivory)}.section-lead{color:var(--color-text-muted);max-width:36em;margin-top:28px;font-size:1rem;line-height:2}.section--navy .section-lead{color:#faf8f2d1}.pill{color:var(--color-indigo-navy);letter-spacing:.08em;background:#6f7f6a1a;border:1px solid #6f7f6a3d;border-radius:999px;align-items:center;gap:.5em;padding:8px 14px;font-size:.78rem;font-weight:600;display:inline-flex}.btn{font-family:var(--font-sans-jp);letter-spacing:.06em;white-space:nowrap;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.6em;padding:18px 30px;font-size:.98rem;font-weight:700;text-decoration:none;transition:transform .2s,background-color .2s,color .2s,border-color .2s,box-shadow .2s;display:inline-flex}.btn-primary{background:var(--color-indigo-navy);color:var(--color-milky-ivory);box-shadow:var(--shadow-cta)}.btn-primary:hover{box-shadow:var(--shadow-cta-hover);background:#244b7d;transform:translateY(-2px)}.btn-outline{color:var(--color-indigo-navy);border-color:var(--color-border-strong);background:0 0}.btn-outline:hover{background:var(--color-indigo-navy);color:var(--color-milky-ivory);border-color:var(--color-indigo-navy)}.btn-on-navy{background:var(--color-milky-ivory);color:var(--color-indigo-navy)}.btn-on-navy:hover{background:#fff;transform:translateY(-2px);box-shadow:0 22px 50px #0000002e}.cta-arrow{background:currentColor;width:16px;height:1px;transition:transform .2s;display:inline-block;position:relative}.cta-arrow:after{content:"";border-top:1px solid;border-right:1px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.btn:hover .cta-arrow{transform:translate(4px)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
