@layer reset,base,layout,component,utility;@layer reset{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}img,video{display:block;max-width:100%}ul,ol{list-style:none}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font:inherit}}@layer base{:root{--color-navy: #1a2744;--color-orange: #e8832a;--color-primary: #1a2744;--color-accent: #e8832a;--color-text: #1a2744;--color-text-muted: #666;--color-bg: #fff;--color-bg-subtle: #f5f5f5;--color-border: #e0e0e0;--font-body: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;--font-heading: var(--font-body);--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--container-prose: 44rem;--container-wide: 72rem;--leading-tight: 1.3;--leading-base: 1.8}html{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg-subtle);font-size:100%;line-height:var(--leading-base);-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{min-height:100dvh}h1,h2,h3,h4{font-family:var(--font-heading);line-height:var(--leading-tight);font-weight:700;color:var(--color-navy)}h1{font-size:clamp(1.6rem,4vw,2.4rem)}h2{font-size:clamp(1.3rem,3vw,1.8rem)}h3{font-size:clamp(1.1rem,2.5vw,1.4rem)}p{margin-block:var(--space-sm)}a:hover{text-decoration:underline}:focus-visible{outline:3px solid var(--color-orange);outline-offset:2px}}@layer layout{.container{max-width:var(--container-wide);margin-inline:auto;padding-inline:var(--space-sm)}.container--prose{max-width:var(--container-prose);margin-inline:auto;padding-inline:var(--space-sm)}.site-header{position:sticky;top:0;z-index:100;background:var(--color-navy);border-bottom:3px solid var(--color-orange);padding-block:var(--space-xs)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.site-logo{font-weight:900;font-size:1.25rem;color:#fff;letter-spacing:.05em}.site-logo:hover{text-decoration:none;opacity:.9}.site-nav{display:flex;align-items:center;gap:var(--space-sm);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}.site-nav a{color:#fff}.site-nav a:hover{text-decoration:none;opacity:.8}.site-nav__cta{border:2px solid #fff;border-radius:2em;padding:.35em 1.2em;color:#fff;font-weight:700}.site-nav__cta:hover{background:#fff;color:var(--color-navy)!important;opacity:1!important}.site-footer{background:var(--color-navy);color:#fff9;padding-block:var(--space-lg);font-size:.85rem;margin-top:var(--space-xl);border-top:3px solid var(--color-orange)}.site-footer a{color:#ffffffb3}.site-footer a:hover{color:#fff}.site-footer__inner{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:space-between;align-items:center}.article-wrap{background:#fff;padding-block:var(--space-xl);padding-inline:var(--space-sm)}.prose{font-size:1.1rem;line-height:2;color:#333}.prose h2{font-size:clamp(1.25rem,3vw,1.6rem);font-weight:700;margin-top:3em;margin-bottom:.75em;padding-bottom:.4em;border-bottom:1px solid #e0e0e0;color:#111;line-height:1.4}.prose h3{font-size:clamp(1.05rem,2.5vw,1.25rem);font-weight:700;margin-top:2.5em;margin-bottom:.5em;color:#111;line-height:1.5}.prose h4{font-size:1rem;font-weight:700;margin-top:2em;margin-bottom:.5em;color:#333}.prose p{margin-block:1.5em}.prose ul,.prose ol{padding-left:1.6em;list-style:revert}.prose li{margin-block:.5em;line-height:1.9}.prose li+li{margin-top:.6em}.prose blockquote{border-left:3px solid #ccc;padding-left:1.25em;color:#666;font-style:normal;margin-block:1.5em}.prose table{border-collapse:collapse;width:100%;margin-block:1.5em;font-size:.95rem}.prose th,.prose td{border:1px solid #e0e0e0;padding:.6em .9em;text-align:left}.prose th{background:#f5f5f5;font-weight:700;color:#333}.prose code{background:#f5f5f5;padding:.15em .5em;border-radius:3px;font-size:.88em;color:#333}.prose hr{border:none;border-top:1px solid #e0e0e0;margin-block:3em}.prose a{color:var(--color-orange);text-decoration:underline;text-underline-offset:2px}.prose a:hover{opacity:.75}}@layer component{.btn-primary{display:inline-block;background:var(--color-navy);color:#fff;font-weight:700;padding:.85em 2em;border-radius:2em;font-size:1.05rem;transition:background .15s,opacity .15s;text-align:center;letter-spacing:.04em}.btn-primary:hover{background:#0f1c35;text-decoration:none}.btn-accent{display:inline-block;background:var(--color-orange);color:#fff;font-weight:700;padding:.85em 2em;border-radius:2em;font-size:1.05rem;transition:background .15s;text-align:center;letter-spacing:.04em}.btn-accent:hover{background:#c96e1e;text-decoration:none}.badge{display:inline-block;background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:2px;font-size:.75rem;padding:.2em .7em;letter-spacing:.04em}.section-label{display:block;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:.5em}.section-label--accent{color:var(--color-orange);font-weight:700}.breadcrumb{font-size:.8rem;color:var(--color-text-muted);display:flex;flex-wrap:wrap;gap:.25em;margin-bottom:var(--space-sm)}.breadcrumb a{color:var(--color-orange)}.breadcrumb a:hover{text-decoration:underline}.breadcrumb__sep{color:var(--color-border)}}@layer utility{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}}
