/* ===== Calculator page ("Kansas" design) ===== */
.ts-site .ts-cp{ --cp-line:rgba(52,87,181,.16); --cp-soft:rgba(238,244,255,.55); --cp-muted:rgba(31,41,55,.7); background:var(--ts-white); }
.ts-site .ts-cp .ts-rot{ transform:rotate(-90deg); }
.ts-site .ts-cp :where(p, ul, ol, h1, h2, h3, h4, figure, table){ margin:0; }

/* Hero */
.ts-site .ts-cp-hero{ position:relative; overflow:hidden; padding:clamp(28px, 3.6vw, 52px) 0 clamp(28px, 3.4vw, 48px); background:var(--ts-light); isolation:isolate; }
.ts-site .ts-cp-hero::before, .ts-site .ts-cp-hero::after{ content:""; position:absolute; z-index:-1; top:-8%; width:clamp(240px, 30vw, 460px); height:116%; background:linear-gradient(90deg, rgba(71,123,255,.07), rgba(71,123,255,0)); clip-path:polygon(0 0, 46% 0, 100% 50%, 46% 100%, 0 100%, 54% 50%); pointer-events:none; }
.ts-site .ts-cp-hero::before{ left:-6%; }
.ts-site .ts-cp-hero::after{ left:10%; opacity:.6; }
.ts-site .ts-cp-crumbs{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin:0 0 clamp(22px, 3vw, 40px)!important; padding:0; list-style:none; font-size:14px; }
.ts-site .ts-cp-crumbs li{ margin:0; color:var(--cp-muted); display:inline-flex; align-items:center; }
.ts-site .ts-cp-crumbs a{ color:var(--ts-blue-2); font-weight:500; }
.ts-site .ts-cp-crumbs a:hover{ color:var(--ts-blue); text-decoration:underline; text-underline-offset:3px; }
.ts-site .ts-cp-crumbs .ts-icon{ color:rgba(31,41,55,.4); }
.ts-site .ts-cp-hero__copy{ max-width:760px; }
.ts-site .ts-cp-hero__meta{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px 24px; margin-top:clamp(18px, 2.2vw, 26px); }
.ts-site .ts-cp-hero h1{ font-size:clamp(38px, 5.2vw, 66px)!important; line-height:1.02!important; letter-spacing:-.035em!important; color:var(--ts-navy); font-weight:800; max-width:13ch; text-wrap:balance; }
.ts-site .ts-cp-hero h1 span{ color:var(--ts-blue); }
.ts-site .ts-cp-hero h1.is-long{ font-size:clamp(32px, 3.9vw, 52px)!important; line-height:1.06!important; max-width:20ch; }
.ts-site .ts-cp-hero h1.is-long span{ display:block; margin-top:.12em; font-size:.62em; letter-spacing:-.02em; line-height:1.12; }
.ts-site .ts-cp-hero__intro{ margin-top:clamp(16px, 2vw, 24px)!important; max-width:620px; font-size:clamp(15.5px, 1.25vw, 18px); line-height:1.65; color:var(--ts-text); }
.ts-site .ts-cp-hero__intro + .ts-cp-hero__intro{ margin-top:10px!important; }
.ts-site .ts-chips{ display:flex; flex-wrap:wrap; gap:10px; margin:0!important; padding:0; list-style:none; }
.ts-site .ts-cp-hero__meta .ts-chips{ flex:1 1 300px; max-width:520px; }
.ts-site .ts-cp-hero__meta .ts-crchip{ margin-left:auto; }
.ts-site .ts-chips li{ display:inline-flex; align-items:center; gap:7px; margin:0; padding:8px 14px; border:1px solid var(--cp-line); border-radius:999px; background:var(--ts-white); color:var(--ts-navy); font-size:13.5px; font-weight:600; line-height:1.2; }
.ts-site .ts-chips .ts-icon{ color:var(--ts-blue); flex:none; }

/* Avatars + socials */
.ts-site .ts-av{ position:relative; display:inline-grid; place-items:center; flex:none; border-radius:50%; background:radial-gradient(120% 120% at 30% 20%, var(--ts-blue) 0%, var(--ts-blue-2) 55%, var(--ts-navy) 100%); color:var(--ts-white); box-shadow:0 0 0 3px var(--ts-white), 0 0 0 4px var(--cp-line); }
.ts-site .ts-av img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }
.ts-site .ts-av__i{ font-family:var(--ts-font-head); font-weight:700; letter-spacing:.02em; line-height:1; }
.ts-site .ts-av__badge{ position:absolute; right:-2px; bottom:-2px; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; background:var(--ts-white); color:var(--ts-blue); box-shadow:0 0 0 2px var(--ts-white); }
.ts-site .ts-av--sm{ width:46px; height:46px; }
.ts-site .ts-av--sm .ts-av__i{ font-size:15px; }
.ts-site .ts-av--sm .ts-av__badge{ width:17px; height:17px; }
.ts-site .ts-av--sm .ts-av__badge svg{ width:12px; height:12px; }
.ts-site .ts-av--md{ width:64px; height:64px; }
.ts-site .ts-av--md .ts-av__i{ font-size:21px; }
.ts-site .ts-av--lg{ width:clamp(104px, 10vw, 136px); height:clamp(104px, 10vw, 136px); box-shadow:0 0 0 5px var(--ts-white), 0 14px 34px rgba(32,51,105,.3); }
.ts-site .ts-av--lg .ts-av__i{ font-size:clamp(34px, 3.4vw, 46px); }
.ts-site .ts-av--lg .ts-av__badge{ width:26px; height:26px; right:2px; bottom:2px; }
.ts-site .ts-av--lg .ts-av__badge svg{ width:18px; height:18px; }
.ts-site .ts-vtick{ flex:none; color:var(--ts-blue); }
.ts-site .ts-socs{ display:flex; flex-wrap:wrap; gap:8px; }
.ts-site a.ts-soc{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:36px; height:36px; padding:0 9px; border:1px solid var(--cp-line); border-radius:var(--ts-radius-xs); background:var(--ts-white); color:var(--ts-navy); font-size:14px; font-weight:600; transition:border-color var(--ts-dur), color var(--ts-dur), background-color var(--ts-dur), transform var(--ts-dur); }
.ts-site a.ts-soc:hover{ border-color:var(--ts-blue); color:var(--ts-blue); transform:translateY(-1px); }
.ts-site .ts-socs--sm{ gap:6px; }
.ts-site .ts-socs--sm a.ts-soc{ min-width:32px; height:32px; padding:0 7px; }
.ts-site .ts-socs--md a.ts-soc{ min-width:42px; height:42px; border-radius:10px; }
.ts-site .ts-socs--dark a.ts-soc{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); color:var(--ts-white); }
.ts-site .ts-socs--dark a.ts-soc:hover{ background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.5); color:var(--ts-white); }
.ts-site .ts-socs--pop a.ts-soc{ height:42px; padding:0 14px; border-radius:10px; }
.ts-site .ts-socs--pop a.ts-soc:not(.ts-soc--label){ width:42px; padding:0; }

/* "Created by" chip in hero */
.ts-site .ts-crchip{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 12px; padding:7px 8px 7px 7px; border:1px solid var(--cp-line); border-radius:999px; background:var(--ts-white); box-shadow:0 10px 30px rgba(32,51,105,.08); }
.ts-site button.ts-crchip__who, .ts-site button.ts-crchip__who:hover, .ts-site button.ts-crchip__who:focus{ display:flex; align-items:center; gap:10px; padding:0; border:0; background:transparent; color:var(--ts-navy); text-align:left; cursor:pointer; box-shadow:none; }
.ts-site .ts-crchip__txt{ display:flex; flex-direction:column; }
.ts-site .ts-crchip__txt small{ font-size:10.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--cp-muted); }
.ts-site .ts-crchip__txt strong{ display:inline-flex; align-items:center; gap:6px; font-size:16px; font-weight:700; color:var(--ts-navy); }
.ts-site button.ts-crchip__btn, .ts-site button.ts-crchip__btn:focus{ display:inline-flex; align-items:center; gap:6px; min-height:40px; padding:8px 14px; border:0; border-radius:999px; background:var(--ts-light); color:var(--ts-blue-2); font-family:var(--ts-font-body); font-size:14px; font-weight:600; cursor:pointer; box-shadow:none; transition:background-color var(--ts-dur), color var(--ts-dur); }
.ts-site button.ts-crchip__btn:hover{ background:var(--ts-blue); color:var(--ts-white); }

/* ===== Calculator: inputs (white) + results (navy) ===== */
.ts-site .ts-tool{ display:grid; grid-template-columns:minmax(0, 38fr) minmax(0, 62fr); margin-top:clamp(26px, 3.4vw, 40px); border-radius:var(--ts-radius-lg); overflow:hidden; background:var(--ts-white); box-shadow:0 30px 70px rgba(32,51,105,.14), 0 0 0 1px rgba(52,87,181,.08); scroll-margin-top:90px; }
.ts-site .ts-tool__in{ display:flex; flex-direction:column; gap:20px; min-width:0; padding:clamp(22px, 2.4vw, 36px); }
.ts-site .ts-tool__title{ margin:0; font-family:var(--ts-font-head); font-weight:700; letter-spacing:-.02em; line-height:1.15; font-size:clamp(20px, 1.6vw, 23px)!important; color:var(--ts-navy); }
.ts-site .ts-tool__sub{ margin-top:-12px!important; font-size:14px; line-height:1.6; color:var(--cp-muted); }
.ts-site .ts-modes, .ts-site .ts-seg{ display:grid; grid-auto-columns:minmax(0,1fr); grid-auto-flow:column; gap:4px; padding:5px; border-radius:14px; background:var(--ts-light); }
.ts-site .ts-modes button, .ts-site .ts-modes button:hover, .ts-site .ts-modes button:focus, .ts-site .ts-seg button, .ts-site .ts-seg button:hover, .ts-site .ts-seg button:focus{ min-height:44px; padding:8px 6px; border:0; border-radius:10px; background:transparent; color:rgba(32,51,105,.72); font-family:var(--ts-font-body); font-size:14.5px; font-weight:600; line-height:1.2; text-align:center; cursor:pointer; box-shadow:none; transition:background-color var(--ts-dur), color var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site .ts-seg button, .ts-site .ts-seg button:hover, .ts-site .ts-seg button:focus{ min-height:40px; font-size:13.5px; }
.ts-site .ts-modes button[aria-selected="true"], .ts-site .ts-seg button[aria-checked="true"]{ background:var(--ts-white); color:var(--ts-navy); box-shadow:0 2px 10px rgba(32,51,105,.12); }
.ts-site .ts-modes button:not([aria-selected="true"]):hover, .ts-site .ts-seg button:not([aria-checked="true"]):hover{ color:var(--ts-blue-2); }
.ts-site .ts-grp{ min-width:0; margin:0; padding:0; border:0; }
.ts-site .ts-grp__label{ display:block; margin:0 0 12px; padding:0; font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(32,51,105,.68); }
.ts-site .ts-grp__fields{ display:flex; flex-wrap:wrap; gap:16px 14px; }
.ts-site .ts-fld{ flex:1 1 100%; min-width:0; }
.ts-site .ts-fld--half{ flex:1 1 calc(50% - 7px); }
.ts-site .ts-fld--third{ flex:1 1 calc(33.333% - 10px); }
.ts-site .ts-fld__label{ display:block; margin:0 0 8px!important; font-size:14.5px; font-weight:600; line-height:1.3; color:var(--ts-navy); }
.ts-site .ts-fld__help{ margin-top:7px!important; font-size:12.5px; line-height:1.5; color:var(--cp-muted); }
.ts-site .ts-fld__help a{ color:var(--ts-blue-2); text-decoration:underline; text-underline-offset:2px; }
.ts-site .ts-in{ position:relative; display:flex; align-items:center; }
.ts-site .ts-in input, .ts-site .ts-in select, .ts-site .ts-in textarea{ display:block; width:100%; min-width:0; min-height:52px; margin:0; padding:12px 16px; border:1px solid var(--cp-line); border-radius:12px; background:var(--cp-soft); font-family:var(--ts-font-body); font-size:16px; line-height:1.3; color:var(--ts-text); box-shadow:none; transition:border-color var(--ts-dur), box-shadow var(--ts-dur), background-color var(--ts-dur); }
.ts-site .ts-in textarea{ min-height:84px; resize:vertical; }
.ts-site .ts-in select{ appearance:none; -webkit-appearance:none; padding-right:42px; cursor:pointer; }
.ts-site .ts-in--select .ts-icon{ position:absolute; right:14px; color:var(--ts-navy); pointer-events:none; }
.ts-site .ts-in.has-pre input{ padding-left:32px; }
.ts-site .ts-in.has-suf input{ padding-right:44px; }
.ts-site .ts-in__pre, .ts-site .ts-in__suf{ position:absolute; font-size:15px; color:rgba(31,41,55,.6); pointer-events:none; white-space:nowrap; }
.ts-site .ts-in__pre{ left:16px; }
.ts-site .ts-in__suf{ right:16px; }
.ts-site .ts-in input:hover, .ts-site .ts-in select:hover, .ts-site .ts-in textarea:hover{ border-color:rgba(71,123,255,.45); }
.ts-site .ts-in input:focus, .ts-site .ts-in select:focus, .ts-site .ts-in textarea:focus{ outline:0; border-color:var(--ts-blue); background:var(--ts-white); box-shadow:0 0 0 4px rgba(71,123,255,.15); }
.ts-site .ts-in [aria-invalid="true"]{ border-color:#C53030; background:#FFF7F7; }
.ts-site .ts-chk{ display:flex; align-items:flex-start; gap:10px; font-size:14.5px; font-weight:500; line-height:1.45; color:var(--ts-navy); cursor:pointer; }
.ts-site .ts-chk input{ position:absolute; opacity:0; width:1px; height:1px; }
.ts-site .ts-chk__box{ display:grid; place-items:center; flex:none; width:22px; height:22px; margin-top:-1px; border:1.5px solid rgba(52,87,181,.4); border-radius:6px; background:var(--ts-white); color:transparent; transition:background-color var(--ts-dur), border-color var(--ts-dur); }
.ts-site .ts-chk input:checked + .ts-chk__box{ background:var(--ts-blue); border-color:var(--ts-blue); color:var(--ts-white); }
.ts-site .ts-chk input:focus-visible + .ts-chk__box{ outline:3px solid var(--ts-blue); outline-offset:2px; }
.ts-site .ts-tool__err{ margin-top:-6px!important; font-size:13.5px; line-height:1.5; color:#B42318; }
.ts-site .ts-tool__err:empty{ display:none; }
.ts-site .ts-tool__actions{ display:flex; gap:12px; margin-top:auto; }
.ts-site button.ts-go, .ts-site button.ts-go:focus, .ts-site button.ts-go:active{ display:inline-flex; align-items:center; justify-content:center; gap:10px; flex:1 1 auto; min-width:0; min-height:54px; padding:12px 18px; border:0; border-radius:12px; background:var(--ts-blue); color:var(--ts-white); font-family:var(--ts-font-body); font-size:clamp(15px, 1.1vw, 16px); line-height:1.25; font-weight:600; text-align:center; cursor:pointer; box-shadow:0 12px 26px rgba(71,123,255,.32); transition:background-color var(--ts-dur), transform var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site button.ts-go:hover{ background:var(--ts-blue-2); color:var(--ts-white); transform:translateY(-1px); }
.ts-site button.ts-reset, .ts-site button.ts-reset:focus{ display:grid; place-items:center; flex:none; width:60px; min-height:54px; padding:0; border:1px solid var(--cp-line); border-radius:12px; background:var(--ts-white); color:var(--ts-navy); cursor:pointer; box-shadow:none; transition:border-color var(--ts-dur), color var(--ts-dur), transform var(--ts-dur); }
.ts-site button.ts-reset:hover{ border-color:var(--ts-blue); background:var(--ts-white); color:var(--ts-blue); }
.ts-site button.ts-reset:hover svg{ transform:rotate(-120deg); transition:transform .4s var(--ts-ease); }
.ts-site [data-mode-only], .ts-site [data-when]{ display:none; }
.ts-site [data-mode-only].is-on, .ts-site [data-when].is-on{ display:block; }
.ts-site .ts-grp[data-mode-only].is-on{ display:block; }

/* Results */
.ts-site .ts-tool__out{ position:relative; display:flex; flex-direction:column; min-width:0; padding:clamp(22px, 2.6vw, 40px); background:var(--ts-navy); color:var(--ts-white); overflow:hidden; isolation:isolate; }
.ts-site .ts-tool__wm{ position:absolute; z-index:-1; top:-34px; right:-46px; color:rgba(255,255,255,.05); }
.ts-site .ts-tool__wm .ts-icon{ stroke-width:1.2; }
.ts-site .ts-views{ display:inline-grid; grid-auto-flow:column; gap:4px; align-self:flex-start; padding:5px; border-radius:12px; background:rgba(255,255,255,.08); }
.ts-site .ts-views button, .ts-site .ts-views button:hover, .ts-site .ts-views button:focus{ min-height:38px; padding:7px 16px; border:0; border-radius:9px; background:transparent; color:rgba(255,255,255,.72); font-family:var(--ts-font-body); font-size:14px; font-weight:600; cursor:pointer; box-shadow:none; transition:background-color var(--ts-dur), color var(--ts-dur); }
.ts-site .ts-views button[aria-selected="true"]{ background:var(--ts-white); color:var(--ts-navy); }
.ts-site .ts-views button:not([aria-selected="true"]):hover{ color:var(--ts-white); }
.ts-site .ts-res__main{ display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 18px; margin-top:clamp(18px, 2.2vw, 28px); }
.ts-site .ts-res__big{ font-family:var(--ts-font-head); font-size:clamp(40px, 5.2vw, 72px); font-weight:800; line-height:1; letter-spacing:-.035em; color:var(--ts-white); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ts-site .ts-res__big.is-long{ font-size:clamp(28px, 3.2vw, 46px); letter-spacing:-.02em; line-height:1.15; }
.ts-site .ts-res__cap{ font-size:clamp(14.5px, 1.2vw, 17px); color:rgba(255,255,255,.78); }
.ts-site .ts-res__stats{ display:grid; grid-template-columns:repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap:12px; margin-top:clamp(18px, 2.2vw, 26px); }
.ts-site .ts-res__stats:empty{ display:none; }
.ts-site .ts-rstat{ min-width:0; padding:16px 16px 14px; border:1px solid rgba(255,255,255,.14); border-radius:14px; background:rgba(255,255,255,.06); }
.ts-site .ts-rstat strong{ display:block; font-family:var(--ts-font-head); font-size:clamp(19px, 1.7vw, 24px); font-weight:700; line-height:1.15; color:var(--ts-white); font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.ts-site .ts-rstat span{ display:block; margin-top:6px; font-size:13px; line-height:1.4; color:rgba(255,255,255,.7); }
.ts-site .ts-res__bar{ display:flex; gap:2px; height:14px; margin-top:22px; border-radius:999px; overflow:hidden; background:rgba(255,255,255,.1); }
.ts-site .ts-res__bar span{ display:block; height:100%; min-width:0; transition:flex-basis .5s var(--ts-ease); }
.ts-site .ts-res__bar[hidden], .ts-site .ts-res__legend[hidden]{ display:none; }
.ts-site .ts-res__legend{ margin-top:10px!important; font-size:13px; color:rgba(255,255,255,.66); }
.ts-site .ts-res__lines{ margin:18px 0 0!important; padding:0; list-style:none; border-top:1px dashed rgba(255,255,255,.16); }
.ts-site .ts-res__lines:empty{ display:none; }
.ts-site .ts-res__lines li{ display:flex; align-items:center; gap:12px; margin:0; padding:13px 0; border-bottom:1px dashed rgba(255,255,255,.16); font-size:clamp(14.5px, 1.15vw, 16px); color:rgba(255,255,255,.88); }
.ts-site .ts-res__lines li > span{ flex:1 1 auto; min-width:0; }
.ts-site .ts-res__lines li b{ flex:0 1 auto; min-width:0; text-align:right; overflow-wrap:anywhere; font-weight:700; color:var(--ts-white); font-variant-numeric:tabular-nums; }
.ts-site .ts-res__lines li.is-total{ border-bottom:0; font-weight:600; color:var(--ts-white); }
.ts-site .ts-res__lines li.is-total b{ color:var(--ts-blue-tint); font-size:1.08em; }
.ts-site .ts-res__lines li.is-sub{ padding-left:22px; font-size:14px; color:rgba(255,255,255,.7); }
.ts-site .ts-dot{ flex:none; width:11px; height:11px; border-radius:3px; }
.ts-site .ts-dot--o{ border:2px solid rgba(255,255,255,.85); background:transparent; }
.ts-site .c1{ background:var(--ts-blue); }
.ts-site .c2{ background:var(--ts-light); }
.ts-site .c3{ background:var(--ts-blue-2); }
.ts-site .c4{ background:var(--ts-blue-tint); }
.ts-site .c5{ background:rgba(71,123,255,.5); }
.ts-site .c6{ background:rgba(255,255,255,.45); }
.ts-site .ts-res__extra:empty{ display:none; }
.ts-site .ts-res__extra{ margin-top:18px; font-size:14.5px; line-height:1.65; color:rgba(255,255,255,.86); }
.ts-site .ts-res__extra p + p{ margin-top:8px!important; }
.ts-site .ts-res__extra strong{ color:var(--ts-white); }
.ts-site .ts-res__extra .ts-rnote{ display:flex; gap:10px; padding:12px 14px; border-radius:12px; background:rgba(255,255,255,.07); font-size:13.5px; }
.ts-site .ts-res__extra .ts-rnote--warn{ background:rgba(255,255,255,.12); box-shadow:inset 3px 0 0 var(--ts-blue-tint); }
.ts-site .ts-res__extra table{ width:100%; border-collapse:collapse; font-size:14px; font-variant-numeric:tabular-nums; }
.ts-site .ts-res__extra th, .ts-site .ts-res__extra td{ padding:8px 10px; border:0; border-bottom:1px dashed rgba(255,255,255,.16); background:transparent; text-align:right; color:rgba(255,255,255,.88); }
.ts-site .ts-res__extra th:first-child, .ts-site .ts-res__extra td:first-child{ text-align:left; }
.ts-site .ts-res__extra thead th{ font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.62); }
.ts-site .ts-res__extra .ts-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.ts-site .ts-res__extra .ts-dice-chart{ display:flex; align-items:flex-end; gap:2px; height:90px; margin:14px 0 6px; }
.ts-site .ts-res__extra .ts-dice-chart span{ flex:1 1 0; min-width:2px; border-radius:2px 2px 0 0; background:rgba(255,255,255,.4); }
.ts-site .ts-res__extra .ts-dice-chart span.is-hit{ background:var(--ts-white); }
.ts-site .ts-res__extra svg.ts-normal, .ts-site .ts-res__extra svg.ts-cut{ display:block; width:100%; height:auto; margin:12px 0; color:var(--ts-white); }
.ts-site .ts-res__extra svg.ts-cut{ max-width:320px; }
.ts-site .ts-res__extra .ts-mat{ margin-top:6px; }
.ts-site .ts-res__extra .ts-mat caption{ caption-side:top; padding:10px 0 4px; text-align:left; font-weight:600; }
.ts-site .ts-res__extra .ts-mat td{ text-align:right; }
.ts-site .ts-res__extra tr.is-here td{ background:rgba(255,255,255,.12); font-weight:600; }
.ts-site .ts-res__extra a{ color:var(--ts-white); text-decoration:underline; text-underline-offset:3px; }
.ts-site .ts-res__lines li.is-flag{ box-shadow:inset 3px 0 0 var(--ts-blue-tint); padding-left:10px; }
.ts-site .ts-syn{ border-collapse:separate!important; border-spacing:0; }
.ts-site .ts-syn td{ min-width:52px; text-align:center!important; border-bottom:0!important; }
.ts-site .ts-syn tr:last-child td{ border-top:1px solid rgba(255,255,255,.5)!important; font-weight:700; color:var(--ts-white)!important; }
.ts-site .ts-syn td.is-rem{ background:rgba(71,123,255,.35); border-radius:8px; }
.ts-site .ts-res__acts{ display:flex; flex-wrap:wrap; gap:10px; margin-top:auto; padding-top:22px; }
.ts-site .ts-res__acts button, .ts-site .ts-res__acts button:focus{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 16px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:transparent; color:var(--ts-white); font-family:var(--ts-font-body); font-size:14.5px; font-weight:600; cursor:pointer; box-shadow:none; transition:background-color var(--ts-dur), border-color var(--ts-dur); }
.ts-site .ts-res__acts button:hover{ background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.5); color:var(--ts-white); }
.ts-site .ts-tool.is-empty .ts-res__acts{ visibility:hidden; }

/* Created-by strip */
.ts-site .ts-crstrip{ padding:clamp(22px, 2.6vw, 34px) 0; border-bottom:1px solid rgba(52,87,181,.1); }
.ts-site .ts-crstrip__in{ display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px 24px; }
.ts-site button.ts-crstrip__who, .ts-site button.ts-crstrip__who:hover, .ts-site button.ts-crstrip__who:focus{ display:flex; align-items:center; gap:16px; padding:0; border:0; background:transparent; color:var(--ts-navy); text-align:left; cursor:pointer; box-shadow:none; }
.ts-site .ts-crstrip__who > span:last-child{ display:flex; flex-direction:column; gap:2px; }
.ts-site .ts-crstrip__who small{ font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:rgba(32,51,105,.7); }
.ts-site .ts-crstrip__who strong{ display:inline-flex; align-items:center; gap:7px; font-size:19px; font-weight:700; color:var(--ts-navy); }
.ts-site .ts-crstrip__who em{ font-style:normal; font-size:14px; color:var(--cp-muted); }
.ts-site .ts-crstrip__end{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.ts-site button.ts-btn-navy, .ts-site button.ts-btn-navy:focus{ display:inline-flex; align-items:center; gap:8px; min-height:48px; padding:10px 24px; border:0; border-radius:12px; background:var(--ts-navy); color:var(--ts-white); font-family:var(--ts-font-body); font-size:15.5px; font-weight:600; cursor:pointer; box-shadow:none; transition:background-color var(--ts-dur), transform var(--ts-dur); }
.ts-site button.ts-btn-navy:hover{ background:var(--ts-blue-2); color:var(--ts-white); transform:translateY(-1px); }

/* Article typography */
.ts-site .ts-eyebrow{ display:flex; align-items:center; gap:10px; margin:0 0 14px!important; font-size:12.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ts-blue); }
.ts-site .ts-eyebrow::before{ content:""; width:22px; height:2px; border-radius:2px; background:currentColor; }
.ts-site .ts-eyebrow--light{ color:var(--ts-blue-tint); }
.ts-site .ts-prose{ font-size:clamp(15.5px, 1.15vw, 17px); line-height:1.75; color:var(--ts-text); }
.ts-site .ts-prose > * + *{ margin-top:14px!important; }
.ts-site .ts-prose strong{ color:var(--ts-navy); }
.ts-site .ts-h3{ font-size:clamp(20px, 1.7vw, 24px)!important; line-height:1.25!important; color:var(--ts-navy); }
.ts-site .ts-prose .ts-h3{ margin-top:28px!important; }
.ts-site .ts-prose .ts-h3:first-child{ margin-top:0!important; }
.ts-site .ts-h4{ font-size:17px!important; color:var(--ts-navy); }
.ts-site .ts-list{ display:grid; gap:10px; margin:0; padding:0; list-style:none; }
.ts-site .ts-list li{ position:relative; margin:0; padding-left:28px; }
.ts-site .ts-list--ul li::before{ content:""; position:absolute; left:4px; top:.62em; width:9px; height:9px; border-radius:3px; background:var(--ts-blue); }
.ts-site .ts-list--ol{ counter-reset:tsl; }
.ts-site .ts-list--ol li{ counter-increment:tsl; padding-left:36px; }
.ts-site .ts-list--ol li::before{ content:counter(tsl); position:absolute; left:0; top:.1em; display:grid; place-items:center; width:25px; height:25px; border-radius:8px; background:var(--ts-light); color:var(--ts-blue-2); font-size:13px; font-weight:700; line-height:1; }
.ts-site .ts-note{ display:flex; gap:12px; padding:16px 18px; border-radius:14px; background:var(--ts-light); font-size:15px; line-height:1.65; color:var(--ts-text); }
.ts-site .ts-note .ts-icon{ flex:none; margin-top:3px; color:var(--ts-blue); }
.ts-site .ts-formula{ padding:16px 20px; border-left:4px solid var(--ts-blue); border-radius:4px 14px 14px 4px; background:var(--cp-soft); font-family:var(--ts-font-head); font-size:clamp(16px, 1.3vw, 19px); font-weight:600; line-height:1.55; color:var(--ts-navy); overflow-wrap:anywhere; }
.ts-site .ts-band__col .ts-prose{ color:var(--cp-muted); }

/* Tables */
.ts-site .ts-ctable{ border:1px solid var(--cp-line); border-radius:var(--ts-radius); overflow:hidden; background:var(--ts-white); }
.ts-site .ts-prose .ts-ctable, .ts-site .ts-card__txt .ts-ctable{ margin-top:18px!important; }
.ts-site .ts-ctable table{ width:100%; border-collapse:collapse; font-size:15px; line-height:1.5; font-variant-numeric:tabular-nums; }
.ts-site .ts-ctable thead th{ padding:16px 18px; background:var(--ts-navy); color:var(--ts-white); font-size:14.5px; font-weight:600; text-align:left; border:0; }
.ts-site .ts-ctable tbody th, .ts-site .ts-ctable tbody td{ padding:15px 18px; border:0; border-top:1px solid rgba(52,87,181,.1); text-align:left; font-weight:400; color:var(--ts-text); background:var(--ts-white); vertical-align:top; }
.ts-site .ts-ctable tbody tr:nth-child(even) th, .ts-site .ts-ctable tbody tr:nth-child(even) td{ background:var(--cp-soft); }
.ts-site .ts-ctable tbody tr.is-total th, .ts-site .ts-ctable tbody tr.is-total td{ font-weight:700; color:var(--ts-navy); }

/* ===== v3 article: content column + sticky "On this page" sidebar ===== */
.ts-site .ts-eyebrow--c{ justify-content:center; }
.ts-site .ts-art{ padding:clamp(40px, 5vw, 72px) 0 clamp(48px, 6vw, 88px); }
.ts-site .ts-art__grid{ display:grid; grid-template-columns:minmax(0, 1fr) clamp(240px, 24vw, 300px); gap:clamp(32px, 7vw, 96px); align-items:start; }
.ts-site .ts-art__main{ min-width:0; max-width:780px; font-size:clamp(15.5px, 1.1vw, 16.5px); line-height:1.75; color:var(--ts-text); }
.ts-site .ts-art__lead{ padding-bottom:clamp(20px, 2.4vw, 28px); margin-bottom:clamp(8px, 1vw, 12px); border-bottom:1px solid rgba(52,87,181,.14); font-size:clamp(16.5px, 1.35vw, 19px); line-height:1.6; color:var(--ts-navy); }
.ts-site .ts-art__lead > * + *{ margin-top:12px!important; }
.ts-site .ts-art__sec{ padding-top:clamp(28px, 3vw, 40px); scroll-margin-top:96px; }
.ts-site .ts-art__sec > h2{ margin-bottom:12px!important; font-size:clamp(23px, 2.1vw, 30px)!important; line-height:1.2!important; letter-spacing:-.02em!important; color:var(--ts-navy); text-wrap:balance; }
.ts-site .ts-art__sec > * + *{ margin-top:14px!important; }
.ts-site .ts-art__sec > h2 + *{ margin-top:0!important; }
.ts-site .ts-art__sec .ts-h3{ margin-top:26px!important; font-size:clamp(18px, 1.45vw, 21px)!important; }
.ts-site .ts-art__sec .ts-h4{ margin-top:18px!important; }
.ts-site .ts-art__main a:not(.ts-btn-blue):not(.ts-soc){ color:var(--ts-blue-2); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
.ts-site .ts-art__main a:not(.ts-btn-blue):not(.ts-soc):hover{ color:var(--ts-blue); }
.ts-site .ts-art__main strong{ color:var(--ts-navy); }
.ts-site .ts-art__main .ts-list{ gap:8px; }
.ts-site .ts-art__main .ts-list--ul li{ padding-left:22px; }
.ts-site .ts-art__main .ts-list--ul li::before{ left:3px; top:.66em; width:7px; height:7px; border-radius:50%; }
.ts-site .ts-art__main .ts-ctable{ margin-top:18px!important; }
.ts-site .ts-art__main .ts-ctable table{ font-size:14.5px; }
.ts-site .ts-art__main .ts-ctable thead th{ padding:14px 16px; font-size:13.5px; }
.ts-site .ts-art__main .ts-ctable tbody th, .ts-site .ts-art__main .ts-ctable tbody td{ padding:13px 16px; }
/* stat tiles (one joined row) */
.ts-site .ts-tl{ display:grid; border:1px solid rgba(52,87,181,.16); border-radius:14px; overflow:hidden; background:var(--ts-white); }
.ts-site .ts-tl--1{ grid-template-columns:minmax(0,1fr); }
.ts-site .ts-tl--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.ts-site .ts-tl--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.ts-site .ts-tl--4{ grid-template-columns:repeat(4, minmax(0,1fr)); }
.ts-site .ts-tl__i{ min-width:0; padding:16px 16px 15px; border-left:1px solid rgba(52,87,181,.14); }
.ts-site .ts-tl__i:first-child{ border-left:0; }
.ts-site .ts-tl__i strong{ display:block; font-family:var(--ts-font-head); font-size:clamp(19px, 1.7vw, 23px); font-weight:800; line-height:1.15; letter-spacing:-.02em; color:var(--ts-navy); overflow-wrap:anywhere; }
.ts-site .ts-tl__i span{ display:block; margin-top:5px; font-size:12.5px; line-height:1.45; color:var(--cp-muted); }
/* sources + disclaimer */
.ts-site .ts-src{ display:grid; gap:9px; margin:0; padding:0 0 0 24px; font-size:14.5px; line-height:1.6; }
.ts-site .ts-src li{ margin:0; padding-left:2px; min-width:0; overflow-wrap:anywhere; }
.ts-site .ts-src li::marker{ font-weight:700; color:var(--ts-blue); }
.ts-site .ts-cdisc{ margin-top:clamp(22px, 2.4vw, 30px)!important; padding:14px 16px; border-radius:12px; background:var(--ts-light); font-size:13.5px; line-height:1.65; color:var(--cp-muted); }
.ts-site .ts-cdisc time{ padding:1px 8px; border-radius:6px; background:var(--ts-white); color:var(--ts-navy); font-weight:600; white-space:nowrap; }
.ts-site .ts-cdisc a{ color:var(--ts-blue-2); text-decoration:underline; text-underline-offset:2px; }
/* written & built by */
.ts-site .ts-wb{ display:flex; gap:clamp(16px, 2.2vw, 26px); margin-top:clamp(28px, 3.2vw, 40px); padding:clamp(18px, 2.2vw, 26px); border:1px solid rgba(52,87,181,.16); border-radius:20px; background:linear-gradient(135deg, var(--ts-white) 30%, var(--ts-light)); }
.ts-site .ts-wb__av{ flex:none; }
.ts-site .ts-wb__body{ min-width:0; }
.ts-site .ts-wb__eye{ font-size:10.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ts-blue); }
.ts-site .ts-wb__name{ display:flex; align-items:center; gap:8px; margin-top:4px!important; font-family:var(--ts-font-head); font-size:clamp(19px, 1.7vw, 23px); font-weight:800; line-height:1.2; color:var(--ts-navy); }
.ts-site .ts-wb__role{ margin-top:2px!important; font-size:13.5px; color:var(--cp-muted); }
.ts-site .ts-wb__bio{ margin-top:10px!important; font-size:14.5px; line-height:1.65; color:var(--ts-text); }
.ts-site .ts-wb__acts{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:14px; }
.ts-site .ts-btn-blue, .ts-site button.ts-btn-blue, .ts-site button.ts-btn-blue:focus{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:9px 18px; border:0; border-radius:10px; background:var(--ts-blue); color:var(--ts-white); font-family:var(--ts-font-body); font-size:14.5px; font-weight:600; text-decoration:none; cursor:pointer; box-shadow:0 10px 22px rgba(71,123,255,.28); transition:background-color var(--ts-dur), transform var(--ts-dur); }
.ts-site .ts-btn-blue:hover, .ts-site button.ts-btn-blue:hover{ background:var(--ts-blue-2); color:var(--ts-white); transform:translateY(-1px); }
.ts-site .ts-sample{ display:inline-flex; align-items:center; gap:7px; margin-top:12px!important; padding:4px 11px; border:1px dashed #E8C55A; border-radius:999px; background:#FFF6D6; color:#6B4E00; font-size:12px; font-weight:600; }
.ts-site .ts-wb .ts-av--lg{ width:clamp(64px, 6.4vw, 80px); height:clamp(64px, 6.4vw, 80px); box-shadow:0 0 0 4px var(--ts-white), 0 10px 24px rgba(32,51,105,.22); }
.ts-site .ts-wb .ts-av--lg .ts-av__i{ font-size:clamp(22px, 2.2vw, 28px); }
.ts-site .ts-wb .ts-av--lg .ts-av__badge{ width:20px; height:20px; right:0; bottom:0; }
.ts-site .ts-wb .ts-av--lg .ts-av__badge svg{ width:14px; height:14px; }
/* sidebar */
.ts-site .ts-art__side{ position:sticky; top:96px; display:grid; gap:14px; min-width:0; }
.ts-site .ts-toc{ max-height:calc(100vh - 300px); overflow:auto; padding:16px 14px 14px; border:1px solid rgba(52,87,181,.16); border-radius:16px; background:var(--ts-white); }
.ts-site .ts-toc__h{ margin:0 2px 8px!important; font-size:14px; font-weight:700; color:var(--ts-navy); }
.ts-site .ts-toc ol{ display:grid; gap:2px; margin:0; padding:0; list-style:none; }
.ts-site .ts-toc li{ margin:0; }
.ts-site .ts-toc a{ display:flex; gap:10px; padding:7px 8px; border-radius:8px; font-size:13px; line-height:1.4; color:var(--ts-text); text-decoration:none; transition:background-color var(--ts-dur), color var(--ts-dur); }
.ts-site .ts-toc a span{ flex:none; font-size:11.5px; font-weight:700; line-height:1.6; color:var(--ts-blue); }
.ts-site .ts-toc a:hover{ background:var(--ts-light); color:var(--ts-navy); }
.ts-site .ts-toc a[aria-current="true"]{ background:var(--ts-light); color:var(--ts-navy); font-weight:600; }
.ts-site .ts-quick{ padding:16px 18px; border-radius:16px; background:var(--ts-navy); color:rgba(255,255,255,.82); font-size:13.5px; line-height:1.6; }
.ts-site .ts-quick strong{ display:block; margin-bottom:6px; font-size:14px; color:var(--ts-white); }
.ts-site .ts-quick p strong{ display:inline; margin:0; font-size:inherit; }
.ts-site .ts-quick a{ color:var(--ts-white); text-decoration:underline; }
.ts-site .ts-quick--mob{ display:none; }
/* FAQ (centred, numbered) */
.ts-site .ts-fq{ padding:clamp(56px, 6.4vw, 96px) 0; background:var(--ts-light); }
.ts-site .ts-fq__in{ max-width:760px; text-align:center; }
.ts-site .ts-fq__title{ font-size:clamp(28px, 3.3vw, 44px)!important; line-height:1.1!important; letter-spacing:-.03em!important; color:var(--ts-navy); }
.ts-site .ts-fq__lead{ margin-top:10px!important; font-size:15.5px; color:var(--cp-muted); }
.ts-site .ts-fq__list{ display:grid; gap:12px; margin-top:clamp(24px, 3vw, 36px); text-align:left; }
.ts-site .ts-faq{ border:1px solid transparent; border-radius:16px; background:var(--ts-white); box-shadow:0 1px 2px rgba(32,51,105,.05); transition:border-color var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site .ts-faq.is-open{ border-color:rgba(71,123,255,.7); box-shadow:0 14px 30px rgba(71,123,255,.12); }
.ts-site .ts-faq h3{ margin:0!important; font-size:inherit!important; }
.ts-site .ts-faq button, .ts-site .ts-faq button:hover, .ts-site .ts-faq button:focus{ display:flex; align-items:center; gap:14px; width:100%; padding:16px 18px; border:0; border-radius:16px; background:transparent; color:var(--ts-navy); font-family:var(--ts-font-body); font-size:clamp(15px, 1.15vw, 16.5px); font-weight:600; line-height:1.4; text-align:left; cursor:pointer; box-shadow:none; }
.ts-site .ts-faq button b{ flex:none; display:grid; place-items:center; width:28px; height:28px; border-radius:7px; background:var(--ts-light); color:var(--ts-blue); font-size:11.5px; font-weight:700; }
.ts-site .ts-faq.is-open button b{ background:var(--ts-blue); color:var(--ts-white); }
.ts-site .ts-faq button span{ flex:1 1 auto; min-width:0; }
.ts-site .ts-faq button i{ position:relative; display:block; flex:none; width:30px; height:30px; border-radius:50%; background:var(--ts-light); transition:background-color var(--ts-dur); }
.ts-site .ts-faq button i::before, .ts-site .ts-faq button i::after{ content:""; position:absolute; left:50%; top:50%; width:11px; height:2px; margin:-1px 0 0 -5.5px; border-radius:2px; background:var(--ts-blue); transition:transform var(--ts-dur); }
.ts-site .ts-faq button i::after{ transform:rotate(90deg); }
.ts-site .ts-faq.is-open button i{ background:var(--ts-blue); }
.ts-site .ts-faq.is-open button i::before, .ts-site .ts-faq.is-open button i::after{ background:var(--ts-white); }
.ts-site .ts-faq.is-open button i::after{ transform:rotate(0); }
.ts-site .ts-faq__a{ padding:0 18px 18px 60px; font-size:15px; line-height:1.7; color:var(--cp-muted); }
.ts-site .ts-faq__a > * + *{ margin-top:8px!important; }
.ts-site .ts-faq__a a{ color:var(--ts-blue-2); text-decoration:underline; }
.ts-site .ts-fq__mail{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:6px; margin-top:22px!important; font-size:14px; color:var(--cp-muted); }
.ts-site .ts-fq__mail .ts-icon{ color:var(--ts-blue); }
.ts-site .ts-fq__mail a{ font-weight:700; color:var(--ts-navy); }
.ts-site .ts-fq__mail a:hover{ color:var(--ts-blue); }
/* Keep exploring */
.ts-site .ts-kx{ padding:clamp(56px, 6.4vw, 96px) 0; }
.ts-site .ts-kx__head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px 40px; margin-bottom:clamp(22px, 2.6vw, 32px); }
.ts-site .ts-kx__title{ max-width:16ch; font-size:clamp(28px, 3.3vw, 46px)!important; line-height:1.08!important; letter-spacing:-.03em!important; color:var(--ts-navy); text-wrap:balance; }
.ts-site .ts-kx__lead{ max-width:340px; font-size:15px; line-height:1.6; color:var(--cp-muted); }
.ts-site .ts-kx__grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.ts-site .ts-kx__c{ margin:0; min-width:0; }
.ts-site .ts-kx__a{ display:flex; align-items:center; gap:14px; height:100%; min-height:86px; padding:16px 18px; border:1px solid rgba(52,87,181,.18); border-radius:16px; background:var(--ts-white); color:var(--ts-navy); text-decoration:none; transition:border-color var(--ts-dur), transform var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site a.ts-kx__a:hover{ border-color:var(--ts-blue); transform:translateY(-2px); box-shadow:0 14px 28px rgba(32,51,105,.1); }
.ts-site .ts-kx__b{ flex:none; display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:var(--ts-light); color:var(--ts-blue); font-family:var(--ts-font-head); font-size:15px; font-weight:800; letter-spacing:.02em; }
.ts-site .ts-kx__t{ flex:1 1 auto; display:flex; flex-direction:column; gap:3px; min-width:0; }
.ts-site .ts-kx__t strong{ font-size:15px; font-weight:700; line-height:1.3; overflow-wrap:anywhere; }
.ts-site .ts-kx__t small{ font-size:12.5px; line-height:1.4; color:var(--cp-muted); }
.ts-site .ts-kx__a > .ts-icon{ flex:none; align-self:flex-start; margin-top:6px; color:var(--ts-blue); }
.ts-site .ts-kx__c--soon .ts-kx__a{ border-style:dashed; background:rgba(238,244,255,.4); color:rgba(32,51,105,.75); }
.ts-site .ts-kx__c--soon .ts-kx__b{ background:rgba(52,87,181,.08); color:rgba(32,51,105,.6); }
.ts-site .ts-kx__c--soon .ts-kx__a > .ts-icon{ color:rgba(32,51,105,.55); }
.ts-site .ts-kx__c--hub .ts-kx__a{ border-color:var(--ts-navy); background:var(--ts-navy); color:var(--ts-white); }
.ts-site .ts-kx__c--hub .ts-kx__b{ background:var(--ts-blue); color:var(--ts-white); }
.ts-site .ts-kx__c--hub small{ color:rgba(255,255,255,.75); }
.ts-site .ts-kx__c--hub .ts-kx__a > .ts-icon{ align-self:center; margin-top:0; color:var(--ts-white); }
.ts-site .ts-kx__c--hub a.ts-kx__a:hover{ border-color:var(--ts-blue-2); background:var(--ts-blue-2); }
/* popup v3 additions */
.ts-site .ts-crpop__ch{ display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:6px 14px; }
.ts-site .ts-crpop__ch span:not(.ts-crpop__ct){ font-size:12.5px; color:var(--cp-muted); }
.ts-site .ts-crpop__k{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:1px solid rgba(52,87,181,.16); border-radius:12px; background:var(--ts-white); color:var(--ts-navy); text-decoration:none; }
.ts-site a.ts-crpop__k:hover{ border-color:var(--ts-blue); background:var(--ts-light); }
.ts-site .ts-crpop__k i{ flex:none; display:grid; place-items:center; width:36px; height:36px; border-radius:10px; background:var(--ts-light); color:var(--ts-blue-2); font-style:normal; }
.ts-site .ts-crpop__k > span{ flex:1 1 auto; display:flex; flex-direction:column; min-width:0; }
.ts-site .ts-crpop__k strong{ font-size:14.5px; line-height:1.35; }
.ts-site .ts-crpop__k small{ font-size:12px; color:var(--cp-muted); }
.ts-site .ts-crpop__k em{ flex:none; display:inline-flex; align-items:center; gap:5px; padding:4px 10px; border-radius:999px; background:#E8F7EE; color:#17613A; font-size:12px; font-style:normal; font-weight:600; }
.ts-site .ts-crpop__k > .ts-icon{ flex:none; color:var(--ts-blue); }
.ts-site .ts-crpop__foot{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin-top:20px; padding-top:18px; border-top:1px solid rgba(52,87,181,.12); }
.ts-site .ts-crpop__foot span{ font-size:13px; color:var(--cp-muted); }
@media (max-width:1023px){
	.ts-site .ts-art__grid{ grid-template-columns:minmax(0,1fr); }
	.ts-site .ts-art__side{ display:none; }
	.ts-site .ts-quick--mob{ display:block; margin-bottom:22px; }
	.ts-site .ts-kx__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:640px){
	.ts-site .ts-tl--3, .ts-site .ts-tl--4{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.ts-site .ts-tl--4 .ts-tl__i:nth-child(3){ border-left:0; }
	.ts-site .ts-tl--4 .ts-tl__i:nth-child(n+3), .ts-site .ts-tl--3 .ts-tl__i:nth-child(n+3){ border-top:1px solid rgba(52,87,181,.14); }
	.ts-site .ts-tl--3 .ts-tl__i:nth-child(3){ grid-column:1 / -1; border-left:0; }
	.ts-site .ts-kx__grid{ grid-template-columns:minmax(0,1fr); }
	.ts-site .ts-wb{ flex-direction:column; }
	.ts-site .ts-faq__a{ padding-left:18px; }
}
@media (max-width:360px){
	.ts-site .ts-tl--2, .ts-site .ts-tl--3, .ts-site .ts-tl--4{ grid-template-columns:minmax(0,1fr); }
	.ts-site .ts-tl__i{ border-left:0!important; border-top:1px solid rgba(52,87,181,.14); }
	.ts-site .ts-tl__i:first-child{ border-top:0; }
	.ts-site .ts-faq button b{ display:none; }
}


/* Bio popup */
.ts-site .ts-crpop{ position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:16px; }
.ts-site .ts-crpop[hidden]{ display:none; }
.ts-site .ts-crpop__scrim{ position:absolute; inset:0; background:rgba(32,51,105,.55); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); animation:ts-fade .25s ease; }
.ts-site .ts-crpop__box{ position:relative; width:min(760px, 100%); max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overflow:auto; padding:0 clamp(20px, 3vw, 42px) clamp(22px, 3vw, 36px); border-radius:var(--ts-radius-lg); background:var(--ts-white); box-shadow:0 40px 90px rgba(10,20,50,.4); animation:ts-pop .3s var(--ts-ease); outline:0; }
.ts-site .ts-crpop__band{ height:clamp(110px, 12vw, 136px); margin:0 calc(-1 * clamp(20px, 3vw, 42px)); background:linear-gradient(115deg, var(--ts-blue) 0%, var(--ts-blue-2) 55%, var(--ts-navy) 100%); position:relative; overflow:hidden; }
.ts-site .ts-crpop__band::after{ content:""; position:absolute; right:-4%; top:0; bottom:0; width:46%; background:repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 34px, transparent 34px 68px); clip-path:polygon(0 0, 30% 0, 60% 50%, 30% 100%, 0 100%, 30% 50%, 0 0, 100% 0, 100% 100%, 0 100%); opacity:.6; }
.ts-site button.ts-crpop__x, .ts-site button.ts-crpop__x:focus{ position:absolute; top:16px; right:16px; z-index:2; display:grid; place-items:center; width:42px; height:42px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.2); color:var(--ts-white); cursor:pointer; box-shadow:none; }
.ts-site button.ts-crpop__x:hover{ background:rgba(255,255,255,.35); color:var(--ts-white); }
.ts-site .ts-crpop__top{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:14px; margin-top:calc(-1 * clamp(52px, 5.4vw, 68px)); }
.ts-site .ts-crpop__top .ts-socs{ padding-bottom:4px; }
.ts-site .ts-crpop__name{ font-family:var(--ts-font-head); font-weight:700; letter-spacing:-.02em; line-height:1.15; display:flex; align-items:center; gap:10px; margin-top:14px!important; font-size:clamp(26px, 2.6vw, 34px)!important; line-height:1.15!important; color:var(--ts-navy); }
.ts-site .ts-crpop__role{ margin-top:4px!important; font-size:16px; color:var(--cp-muted); }
.ts-site .ts-crpop__bio{ margin-top:16px; font-size:16px; line-height:1.75; color:var(--ts-text); }
.ts-site .ts-crpop__bio p + p{ margin-top:10px!important; }
.ts-site .ts-crpop__calcs{ margin-top:22px; padding-top:20px; border-top:1px solid rgba(52,87,181,.12); }
.ts-site .ts-crpop__ct{ display:block; font-size:16px!important; color:var(--ts-navy); font-family:var(--ts-font-head); font-weight:700; letter-spacing:-.02em; line-height:1.15; font-size:16px!important; color:var(--ts-navy); }
.ts-site .ts-crpop__calcs ul{ display:grid; gap:10px; margin:12px 0 0; padding:0; list-style:none; }
.ts-site .ts-crpop__calcs li{ margin:0; }
html.ts-noscroll, html.ts-noscroll body{ overflow:hidden; }
@keyframes ts-fade{ from{ opacity:0; } }
@keyframes ts-pop{ from{ opacity:0; transform:translateY(16px) scale(.98); } }

/* Toast */
.ts-site .ts-toast{ position:fixed; left:50%; bottom:24px; z-index:10001; transform:translate(-50%, 20px); padding:12px 18px; border-radius:12px; background:var(--ts-navy); color:var(--ts-white); font-size:14.5px; font-weight:500; box-shadow:0 18px 40px rgba(10,20,50,.35); opacity:0; pointer-events:none; transition:opacity .25s, transform .25s; }
.ts-site .ts-toast.is-on{ opacity:1; transform:translate(-50%, 0); }

/* ===== Calculator-first layout (Oct 2026): live results, next steps ===== */
.ts-site .ts-cp-hero__one{ max-width:640px; }
.ts-site .ts-tool__actions{ align-items:center; justify-content:space-between; }
.ts-site button.ts-go{ display:none!important; }
.ts-site .ts-live{ display:inline-flex; align-items:center; gap:7px; margin:0!important; font-size:13px; font-weight:500; color:var(--cp-muted); }
.ts-site .ts-live svg{ color:var(--ts-blue); flex:none; }
.ts-site button.ts-reset, .ts-site button.ts-reset:focus{ display:inline-flex; align-items:center; justify-content:center; gap:8px; width:auto; min-height:44px; padding:0 16px; font-family:var(--ts-font-body); font-size:14px; font-weight:600; }
.ts-site .ts-next{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,360px); gap:14px; margin-top:clamp(16px, 2vw, 22px); }
.ts-site .ts-next:not(:has(.ts-next__guide)){ grid-template-columns:minmax(0,1fr); }
.ts-site .ts-next__calcs{ min-width:0; padding:16px 18px; border-radius:18px; background:var(--ts-white); border:1px solid var(--cp-line); }
.ts-site .ts-next__t{ margin:0 0 10px!important; font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ts-navy); }
.ts-site .ts-next ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0!important; padding:0; list-style:none; }
.ts-site .ts-next li{ margin:0; min-width:0; }
.ts-site .ts-next li a{ display:inline-flex; align-items:center; gap:7px; max-width:100%; padding:8px 13px; border:1px solid var(--cp-line); border-radius:999px; background:var(--cp-soft, #F5F8FF); color:var(--ts-navy); font-size:13.5px; font-weight:600; line-height:1.25; transition:border-color var(--ts-dur), background-color var(--ts-dur), color var(--ts-dur); }
.ts-site .ts-next li a span{ min-width:0; overflow-wrap:anywhere; }
.ts-site .ts-next li a svg{ flex:none; color:var(--ts-blue); }
.ts-site .ts-next li a:hover{ border-color:var(--ts-blue); background:var(--ts-white); color:var(--ts-blue-2); }
.ts-site .ts-next__guide{ display:flex; align-items:center; gap:14px; min-width:0; padding:16px 18px; border-radius:18px; background:var(--ts-navy); color:var(--ts-white); transition:background-color var(--ts-dur); }
.ts-site .ts-next__guide:hover{ background:var(--ts-blue-2); color:var(--ts-white); }
.ts-site .ts-next__gi{ display:grid; place-items:center; flex:none; width:42px; height:42px; border-radius:12px; background:rgba(255,255,255,.12); }
.ts-site .ts-next__guide > span:nth-child(2){ flex:1; min-width:0; }
.ts-site .ts-next__guide small{ display:block; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--ts-blue-tint); }
.ts-site .ts-next__guide strong{ display:block; margin-top:2px; font-family:var(--ts-font-head); font-size:16px; line-height:1.3; overflow-wrap:anywhere; }
.ts-site .ts-next__guide > .ts-icon{ flex:none; }
.ts-site .ts-tool + .ts-cp-hero__meta, .ts-site .ts-next + .ts-cp-hero__meta{ margin-top:clamp(16px, 2vw, 22px); }
/* the creator strip right below already shows the creator */
.ts-site .ts-cp-hero__meta .ts-crchip{ display:none; }
.ts-site .ts-art__intro{ margin-bottom:clamp(24px, 3vw, 36px); }
.ts-site .ts-art__intro p{ font-size:clamp(16px, 1.15vw, 17.5px); line-height:1.75; color:var(--ts-text); }
.ts-site .ts-art__intro p + p{ margin-top:14px!important; }
@media (max-width:1023px){
	.ts-site .ts-next{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px){
	.ts-site .ts-cp-hero{ padding-top:14px; padding-bottom:24px; }
	.ts-site .ts-cp-crumbs{ flex-wrap:nowrap; overflow:hidden; white-space:nowrap; margin-bottom:12px!important; font-size:12.5px; gap:4px 6px; }
	.ts-site .ts-cp-crumbs li{ flex:none; }
	.ts-site .ts-cp-crumbs li:last-child{ flex:0 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; display:block; }
	.ts-site .ts-cp-hero h1, .ts-site .ts-cp-hero h1.is-long{ font-size:clamp(26px, 7.4vw, 34px)!important; line-height:1.08!important; max-width:none; }
	.ts-site .ts-cp-hero h1.is-long span{ font-size:.7em; }
	.ts-site .ts-cp-hero__intro{ margin-top:8px!important; font-size:15px; line-height:1.55; }
	.ts-site .ts-tool{ margin-top:16px; border-radius:20px; }
	.ts-site .ts-tool__in{ gap:16px; padding:18px 16px 20px; }
	.ts-site .ts-tool__title{ font-size:18px!important; }
	.ts-site .ts-tool__out{ padding:20px 16px; }
	.ts-site .ts-live{ font-size:12.5px; }
	.ts-site .ts-cp-hero__meta .ts-chips{ gap:8px; }
	.ts-site .ts-cp-hero__meta .ts-chips li{ padding:6px 11px; font-size:12.5px; }
	.ts-site .ts-next li a{ font-size:13px; padding:7px 11px; }
}
@media (max-width:340px){
	.ts-site .ts-live{ display:none; }
	.ts-site .ts-tool__actions{ justify-content:flex-end; }
}


/* ===== Responsive ===== */
@media (max-width:1199px){
}
@media (max-width:1023px){
	.ts-site .ts-tool{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px){
	.ts-site .ts-crchip{ border-radius:20px; width:100%; }
	.ts-site .ts-crchip__who{ flex:1 1 220px; }
	.ts-site .ts-crstrip__end{ width:100%; }
	.ts-site .ts-crstrip__end .ts-btn-navy{ margin-left:auto; }
	/* Tables become stacked cards */
	.ts-site .ts-ctable{ border:0; border-radius:0; background:transparent; overflow:visible; }
	.ts-site .ts-ctable table, .ts-site .ts-ctable tbody, .ts-site .ts-ctable tr{ display:block; }
	.ts-site .ts-ctable thead{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
	.ts-site .ts-ctable tbody tr{ margin-bottom:10px; border:1px solid var(--cp-line); border-radius:14px; overflow:hidden; background:var(--ts-white); }
	.ts-site .ts-ctable tbody th, .ts-site .ts-ctable tbody td, .ts-site .ts-ctable tbody tr:nth-child(even) th, .ts-site .ts-ctable tbody tr:nth-child(even) td{ display:flex; justify-content:space-between; gap:14px; padding:10px 14px; border-top:1px solid rgba(52,87,181,.1); background:var(--ts-white); text-align:right; }
	.ts-site .ts-ctable tbody th{ border-top:0; background:var(--cp-soft)!important; font-weight:700; color:var(--ts-navy); text-align:left; }
	.ts-site .ts-ctable tbody td::before{ content:attr(data-th); flex:none; max-width:55%; font-weight:500; color:var(--cp-muted); text-align:left; }
	.ts-site .ts-ctable tbody tr.is-total{ border-color:var(--ts-navy); }
	.ts-site .ts-ctable tbody tr.is-total th{ background:var(--ts-navy)!important; color:var(--ts-white); }
}
@media (max-width:560px){
	.ts-site .ts-views{ align-self:stretch; grid-auto-columns:minmax(0,1fr); }
	.ts-site .ts-views button, .ts-site .ts-views button:hover, .ts-site .ts-views button:focus{ padding:7px 4px; font-size:13.5px; white-space:nowrap; }
	.ts-site .ts-res__stats{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px; }
	.ts-site .ts-rstat:last-child:nth-child(odd){ grid-column:1 / -1; }
	.ts-site .ts-rstat{ padding:13px 13px 12px; }
	.ts-site .ts-tool__actions{ gap:10px; }
	.ts-site button.ts-go, .ts-site button.ts-go:focus, .ts-site button.ts-go:active{ padding:12px 14px; font-size:15px; gap:8px; }
	.ts-site button.ts-reset, .ts-site button.ts-reset:focus{ width:54px; }
}
@media (max-width:560px){
	.ts-site .ts-fld--half{ flex-basis:100%; }
	.ts-site .ts-fld--third{ flex:1 1 calc(33.333% - 10px); }
	.ts-site .ts-res__lines li{ padding:11px 0; }
	.ts-site .ts-crchip{ padding:12px; }
	.ts-site .ts-crchip__btn{ flex:1 1 100%; justify-content:center; }
	.ts-site .ts-crstrip__end .ts-btn-navy{ margin-left:0; width:100%; justify-content:center; }
	.ts-site .ts-cdisc{ align-items:flex-start; }
	.ts-site .ts-seg{ grid-auto-flow:row; grid-template-columns:repeat(2, minmax(0,1fr)); }
	.ts-site .ts-seg--3{ grid-template-columns:repeat(3, minmax(0,1fr)); }
	.ts-site .ts-seg--2{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:420px){
	.ts-site button.ts-go .ts-icon{ display:none; }
}
@media (max-width:380px){
	.ts-site .ts-tool__in, .ts-site .ts-tool__out{ padding-left:18px; padding-right:18px; }
	.ts-site button.ts-go, .ts-site button.ts-go:focus, .ts-site button.ts-go:active{ padding:12px 10px; font-size:14.5px; }
	.ts-site button.ts-reset, .ts-site button.ts-reset:focus{ width:48px; }
}
@media (max-width:360px){
	.ts-site .ts-fld--half, .ts-site .ts-fld--third{ flex-basis:100%; }
	.ts-site .ts-views{ align-self:stretch; }
	.ts-site .ts-views button{ padding:7px 8px; }
	.ts-site .ts-chips li{ padding:8px 12px; font-size:13px; }
	.ts-site .ts-seg--3{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:300px){
	.ts-site .ts-tool__in, .ts-site .ts-tool__out{ padding:16px 12px; }
	.ts-site .ts-tool__actions{ flex-wrap:wrap; }
	.ts-site .ts-reset{ width:100%; }
	.ts-site .ts-seg, .ts-site .ts-seg--2, .ts-site .ts-seg--3{ grid-template-columns:minmax(0,1fr); }
	.ts-site .ts-modes{ grid-auto-flow:row; }
	.ts-site .ts-res__acts button{ flex:1 1 100%; justify-content:center; }
	.ts-site .ts-cdisc{ flex-direction:column; }
	.ts-site .ts-crpop__box{ padding-left:14px; padding-right:14px; }
	.ts-site .ts-crpop__band{ margin:0 -14px; }
	.ts-site .ts-faq button{ padding:14px; }
	.ts-site .ts-ctable tbody th, .ts-site .ts-ctable tbody td{ flex-direction:column; text-align:left; gap:2px; }
	.ts-site .ts-ctable tbody td::before{ max-width:none; }
}
@media (prefers-reduced-motion:reduce){
	.ts-site .ts-crpop__box, .ts-site .ts-crpop__scrim{ animation:none; }
	.ts-site .ts-res__bar span{ transition:none; }
}

/* Print: only the calculator and results */
/* ===== Compact calculator box (27 Oct 2026): inputs + result on one phone screen ===== */
.ts-site .ts-tool{ grid-template-columns:minmax(0, 1.12fr) minmax(0, 1fr); margin-top:clamp(14px, 1.8vw, 22px); border-radius:20px; box-shadow:0 18px 44px rgba(32,51,105,.12), 0 0 0 1px rgba(52,87,181,.1); }
.ts-site .ts-tool__in{ gap:12px; padding:clamp(16px, 1.8vw, 24px); }
.ts-site .ts-tool__title{ font-size:15px!important; letter-spacing:-.01em; }
.ts-site .ts-tool__sub{ margin-top:-8px!important; font-size:13px; line-height:1.5; }
.ts-site .ts-modes{ padding:3px; border-radius:12px; }
.ts-site .ts-modes button, .ts-site .ts-modes button:hover, .ts-site .ts-modes button:focus{ min-height:44px; padding:6px; font-size:13.5px; }
.ts-site .ts-seg{ padding:3px; border-radius:12px; gap:3px; }
.ts-site .ts-seg button, .ts-site .ts-seg button:hover, .ts-site .ts-seg button:focus{ min-height:44px; padding:6px 4px; font-size:13px; }
.ts-site .ts-grp__fields{ display:grid; grid-template-columns:minmax(0,1fr); gap:8px; }
.ts-site .ts-fld, .ts-site .ts-fld--half, .ts-site .ts-fld--third{ flex:none; min-width:0; }
.ts-site .ts-fld[data-when]:not(.is-on), .ts-site .ts-fld[data-mode-only]:not(.is-on), .ts-site .ts-grp[data-when]:not(.is-on), .ts-site .ts-grp[data-mode-only]:not(.is-on){ display:none!important; }
/* one row per input: label on the left, input (with its unit) on the right — like the big calculator sites */
.ts-site .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea){ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr); align-items:center; column-gap:12px; }
.ts-site .ts-fld__label{ margin:0 0 4px!important; font-size:14px; line-height:1.3; }
.ts-site .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea) > .ts-fld__label{ margin:0!important; }
.ts-site .ts-fld > .ts-fld__label.ts-sr-only{ grid-column:1 / -1; }
.ts-site .ts-fld > .ts-fld__help, .ts-site .ts-fld > .ts-fld__err{ grid-column:1 / -1; }
.ts-site .ts-fld--seg .ts-seg--4, .ts-site .ts-fld--seg .ts-seg--5, .ts-site .ts-fld--seg .ts-seg--6{ grid-column:1 / -1; margin-top:4px; }
.ts-site .ts-fld__help{ margin-top:4px!important; font-size:12px; line-height:1.45; }
.ts-site .ts-fld__err{ margin:4px 0 0!important; font-size:12.5px; line-height:1.4; font-weight:500; color:#B42318; }
.ts-site .ts-in input, .ts-site .ts-in select, .ts-site .ts-in textarea{ min-height:44px; padding:9px 12px; border-radius:10px; font-size:16px; }
.ts-site .ts-in.has-pre input{ padding-left:28px; }
.ts-site .ts-in.has-suf input{ padding-right:46px; }
.ts-site .ts-in select{ padding-right:34px; }
.ts-site .ts-in--select .ts-icon{ right:10px; }
.ts-site .ts-in__pre{ left:12px!important; }
.ts-site .ts-in__suf{ right:12px!important; font-size:13px!important; }
.ts-site .ts-chk{ min-height:44px; }
.ts-site .ts-tool__err{ margin-top:-4px!important; font-size:13px; }
.ts-site .ts-tool__actions{ margin-top:0; gap:8px; flex-wrap:wrap; }
.ts-site .ts-live{ font-size:12.5px; }
.ts-site .ts-tool__links{ display:inline-flex; align-items:center; gap:4px; margin-left:auto; }
.ts-site button.ts-linkbtn, .ts-site button.ts-linkbtn:focus, .ts-site button.ts-reset, .ts-site button.ts-reset:focus{ display:inline-flex; align-items:center; gap:6px; width:auto; min-width:44px; min-height:44px; padding:0 10px; border:0; border-radius:10px; background:transparent; color:var(--ts-blue-2); font-family:var(--ts-font-body); font-size:13.5px; font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; box-shadow:none; }
.ts-site button.ts-linkbtn:hover, .ts-site button.ts-reset:hover{ background:var(--ts-light); color:var(--ts-navy); }
.ts-site button.ts-linkbtn[hidden]{ display:none; }
.ts-site .ts-tool__out{ padding:clamp(16px, 1.8vw, 24px); }
.ts-site .ts-views{ margin-bottom:2px; }
.ts-site .ts-views button, .ts-site .ts-views button:hover, .ts-site .ts-views button:focus{ min-height:44px; }
.ts-site .ts-res__main{ margin-top:6px; gap:2px 12px; }
.ts-site .ts-views + .ts-res__main{ margin-top:12px; }
.ts-site .ts-res__big{ font-size:clamp(26px, 2.5vw, 32px); letter-spacing:-.02em; }
.ts-site .ts-res__big.is-long{ font-size:clamp(22px, 2vw, 26px); line-height:1.2; }
.ts-site .ts-res__cap{ font-size:13.5px; }
.ts-site .ts-tool.is-empty .ts-res__big{ font-size:22px; opacity:.6; }
.ts-site .ts-res__stats{ margin-top:12px; gap:8px; grid-template-columns:repeat(auto-fit, minmax(min(100%, 120px), 1fr)); }
.ts-site .ts-rstat{ padding:10px 12px!important; border-radius:10px!important; }
.ts-site .ts-rstat strong{ font-size:16px!important; }
.ts-site .ts-rstat span{ font-size:12px!important; }
.ts-site .ts-res__bar{ height:10px; margin-top:12px; }
.ts-site .ts-res__legend{ margin-top:6px!important; font-size:12px; }
.ts-site .ts-steps{ margin-top:12px; border-top:1px solid rgba(255,255,255,.14); }
.ts-site .ts-steps[hidden]{ display:none; }
.ts-site .ts-steps > summary{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:44px; padding:6px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:600; color:var(--ts-white); }
.ts-site .ts-steps > summary::-webkit-details-marker{ display:none; }
.ts-site .ts-steps > summary .ts-icon{ transition:transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-steps[open] > summary .ts-icon{ transform:rotate(180deg); }
.ts-site .ts-steps[open] > summary span::after{ content:""; }
.ts-site .ts-steps .ts-res__lines{ margin-top:0!important; }
.ts-site .ts-steps .ts-res__lines li{ padding:9px 0; font-size:14px; }
.ts-site .ts-steps .ts-res__extra{ margin-top:10px; font-size:13.5px; }
.ts-site .ts-res__acts{ gap:8px; padding-top:14px; }
.ts-site .ts-res__acts button, .ts-site .ts-res__acts button:focus{ min-height:44px; padding:8px 12px; font-size:13.5px; }
.ts-site .ts-cp-hero{ padding-top:clamp(16px, 2vw, 28px); }
.ts-site .ts-cp-crumbs{ margin-bottom:clamp(12px, 1.4vw, 18px)!important; font-size:13.5px; }
.ts-site .ts-cp-hero h1{ font-size:clamp(32px, 3.6vw, 48px)!important; }
.ts-site .ts-cp-hero h1.is-long{ font-size:clamp(28px, 3vw, 42px)!important; }
.ts-site .ts-cp-upd{ display:inline-flex; align-items:center; gap:6px; margin-top:8px!important; font-size:12.5px; color:var(--cp-muted); }
.ts-site .ts-cp-upd svg{ color:var(--ts-blue); }
.ts-site .ts-cp-hero .ts-cp-hero__copy h1 + .ts-cp-upd{ margin-top:6px!important; }
/* Recently used calculators */
.ts-site .ts-recent{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:12px; font-size:13px; }
.ts-site .ts-recent[hidden]{ display:none; }
.ts-site .ts-recent__t{ font-weight:600; color:var(--cp-muted); margin-right:2px; }
.ts-site .ts-recent a{ display:inline-flex; align-items:center; min-height:36px; padding:6px 12px; border-radius:999px; background:var(--ts-light); color:var(--ts-navy); font-weight:600; }
.ts-site .ts-recent a:hover{ background:var(--ts-blue); color:var(--ts-white); }
/* Back to calculator */
.ts-site .ts-backcalc{ position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:900; display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 16px; border-radius:999px; background:var(--ts-navy); color:var(--ts-white); font-size:14px; font-weight:600; box-shadow:0 14px 32px rgba(10,20,50,.3); transition:opacity .25s, transform .25s; }
.ts-site .ts-backcalc[hidden]{ display:none; }
.ts-site .ts-backcalc:hover{ background:var(--ts-blue-2); color:var(--ts-white); }
@media (max-width:1023px){
	.ts-site .ts-tool{ grid-template-columns:minmax(0,1fr); }
}
@media (max-width:767px){
	.ts-site .ts-tool{ margin-top:12px; border-radius:16px; }
	.ts-site .ts-tool__in{ gap:12px; padding:16px; }
	.ts-site .ts-tool__out{ padding:16px; }
	.ts-site .ts-cp-hero{ padding-bottom:20px; }
	.ts-site .ts-cp-hero h1, .ts-site .ts-cp-hero h1.is-long{ font-size:clamp(24px, 6.6vw, 30px)!important; }
	.ts-site .ts-cp-hero h1 span{ display:inline; }
	.ts-site .ts-seg, .ts-site .ts-seg--2, .ts-site .ts-seg--3{ grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(0,1fr); }
	.ts-site .ts-seg--4{ grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:minmax(0,1fr); }
	.ts-site .ts-seg--4 button, .ts-site .ts-seg--4 button:hover, .ts-site .ts-seg--4 button:focus{ font-size:12.5px; padding:6px 2px; }
	.ts-site .ts-seg--5, .ts-site .ts-seg--6{ grid-auto-flow:row; grid-template-columns:repeat(3, minmax(0,1fr)); }
	.ts-site .ts-fld--half, .ts-site .ts-fld--third{ flex-basis:auto; }
	.ts-site .ts-res__stats{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.ts-site .ts-backcalc{ right:12px; bottom:calc(12px + env(safe-area-inset-bottom, 0px)); padding:10px 14px; font-size:13.5px; }
}
@media (max-width:767px){
	/* tighter rhythm on phones */
	.ts-site .ts-tool__in{ gap:10px; padding:14px; }
	.ts-site .ts-tool__out{ padding:14px; }
	.ts-site .ts-grp__fields{ gap:6px; }
	.ts-site .ts-tool__sub{ margin-top:-6px!important; font-size:12.5px; line-height:1.45; }
	.ts-site .ts-fld__label{ font-size:13.5px; }
	.ts-site .ts-cp-hero{ padding-top:12px; }
	.ts-site .ts-cp-crumbs{ margin-bottom:8px!important; }
	.ts-site .ts-cp-hero .ts-cp-hero__copy h1 + .ts-cp-upd{ margin-top:4px!important; }
	.ts-site .ts-res__stats{ margin-top:10px; }
	.ts-site .ts-views + .ts-res__main{ margin-top:8px; }
	/* long forms (8+ inputs): two inputs per row, label above — like calculator.net on phones */
	.ts-site .ts-tool--dense .ts-grp__fields{ display:flex; flex-wrap:wrap; gap:8px 10px; }
	.ts-site .ts-tool--dense .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea){ display:flex; flex-direction:column; justify-content:flex-end; align-items:stretch; flex:1 1 calc(50% - 5px); min-width:0; }
	.ts-site .ts-tool--dense .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea) > .ts-fld__label{ margin:0 0 4px!important; font-size:12.5px; line-height:1.25; text-align:left; }
	.ts-site .ts-tool--dense .ts-fld.ts-fld--seg:not(.ts-fld--check):not(.ts-fld--textarea), .ts-site .ts-tool--dense .ts-fld.ts-fld--select:not(.ts-fld--check):not(.ts-fld--textarea), .ts-site .ts-tool--dense .ts-fld--check, .ts-site .ts-tool--dense .ts-fld--textarea, .ts-site .ts-tool--dense .ts-fld:has(> .ts-fld__help){ flex:1 1 100%!important; }
	.ts-site .ts-tool--dense .ts-fld.ts-fld--seg:not(.ts-fld--check):not(.ts-fld--textarea), .ts-site .ts-tool--dense .ts-fld.ts-fld--select:not(.ts-fld--check):not(.ts-fld--textarea){ display:grid!important; grid-template-columns:minmax(0,1fr) minmax(0,1.25fr); align-items:center; column-gap:12px; }
	.ts-site .ts-tool--dense .ts-fld.ts-fld--seg:not(.ts-fld--check):not(.ts-fld--textarea) > .ts-fld__label, .ts-site .ts-tool--dense .ts-fld.ts-fld--select:not(.ts-fld--check):not(.ts-fld--textarea) > .ts-fld__label{ margin:0!important; font-size:13.5px; display:flex; align-items:center; align-self:stretch; min-height:0; }
	.ts-site .ts-tool--dense .ts-grp--named > .ts-grp__label.ts-sr-only{ position:static!important; width:auto!important; height:auto!important; margin:0 0 4px!important; padding:0!important; overflow:visible!important; clip:auto!important; clip-path:none!important; white-space:normal!important; font-size:11px; line-height:1.3; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--ts-blue-2); }
	.ts-site .ts-tool--dense .ts-fld__help{ font-size:11.5px; }
	.ts-site .ts-tool--dense .ts-grp--named .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea){ flex-basis:calc(33.333% - 7px); }
	.ts-site .ts-tool--dense .ts-fld.ts-fld--seg:not(.ts-fld--check):not(.ts-fld--textarea){ grid-template-columns:minmax(0,.8fr) minmax(0,1.7fr); }
}
@media (max-width:359px){
	.ts-site .ts-seg--4{ grid-auto-flow:row; grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:330px){
	.ts-site .ts-fld:not(.ts-fld--check):not(.ts-fld--textarea){ grid-template-columns:minmax(0,1fr); row-gap:4px; }
	.ts-site .ts-seg{ grid-auto-flow:row; grid-template-columns:minmax(0,1fr); }
	.ts-site .ts-live{ display:none; }
}
@media print{
	.ts-site .ts-next, .ts-site .ts-recent, .ts-site .ts-backcalc, .ts-site .ts-cp-crumbs, .ts-site .ts-cp-hero__meta, .ts-site .ts-tool__links, .ts-site .ts-live, .ts-site .ts-related, .ts-site .ts-sources, body > *:not(.ts-site), .ts-site .ts-header, .ts-site .ts-footer, .ts-site .ts-art, .ts-site .ts-fq, .ts-site .ts-kx, .ts-site .ts-crstrip, .ts-site .ts-crchip, .ts-site .ts-chips, .ts-site .ts-tool__actions, .ts-site .ts-res__acts, .ts-site .ts-views, .ts-site .ts-cp-hero::before, .ts-site .ts-cp-hero::after, .ts-site .ts-tool__wm, .ts-site .ts-crpop{ display:none!important; }
	.ts-site .ts-cp-hero{ background:#fff; padding:0; }
	.ts-site .ts-tool{ grid-template-columns:1fr 1fr; box-shadow:none; border:1px solid #ccc; }
	.ts-site .ts-tool__out{ background:#fff!important; color:#000!important; border-left:1px solid #ccc; }
	.ts-site .ts-tool__out *{ color:#000!important; }
	.ts-site .ts-res__lines li, .ts-site .ts-res__lines{ border-color:#bbb!important; }
	.ts-site .ts-rstat{ border-color:#bbb; background:#fff; }
	.ts-site .ts-res__bar{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
	.ts-site .ts-steps{ display:block!important; }
	.ts-site .ts-steps > summary{ display:none; }
	.ts-site .ts-steps:not([open]) > *{ display:block; }
}
