/* JGI Investor Intelligence surfaces.
   Design system ported from jvisas-investor-intelligence-prototype.html / 19-design-tokens.json.
   Tokens are read from the japan-gateway theme when active, with literal fallbacks so the
   plugin still renders correctly under any other theme. */
.jgi{--jgi-ink:var(--ink,#17212B);--jgi-slate:var(--slate,#44515D);--jgi-indigo:var(--indigo,#1D4E89);--jgi-verm:var(--verm,#A83D32);--jgi-gold:var(--gold,#8A5A12);--jgi-green:var(--green,#276749);--jgi-paper:var(--paper,#F7F5F0);--jgi-muted:var(--muted,#EEEAE2);--jgi-line:var(--line,#C9C5BC);--jgi-quiet:var(--quiet,#5B6670);--jgi-serif:var(--serif,Georgia,'Noto Serif JP',serif);--jgi-sans:var(--sans,Inter,'Noto Sans JP',Arial,sans-serif);background:var(--jgi-paper);color:var(--jgi-ink);font-family:var(--jgi-sans);line-height:1.55}
.jgi-shell{width:min(1180px,100%);margin:auto;padding:0 20px}
.jgi *,.jgi *:before,.jgi *:after{box-sizing:border-box}

/* Hero */
.jgi-hero{padding:70px 0 60px;border-bottom:1px solid var(--jgi-line);background:linear-gradient(105deg,#f7f5f0 55%,#eeebe3)}
.jgi-hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:64px;align-items:end}
.jgi-eyebrow{font:800 12px/1.2 var(--jgi-sans);letter-spacing:.12em;text-transform:uppercase;color:var(--jgi-verm);display:flex;gap:9px;align-items:center}
.jgi-eyebrow:before{content:'';width:22px;height:1px;background:currentColor}
/* Heading colour is set explicitly, not inherited: themes (Astra included) set an
   explicit `h2 { color }` in their own stylesheet, which beats a colour inherited from
   an ancestor. Without this the dark band's heading renders in the theme's dark heading
   colour on a dark background (measured 1.19:1 on j-visas.com — effectively invisible). */
.jgi h1,.jgi h2,.jgi h3{color:var(--jgi-ink)}
.jgi h1{font:600 clamp(38px,5vw,64px)/1.05 var(--jgi-serif);letter-spacing:-.045em;max-width:780px;margin:16px 0 21px}
.jgi h2{font:600 clamp(28px,4vw,44px)/1.12 var(--jgi-serif);letter-spacing:-.03em;margin:13px 0}
.jgi h3{font:600 23px/1.2 var(--jgi-serif);margin:0 0 15px}
.jgi-lead{font-size:18px;line-height:1.6;max-width:660px;color:var(--jgi-slate);margin:0 0 28px}
.jgi-hero-side{border-left:1px solid var(--jgi-line);padding-left:34px}
.jgi-check{display:flex;gap:10px;margin:12px 0;color:var(--jgi-slate);font-size:14px}
.jgi-check i{font-style:normal;color:var(--jgi-green);font-weight:900}

/* Search */
.jgi-search{background:#fff;border:1px solid var(--jgi-ink);padding:8px;display:flex;gap:8px;box-shadow:7px 7px 0 var(--jgi-muted);max-width:620px;margin:0 0 12px}
.jgi-search input{border:0;min-width:0;flex:1;padding:10px 12px;outline:0;font:400 16px var(--jgi-sans);color:var(--jgi-ink);background:transparent}
.jgi-search input:focus{outline:2px solid var(--jgi-gold);outline-offset:2px}

/* Buttons */
.jgi-primary,.jgi-secondary,.jgi-text-link{display:inline-block;text-decoration:none;font:750 15px var(--jgi-sans);border-radius:4px;min-height:44px;padding:12px 16px;cursor:pointer}
.jgi-primary{background:var(--jgi-indigo);border:1px solid var(--jgi-indigo);color:#fff}
.jgi-primary:hover{background:var(--jgi-ink);border-color:var(--jgi-ink);color:#fff}
.jgi-secondary{background:#fff;border:1px solid var(--jgi-ink);color:var(--jgi-ink)}
.jgi-secondary:hover{background:var(--jgi-ink);color:#fff}
.jgi-text-link{padding-inline:0;background:none;border:0;color:var(--jgi-ink);text-decoration:underline;text-underline-offset:3px}
.jgi-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:28px 0}

/* Sections */
.jgi-section{padding:64px 0}
.jgi-section-head{max-width:710px;margin-bottom:38px}
.jgi-section-head p{color:var(--jgi-slate);font-size:17px}
.jgi-fineprint,.jgi-meta{color:var(--jgi-quiet);font:400 13px/1.55 var(--jgi-sans);max-width:700px}
.jgi-note{border-left:3px solid var(--jgi-gold);padding:14px 16px;background:#fffdf8;max-width:650px}

/* Cards */
.jgi-card{background:#fff;border:1px solid var(--jgi-line);box-shadow:8px 8px 0 var(--jgi-muted);padding:26px 30px;max-width:820px;margin:26px 0}
.jgi-card>p{font-size:16px;line-height:1.65;max-width:680px;color:var(--jgi-slate)}
.jgi-status{display:inline-block;border:1px solid var(--jgi-line);color:var(--jgi-slate);padding:4px 8px;font:800 11px/1 var(--jgi-sans);letter-spacing:.07em;text-transform:uppercase}
.jgi-status-ok{border-color:var(--jgi-green);color:var(--jgi-green)}
.jgi-availability{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--jgi-line);border-bottom:1px solid var(--jgi-line);margin:24px 0;padding:16px 0}
.jgi-availability div{border-top:2px solid var(--jgi-ink);padding-top:8px}
.jgi-availability strong,.jgi-availability span{display:block}
.jgi-availability strong{font:700 14px/1.3 var(--jgi-sans)}
.jgi-availability span{color:var(--jgi-quiet);font:400 13px/1.45 var(--jgi-sans);margin-top:4px}
.jgi-match-list{list-style:none;padding:0;max-width:820px}
.jgi-match-list li{background:#fff;border:1px solid var(--jgi-line);margin:8px 0;padding:15px 18px}

/* Process band (dark) */
.jgi-dark{background:var(--jgi-ink);color:#fff}
.jgi-dark h1,.jgi-dark h2,.jgi-dark h3{color:#fff}
.jgi-dark .jgi-eyebrow{color:#e8a197}
.jgi-dark .jgi-section-head p{color:#c2cbd0}
.jgi-process{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #61707c;border-left:1px solid #61707c}
.jgi-process>div{padding:23px;border-right:1px solid #61707c;border-bottom:1px solid #61707c;min-height:170px}
.jgi-process b{font:600 35px var(--jgi-serif);color:#d7a18f}
.jgi-process h3{font:700 15px var(--jgi-sans);margin:13px 0 5px;color:#fff}
.jgi-process p{font-size:13px;margin:0;color:#c2cbd0}

/* Plans */
.jgi-plans{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:1180px}
.jgi-plans--three{grid-template-columns:repeat(3,1fr);align-items:stretch}
.jgi-plan{border:1px solid var(--jgi-line);border-top:3px solid var(--jgi-ink);background:#fff;padding:23px 22px;box-shadow:6px 6px 0 var(--jgi-muted)}
.jgi-plan--essential{border-top-color:var(--jgi-ink)}
.jgi-plan.premium,.jgi-plan--premium{border-top-color:var(--jgi-verm)}
.jgi-plan--membership{border-top-color:var(--jgi-gold)}
.jgi-plan h3{font:600 25px/1.18 var(--jgi-serif);margin:0 0 8px}
.jgi-plan__price{font:800 22px/1.1 var(--jgi-sans);margin:0 0 13px;color:var(--jgi-indigo)}
.jgi-plan__description{color:var(--jgi-slate);font-size:14px;line-height:1.55;min-height:88px;margin:0 0 14px}
.jgi-plan__differentiator{display:inline-block;background:var(--jgi-muted);color:var(--jgi-ink);padding:7px 9px;margin:0 0 14px;font:800 12px/1.2 var(--jgi-sans);letter-spacing:.03em}
.jgi-plan ul{padding-left:18px;color:var(--jgi-slate);font-size:14px;line-height:1.7;margin:0}

.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:860px){
  .jgi-hero-grid{grid-template-columns:1fr;gap:34px}
  .jgi-hero-side{border-left:0;padding-left:0;border-top:1px solid var(--jgi-line);padding-top:24px}
  .jgi-process{grid-template-columns:1fr 1fr}
  .jgi-plans{grid-template-columns:1fr}
}
@media(max-width:600px){
  .jgi-hero{padding:48px 0 40px}
  .jgi-section{padding:44px 0}
  .jgi-search{flex-direction:column}
  .jgi-availability{grid-template-columns:1fr}
  .jgi-card{padding:22px 20px}
}
