.iw-shell, .iw-shell * { box-sizing: border-box; }
.iw-shell { --iw-ink:#163832; --iw-muted:#64736f; --iw-line:#dce5e2; --iw-soft:#f3f7f6; --iw-accent:#d8ed47; --iw-accent-dark:#b6cb2a; max-width:1160px; margin:32px auto; display:grid; grid-template-columns:minmax(280px,.8fr) minmax(520px,1.25fr); overflow:hidden; border:1px solid var(--iw-line); border-radius:28px; background:#fff; color:var(--iw-ink); box-shadow:0 24px 70px rgba(21,56,50,.12); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.5; }
.iw-visual { position:relative; min-height:720px; overflow:hidden; background:#193f38; }
.iw-visual img { width:100%; height:100%; object-fit:cover; object-position:62% center; display:block; }
.iw-visual__shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,37,32,.08) 28%,rgba(10,37,32,.84) 100%); }
.iw-visual__copy { position:absolute; left:clamp(24px,4vw,48px); right:32px; bottom:48px; color:#fff; }
.iw-visual__copy p { margin:9px 0 7px; max-width:420px; font-size:clamp(28px,3.5vw,48px); font-family:Georgia,"Times New Roman",serif; line-height:1.06; letter-spacing:-.025em; }
.iw-visual__copy small { font-size:16px; color:rgba(255,255,255,.82); }
.iw-kicker { display:block; color:#6d7907; font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.iw-visual .iw-kicker { color:var(--iw-accent); }
.iw-panel { min-height:720px; padding:clamp(28px,5vw,64px); display:flex; flex-direction:column; }
.iw-head { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; }
.iw-head h2 { margin:6px 0 0; font:400 clamp(28px,3vw,42px)/1.1 Georgia,"Times New Roman",serif; letter-spacing:-.025em; }
.iw-step-label { flex:none; padding:8px 12px; border:1px solid var(--iw-line); border-radius:999px; font-size:13px; color:var(--iw-muted); }
.iw-progress { height:5px; margin:25px 0 38px; overflow:hidden; border-radius:999px; background:#e8efed; }
.iw-progress span { display:block; width:16.666%; height:100%; border-radius:inherit; background:var(--iw-accent); transition:width .32s ease; }
.iw-form { display:flex; flex:1; flex-direction:column; }
.iw-step { display:none; padding:0; margin:0; border:0; animation:iw-enter .28s ease both; }
.iw-step.is-active { display:block; }
.iw-step legend { width:100%; margin:0; padding:0; color:var(--iw-ink); font:400 clamp(23px,2.5vw,32px)/1.2 Georgia,"Times New Roman",serif; }
.iw-intro { margin:8px 0 28px; color:var(--iw-muted); font-size:15px; }
.iw-choice-grid { display:grid; gap:12px; }
.iw-choice-grid--3 { grid-template-columns:repeat(3,1fr); }
.iw-choice-grid--2 { grid-template-columns:repeat(2,1fr); }
.iw-card { position:relative; min-height:104px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:18px 14px; text-align:center; border:1.5px solid var(--iw-line); border-radius:16px; background:#fff; cursor:pointer; font-weight:700; transition:.2s ease; }
.iw-card:hover { border-color:#97a8a3; transform:translateY(-1px); }
.iw-card:has(input:checked) { border-color:var(--iw-ink); background:var(--iw-soft); box-shadow:inset 0 0 0 1px var(--iw-ink); }
.iw-card input { position:absolute; opacity:0; pointer-events:none; }
.iw-card__icon { font-size:30px; font-weight:400; line-height:1; }
.iw-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.iw-fields label:not(.iw-check) { display:flex; flex-direction:column; gap:7px; color:#37514c; font-size:14px; font-weight:700; }
.iw-fields input, .iw-fields select { min-width:0; width:100%; height:50px; padding:0 14px; border:1.5px solid var(--iw-line); border-radius:11px; background:#fff; color:var(--iw-ink); font:500 16px/1.2 inherit; outline:none; }
.iw-fields input:focus, .iw-fields select:focus { border-color:var(--iw-ink); box-shadow:0 0 0 3px rgba(22,56,50,.1); }
.iw-wide { grid-column:span 2; }
.iw-rating-block { margin-bottom:25px; }
.iw-detail-rating { margin-bottom:26px; padding:18px; border:1px solid var(--iw-line); border-radius:15px; background:#fbfcfc; }
.iw-detail-rating>b { display:block; margin-bottom:15px; font:700 18px/1.2 Georgia,"Times New Roman",serif; }
.iw-detail-rating .iw-rating-block:last-child { margin-bottom:0; }
.iw-rating-block>span { display:block; margin-bottom:9px; font-size:14px; font-weight:800; }
.iw-segments { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.iw-segments--3 { grid-template-columns:repeat(3,1fr); }
.iw-segments label { position:relative; display:grid; place-items:center; min-height:50px; padding:7px; border:1px solid var(--iw-line); border-radius:10px; text-align:center; font-size:13px; font-weight:700; cursor:pointer; }
.iw-segments input { position:absolute; opacity:0; }
.iw-segments label:has(input:checked) { color:#fff; border-color:var(--iw-ink); background:var(--iw-ink); }
.iw-fields--extras { align-items:end; }
.iw-check { min-height:50px; display:flex; align-items:center; gap:10px; padding:12px 14px; border:1px solid var(--iw-line); border-radius:11px; cursor:pointer; font-size:14px; font-weight:700; }
.iw-check input, .iw-consent input { width:19px; height:19px; flex:none; accent-color:var(--iw-ink); }
.iw-result { margin-bottom:25px; padding:24px; border-radius:18px; background:var(--iw-ink); color:#fff; }
.iw-result>span { display:block; color:rgba(255,255,255,.7); font-size:13px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.iw-result strong { display:block; margin:7px 0; font:400 clamp(25px,3.5vw,37px)/1.15 Georgia,"Times New Roman",serif; }
.iw-result small { display:block; color:rgba(255,255,255,.68); font-size:12px; }
.iw-contact-intro { display:flex; gap:14px; align-items:center; margin-bottom:20px; }
.iw-contact-intro b { font:700 18px/1.3 Georgia,"Times New Roman",serif; }
.iw-contact-intro p { margin:4px 0 0; color:var(--iw-muted); font-size:14px; }
.iw-agent { width:49px; height:49px; flex:none; display:grid; place-items:center; border-radius:50%; background:var(--iw-accent); color:var(--iw-ink); font-weight:900; }
.iw-consent { display:flex; align-items:flex-start; gap:10px; margin-top:16px; color:#596965; font-size:12px; cursor:pointer; }
.iw-consent a { color:var(--iw-ink); text-decoration:underline; }
.iw-actions { display:flex; gap:10px; margin-top:auto; padding-top:30px; }
.iw-btn { min-height:50px; padding:0 23px; border:0; border-radius:999px; font:800 15px/1 inherit; cursor:pointer; transition:.2s ease; }
.iw-btn--primary { margin-left:auto; background:var(--iw-accent); color:var(--iw-ink); box-shadow:0 8px 20px rgba(182,203,42,.24); }
.iw-btn--primary:hover { background:var(--iw-accent-dark); transform:translateY(-1px); }
.iw-btn--primary:disabled { opacity:.65; cursor:wait; }
.iw-btn--ghost { background:var(--iw-soft); color:var(--iw-ink); }
.iw-trust { display:flex; flex-wrap:wrap; gap:13px 22px; margin-top:22px; padding-top:18px; border-top:1px solid var(--iw-line); color:var(--iw-muted); font-size:12px; }
.iw-form-error, .iw-alert { margin:12px 0 0; color:#a02e2e; font-size:13px; font-weight:700; }
.iw-alert { padding:10px 12px; background:#fff0f0; border-radius:9px; }
.iw-success { margin:auto 0; text-align:center; }
.iw-success__icon { width:72px; height:72px; display:grid; place-items:center; margin:0 auto 20px; border-radius:50%; background:var(--iw-accent); font-size:32px; font-weight:900; }
.iw-success h2 { font:400 38px/1.12 Georgia,"Times New Roman",serif; }
.iw-success p:last-child { color:var(--iw-muted); font-size:17px; }
.iw-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
[hidden] { display:none!important; }
@keyframes iw-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
@media (max-width:900px) {
  .iw-shell { grid-template-columns:1fr; margin:18px auto; border-radius:20px; }
  .iw-visual { min-height:230px; }
  .iw-visual__copy { left:26px; bottom:28px; }
  .iw-visual__copy p { font-size:32px; max-width:520px; }
  .iw-panel { min-height:650px; padding:30px 24px; }
}
@media (max-width:580px) {
  .iw-shell { margin:0; border-width:0; border-radius:0; }
  .iw-visual { min-height:210px; }
  .iw-visual__copy small { display:none; }
  .iw-panel { min-height:680px; padding:26px 18px; }
  .iw-head { display:block; }
  .iw-step-label { display:inline-block; margin-top:13px; }
  .iw-progress { margin:18px 0 28px; }
  .iw-choice-grid--3, .iw-choice-grid--2 { grid-template-columns:1fr; }
  .iw-card { min-height:66px; flex-direction:row; }
  .iw-card__icon { font-size:24px; }
  .iw-fields { grid-template-columns:1fr; }
  .iw-wide { grid-column:auto; }
  .iw-segments, .iw-segments--3 { grid-template-columns:1fr 1fr; }
  .iw-fields--contact { gap:12px; }
  .iw-result { padding:20px 17px; }
  .iw-result strong { font-size:24px; }
  .iw-actions { position:sticky; bottom:0; padding:16px 0 4px; background:linear-gradient(180deg,rgba(255,255,255,0),#fff 18%); }
  .iw-btn { padding:0 18px; }
  .iw-trust { gap:8px 14px; }
}
@media (prefers-reduced-motion:reduce) { .iw-step, .iw-progress span, .iw-card, .iw-btn { animation:none; transition:none; } }
