.iw-packages { --ink:#131b2e; --muted:#596377; --line:#e3e7ef; color:var(--ink); background:#fbfcff; padding:48px 24px; font-family:Barlow,Arial,sans-serif; font-size:16px; line-height:1.5; }
.iw-packages *, .iw-packages *::before, .iw-packages *::after { box-sizing:border-box; }
.iw-packages__inner { max-width:1320px; margin:auto; }
.iw-packages svg { width:36px; height:36px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }
.iw-packages__intro { margin-bottom:30px; }
.iw-packages .iw-packages__eyebrow { color:#a30c7e; text-transform:uppercase; letter-spacing:1.8px; font-size:13px; font-weight:800; margin:0 0 12px; }
.iw-packages .iw-packages__intro h2 { color:var(--ink); font-size:clamp(30px,3.2vw,46px); letter-spacing:-1.2px; line-height:1.12; margin:0 0 18px; font-weight:800; }
.iw-packages__intro > p:last-child { color:var(--muted); font-size:18px; max-width:800px; }
.iw-packages__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.iw-packages__card { --accent:#174acc; --dark:#103bac; --soft:#eff4ff; border:1px solid #dfe5ef; border-radius:19px; background:white; overflow:hidden; box-shadow:0 5px 12px #202d4810; display:flex; flex-direction:column; min-width:0; }
.iw-packages__service { --accent:#087c3b; --dark:#06612f; --soft:#edf8ef; }
.iw-packages__custom { --accent:#a30b88; --dark:#7a117d; --soft:#fbf0f9; }
.iw-packages__band { display:flex; align-items:center; gap:14px; padding:24px 22px; background:linear-gradient(115deg,var(--accent),var(--dark)); min-height:115px; }
.iw-packages .iw-packages__band, .iw-packages .iw-packages__band * { color:white; }
.iw-packages .iw-packages__band h3 { font-size:clamp(21px,1.7vw,26px); line-height:1.15; letter-spacing:-.5px; margin:0 0 7px; font-weight:800; }
.iw-packages .iw-packages__band p { font-size:14px; line-height:1.3; margin:0; }
.iw-packages__body { padding:23px; display:flex; flex-direction:column; flex:1; }
.iw-packages__audience { color:#4c566a; margin:0 0 22px; font-size:15px; }
.iw-packages__audience strong { color:var(--ink); }
.iw-packages .iw-packages__body h4 { font-size:16px; margin:0 0 7px; color:var(--ink); font-weight:700; }
.iw-packages .iw-packages__features { padding:0; margin:0 0 24px; list-style:none; }
.iw-packages__features li { position:relative; padding:9px 0 9px 25px; border-bottom:1px solid #edf0f5; font-size:14px; }
.iw-packages__features li::before { content:"✓"; position:absolute; left:0; color:var(--accent); font-size:17px; font-weight:700; }
.iw-packages__features li:last-child { border-bottom:0; }
.iw-packages__features strong { display:block; font-weight:600; }
.iw-packages__features small { display:block; color:var(--muted); font-size:12px; margin-top:2px; }
.iw-packages__options { padding:0; margin:0; border:0; min-width:0; }
.iw-packages__options legend { padding:0; margin:0 0 10px; font-weight:700; font-size:15px; }
.iw-packages__options label { display:flex; align-items:center; gap:8px; padding:11px 10px; margin:0 0 7px; border:1px solid var(--line); border-radius:9px; font-size:14px; font-weight:400; cursor:pointer; }
.iw-packages__options label:has(input:checked) { border-color:#2355e4; background:var(--soft); box-shadow:inset 0 0 0 1px #2355e4; }
.iw-packages__options label strong { margin-left:auto; white-space:nowrap; }
.iw-packages input[type="radio"], .iw-packages input[type="checkbox"] { appearance:auto; width:18px; height:18px; min-width:18px; margin:0; accent-color:var(--accent); flex-shrink:0; cursor:pointer; }
.iw-packages__help { color:var(--muted); font-size:12px; margin:4px 0 12px; }
.iw-packages__shop { display:flex; align-items:flex-start; gap:10px; padding:15px 12px; background:var(--soft); border:1px solid #d9e3ff; border-radius:10px; cursor:pointer; margin-bottom:22px; }
.iw-packages__shop input { margin-top:3px!important; }
.iw-packages__shop strong { display:block; font-size:14px; }
.iw-packages__shop small { display:block; font-size:12px; color:var(--muted); margin:3px 0 5px; }
.iw-packages__shop b { font-size:12px; color:#25417d; }
.iw-packages__highlight { padding:18px; border-radius:12px; background:var(--soft); margin-bottom:18px; }
.iw-packages__highlight p { color:var(--muted); font-size:14px; margin:0; }
.iw-packages__bottom { margin-top:auto; }
.iw-packages__price { border-top:1px solid var(--line); padding:20px 0 18px; min-height:126px; }
.iw-packages__price > span, .iw-packages__price small { color:var(--muted); font-size:12px; }
.iw-packages__price p { margin:2px 0 4px; }
.iw-packages__price strong { color:var(--ink); font-size:28px; line-height:1.3; letter-spacing:-.8px; font-weight:800; }
.iw-packages__price p small { white-space:nowrap; }
.iw-packages a.iw-packages__cta { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:50px; padding:13px 15px; border-radius:9px; color:white; background:var(--accent); text-decoration:none; font-size:15px; line-height:1.35; font-weight:700; }
.iw-packages a.iw-packages__cta:hover { background:var(--dark); }
.iw-packages__button-note { display:block; text-align:center; color:var(--muted); font-size:11px; margin-top:9px; }
.iw-packages :focus-visible { outline:3px solid #222b45; outline-offset:4px; }
.iw-packages__tax { text-align:center; color:var(--muted); font-size:12px; margin:18px 0 25px; }
.iw-packages__trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; background:#eef3fb; padding:25px; border-radius:14px; }
.iw-packages__trust strong { display:block; font-size:16px; }
.iw-packages__trust span { color:var(--muted); font-size:13px; }
.iw-packages__comparison { margin-top:55px; }
.iw-packages .iw-packages__comparison h3, .iw-packages .iw-packages__faq h3 { color:var(--ink); font-size:32px; letter-spacing:-.8px; line-height:1.15; margin:0 0 14px; font-weight:800; }
.iw-packages__comparison > p:not(.iw-packages__eyebrow) { color:var(--muted); font-size:16px; }
.iw-packages__table { overflow-x:auto; border:1px solid var(--line); border-radius:14px; background:white; }
.iw-packages table { width:100%; min-width:700px; table-layout:fixed; border-collapse:collapse; margin:0; font-size:14px; }
.iw-packages caption { text-align:left; padding:12px 18px; color:var(--muted); font-size:12px; }
.iw-packages th, .iw-packages td { padding:15px 16px; text-align:center; border:0; border-bottom:1px solid var(--line); }
.iw-packages th:first-child { text-align:left; width:34%; }
.iw-packages thead th { background:#f1f4fa; font-weight:700; color:var(--ink); }
.iw-packages thead th:nth-child(2) { background:#eff4ff; color:#174acc; }
.iw-packages thead th:nth-child(3) { background:#edf8ef; color:#086431; }
.iw-packages thead th:nth-child(4) { background:#fbf0f9; color:#871171; }
.iw-packages tbody th { font-weight:600; }
.iw-packages tbody td { color:#3d5261; }
.iw-packages tbody tr:last-child > * { border-bottom:0; }
.iw-packages__faq { display:grid; grid-template-columns:1fr 1.6fr; gap:45px; margin-top:55px; }
.iw-packages details { border-bottom:1px solid var(--line); }
.iw-packages summary { font-size:16px; font-weight:600; padding:16px 0; cursor:pointer; }
.iw-packages details p { font-size:15px; color:var(--muted); margin:0 0 16px; }
@media (min-width:901px) and (max-width:1100px) {
  .iw-packages { padding-inline:16px; }
  .iw-packages__grid { gap:12px; }
  .iw-packages__body, .iw-packages__band { padding:18px; }
  .iw-packages__band { gap:10px; }
  .iw-packages__band svg { width:28px; height:28px; }
  .iw-packages__options label { font-size:12px; padding-inline:7px; gap:6px; }
  .iw-packages a.iw-packages__cta { font-size:13px; }
}
@media (max-width:900px) {
  .iw-packages__inner { max-width:600px; }
  .iw-packages__grid, .iw-packages__trust, .iw-packages__faq { grid-template-columns:1fr; }
  .iw-packages__band { min-height:0; }
  .iw-packages .iw-packages__band h3 { font-size:26px; }
  .iw-packages__faq { gap:16px; }
}
@media (max-width:480px) {
  .iw-packages { padding:32px 16px; }
  .iw-packages__body, .iw-packages__band { padding:20px; }
  .iw-packages .iw-packages__band h3 { font-size:23px; }
  .iw-packages .iw-packages__band p { font-size:12px; }
  .iw-packages__band svg { width:30px; height:30px; }
  .iw-packages__options label { font-size:13px; gap:6px; padding-inline:8px; }
}
