/* 01 — Cobalt Momentum: bright movement with trustworthy white space */
.theme-01 {
  --paper: #f8fcfe;
  --surface: #edf8fc;
  --ink: #0a3555;
  --muted: #5d788a;
  --line: #c8e0eb;
  --navy: #0b426b;
  --blue: #278fcb;
  --accent: #159363;
  --gold: #f2b23a;
  --cta: #f2b23a;
  --cta-text: #0a3555;
  --cta-shadow: rgba(222,151,23,.28);
  --header-bg: rgba(255,255,255,.92);
  --mobile-menu-bg: rgba(255,255,255,.98);
  --hero-bg: linear-gradient(115deg,#fbfeff 0 53%,#e1f3fb 53% 70%,#2c94cd 70% 100%);
  --hero-ink: #0a3555;
  --hero-border: rgba(10,53,85,.28);
  --grid-color: rgba(39,143,203,.11);
  --streak-a: rgba(47,158,211,.13);
  --streak-b: #f2b23a;
  --portrait-bg: #fff;
  --portrait-clip: polygon(8% 0,100% 0,100% 100%,0 100%,0 9%);
  --portrait-line: rgba(255,255,255,.7);
  --portrait-shadow: 0 32px 80px rgba(20,91,133,.18);
  --proof-bg: #0b426b;
  --proof-border: #f2b23a;
  --proof-ink: #fff;
  --vision-overlay: linear-gradient(90deg,rgba(8,62,99,.77) 0,rgba(18,103,151,.47) 48%,rgba(24,113,157,.06) 100%);
  --section-no: rgba(39,143,203,.1);
  --number-accent-bg: #159363;
  --number-accent-ink: #fff;
  --image-shadow: 28px 28px 0 #278fcb;
  --pull-bg: #fff;
  --policy-bg: linear-gradient(135deg,#0d5a88 0%,#217fae 56%,#2c96c8 100%);
  --policy-ink: #fff;
  --policy-word: rgba(255,255,255,.045);
  --policy-card: #fff;
  --policy-card-ink: #0a3555;
  --medical: #278fcb;
  --work: #159363;
  --life: #e9a124;
  --experience-bg: rgba(232,246,251,.88);
  --scenes-bg: #e9f6fb;
  --support-bg: #fff;
  --support-shadow: 0 35px 80px rgba(19,83,121,.1);
  --support-quote: rgba(39,143,203,.09);
  --dialogue-bg: #eff9fc;
  --dialogue-line: rgba(39,143,203,.15);
  --voice-bg: #fff;
  --voice-color: #159363;
  --contact-bg: linear-gradient(135deg,#0b426b 0%,#126f9f 58%,#258fbe 100%);
  --join-bg: #fff9e8;
}
.theme-01 .site-header:not(.is-scrolled) { color: #0a3555; }
.theme-01 .hero-streak-a { clip-path: polygon(0 48%,100% 0,100% 58%,0 100%); }
.theme-01 .hero-visual::before { border: 1px solid rgba(255,255,255,.7); content: ""; height: 520px; position: absolute; right: -100px; top: 65px; transform: rotate(8deg); width: 480px; }
.theme-01 .declaration { background-image: linear-gradient(90deg,#0b426b,#1674a4 68%,#278fcb); }
.theme-01 .vision-image { filter: brightness(1.07) saturate(.94); object-position: center 50%; }
.theme-01 .vision-copy { max-width: 760px; }
.theme-01 .vision-copy::before { background: linear-gradient(120deg,rgba(5,55,90,.28),rgba(39,143,203,.08)); border-left: 4px solid var(--gold); content: ""; inset: 145px -34px -45px -42px; position: absolute; z-index: -1; }
.theme-01 .vision-logo { background: rgba(255,255,255,.88); height: 62%; mix-blend-mode: normal; padding: 28px 14px; width: min(22vw,300px); }
.theme-01 .image-note { background: rgba(11,66,107,.72); }
.theme-01 .policy-card:nth-child(2) { transform: translateY(28px); }
.theme-01 .policy-card:nth-child(2):hover { transform: translateY(18px); }
.theme-01 .policies .section-heading h2 em { color: var(--gold); }
.theme-01 .profile { background: #eef8fc; isolation: isolate; overflow: hidden; position: relative; }
.theme-01 .profile::before { background: url("../images/teine-station.webp") center 45% / cover no-repeat; content: ""; inset: 0; position: absolute; z-index: -2; }
.theme-01 .profile::after { background: linear-gradient(90deg,rgba(248,252,254,.72) 0%,rgba(239,248,252,.65) 50%,rgba(235,247,252,.70) 100%); content: ""; inset: 0; position: absolute; z-index: -1; }
.theme-01 .profile-lead { background: rgba(255,255,255,.62); border-left: 4px solid rgba(39,143,203,.72); box-shadow: 0 24px 65px rgba(18,83,121,.08); padding: 30px 32px; }
.theme-01 .timeline { background: rgba(255,255,255,.63); box-shadow: 0 24px 65px rgba(18,83,121,.08); padding: 36px 36px 10px; }
.theme-01 .experience { backdrop-filter: blur(5px); border: 1px solid rgba(255,255,255,.72); }
.theme-01 .experience-grid p { background: rgba(255,255,255,.76); }

/* 02 — Navy Command: strongest sense of resolve and campaign energy */
.theme-02 {
  --paper: #f4f6f8;
  --surface: #e7edf2;
  --ink: #071f42;
  --muted: #5f7082;
  --line: #c7d2dc;
  --navy: #061f43;
  --blue: #258bc8;
  --accent: #f2b53d;
  --gold: #f2b53d;
  --cta: #159665;
  --cta-text: #fff;
  --cta-shadow: rgba(13,132,86,.3);
  --header-bg: rgba(6,31,67,.95);
  --mobile-menu-bg: rgba(6,31,67,.99);
  --hero-bg: radial-gradient(circle at 88% 18%,#2b9ed7 0,rgba(43,158,215,.2) 28%,transparent 47%),linear-gradient(130deg,#061f43 0 56%,#0a3f73 56% 100%);
  --hero-ink: #fff;
  --hero-border: rgba(255,255,255,.38);
  --grid-color: rgba(255,255,255,.08);
  --streak-a: rgba(24,135,197,.18);
  --streak-b: #f2b53d;
  --portrait-bg: #f4f7fa;
  --portrait-clip: polygon(0 0,92% 0,100% 10%,100% 100%,0 100%);
  --portrait-line: rgba(20,96,150,.25);
  --portrait-shadow: 34px 34px 0 rgba(17,117,177,.35);
  --proof-bg: #f2b53d;
  --proof-border: #fff;
  --proof-ink: #061f43;
  --vision-overlay: linear-gradient(90deg,rgba(4,20,47,.96) 0,rgba(5,35,70,.78) 55%,rgba(5,35,70,.12) 100%);
  --section-no: rgba(26,118,177,.11);
  --number-accent-bg: #061f43;
  --number-accent-ink: #fff;
  --image-shadow: -28px 28px 0 #f2b53d;
  --pull-bg: #dcebf4;
  --policy-bg: #eef3f6;
  --policy-ink: #061f43;
  --policy-word: rgba(8,49,90,.05);
  --policy-card: #fff;
  --policy-card-ink: #061f43;
  --medical: #176eb0;
  --work: #159665;
  --life: #e39b22;
  --experience-bg: #061f43;
  --scenes-bg: #061f43;
  --support-bg: #061f43;
  --support-shadow: 0 35px 80px rgba(4,22,47,.25);
  --support-quote: rgba(255,255,255,.06);
  --dialogue-bg: #e8eff4;
  --dialogue-line: rgba(10,75,124,.16);
  --voice-bg: #fff;
  --voice-color: #176eb0;
  --contact-bg: #04172f;
  --join-bg: #fff8e4;
}
.theme-02 .site-header:not(.is-scrolled), .theme-02 .site-header.is-scrolled { color: #fff; }
.theme-02 .hero-copy { padding-left: 1%; }
.theme-02 .hero h1 { text-shadow: 0 10px 40px rgba(0,0,0,.18); }
.theme-02 .hero-streak-a { background: linear-gradient(90deg,transparent,#208eca 45%,transparent); clip-path: polygon(0 40%,100% 0,100% 48%,0 100%); }
.theme-02 .hero-streak-b { box-shadow: 0 0 28px rgba(242,181,61,.5); }
.theme-02 .hero-visual::after { border: 1px solid rgba(255,255,255,.13); content: ""; inset: 30px -80px 50px 70px; position: absolute; transform: rotate(-7deg); }
.theme-02 .declaration { background: #020f22; border-top: 1px solid rgba(255,255,255,.12); }
.theme-02 .number-card p { color: #0a4f86; }
.theme-02 .number-accent p { color: inherit; }
.theme-02 .policies .eyebrow-light { color: #176eb0; }
.theme-02 .policy-card { border-top: 0; border-left: 7px solid var(--policy-color); }
.theme-02 .experience { color: #fff; }
.theme-02 .experience-grid p { background: rgba(255,255,255,.08); color: rgba(255,255,255,.7); }
.theme-02 .experience-grid span { color: #f2b53d; }
.theme-02 .teine-scenes { color: #fff; }
.theme-02 .scenes-heading .eyebrow { color: #7fc3e7; }
.theme-02 .support-card { color: #fff; }
.theme-02 .support blockquote p { color: rgba(255,255,255,.7); }
.theme-02 .support blockquote footer { border-color: rgba(255,255,255,.2); }
.theme-02 .dialogue-head img { background: #fff; padding: 18px; }

/* 03 — White Drive: clean credibility with a decisive blue wedge */
.theme-03 {
  --paper: #fff;
  --surface: #f0f6f9;
  --ink: #102d55;
  --muted: #637789;
  --line: #d5e1e8;
  --navy: #102d55;
  --blue: #1268ad;
  --accent: #159160;
  --gold: #efb33c;
  --cta: #1268ad;
  --cta-text: #fff;
  --cta-shadow: rgba(18,104,173,.25);
  --header-bg: rgba(255,255,255,.96);
  --mobile-menu-bg: rgba(255,255,255,.99);
  --hero-bg: linear-gradient(90deg,#1268ad 0 52%,#fff 52% 100%);
  --hero-ink: #fff;
  --hero-border: rgba(255,255,255,.42);
  --grid-color: rgba(255,255,255,.1);
  --streak-a: rgba(21,145,96,.14);
  --streak-b: #efb33c;
  --portrait-bg: #edf7fc;
  --portrait-clip: 50% 50%;
  --portrait-line: rgba(18,104,173,.18);
  --portrait-shadow: 0 35px 90px rgba(16,68,106,.2);
  --proof-bg: #fff;
  --proof-border: #efb33c;
  --proof-ink: #102d55;
  --vision-overlay: linear-gradient(90deg,rgba(11,47,83,.92) 0,rgba(10,62,99,.68) 50%,rgba(10,62,99,.08) 100%);
  --section-no: rgba(18,104,173,.09);
  --number-accent-bg: #efb33c;
  --number-accent-ink: #102d55;
  --image-shadow: 22px 22px 0 #159160;
  --pull-bg: #eef7fb;
  --policy-bg: #fff;
  --policy-ink: #102d55;
  --policy-word: rgba(18,104,173,.045);
  --policy-card: #f7fafc;
  --policy-card-ink: #102d55;
  --medical: #1268ad;
  --work: #159160;
  --life: #e5a32e;
  --experience-bg: #edf6fa;
  --scenes-bg: #edf6fa;
  --support-bg: linear-gradient(135deg,#fff,#eef7fb);
  --support-shadow: 0 30px 70px rgba(16,54,88,.09);
  --support-quote: rgba(21,145,96,.08);
  --dialogue-bg: #fff;
  --dialogue-line: rgba(18,104,173,.14);
  --voice-bg: #f5fafc;
  --voice-color: #159160;
  --contact-bg: #102d55;
  --join-bg: #f8fbfd;
}
.theme-03 .site-header { background: rgba(255,255,255,.96); color: #102d55; box-shadow: 0 7px 28px rgba(10,42,74,.06); }
.theme-03 .hero { padding-top: calc(var(--header-height) + var(--proposal-height) + 70px); }
.theme-03 .hero::before { background: #1268ad; clip-path: polygon(0 0,100% 0,78% 100%,0 83%); content: ""; inset: 0 44% 0 0; position: absolute; }
.theme-03 .hero-inner { grid-template-columns: 48% 52%; }
.theme-03 .portrait-frame { border-radius: 50% 50% 10% 50%; clip-path: none; right: 0; width: min(46vw,570px); }
.theme-03 .portrait-frame::after { border-radius: inherit; }
.theme-03 .proof-career { left: 0; }
.theme-03 .hero-streak-a { left: -16%; opacity: .8; width: 75%; }
.theme-03 .hero-streak-b { left: 4%; width: 52%; }
.theme-03 .declaration { background: linear-gradient(90deg,#102d55 0 70%,#1268ad 70%); }
.theme-03 .number-grid { gap: 12px; }
.theme-03 .number-card { background: #f7fafc; border: 0; }
.theme-03 .number-accent { background: #efb33c; }
.theme-03 .policy-card { border: 1px solid #dbe7ed; border-bottom: 7px solid var(--policy-color); border-top: 1px solid #dbe7ed; }
.theme-03 .policy-symbol b { border-radius: 14px; }
.theme-03 .support-card { border-top: 6px solid #1268ad; }
.theme-03 .dialogue-head img { border: 1px solid #dbe7ed; padding: 18px; }

@media (max-width: 820px) {
  .theme-01 .policy-card:nth-child(2), .theme-01 .policy-card:nth-child(2):hover { transform: none; }
  .theme-01 .vision-image { object-position: 58% center; }
  .theme-01 .vision-copy::before { inset: 88px -20px -34px -18px; }
  .theme-01 .vision-logo { height: 220px; width: 165px; }
  .theme-01 .profile::before { background-position: 45% -180px; background-size: auto 1100px; }
  .theme-01 .profile::after { background: linear-gradient(180deg,rgba(248,252,254,.70),rgba(239,248,252,.72)); }
  .theme-01 .profile-lead { padding: 26px 24px; }
  .theme-01 .timeline { padding: 30px 22px 4px; }
  .theme-02 .site-header { color: #fff; }
  .theme-03 .hero { background: linear-gradient(180deg,#edf7fc 0 47%,#1268ad 47% 100%); }
  .theme-03 .hero::before { clip-path: polygon(0 0,100% 0,100% 66%,0 82%); inset: 48% 0 0; }
  .theme-03 .hero-inner { grid-template-columns: 1fr; }
  .theme-03 .hero-copy { color: #fff; }
  .theme-03 .portrait-frame { left: 9%; right: auto; width: 82%; }
  .theme-03 .hero-streak-a, .theme-03 .hero-streak-b { left: -10%; width: 120%; }
}
