.restricted-page,
.restricted-page * { min-width: 0; }

.restricted-page { overflow: hidden; background: var(--bg); color: var(--ink); }

.restricted-hero {
  padding: 58px 0 48px;
  background:
    radial-gradient(circle at 85% 12%, rgba(18, 163, 168, .14), transparent 31%),
    linear-gradient(135deg, #f9fbff 0%, #edf4ff 58%, #f7fafc 100%);
  border-bottom: 1px solid rgba(219, 228, 240, .92);
}

.restricted-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 42px; align-items: end; }
.restricted-back-link { display: inline-flex; margin-bottom: 22px; color: var(--primary); font-size: 14px; font-weight: 900; text-decoration: none; }
.restricted-back-link::before { content: "←"; margin-right: 8px; }
.restricted-eyebrow,
.restricted-section-head > span { display: block; color: var(--accent-strong); font-size: 12px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.restricted-hero h1 { max-width: 880px; margin: 9px 0 20px; color: var(--primary-strong); font-size: clamp(40px, 5.2vw, 68px); line-height: .98; letter-spacing: -.06em; }
.restricted-hero p { max-width: 820px; margin: 0; color: var(--muted-strong); font-size: clamp(18px, 2vw, 21px); }
.restricted-hero-actions { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 28px; }

.restricted-status-card { position: relative; overflow: hidden; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(255,255,255,.9); box-shadow: var(--shadow-md); }
.restricted-status-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -72px; top: -78px; border-radius: 50%; background: rgba(18,163,168,.12); }
.restricted-status-card span,
.restricted-status-card strong { display: block; position: relative; }
.restricted-status-card span { color: var(--muted); font-size: 12px; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.restricted-status-card strong { margin: 6px 0 13px; color: var(--primary-strong); font-size: 25px; letter-spacing: -.035em; }
.restricted-status-card p { position: relative; color: var(--muted); font-size: 14px; font-weight: 700; line-height: 1.48; }

.restricted-intro { padding: 40px 0; background: #fff; border-bottom: 1px solid var(--line); }
.restricted-intro-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.restricted-level-card { padding: 27px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #f8fbff; }
.restricted-level-card > span { display: inline-flex; padding: 7px 11px; border-radius: 999px; font-size: 11px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.restricted-level-sensitive > span { color: #8a5c00; background: #fff0c8; }
.restricted-level-prohibited > span { color: #a02a3b; background: #ffe3e7; }
.restricted-level-card h2 { margin: 13px 0 7px; color: var(--primary-strong); font-size: 25px; letter-spacing: -.035em; }
.restricted-level-card p { margin: 0; color: var(--muted-strong); font-size: 15px; }
.restricted-policy-note { margin: 18px 0 0; padding: 16px 20px; border-left: 4px solid var(--accent); border-radius: 0 14px 14px 0; background: var(--primary-soft); color: var(--primary-strong); font-weight: 800; }

.restricted-markets { padding: 70px 0 82px; }
.restricted-section-head { max-width: 820px; margin-bottom: 25px; }
.restricted-section-head h2 { margin: 8px 0 12px; color: var(--primary-strong); font-size: clamp(32px, 4vw, 49px); line-height: 1.02; letter-spacing: -.052em; }
.restricted-section-head p { color: var(--muted-strong); font-size: 17px; }
.restricted-market-nav { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; margin-bottom: 22px; }
.restricted-market-nav a { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 48px; padding: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; color: var(--primary-strong); font-weight: 900; text-decoration: none; box-shadow: 0 6px 18px rgba(15,27,45,.05); }
.restricted-market-nav a:hover { border-color: rgba(18,163,168,.5); transform: translateY(-1px); }
.restricted-market-list { display: grid; gap: 24px; }
.restricted-market-card { scroll-margin-top: 110px; overflow: hidden; border: 1px solid var(--line); border-radius: 28px; background: #fff; box-shadow: var(--shadow-md); }
.restricted-market-header { display: grid; grid-template-columns: 70px 1fr; gap: 20px; align-items: center; padding: 27px 30px; background: linear-gradient(135deg, #102e50, #174f77); color: #fff; }
.restricted-flag { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 20px; background: rgba(255,255,255,.12); font-size: 35px; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.restricted-market-header div > span { display: block; color: #79d7d7; font-size: 11px; font-weight: 950; letter-spacing: .13em; text-transform: uppercase; }
.restricted-market-header h3 { margin: 3px 0 6px; color: #fff; font-size: 34px; line-height: 1; letter-spacing: -.045em; }
.restricted-market-header p { max-width: 920px; margin: 0; color: rgba(255,255,255,.78); font-size: 14px; font-weight: 700; }
.restricted-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
.restricted-list-panel { padding: 28px 30px 30px; }
.restricted-list-prohibited { border-left: 1px solid var(--line); background: #fffafb; }
.restricted-panel-head { display: grid; grid-template-columns: 42px 1fr; gap: 13px; align-items: center; margin-bottom: 19px; }
.restricted-panel-icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; font-size: 21px; font-weight: 950; }
.restricted-list-sensitive .restricted-panel-icon { color: #815600; background: #fff0c8; }
.restricted-list-prohibited .restricted-panel-icon { color: #a02a3b; background: #ffe3e7; }
.restricted-panel-head div > span { display: block; color: var(--muted); font-size: 10px; font-weight: 950; letter-spacing: .11em; text-transform: uppercase; }
.restricted-panel-head h4 { margin: 2px 0 0; color: var(--primary-strong); font-size: 23px; letter-spacing: -.035em; }
.restricted-list-panel ul { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.restricted-list-panel li { position: relative; padding: 14px 15px 14px 38px; border: 1px solid var(--line); border-radius: 15px; background: #fff; color: var(--muted-strong); font-size: 14px; line-height: 1.42; }
.restricted-list-panel li::before { position: absolute; left: 15px; top: 15px; font-weight: 950; }
.restricted-list-sensitive li::before { content: "✓"; color: #b17900; }
.restricted-list-prohibited li::before { content: "×"; color: #c43b4e; font-size: 18px; line-height: 1; }
.restricted-list-panel li strong,
.restricted-list-panel li span { display: block; }
.restricted-list-panel li strong { margin-bottom: 4px; color: var(--ink); font-size: 14px; }
.restricted-list-panel li span { color: var(--muted); font-size: 13px; }
.restricted-market-footer { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: start; padding: 19px 30px; border-top: 1px solid var(--line); background: #f7fafc; }
.restricted-market-footer > strong { color: var(--muted); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.restricted-market-footer div { display: flex; flex-wrap: wrap; gap: 8px 16px; }
.restricted-market-footer a { color: var(--primary); font-size: 12px; font-weight: 850; text-decoration: underline; text-decoration-color: rgba(18,60,105,.25); text-underline-offset: 3px; }

.restricted-review { padding: 72px 0; background: #102e50; color: #fff; }
.restricted-review-grid { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,1.25fr); gap: 54px; align-items: start; }
.restricted-review h2 { margin: 8px 0 14px; color: #fff; font-size: clamp(32px,4vw,48px); line-height: 1; letter-spacing: -.052em; }
.restricted-review > .container > div > p { color: rgba(255,255,255,.72); font-size: 17px; }
.restricted-review ol { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.restricted-review li { display: grid; grid-template-columns: 46px 1fr; gap: 14px; padding: 18px; border: 1px solid rgba(255,255,255,.13); border-radius: 17px; background: rgba(255,255,255,.065); }
.restricted-review li > span { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 14px; background: rgba(121,215,215,.14); color: #79d7d7; font-size: 12px; font-weight: 950; }
.restricted-review li strong { color: #fff; font-size: 15px; }
.restricted-review li p { margin: 3px 0 0; color: rgba(255,255,255,.68); font-size: 13px; }

.restricted-disclaimer { padding: 48px 0 76px; }
.restricted-disclaimer-card { display: flex; gap: 28px; align-items: center; justify-content: space-between; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-md); }
.restricted-disclaimer-card > div { display: grid; grid-template-columns: 44px 1fr; gap: 15px; max-width: 900px; }
.restricted-disclaimer-card > div > span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--primary-soft); color: var(--primary); font-weight: 950; }
.restricted-disclaimer-card strong { display: block; color: var(--primary-strong); font-size: 18px; }
.restricted-disclaimer-card p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
.restricted-disclaimer-card > a { flex: 0 0 auto; }

@media (max-width: 980px) {
  .restricted-hero-grid,
  .restricted-review-grid { grid-template-columns: 1fr; }
  .restricted-status-card { max-width: 620px; }
  .restricted-market-nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .restricted-columns { grid-template-columns: 1fr; }
  .restricted-list-prohibited { border-left: 0; border-top: 1px solid var(--line); }
}

@media (max-width: 680px) {
  .restricted-hero { padding: 38px 0 34px; }
  .restricted-hero h1 { font-size: clamp(36px,12vw,50px); }
  .restricted-intro-grid,
  .restricted-market-nav { grid-template-columns: 1fr; }
  .restricted-markets { padding: 52px 0 60px; }
  .restricted-market-header { grid-template-columns: 52px 1fr; gap: 14px; padding: 22px 18px; }
  .restricted-flag { width: 52px; height: 52px; border-radius: 16px; font-size: 28px; }
  .restricted-market-header h3 { font-size: 28px; }
  .restricted-list-panel { padding: 22px 18px; }
  .restricted-market-footer { grid-template-columns: 1fr; padding: 18px; }
  .restricted-review { padding: 55px 0; }
  .restricted-disclaimer-card { align-items: stretch; flex-direction: column; padding: 21px; }
  .restricted-disclaimer-card > a { text-align: center; }
}
