/* Silverstone Income Protection — #103044 · #54a2a4 · Garet */
:root{--sip-n:#103044;--sip-t:#54a2a4;--sip-b:#d4dde4;--sip-m:#5a6a78;--sip-bg:#f2f5f7;--sip-f:'Garet','Inter',-apple-system,sans-serif;--sip-e:.2s ease;--sip-r:12px}
.sip-app{font-family:var(--sip-f);color:#1a1a2e;max-width:500px;margin:0 auto;padding:8px 0 40px;-webkit-font-smoothing:antialiased}
.sip-step{display:block}.sip-hidden{display:none!important}
.sip-card{background:#fff;border-radius:var(--sip-r);box-shadow:0 4px 24px rgba(16,48,68,.10);overflow:hidden;padding:34px 38px 38px}
.sip-card--ok{text-align:center}
.sip-bar{height:5px;background:var(--sip-n);margin:-34px -38px 18px;border-radius:var(--sip-r) var(--sip-r) 0 0}
.sip-bar--t{background:var(--sip-t)}
.sip-icon{text-align:center;font-size:2rem;margin-bottom:6px}
.sip-title{margin:0 0 6px;font-size:clamp(1.15rem,2.3vw,1.45rem);font-weight:700;color:var(--sip-n);letter-spacing:-.01em}
.sip-sub,.sip-sub2{margin:0 0 22px;color:var(--sip-m);font-size:.9rem}
.sip-sub2{text-align:center;margin:4px 0 18px;font-size:.82rem}
.sip-eyebrow{text-align:center;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sip-m);margin:0 0 8px}
/* Fields */
.sip-f{display:flex;flex-direction:column;gap:5px;margin-bottom:16px}
.sip-f label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sip-n)}
.sip-f label span{color:#c0392b}
.sip-iw{display:flex;align-items:center;border:1.5px solid var(--sip-b);border-radius:8px;background:#f8fafb;overflow:hidden;transition:border-color var(--sip-e),box-shadow var(--sip-e)}
.sip-pre{font-size:.88rem;font-weight:700;color:var(--sip-n);pointer-events:none;user-select:none;flex-shrink:0;white-space:nowrap;padding:0 4px 0 11px}
.sip-iw input{flex:1;min-width:0;box-sizing:border-box;padding:10px 12px 10px 0 !important;border:none !important;border-radius:0 !important;background:transparent !important;font-size:.97rem;font-family:var(--sip-f);color:#1a1a2e;outline:none;-webkit-appearance:none;appearance:none}
.sip-iw:focus-within{border-color:var(--sip-t);box-shadow:0 0 0 3px rgba(84,162,164,.18);background:#fff}
.sip-iw input[type=number]::-webkit-inner-spin-button,.sip-iw input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
.sip-iw input[type=number]{-moz-appearance:textfield}
.sip-err{font-size:.875rem;color:#922b21;min-height:1.1em;margin-bottom:2px}
/* Buttons */
.sip-btn{display:inline-block;background:var(--sip-n);color:#fff;border:2px solid var(--sip-n);border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:700;font-family:var(--sip-f);cursor:pointer;transition:background var(--sip-e),transform var(--sip-e);margin-top:4px}
.sip-btn:hover:not(:disabled){background:var(--sip-t);border-color:var(--sip-t);transform:translateY(-1px)}
.sip-btn--ol{background:transparent;color:var(--sip-n);margin-top:18px}
.sip-btn--ol:hover:not(:disabled){background:var(--sip-n);color:#fff;transform:none}
.sip-link-btn{background:none;border:none;color:var(--sip-m);font-size:.83rem;font-family:var(--sip-f);cursor:pointer;padding:4px 0 0;transition:color var(--sip-e)}
.sip-link-btn:hover{color:var(--sip-n)}
/* Protected amount */
.sip-amount{text-align:center;font-size:clamp(2.4rem,6vw,3.4rem);font-weight:700;color:var(--sip-t);letter-spacing:-.03em;line-height:1;margin:0 0 4px}
.sip-amount span{font-size:1rem;color:var(--sip-m);font-weight:600;margin-left:3px}
/* 3-cell strip */
.sip-strip{display:flex;border:1px solid var(--sip-b);border-radius:8px;overflow:hidden;margin-bottom:20px}
.sip-cell{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-right:1px solid var(--sip-b)}
.sip-cell:last-child{border-right:none}
.sip-cell span{font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sip-m);font-weight:600;margin-bottom:3px;text-align:center}
.sip-cell strong{font-size:.88rem;color:var(--sip-n);font-weight:700}
/* Locked */
.sip-locked{background:var(--sip-bg);border:2px dashed var(--sip-b);border-radius:10px;padding:14px 16px;margin-bottom:20px}
.sip-locked__lbl{font-size:.69rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--sip-m);margin-bottom:10px}
.sip-locked__rows{margin-bottom:10px}
.sip-lr{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--sip-b);font-size:.85rem}
.sip-lr:last-child{border-bottom:none}
.sip-lr span{color:var(--sip-m)}.sip-lr strong{font-weight:700;color:var(--sip-n)}
.sip-blur{filter:blur(6px);user-select:none}
.sip-locked__cta{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--sip-t)}
/* Lead override */
.sip-lead{border:none!important;box-shadow:none!important;padding:0!important;margin:0 0 14px!important;max-width:100%!important}
.sip-full-btn{width:100%;text-align:center;background:var(--sip-t);border-color:var(--sip-t)}
.sip-full-btn:hover:not(:disabled){background:#3e8486;border-color:#3e8486}
/* Result */
.sip-check{width:52px;height:52px;background:var(--sip-t);color:#fff;border-radius:50%;font-size:1.4rem;line-height:52px;margin:0 auto 12px;font-weight:700}
.sip-result__amt{font-size:clamp(1.9rem,5vw,2.8rem);font-weight:700;color:var(--sip-n);letter-spacing:-.03em;margin:0 0 20px}
.sip-bk{list-style:none;padding:0;margin:0 0 18px;text-align:left;border-top:1px solid var(--sip-b)}
.sip-bk li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--sip-b);font-size:.86rem;gap:12px}
.sip-bk li span{color:var(--sip-m)}.sip-bk li strong{color:var(--sip-n);font-weight:700}
.sip-t{color:var(--sip-t)!important}.sip-r{color:#c0392b!important}.sip-lg{font-size:1rem!important}
.sip-disc{font-size:.73rem;color:var(--sip-m);line-height:1.6;text-align:left;margin:0 0 4px}
.sip-card--ok .sip-recalc{display:block;width:100%;text-align:center}
@media(max-width:460px){
    .sip-card{padding:22px 14px 24px}.sip-bar{margin:-22px -14px 16px}
    .sip-btn,.sip-recalc{width:100%;text-align:center}
    .sip-strip{flex-direction:column}
    .sip-cell{flex-direction:row;justify-content:space-between;border-right:none;border-bottom:1px solid var(--sip-b)}
    .sip-cell:last-child{border-bottom:none}
}
