:root{
  --pad:clamp(22px,5.2vw,80px);
  --bg:#04070d;--panel:#050b13;--ink:#f0f4fb;--muted:#a9bad0;--line:rgba(164,205,236,.16);
  --accent:#9fc3df;--font:"DM Sans","Noto Sans JP",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:18px;top:18px;z-index:100;background:#fff;color:#000;padding:10px 14px;border-radius:4px}
.nfa-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px var(--pad);background:rgba(3,6,11,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.06)}
.nfa-wordmark{font-size:12px;font-weight:600;letter-spacing:.22em;white-space:nowrap}
.nfa-nav{display:flex;align-items:center;gap:clamp(14px,2.5vw,36px);font-size:12px;color:#bac7d7}
.nfa-nav a{transition:color .2s}.nfa-nav a:hover,.nfa-nav a[aria-current="page"]{color:#fff}
.nfa-lang{display:flex;align-items:center;gap:9px}.nfa-lang span{opacity:.35}
.nfa-wrap{width:min(100%,1320px);padding-inline:var(--pad);margin-inline:auto}
.eyebrow{display:block;color:#9bb7d1;font-size:10px;letter-spacing:.21em;text-transform:uppercase}
.nfa-hero{position:relative;padding:clamp(115px,16vh,190px) 0 105px;overflow:hidden;background:radial-gradient(ellipse 48% 88% at 87% 36%,rgba(34,81,129,.22),transparent 75%),linear-gradient(165deg,#060b13 0%,#070f1d 62%,#04070d 100%)}
.nfa-glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 36% 50% at 76% 39%,rgba(76,142,201,.06),transparent 75%)}
.nfa-intro{position:relative;z-index:1}.nfa-title-block{max-width:950px}
.nfa-status{color:#98b2cf;border:1px solid rgba(151,190,220,.32);display:inline-flex;padding:9px 13px;font-size:10px;letter-spacing:.16em;margin:22px 0 12px}
.nfa-brand{font-size:clamp(30px,5vw,70px);font-weight:400;line-height:1.13;letter-spacing:-.055em;margin:14px 0;color:#f8fbff}
.nfa-hero h1{font-size:clamp(38px,5.35vw,77px);font-weight:400;line-height:1.18;letter-spacing:-.055em;max-width:860px;margin:28px 0}
.nfa-lead{max-width:720px;color:#b9c7d7;font-size:clamp(16px,1.45vw,20px);line-height:1.9;margin:0}
.nfa-hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:40px}
.nfa-primary,.nfa-back{font-size:13px;border-bottom:1px solid #617d9e;padding-bottom:7px}
.nfa-primary{color:#edf6ff}.nfa-back{color:#a9bfd8}
.nfa-film-section{padding:100px 0 104px;background:radial-gradient(ellipse 48% 42% at 50% 36%,rgba(20,57,97,.17),transparent 95%),#050b13}
.nfa-film-section h2,.nfa-details h2,.nfa-boundaries h2{font-size:clamp(27px,3.3vw,48px);font-weight:400;letter-spacing:-.045em;line-height:1.3;margin:14px 0 36px}
.nfa-film-frame{border:1px solid rgba(161,196,233,.21);border-radius:7px;overflow:hidden;background:#101b2b;box-shadow:0 40px 105px #0008;aspect-ratio:16/9}
.nfa-film-frame video{width:100%;height:100%;object-fit:contain;background:#000}
.nfa-film-note,.nfa-film-mobile-tip{font-size:12px;line-height:1.9;color:#93a9c2;max-width:1080px;margin:18px 0 0}
.nfa-film-mobile-tip{color:#7188a0;margin-top:8px}
.nfa-vision-section{border-top:1px solid rgba(255,255,255,.055);background:radial-gradient(ellipse 58% 52% at 50% 34%,rgba(40,92,142,.16),transparent 82%),linear-gradient(180deg,#050b13 0%,#04080f 100%)}
.nfa-vision-section .nfa-film-frame{border-color:rgba(177,207,236,.24);box-shadow:0 42px 120px #000a}
.nfa-details{padding:100px 0 125px;background:#060c14;border-top:1px solid rgba(255,255,255,.055)}
.nfa-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.nfa-step{padding:27px 26px 32px;background:linear-gradient(160deg,rgba(31,57,89,.3),rgba(10,21,35,.28));border:1px solid var(--line);border-radius:7px}
.nfa-num{color:#81b1ce;font-size:11px;letter-spacing:.23em}.nfa-step h3{font-size:clamp(20px,1.9vw,25px);font-weight:400;letter-spacing:-.035em;line-height:1.45;margin:20px 0 14px}.nfa-step p{color:#a9bad0;line-height:1.85;font-size:14px;margin:0}
.nfa-boundaries{padding:90px 0 110px;background:#050910;border-top:1px solid rgba(255,255,255,.06)}
.nfa-boundary-grid{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr);gap:48px}.nfa-boundary-grid h2{margin:0}.nfa-boundary-grid p{margin:0 0 20px;color:#a9bbce;font-size:15px;line-height:2;max-width:820px}
.nfa-text-link{color:#dcecff;border-bottom:1px solid #6784a4;padding-bottom:5px;font-size:13px}
.nfa-footer{border-top:1px solid rgba(255,255,255,.06);padding:30px var(--pad) 36px;display:flex;align-items:center;justify-content:space-between;gap:24px;color:#8496a9;font-size:12px}
.nfa-footer-brand{color:#dbe5f0;letter-spacing:.13em}.nfa-footer-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
@media(max-width:760px){
  .nfa-header{padding:15px 18px}.nfa-wordmark{font-size:10px}.nfa-nav{gap:12px;font-size:11px}.nfa-nav>a:not(.nfa-lang a){display:none}
  .nfa-hero{padding:95px 0 72px}.nfa-hero h1{font-size:clamp(35px,10vw,54px)}.nfa-brand{font-size:32px}
  .nfa-film-section{padding:76px 0}.nfa-film-frame{width:calc(100% + var(--pad)*2);margin-left:calc(var(--pad)*-1);border-radius:0;border-inline:0}
  .nfa-film-note,.nfa-film-mobile-tip{font-size:11px}.nfa-steps{grid-template-columns:1fr}.nfa-details{padding:74px 0 88px}
  .nfa-boundary-grid{grid-template-columns:1fr;gap:12px}.nfa-boundaries{padding:74px 0}.nfa-footer{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important}}
