/* IEC-only theme: keep existing nations unchanged. */
.iec-theme { --color-bg-dark:#0c0e12; --color-bg-mid:#191c23; --color-gold:#efaaa4; --color-gold-dim:#9f4147; color:#e4e5e8; background:#0c0e12; }
.iec-theme main { overflow:clip; }
.iec-theme .section { scroll-margin-top:80px; }
.iec-theme .section-title { font-size:clamp(1.6rem,4vw,3rem); overflow-wrap:anywhere; }
.iec-section-label { display:block; margin-top:12px; font:400 .95rem var(--font-jp); letter-spacing:.18em; color:#bcb1a3; }
.iec-hero { min-height:100svh; isolation:isolate; }
.iec-theme .hero-content { width:100%; padding:0 6%; }
.iec-kicker { font: .72rem var(--font-en); letter-spacing:.23em; color:#c9bba5; margin-bottom:30px; }
.iec-hero-flag { display:block; width:min(360px,65vw); height:auto; margin:0 auto 32px; border:1px solid #b28349; box-shadow:0 18px 70px #0008; }
.iec-hero .jp-title { font:400 clamp(2.6rem,7vw,5rem) var(--font-jp); letter-spacing:.18em; }
.iec-hero .en-title { font-size:clamp(1.1rem,3vw,2.3rem); color:var(--color-gold); margin:12px 0 24px; }
.iec-hero .subtitle { border-block:1px solid #b2834980; padding:14px 8px; font-size:clamp(.95rem,2vw,1.2rem); }
.iec-affiliation { margin-top:22px; color:#c2b19e; font-size:.85rem; }
.iec-tinted { background:linear-gradient(120deg,#21151b,#0f1117); border-block:1px solid #c99b5226; }
.iec-theme .info-table-wrapper,.iec-theme .info-visuals { min-width:0; flex:1 1 340px; }
.iec-theme .info-table-wrapper { padding:24px; }
.iec-theme .info-table th { width:30%; letter-spacing:0; }
.iec-theme .visual-card { margin:0; border-color:#9f414766; padding:30px; }
.iec-theme .nation-flag { display:block; width:360px; max-width:100%; height:auto; margin:auto; }
.iec-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.iec-military-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.iec-card { min-width:0; padding:36px; background:linear-gradient(140deg,#22252d,#111319); border:1px solid #9f414777; border-top:2px solid var(--color-gold-dim); }
.iec-card h3 { color:var(--color-gold); font:400 clamp(1.15rem,2vw,1.5rem) var(--font-jp); letter-spacing:.05em; margin-bottom:18px; }
.iec-card p+p,.iec-prose p+p { margin-top:18px; }
.iec-card ul { padding-left:1.3em; }
.iec-card li+li { margin-top:10px; }
.iec-card a { color:#e8cd92; text-decoration:underline; text-underline-offset:4px; }
.iec-small-label { color:#c7b397; font-size:.8rem; letter-spacing:.12em; margin-bottom:22px; }
.iec-intro { text-align:center; max-width:800px; margin:0 auto 40px; font-size:1.15rem; }
.iec-theme .large-text-box p { text-align:left; font-size:1.05rem; }
.iec-theme .large-text-box p:last-child { margin-bottom:0; }
.iec-history { border-left:1px solid var(--color-gold-dim); padding-left:30px; display:grid; gap:30px; }
.iec-theme blockquote { margin:22px 0; padding:20px 24px; border-left:3px solid var(--color-gold); background:#d8a3560b; }
.iec-theme .iec-manifesto { font-size:clamp(1.25rem,3vw,2rem); max-width:960px; margin:0 auto 45px; line-height:2; }
.iec-prose { max-width:900px; margin:auto; }
.iec-theme .iec-criticism { margin-top:32px; }
.iec-theme cite { display:block; color:#c7b397; font-size:.85rem; font-style:normal; margin-top:12px; }
.iec-theme .mobile-nav { height:100dvh; overflow-y:auto; padding:90px 20px 35px; align-items:safe center; }
.iec-theme .mobile-nav li { margin:8px 0; }
.iec-theme a:focus-visible,.iec-theme button:focus-visible { outline:2px solid var(--color-gold); outline-offset:5px; }
@media(max-width:768px) { .iec-theme .section { padding:80px 0; } .iec-theme .section-title { margin-bottom:40px; } .iec-grid,.iec-military-grid { grid-template-columns:1fr; } .iec-card { padding:26px 22px; } .iec-theme .large-text-box { padding:30px 22px; } .iec-theme .info-table-wrapper { padding:10px; } .iec-theme .info-table th,.iec-theme .info-table td { padding:13px 8px; font-size:.88rem; } .iec-history { padding-left:15px; } .iec-theme .footer-btn { margin:6px; } }


/* The shared nation.js owns entrances, reveals and parallax. Overscan keeps
   the moving images covering their sections over the full tween range. */
.iec-hero .hero-bg {
    top:-50%; left:0; width:100%; height:150%;
    filter:brightness(.6) contrast(1.08);
    background-position:65% center;
}
.iec-theme .summary-section { overflow:hidden; }
.iec-theme .summary-bg { top:-30%; height:140%; filter:brightness(.35); }
.iec-theme .summary-section > .container { z-index:2; }
.iec-theme .iec-map { display:block; width:278px; max-width:100%; height:auto; margin:auto; }
.iec-military-card { padding:0; overflow:hidden; }
.iec-military-image { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; transition:transform .5s ease; }
.iec-military-card:hover .iec-military-image { transform:scale(1.03); }
.iec-military-copy { position:relative; padding:28px; }
.iec-theme .iec-military-card { padding:0; }
@media(max-width:768px) { .iec-military-copy { padding:24px 22px; } }

/* Space for dense setting text without nesting reveal animations. */
.iec-theme .iec-grid + .iec-prose, .iec-theme .iec-card + .iec-grid { margin-top:32px; }
.iec-theme .iec-hero .jp-title { font-size:clamp(3rem,8vw,6.5rem); }
.iec-theme .iec-hero .hero-content { text-shadow:0 3px 18px #000; }
.iec-theme .iec-hero .hero-bg { background-position:center; }
.iec-theme .iec-military-copy p { font-size:.95rem; }


.iec-theme .iec-hero .jp-title { font-size:clamp(2.1rem,5.8vw,5rem); letter-spacing:.09em; }
.iec-theme .iec-hero .en-title { font-size:clamp(.85rem,2vw,1.6rem); max-width:1000px; margin:20px auto 28px; line-height:1.7; overflow-wrap:anywhere; }
.iec-powers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:40px; }
.iec-theme .iec-power { padding:0; overflow:hidden; }
.iec-power>img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; padding:18px; background:#10151b; }
.iec-power-copy { padding:28px; }
.iec-power .footer-btn { margin:24px 0 0; }
.iec-theme .iec-prose { margin-block:32px; }
.iec-theme .large-text-box a { color:#efaaa4; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:900px) { .iec-powers { grid-template-columns:1fr; } }
