.jm-packages {
  --jm-text: #0f172a;
  --jm-muted: #5b6472;
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  overflow-x: clip;
  background: #fff;
  color: var(--jm-text);
  padding: 18px 0 8px;
}
.jm-packages * { box-sizing: border-box; }
.jm-packages__wrap { width:100% !important; max-width:none !important; margin:0 !important; padding:0 clamp(16px,2.2vw,32px); }
.jm-packages__header,.jm-packages__section-header { text-align:center; margin:0 0 28px; }
.jm-packages__eyebrow,.jm-packages__section-eyebrow { display:inline-flex; align-items:center; justify-content:center; padding:8px 14px; border-radius:999px; background:#eff6ff; color:#0369a1; font-size:14px; font-weight:700; margin-bottom:16px; }
.jm-packages__header h1 { margin:0; font-size:clamp(34px,4vw,54px); line-height:1.04; letter-spacing:-.04em; font-weight:900; }
.jm-packages__section-title { margin:0; font-size:clamp(30px,3.4vw,44px); line-height:1.08; letter-spacing:-.035em; font-weight:900; }
.jm-packages__header p,.jm-packages__section-intro { margin:18px auto 0; max-width:none; font-size:17px; line-height:1.85; color:var(--jm-muted); text-align:center; }
.jm-packages__warning { border:1px solid #fecaca; background:#fef2f2; color:#b91c1c; border-radius:14px; padding:12px 14px; font-size:14px; font-weight:700; margin:12px 0; }
.jm-packages__usps { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; width:100%; margin:0 0 34px; }
.jm-usp,.jm-tailored__usp { display:flex; align-items:flex-start; gap:16px; padding:18px 20px; background:#fff; border:1px solid #e5e7eb; border-radius:18px; box-shadow:0 8px 18px rgba(15,23,42,.04); }
.jm-tailored__usp { align-items:center; min-height:60px; padding:12px 14px; gap:12px; border-radius:16px; }
.jm-usp__icon,.jm-tailored__usp-icon { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border-radius:14px; background:#f8fafc; font-size:22px; flex:0 0 auto; }
.jm-tailored__usp-icon { width:38px; height:38px; border-radius:12px; font-size:18px; }
.jm-usp__text,.jm-tailored__usp-text { display:flex; flex-direction:column; gap:6px; }
.jm-tailored__usp-text { font-size:13px; font-weight:800; line-height:1.35; color:#334155; }
.jm-usp__text strong { font-size:18px; line-height:1.3; }
.jm-usp__text span { font-size:14px; line-height:1.7; color:var(--jm-muted); }
.jm-packages-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; align-items:stretch; }
.jm-packages__section { margin-top:58px; padding-top:36px; border-top:1px solid #edf1f5; }
.jm-package { position:relative; display:flex; flex-direction:column; min-height:100%; padding:26px; border:1px solid #e5e7eb; border-radius:24px; background:#fff; box-shadow:0 10px 24px rgba(15,23,42,.045); overflow:hidden; transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.jm-package::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; }
.jm-package:hover { transform:translateY(-6px); box-shadow:0 20px 42px rgba(15,23,42,.1); }
.jm-package--green { border-color:#d9efe2; background:linear-gradient(180deg,#f7fcf8 0%,#fff 24%); }
.jm-package--green::before { background:linear-gradient(90deg,#22c55e 0%,#16a34a 100%); }
.jm-package--amber { border-color:#f3e1bd; background:linear-gradient(180deg,#fffaf2 0%,#fff 24%); }
.jm-package--amber::before { background:linear-gradient(90deg,#fbbf24 0%,#f59e0b 100%); }
.jm-package--red { border-color:#f0d4db; background:linear-gradient(180deg,#fff7f8 0%,#fff 24%); }
.jm-package--red::before { background:linear-gradient(90deg,#fb7185 0%,#e11d48 100%); }
.jm-package--featured { transform:translateY(-4px); box-shadow:0 18px 38px rgba(245,158,11,.13); }
.jm-package__featured-mark,.jm-package__promo { position:absolute; top:12px; right:12px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:6px 10px; font-size:11px; font-weight:800; z-index:2; }
.jm-package__featured-mark { background:#fff7ed; color:#c2410c; border:1px solid #fdba74; }
.jm-package__promo { top:44px; background:#eff6ff; color:#0369a1; border:1px solid #bae6fd; }
.jm-package__badge { display:inline-flex; width:fit-content; margin-bottom:14px; padding:7px 12px; border-radius:999px; background:rgba(255,255,255,.88); border:1px solid rgba(15,23,42,.08); font-size:12px; font-weight:800; line-height:1; }
.jm-package--green .jm-package__badge { background:#ecfdf5; color:#166534; border-color:#bbf7d0; }
.jm-package--amber .jm-package__badge { background:#fffbeb; color:#b45309; border-color:#fde68a; }
.jm-package--red .jm-package__badge { background:#fff1f2; color:#be123c; border-color:#fecdd3; }
.jm-package__title { margin:0; font-size:31px; line-height:1.08; letter-spacing:-.04em; font-weight:900; display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.jm-package__title-icon { font-size:28px; line-height:1; }
.jm-package__subtitle { margin:14px 0 0; font-size:15px; line-height:1.8; color:var(--jm-muted); }
.jm-package__description { margin:12px 0 0; font-size:15px; line-height:1.8; color:#334155; }
.jm-package__features { list-style:none; padding:0; margin:22px 0 0; display:flex; flex-direction:column; gap:13px; flex:1 1 auto; }
.jm-package__features li { display:grid; grid-template-columns:28px minmax(0,1fr); gap:10px; align-items:start; }
.jm-feature-icon { display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:999px; background:#f8fafc; font-size:12px; font-weight:800; box-shadow: inset 0 0 0 1px rgba(15,23,42,.05); }
.jm-feature-text { font-size:15px; line-height:1.72; color:#334155; }
.jm-feature-text strong { font-weight:800; color:#0f172a; }
.jm-package__audience { margin-top:18px; padding-top:18px; border-top:1px dashed #e2e8f0; display:flex; flex-direction:column; gap:6px; }
.jm-package__audience strong { font-size:14px; color:#0f172a; }
.jm-package__audience span { font-size:14px; line-height:1.75; color:#475569; }
.jm-package__bottom { margin-top:26px; padding-top:18px; border-top:1px solid #edf1f5; display:flex; flex-direction:column; gap:16px; }
.jm-package__price-main { font-size:35px; line-height:1; letter-spacing:-.04em; font-weight:900; }
.jm-package__price-old { font-size:16px; color:#94a3b8; text-decoration:line-through; }
.jm-package__price-note { font-size:14px; color:#64748b; }
.jm-package__btn { display:inline-flex; align-items:center; justify-content:center; width:100%; min-height:50px; padding:13px 18px; border-radius:14px; color:#fff; text-decoration:none; font-size:14px; font-weight:800; border:0; cursor:pointer; }
.jm-package--green .jm-package__btn { background:#16a34a; box-shadow:0 10px 22px rgba(22,163,74,.22); }
.jm-package--amber .jm-package__btn,.jm-tailored__buy-btn { background:#f59e0b; box-shadow:0 10px 22px rgba(245,158,11,.22); }
.jm-package--red .jm-package__btn { background:#e11d48; box-shadow:0 10px 22px rgba(225,29,72,.2); }
.jm-tailored__usps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; width:100%; margin:0 0 24px; }
.jm-tailored__single-card { min-height:auto; transform:none !important; }
.jm-tailored__single-card:hover { transform:none !important; box-shadow:0 18px 38px rgba(245,158,11,.13); }
.jm-tailored__single-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:start; }
.jm-tailored__offer { display:flex; flex-direction:column; gap:18px; padding-left:4px; }
.jm-tailored__offer-title { font-size:28px; }
.jm-slider-value { margin:18px 0 8px; font-size:clamp(34px,5vw,52px); line-height:1; letter-spacing:-.05em; font-weight:900; color:#0f172a; }
.jm-field-block { margin-top:12px; }
.jm-range { width:100%; margin-top:10px; accent-color:#0284c7; cursor:pointer; }
.jm-range__legend { display:flex; justify-content:space-between; gap:10px; margin-top:8px; font-size:12px; color:#64748b; }
.jm-toggle { margin-top:26px; padding-top:20px; border-top:1px dashed #e2e8f0; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.jm-toggle__button { position:relative; display:inline-flex; align-items:center; justify-content:space-between; gap:10px; min-width:92px; padding:6px 8px; border-radius:999px; border:1px solid #cbd5e1; background:#e2e8f0; color:#334155; font-size:12px; font-weight:800; cursor:pointer; }
.jm-toggle__button.is-active { background:#0ea5e9; border-color:#0284c7; color:#fff; }
.jm-toggle__thumb { width:24px; height:24px; border-radius:999px; background:#fff; box-shadow:0 4px 12px rgba(15,23,42,.18); }
.jm-form__label { display:block; font-size:14px; font-weight:800; color:#0f172a; }
.jm-form__help,.jm-tailored__buy-note { margin-top:4px; font-size:13px; line-height:1.7; color:#64748b; }
.jm-result__summary { display:flex; flex-direction:column; gap:12px; }
.jm-result__row { display:flex; justify-content:space-between; gap:18px; padding:13px 14px; border-radius:14px; background:rgba(255,255,255,.74); border:1px solid rgba(15,23,42,.06); font-size:14px; }
.jm-result__row span { color:#475569; }
.jm-result__row strong { text-align:right; color:#0f172a; max-width:58%; line-height:1.5; }
.jm-result__includes { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.jm-result__includes li { position:relative; padding-left:18px; font-size:14px; line-height:1.7; color:#475569; }
.jm-result__includes li::before { content:"•"; position:absolute; left:0; top:0; color:#0284c7; font-weight:900; }
.jm-tailored__buy-box { display:flex; flex-direction:column; gap:12px; margin-top:auto; padding-top:18px; border-top:1px solid #edf1f5; }
@media (max-width:1280px){ .jm-packages__wrap{padding:0 24px;} .jm-packages-grid{gap:20px;} }
@media (max-width:1024px){ .jm-packages-grid,.jm-tailored__single-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:920px){ .jm-tailored__single-grid{grid-template-columns:1fr;} .jm-tailored__usps{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:780px){ .jm-packages__usps,.jm-tailored__usps,.jm-packages-grid,.jm-tailored__single-grid{grid-template-columns:1fr;} .jm-package,.jm-package--featured,.jm-package:hover,.jm-package--featured:hover{transform:none;} .jm-toggle,.jm-result__row{flex-direction:column;align-items:flex-start;} .jm-result__row strong{max-width:100%;text-align:left;} }
