
:root {
  --junca-navy: #071A33;
  --junca-gold: #C7A552;
  --junca-white: #ffffff;
  --junca-ink: #243044;
  --junca-bg: #F6F8FB;
  --junca-muted: #667085;
}
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, 'Noto Sans JP', system-ui, sans-serif; color:var(--junca-ink); background:#fff; }
.junca-section { padding: 112px 6vw; position: relative; overflow: hidden; }
.junca-section .inner { max-width: 1180px; margin: 0 auto; }
.eyebrow { letter-spacing:.18em; text-transform: uppercase; font-size:12px; color:var(--junca-gold); font-weight:600; margin-bottom:16px; }
h1,h2,h3 { margin:0; color:var(--junca-navy); line-height:1.18; }
h2 { font-family: 'Noto Serif JP', Georgia, serif; font-size: clamp(34px, 4vw, 58px); font-weight:500; letter-spacing:-.02em; }
h3 { font-size: clamp(22px, 2vw, 30px); margin-bottom:16px; }
p { line-height:1.9; font-size:16px; }
.lead { font-size: clamp(18px, 2vw, 24px); line-height:1.75; max-width: 900px; margin: 28px 0 0; color:#344054; }
.section-split { display:grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items:start; }
.card-grid { display:grid; grid-template-columns: repeat(3,1fr); gap: 24px; margin-top: 56px; }
.quiet-card { background:#fff; border:1px solid rgba(7,26,51,.10); border-radius:24px; padding:32px; box-shadow: 0 18px 50px rgba(7,26,51,.06); min-height: 310px; }
.quiet-card img, .quiet-card svg { width:42px; height:42px; margin-bottom:24px; }
.dark { background:var(--junca-navy); color:#fff; }
.dark h2,.dark h3 { color:#fff; }
.dark p { color:rgba(255,255,255,.82); }
.gold-line { width:72px; height:1px; background:var(--junca-gold); margin:28px 0; }
.cta { background: linear-gradient(135deg, #071A33 0%, #0D274D 100%); color:#fff; text-align:center; }
.cta h2 { color:#fff; }
.cta .btn { display:inline-flex; margin-top:28px; padding:16px 28px; border-radius:999px; background:var(--junca-gold); color:#071A33; text-decoration:none; font-weight:700; }
.fade-up { opacity:0; transform: translateY(28px); transition: all .8s ease; }
.fade-up.is-visible { opacity:1; transform: translateY(0); }
@media (max-width: 860px) {
  .junca-section { padding: 78px 24px; }
  .section-split { grid-template-columns:1fr; gap:36px; }
  .card-grid { grid-template-columns:1fr; }
  .quiet-card { min-height:auto; }
}
