.hg-ic {
  --ic-ink: #17313b;
  --ic-muted: #5d6d73;
  --ic-green: #1d6f5f;
  --ic-gold: #d4932f;
  --ic-line: #d8e2df;
  --ic-paper: #fbfaf6;
  --ic-critical: #b42318;
  --ic-warning: #a15c00;
  --ic-good: #18794e;
  color: var(--ic-ink);
  background: var(--ic-paper);
  min-height: 100vh;
}
.hg-ic *, .hg-ic *::before, .hg-ic *::after { box-sizing: border-box; }
.hg-ic button, .hg-ic input, .hg-ic textarea { font: inherit; letter-spacing: normal; text-transform: none; }
.hg-ic button { cursor: pointer; }
.hg-ic-hero { background: radial-gradient(circle at 82% 20%, rgba(42,132,115,.38), transparent 28%), linear-gradient(135deg,#07182a,#173e4a 62%,#1d6f5f); color:#fff; }
.hg-ic-hero-inner { max-width:1160px; min-height:410px; margin:0 auto; padding:54px 28px 62px; display:flex; align-items:center; gap:52px; }
.hg-ic-hero-copy { flex:1 1 650px; position:relative; z-index:1; }
.hg-ic-back { display:inline-flex; align-items:center; gap:8px; margin:0 0 30px; color:rgba(255,255,255,.82); font-size:14px; font-weight:700; text-decoration:none; }
.hg-ic-back:hover, .hg-ic-back:focus-visible { color:#fff; text-decoration:underline; }
.hg-ic-kicker { display:flex; align-items:center; gap:9px; margin:0 0 12px; color:#f2c66d; font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.hg-ic-hero h1 { max-width:760px; margin:0 0 18px; color:#fff; font-size:48px; line-height:1.05; letter-spacing:-.035em; }
.hg-ic-hero-copy > p:not(.hg-ic-kicker) { max-width:740px; margin:0; color:rgba(255,255,255,.9); font-size:19px; line-height:1.58; }
.hg-ic-trust-row { display:flex; flex-wrap:wrap; gap:12px 22px; margin-top:25px; }
.hg-ic-trust-row span { display:inline-flex; align-items:center; gap:7px; color:#fff; font-size:14px; font-weight:700; white-space:nowrap; }
.hg-ic-trust-row i { color:#72d3af; }
.hg-ic-hero-mark { flex:0 0 280px; width:280px; height:280px; object-fit:cover; border-radius:50%; box-shadow:0 24px 70px rgba(0,0,0,.34); opacity:.96; }
.hg-ic-shell { max-width:1050px; margin:0 auto; padding:42px 24px 72px; }
.hg-ic-card, .hg-ic-report, .hg-ic-how { border:1px solid var(--ic-line); border-radius:18px; background:#fff; box-shadow:0 12px 35px rgba(23,49,59,.06); }
.hg-ic-input-card { padding:32px; }
.hg-ic-card-head, .hg-ic-report-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:24px; }
.hg-ic-step { margin:0 0 5px; color:var(--ic-green); font-size:13px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.hg-ic h2 { margin:0; color:var(--ic-ink); font-size:29px; line-height:1.2; letter-spacing:-.02em; }
.hg-ic-text-btn { border:0; background:transparent; color:var(--ic-green); padding:8px 0; font-size:15px; font-weight:800; }
.hg-ic-text-btn:hover, .hg-ic-text-btn:focus-visible { text-decoration:underline; }
.hg-ic-field { margin-bottom:24px; }
.hg-ic-field > label, .hg-ic-islands legend { display:block; margin-bottom:9px; color:var(--ic-ink); font-size:16px; font-weight:800; }
.hg-ic textarea, .hg-ic input[type="date"] { display:block; width:100%; border:1px solid #b8c8c5; border-radius:10px; background:#fff; color:var(--ic-ink); box-shadow:none; outline:none; }
.hg-ic textarea { min-height:250px; padding:16px; resize:vertical; font-size:16px; line-height:1.55; }
.hg-ic input[type="date"] { max-width:260px; height:48px; padding:0 13px; font-size:16px; }
.hg-ic textarea:focus, .hg-ic input[type="date"]:focus { border-color:var(--ic-green); box-shadow:0 0 0 3px rgba(29,111,95,.14); }
.hg-ic-field-meta { display:flex; justify-content:space-between; gap:16px; margin-top:7px; color:var(--ic-muted); font-size:13px; }
.hg-ic-field-meta span:last-child { white-space:nowrap; }
.hg-ic-islands { min-width:0; margin:0 0 24px; padding:0; border:0; }
.hg-ic-island-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.hg-ic-island { position:relative; min-width:0; }
.hg-ic-island input { position:absolute; opacity:0; pointer-events:none; }
.hg-ic-island span { display:flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:9px 10px; border:2px solid #d5dfdc; border-radius:10px; background:#fff; color:#3d5056; font-size:15px; font-weight:800; white-space:nowrap; }
.hg-ic-island input:focus-visible + span { outline:3px solid rgba(29,111,95,.2); outline-offset:2px; }
.hg-ic-oahu i { color:#F27A24; }.hg-ic-maui i { color:#1866B4; }.hg-ic-big i { color:#C3232F; }.hg-ic-kauai i { color:#1D9771; }
.hg-ic-oahu input:checked + span { border-color:#F27A24; background:#fff7f0; color:#7c3b0f; }
.hg-ic-maui input:checked + span { border-color:#1866B4; background:#f0f6fc; color:#174f83; }
.hg-ic-big input:checked + span { border-color:#C3232F; background:#fff3f3; color:#811b24; }
.hg-ic-kauai input:checked + span { border-color:#1D9771; background:#f0faf7; color:#166c52; }
.hg-ic-date-field label span { color:var(--ic-muted); font-size:13px; font-weight:600; }
.hg-ic-date-field p { margin:7px 0 0; color:var(--ic-muted); font-size:13px; }
.hg-ic-privacy { display:flex; gap:14px; margin:3px 0 22px; padding:16px 18px; border:1px solid #c7dad5; border-radius:12px; background:#f4faf8; }
.hg-ic-privacy > i { flex:0 0 auto; margin-top:3px; color:var(--ic-green); font-size:20px; }
.hg-ic-privacy strong { display:block; margin-bottom:4px; font-size:15px; }
.hg-ic-privacy p { margin:0; color:#496069; font-size:13px; line-height:1.55; }
.hg-ic-error { margin:0 0 14px; padding:12px 14px; border-left:4px solid var(--ic-critical); background:#fff1f0; color:#7a271a; font-size:14px; font-weight:700; }
.hg-ic-submit { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:52px; padding:13px 24px; border:0; border-radius:10px; background:var(--ic-green); color:#fff; font-size:17px; font-weight:800; box-shadow:0 7px 18px rgba(29,111,95,.22); }
.hg-ic-submit:hover, .hg-ic-submit:focus-visible { background:#155446; }
.hg-ic-submit:disabled { opacity:.6; cursor:wait; }
.hg-ic-loading { display:flex; align-items:center; gap:16px; margin-top:20px; padding:20px 24px; border:1px solid #c9d8d5; border-radius:14px; background:#fff; }
.hg-ic-loading div:last-child { display:flex; flex-direction:column; gap:3px; }
.hg-ic-loading strong { font-size:16px; }.hg-ic-loading span { color:var(--ic-muted); font-size:14px; }
.hg-ic-spinner { flex:0 0 28px; width:28px; height:28px; border:3px solid #dce9e5; border-top-color:var(--ic-green); border-radius:50%; animation:hgIcSpin .8s linear infinite; }
@keyframes hgIcSpin { to { transform:rotate(360deg); } }
.hg-ic-report { margin-top:30px; padding:32px; scroll-margin-top:100px; }
.hg-ic-report-head { padding-bottom:22px; border-bottom:1px solid var(--ic-line); }
.hg-ic-report-head p:last-child { margin:8px 0 0; color:var(--ic-muted); font-size:15px; line-height:1.5; }
.hg-ic-report-actions { display:flex; gap:8px; flex:0 0 auto; }
.hg-ic-report-actions button { display:inline-flex; align-items:center; gap:7px; min-height:40px; padding:8px 12px; border:1px solid #b9cbc6; border-radius:8px; background:#fff; color:var(--ic-green); font-size:14px; font-weight:800; }
.hg-ic-score { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin:22px 0; }
.hg-ic-score-card { padding:16px; border:1px solid var(--ic-line); border-radius:12px; background:#fbfdfc; text-align:center; }
.hg-ic-score-card strong { display:block; font-size:27px; line-height:1; }.hg-ic-score-card span { display:block; margin-top:7px; color:var(--ic-muted); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.hg-ic-score-critical strong { color:var(--ic-critical); }.hg-ic-score-warning strong { color:var(--ic-warning); }.hg-ic-score-good strong { color:var(--ic-good); }
.hg-ic-date-nudge { margin-bottom:18px; padding:13px 15px; border-left:4px solid var(--ic-warning); background:#fffbeb; color:#744600; font-size:14px; line-height:1.5; }
.hg-ic-finding-group { margin-top:24px; }.hg-ic-finding-group h3 { display:flex; align-items:center; gap:9px; margin:0 0 10px; font-size:18px; }
.hg-ic-finding { display:grid; grid-template-columns:26px 1fr auto; gap:10px; align-items:start; margin-top:9px; padding:15px; border:1px solid var(--ic-line); border-radius:11px; background:#fff; }
.hg-ic-finding > i { margin-top:3px; font-size:17px; }.hg-ic-finding strong { display:block; margin-bottom:3px; font-size:15px; }
.hg-ic-finding p { margin:0; color:#52646b; font-size:14px; line-height:1.5; }.hg-ic-finding small { display:block; margin-top:5px; color:#728087; font-size:12px; }
.hg-ic-finding a { color:var(--ic-green); font-size:13px; font-weight:800; white-space:nowrap; }
.hg-ic-finding-critical { border-left:4px solid var(--ic-critical); }.hg-ic-finding-critical > i { color:var(--ic-critical); }
.hg-ic-finding-warning { border-left:4px solid var(--ic-warning); }.hg-ic-finding-warning > i { color:var(--ic-warning); }
.hg-ic-finding-unverified { border-left:4px solid #667085; }.hg-ic-finding-unverified > i { color:#667085; }
.hg-ic-finding-good { border-left:4px solid var(--ic-good); }.hg-ic-finding-good > i { color:var(--ic-good); }
.hg-ic-coverage { margin-top:26px; padding:16px 18px; border:1px solid var(--ic-line); border-radius:12px; background:#f7faf9; color:#465b62; font-size:14px; line-height:1.55; }
.hg-ic-match-list { display:flex; flex-wrap:wrap; gap:7px; margin-top:10px; }
.hg-ic-match { display:inline-flex; align-items:center; gap:5px; padding:6px 7px 6px 10px; border:1px solid #cadad6; border-radius:999px; background:#fff; }
.hg-ic-match a { color:var(--ic-green); font-size:13px; font-weight:800; text-decoration:none; }
.hg-ic-match a:hover, .hg-ic-match a:focus-visible { text-decoration:underline; }
.hg-ic-match button { display:inline-flex; align-items:center; justify-content:center; width:27px; height:27px; padding:0; border:0; border-radius:50%; background:#e9f5f1; color:var(--ic-green); }
.hg-ic-next { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:22px; padding:20px; border-radius:14px; background:linear-gradient(135deg,#17313b,#1d6f5f); color:#fff; }
.hg-ic-next h3 { margin:0 0 5px; color:#fff; font-size:20px; }.hg-ic-next p { margin:0; color:rgba(255,255,255,.82); font-size:14px; }
.hg-ic-next-actions { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 14px; }
.hg-ic-next-actions button, .hg-ic-next-actions a { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.hg-ic-next-actions button { min-height:42px; padding:9px 14px; border:0; border-radius:8px; background:#f2c66d; color:#273b3f; font-size:14px; font-weight:900; }
.hg-ic-next-actions a { color:#fff; font-size:13px; font-weight:800; }
.hg-ic-disclaimer { margin:20px 0 0; color:#637279; font-size:13px; line-height:1.6; }
.hg-ic-how { margin-top:30px; padding:30px; }.hg-ic-how > h2 { margin-bottom:22px; }
.hg-ic-how-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.hg-ic-how article { padding:18px; border:1px solid var(--ic-line); border-radius:12px; background:#fbfdfc; }
.hg-ic-how article > i { color:var(--ic-green); font-size:23px; }.hg-ic-how h3 { margin:11px 0 6px; font-size:16px; }.hg-ic-how p { margin:0; color:var(--ic-muted); font-size:13px; line-height:1.5; }
[hidden] { display:none !important; }
@media (max-width:900px) {
  .hg-ic-hero-inner { min-height:0; }.hg-ic-hero-mark { flex-basis:220px; width:220px; height:220px; }
  .hg-ic-hero h1 { font-size:40px; }.hg-ic-how-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hg-ic-next { align-items:flex-start; flex-direction:column; }.hg-ic-next-actions { justify-content:flex-start; }
}
@media (max-width:680px) {
  .hg-ic-hero-inner { padding:28px 20px 42px; }.hg-ic-hero-mark { display:none; }.hg-ic-back { margin-bottom:24px; }
  .hg-ic-hero h1 { font-size:36px; }.hg-ic-hero-copy > p:not(.hg-ic-kicker) { font-size:17px; }.hg-ic-trust-row { gap:10px 14px; }
  .hg-ic-shell { padding:24px 14px 52px; }.hg-ic-input-card, .hg-ic-report, .hg-ic-how { padding:20px; border-radius:14px; }
  .hg-ic-card-head, .hg-ic-report-head { flex-direction:column; }.hg-ic-text-btn { padding:0; }
  .hg-ic-island-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.hg-ic-score { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hg-ic-finding { grid-template-columns:24px 1fr; }.hg-ic-finding a { grid-column:2; white-space:normal; }
  .hg-ic-submit { width:100%; }.hg-ic-field-meta { align-items:flex-start; }
}
@media (max-width:360px) {
  .hg-ic-hero h1 { font-size:32px; }.hg-ic-island span { font-size:14px; }.hg-ic-trust-row span { white-space:normal; }
  .hg-ic-submit { padding:11px 12px; font-size:15px; white-space:nowrap; }
  .hg-ic-next-actions { align-items:flex-start; flex-direction:column; }.hg-ic-next-actions a, .hg-ic-next-actions button { white-space:normal; }
}
@media print {
  .hg-ic-hero, .hg-ic-input-card, .hg-ic-how, .hg-ic-report-actions, .hg-ic-next { display:none !important; }
  .hg-ic, .hg-ic-shell { background:#fff; padding:0; }.hg-ic-report { display:block !important; margin:0; padding:0; border:0; box-shadow:none; }
}
