/* ==========================================================================
   Tuff Search — Homepage
   ========================================================================== */
.ts-home .ts-section{ padding:var(--ts-section-y) 0; position:relative; }
.ts-home .ts-eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--ts-font-body); font-size:13px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--ts-blue); margin-bottom:14px; }
.ts-home .ts-eyebrow::before{ content:""; width:22px; height:2px; border-radius:2px; background:currentColor; }
.ts-home .ts-h2{ font-size:clamp(32px, 3.9vw, 54px); color:var(--ts-navy); line-height:1.08; letter-spacing:-.02em; font-weight:700; }
.ts-home .ts-lead{ font-size:clamp(15.3px, 14.70px + 0.160vw, 17px); line-height:1.7; color:var(--ts-muted); }
.ts-home .ts-head{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px 64px; align-items:end; margin-bottom:var(--ts-head-gap); }
.ts-home .ts-head .ts-lead{ max-width:500px; padding-bottom:8px; }
.ts-home .ts-tile{ display:inline-grid; place-items:center; width:56px; height:56px; border-radius:var(--ts-radius-sm); background:var(--ts-light); color:var(--ts-blue); flex:none; }
.ts-home .ts-tile--solid{ background:var(--ts-blue); color:var(--ts-white); box-shadow:0 10px 22px rgba(71,123,255,.32); }
.ts-home .ts-pill{ display:inline-flex; align-items:center; padding:6px 13px; border-radius:999px; background:var(--ts-light); color:var(--ts-blue-2); font-size:12.5px; font-weight:600; line-height:1.2; white-space:nowrap; }
.ts-home .ts-textlink{ display:inline-flex; align-items:center; gap:8px; font-weight:600; font-size:clamp(13.5px, 12.97px + 0.141vw, 15px); color:var(--ts-blue); }
.ts-home .ts-textlink .ts-icon{ transition:transform var(--ts-dur) var(--ts-ease); }
.ts-home .ts-textlink:hover .ts-icon{ transform:translateX(4px); }

/* Diagonal brand stripes (decorative) */
.ts-home .ts-stripes{ position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.ts-home .ts-stripes::before{ content:""; position:absolute; top:-20%; bottom:-20%; right:-10%; width:70%; background:repeating-linear-gradient(-55deg, transparent 0 90px, rgba(255,255,255,.035) 90px 190px); -webkit-mask-image:linear-gradient(90deg, transparent, #000 45%); mask-image:linear-gradient(90deg, transparent, #000 45%); }

/* ---------------- 1. Hero ---------------- */
.ts-site .ts-hero{ position:relative; background:radial-gradient(120% 90% at 85% 10%, #3457B5 0%, rgba(71,123,255,0) 55%), linear-gradient(160deg, #203369 0%, var(--ts-navy) 45%, #3457B5 100%); color:var(--ts-white); padding:calc(var(--ts-header-h) + var(--ts-adminbar) + 72px) 0 150px; overflow:hidden; }
.ts-site .ts-hero__grid{ position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr); gap:56px; align-items:center; }
.ts-site .ts-hero__content{ min-width:0; }
.ts-site .ts-hero__badge{ display:inline-flex; align-items:center; gap:10px; padding:6px 16px 6px 6px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); font-size:14px; font-weight:500; color:rgba(255,255,255,.92); max-width:100%; }
.ts-site .ts-hero__badge b{ padding:4px 11px; border-radius:999px; background:var(--ts-blue); color:var(--ts-white); font-size:12.5px; font-weight:600; flex:none; }
.ts-site .ts-hero__badge span{ min-width:0; }
.ts-site .ts-hero__badge{ border-radius:var(--ts-radius); line-height:1.4; }
.ts-site .ts-hero__title{ margin-top:30px!important; font-size:clamp(40px, 5.3vw, 70px)!important; line-height:1.03!important; letter-spacing:-.025em!important; font-weight:700!important; color:var(--ts-white); }
.ts-site .ts-hero__title em{ position:relative; display:inline-block; font-style:normal; color:var(--ts-blue-tint); padding-bottom:6px; }
.ts-site .ts-hero__title em svg{ position:absolute; left:0; bottom:-6px; width:100%; height:14px; color:var(--ts-blue); }
.ts-site .ts-hero__title em svg path{ stroke-dasharray:640; stroke-dashoffset:640; animation:ts-draw 1.1s .5s var(--ts-ease) forwards; }
@keyframes ts-draw{ to{ stroke-dashoffset:0; } }
.ts-site .ts-hero__intro{ margin-top:26px!important; max-width:610px; font-size:clamp(16.2px, 15.57px + 0.169vw, 18px); line-height:1.75; color:rgba(255,255,255,.82); }
.ts-site .ts-hero__search{ margin-top:34px; max-width:604px; }
.ts-site .ts-hero__search .ts-sfield__row{ box-shadow:0 18px 40px rgba(32,51,105,.28); }
.ts-site .ts-hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:22px; }
.ts-site .ts-hero__popular{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:30px; font-size:14px; color:rgba(255,255,255,.7); }
.ts-site .ts-hero__chip{ display:inline-flex; align-items:center; padding:7px 15px; border-radius:999px; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.05); color:var(--ts-white); font-weight:500; transition:background-color var(--ts-dur), border-color var(--ts-dur), transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-hero__chip:hover{ background:rgba(255,255,255,.14); border-color:rgba(255,255,255,.6); transform:translateY(-2px); }

.ts-site .ts-hero__media{ position:relative; justify-self:end; width:100%; max-width:468px; padding:10px 24px 10px 52px; }
.ts-site .ts-hero__frame{ position:relative; border-radius:var(--ts-radius-lg); padding:8px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); box-shadow:0 40px 80px rgba(32,51,105,.4); }
.ts-site .ts-hero__frame picture, .ts-site .ts-hero__frame img{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; object-position:72% 50%; border-radius:var(--ts-radius-lg); }
.ts-site .ts-float{ position:absolute; z-index:2; display:flex; align-items:center; gap:14px; padding:14px 20px 14px 14px; background:var(--ts-white); color:var(--ts-navy); border-radius:var(--ts-radius); box-shadow:0 20px 40px rgba(32,51,105,.28); animation:ts-bob 6s ease-in-out infinite; }
.ts-site .ts-float .ts-tile{ width:44px; height:44px; border-radius:var(--ts-radius-sm); }
.ts-site .ts-float strong{ display:block; font-family:var(--ts-font-head); font-size:clamp(14.8px, 14.20px + 0.160vw, 16.5px); font-weight:700; line-height:1.25; letter-spacing:-.01em; white-space:nowrap; }
.ts-site .ts-float small{ display:block; font-size:13px; color:var(--ts-muted); line-height:1.4; white-space:nowrap; }
.ts-site .ts-float--1{ top:28px; left:0; }
.ts-site .ts-float--2{ top:58%; right:-8px; animation-delay:-2s; }
.ts-site .ts-float--3{ bottom:-6px; left:22px; animation-delay:-4s; }
@keyframes ts-bob{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-8px); } }

/* ---------------- 2. Stats band ---------------- */
.ts-site .ts-stats{ position:relative; z-index:3; margin-top:-86px; }
.ts-site .ts-stats__card{ display:grid; grid-template-columns:repeat(4,1fr); background:var(--ts-white); border:1px solid var(--ts-line); border-radius:var(--ts-radius-lg); box-shadow:0 30px 60px rgba(32,51,105,.12); overflow:hidden; }
.ts-site .ts-stat{ display:flex; gap:18px; padding:32px 30px; border-left:1px solid var(--ts-line); }
.ts-site .ts-stat:first-child{ border-left:0; }
.ts-site .ts-new__grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none; }
.ts-site .ts-new__grid li{ margin:0; }
.ts-site .ts-new__grid a{ display:flex; align-items:center; gap:14px; height:100%; padding:16px 18px; border:1px solid var(--ts-line); border-radius:var(--ts-radius); background:var(--ts-white); font-weight:600; color:var(--ts-navy); text-decoration:none; transition:border-color var(--ts-dur) var(--ts-ease), box-shadow var(--ts-dur) var(--ts-ease), transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-new__grid a > span:nth-child(2){ flex:1 1 auto; min-width:0; }
.ts-site .ts-new__grid a:hover{ border-color:rgba(71,123,255,.45); box-shadow:var(--ts-shadow); transform:translateY(-2px); }
.ts-site .ts-new__all{ margin-top:22px!important; color:var(--ts-muted); }
.ts-site .ts-new__all a{ color:var(--ts-blue); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:1024px){ .ts-site .ts-new__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){ .ts-site .ts-new__grid{ grid-template-columns:minmax(0,1fr); } }
.ts-site .ts-stat .ts-tile{ width:50px; height:50px; border-radius:var(--ts-radius-sm); color:var(--ts-blue-2); }
.ts-site .ts-stat .ts-stat__t{ margin:0!important; font-family:var(--ts-font-head); font-weight:700;  font-size:clamp(17.2px, 15.86px + 0.357vw, 21px)!important; color:var(--ts-navy); line-height:1.2!important; letter-spacing:-.015em!important; }
.ts-site .ts-stat p:not(.ts-stat__t){ margin-top:6px!important; font-size:14.5px; line-height:1.5; color:var(--ts-muted); }

/* ---------------- 3. Popular calculators ---------------- */
.ts-site .ts-pop__grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; }
.ts-site .ts-card{ position:relative; display:flex; flex-direction:column; padding:32px; background:var(--ts-white); border:1px solid var(--ts-line); border-radius:var(--ts-radius-lg); transition:transform var(--ts-dur) var(--ts-ease), box-shadow var(--ts-dur) var(--ts-ease), border-color var(--ts-dur) var(--ts-ease); }
.ts-site .ts-card:hover{ transform:translateY(-4px); border-color:rgba(71,123,255,.45); box-shadow:0 22px 44px rgba(32,51,105,.1); }
.ts-site .ts-card__top{ display:flex; align-items:flex-start; justify-content:space-between; gap:12px; margin-bottom:28px; }
.ts-site .ts-card h3{ font-size:clamp(23px, 2vw, 27px); color:var(--ts-navy); letter-spacing:-.02em; }
.ts-site .ts-card h3 a::after{ content:""; position:absolute; inset:0; border-radius:inherit; z-index:1; }
.ts-site .ts-card p{ margin-top:12px!important; color:var(--ts-muted); font-size:clamp(14px, 13.47px + 0.141vw, 15.5px); line-height:1.65; }
.ts-site .ts-card .ts-textlink{ margin-top:auto; padding-top:24px; }
.ts-site .ts-card:hover .ts-textlink .ts-icon{ transform:translateX(4px); }
.ts-site .ts-card--feature{ grid-column:span 2; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.04fr); gap:32px; background:linear-gradient(180deg, #FFFFFF 0%, #EEF4FF 100%); }
.ts-site .ts-card--feature .ts-card__body{ display:flex; flex-direction:column; }
.ts-site .ts-card--feature h3{ font-size:clamp(28px, 2.6vw, 36px); line-height:1.08; }
.ts-site .ts-card__tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:22px!important; }
.ts-site .ts-card__tags li{ padding:7px 13px; border:1px solid var(--ts-line); border-radius:999px; background:var(--ts-white); font-size:13px; font-weight:500; color:var(--ts-navy); }
.ts-site .ts-card__img{ position:relative; border-radius:var(--ts-radius); overflow:hidden; min-height:300px; background:#203369; }
.ts-site .ts-card__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ts-ease); }
.ts-site .ts-card--feature:hover .ts-card__img img{ transform:scale(1.04); }
.ts-site .ts-more{ grid-column:span 2; position:relative; display:flex; align-items:center; justify-content:space-between; gap:24px 32px; padding:40px 44px; border-radius:var(--ts-radius-lg); background:var(--ts-navy); color:var(--ts-white); overflow:hidden; }
.ts-site .ts-more h3{ font-size:clamp(26px, 2.4vw, 34px); color:var(--ts-white); }
.ts-site .ts-more p{ margin-top:10px!important; max-width:420px; color:rgba(255,255,255,.78); font-size:clamp(14px, 13.47px + 0.141vw, 15.5px); }
.ts-site .ts-more > *{ position:relative; }
.ts-site .ts-chevrons{ position:absolute!important; right:-40px; top:0; bottom:0; width:60%; pointer-events:none; color:rgba(71,123,255,.22); }

/* ---------------- 4. Categories ---------------- */
.ts-site .ts-cats{ background:var(--ts-light); }
.ts-site .ts-cats__grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; }
.ts-site .ts-cat{ position:relative; display:flex; flex-direction:column; padding:24px; min-height:190px; background:var(--ts-white); border:1px solid rgba(52,87,181,.14); border-radius:var(--ts-radius); transition:transform var(--ts-dur) var(--ts-ease), box-shadow var(--ts-dur) var(--ts-ease), background-color var(--ts-dur), border-color var(--ts-dur); }
.ts-site .ts-cat:hover{ transform:translateY(-4px); box-shadow:0 18px 36px rgba(32,51,105,.1); border-color:rgba(71,123,255,.45); }
.ts-site .ts-cat__top{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:20px; }
.ts-site .ts-cat .ts-tile{ width:50px; height:50px; border-radius:var(--ts-radius-sm); }
.ts-site .ts-cat__arrow{ display:grid; place-items:center; width:36px; height:36px; border-radius:50%; border:1px solid var(--ts-line); color:var(--ts-navy); background:var(--ts-white); transition:background-color var(--ts-dur), color var(--ts-dur), transform var(--ts-dur) var(--ts-ease), border-color var(--ts-dur); }
.ts-site .ts-cat:hover .ts-cat__arrow{ background:var(--ts-blue); border-color:var(--ts-blue); color:var(--ts-white); transform:rotate(45deg); }
.ts-site .ts-cat h3{ font-size:clamp(17.2px, 15.86px + 0.357vw, 21px); color:var(--ts-navy); letter-spacing:-.015em; }
.ts-site .ts-cat h3 a::after{ content:""; position:absolute; inset:0; border-radius:inherit; }
.ts-site .ts-cat p{ margin-top:6px!important; font-size:14.5px; line-height:1.55; color:var(--ts-muted); }
.ts-site .ts-cat--featured{ background:var(--ts-blue); border-color:var(--ts-blue); box-shadow:0 18px 36px rgba(71,123,255,.3); }
.ts-site .ts-cat--featured h3, .ts-site .ts-cat--featured p{ color:var(--ts-white); }
.ts-site .ts-cat--featured p{ opacity:.88; }
.ts-site .ts-cat--featured .ts-tile{ background:rgba(255,255,255,.18); color:var(--ts-white); }
.ts-site .ts-cat--featured .ts-cat__arrow{ background:var(--ts-white); border-color:var(--ts-white); color:var(--ts-blue); }
.ts-site .ts-cat--featured:hover{ background:var(--ts-blue-2); border-color:var(--ts-blue-2); }
.ts-site .ts-cat--featured:hover .ts-cat__arrow{ background:var(--ts-white); color:var(--ts-blue-2); }

/* ---------------- 5. How it works ---------------- */
.ts-site .ts-how__grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; }
.ts-site .ts-how .ts-lead{ margin-top:22px!important; max-width:500px; }
.ts-site .ts-steps{ position:relative; margin-top:48px!important; display:flex; flex-direction:column; gap:36px; }
.ts-site .ts-steps::before{ content:""; position:absolute; left:28px; top:30px; bottom:10px; border-left:2px dashed rgba(52,87,181,.3); }
.ts-site .ts-step{ position:relative; display:grid; grid-template-columns:58px minmax(0,1fr); gap:26px; }
.ts-site .ts-step__num{ display:grid; place-items:center; width:58px; height:58px; border-radius:50%; background:var(--ts-white); border:2px solid var(--ts-blue); color:var(--ts-blue); font-family:var(--ts-font-head); font-size:clamp(17.2px, 15.86px + 0.357vw, 21px); font-weight:700; position:relative; z-index:1; transition:background-color var(--ts-dur), color var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site .ts-step.is-active .ts-step__num, .ts-site .ts-step:hover .ts-step__num{ background:var(--ts-blue); color:var(--ts-white); box-shadow:0 0 0 8px rgba(71,123,255,.16); }
.ts-site .ts-step h3{ font-size:clamp(21px, 1.9vw, 25px); color:var(--ts-navy); padding-top:12px; }
.ts-site .ts-step p{ margin-top:8px!important; color:var(--ts-muted); font-size:clamp(14px, 13.47px + 0.141vw, 15.5px); line-height:1.7; max-width:470px; }
.ts-site .ts-how__media{ position:relative; }
.ts-site .ts-how__media picture, .ts-site .ts-how__media img{ display:block; width:100%; aspect-ratio:1/1.02; object-fit:cover; border-radius:var(--ts-radius-lg); box-shadow:var(--ts-shadow-lg); }
.ts-site .ts-how__note{ position:absolute; left:-28px; bottom:48px; display:flex; align-items:center; gap:16px; max-width:330px; padding:20px 22px; border-radius:var(--ts-radius); background:var(--ts-navy); color:var(--ts-white); box-shadow:0 24px 50px rgba(32,51,105,.35); }
.ts-site .ts-how__note .ts-tile{ width:46px; height:46px; border-radius:var(--ts-radius-sm); }
.ts-site .ts-how__note > span:last-child strong{ display:block; font-size:clamp(14.4px, 13.84px + 0.150vw, 16px); font-weight:600; }
.ts-site .ts-how__note > span:last-child span{ display:block; font-size:14px; line-height:1.5; color:rgba(255,255,255,.82); }

/* ---------------- 6. Why Tuff Search ---------------- */
.ts-site .ts-why{ background:var(--ts-navy); color:var(--ts-white); overflow:hidden; }
.ts-site .ts-why .ts-h2{ color:var(--ts-white); }
.ts-site .ts-why .ts-eyebrow{ color:var(--ts-blue-tint); }
.ts-site .ts-why .ts-lead{ color:rgba(255,255,255,.76); }
.ts-site .ts-why__glow{ position:absolute; left:-200px; top:-120px; width:620px; height:620px; border-radius:50%; background:radial-gradient(circle, rgba(71,123,255,.22), transparent 65%); pointer-events:none; }
.ts-site .ts-bento{ position:relative; display:grid; grid-template-columns:1.07fr minmax(0,1fr) minmax(0,1fr); grid-template-rows:auto auto; gap:24px; }
.ts-site .ts-bento__card{ position:relative; display:flex; flex-direction:column; padding:34px 30px; border-radius:var(--ts-radius-lg); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); transition:transform var(--ts-dur) var(--ts-ease), background-color var(--ts-dur), border-color var(--ts-dur); }
.ts-site .ts-bento__card:hover{ transform:translateY(-4px); background:rgba(255,255,255,.09); border-color:rgba(255,255,255,.22); }
.ts-site .ts-bento__card .ts-tile{ width:56px; height:56px; background:var(--ts-blue); color:var(--ts-white); margin-bottom:30px; }
.ts-site .ts-bento__card h3{ font-size:clamp(22px, 2vw, 26px); color:var(--ts-white); }
.ts-site .ts-bento__card p{ margin-top:14px!important; font-size:clamp(13.5px, 12.97px + 0.141vw, 15px); line-height:1.75; color:rgba(255,255,255,.76); max-width:600px; }
.ts-site .ts-bento__card .ts-textlink{ margin-top:auto; padding-top:26px; color:var(--ts-blue-tint); }
.ts-site .ts-bento__card--lead{ grid-row:span 2; background:linear-gradient(165deg, var(--ts-blue) 0%, var(--ts-blue-2) 100%); border-color:transparent; box-shadow:0 30px 60px rgba(32,51,105,.35); }
.ts-site .ts-bento__card--lead:hover{ background:linear-gradient(165deg, #477BFF 0%, var(--ts-blue-2) 100%); }
.ts-site .ts-bento__card--lead .ts-tile{ background:var(--ts-white); color:var(--ts-blue); }
.ts-site .ts-bento__card--lead h3{ font-size:clamp(26px, 2.5vw, 34px); }
.ts-site .ts-bento__card--lead p{ color:rgba(255,255,255,.92); font-size:clamp(14.4px, 13.84px + 0.150vw, 16px); }
.ts-site .ts-bento__card--lead .ts-textlink{ color:var(--ts-white); }
.ts-site .ts-bento__card--wide{ grid-column:span 2; }

/* ---------------- 7. FAQ ---------------- */
.ts-site .ts-faq__grid{ display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:72px; align-items:start; }
.ts-site .ts-faq__intro .ts-lead{ margin-top:20px!important; max-width:480px; }
.ts-site .ts-help{ margin-top:40px; padding:30px 28px; border-radius:var(--ts-radius-lg); background:var(--ts-light); }
.ts-site .ts-help h3{ font-size:clamp(18px, 16.59px + 0.376vw, 22px); color:var(--ts-navy); }
.ts-site .ts-help > p{ margin-top:6px!important; font-size:clamp(13.5px, 12.97px + 0.141vw, 15px); color:var(--ts-muted); }
.ts-site .ts-help__list{ display:flex; flex-direction:column; gap:12px; margin-top:22px!important; }
.ts-site .ts-help__item{ display:flex; align-items:center; gap:14px; padding:14px 16px; border-radius:var(--ts-radius-sm); background:var(--ts-white); transition:box-shadow var(--ts-dur), transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-help__item:hover{ box-shadow:var(--ts-shadow); transform:translateY(-2px); }
.ts-site .ts-help__item .ts-tile{ width:40px; height:40px; border-radius:var(--ts-radius-sm); }
.ts-site .ts-help__item small{ display:block; font-size:12.5px; color:var(--ts-muted); line-height:1.4; }
.ts-site .ts-help__item strong{ display:block; font-size:clamp(14px, 13.47px + 0.141vw, 15.5px); font-weight:600; color:var(--ts-navy); word-break:break-all; line-height:1.4; }
.ts-site .ts-acc{ display:flex; flex-direction:column; gap:16px; }
.ts-site .ts-acc__item{ border:1px solid var(--ts-line); border-radius:var(--ts-radius); background:var(--ts-white); transition:border-color var(--ts-dur), box-shadow var(--ts-dur); }
.ts-site .ts-acc__item.is-open{ border-color:var(--ts-blue); box-shadow:0 18px 40px rgba(71,123,255,.12); }
.ts-site .ts-acc__q{ margin:0; font-size:inherit!important; min-width:0; }
.ts-site .ts-acc__btn > span:first-child{ min-width:0; flex:1; }
.ts-site .ts-acc__btn{ display:flex!important; width:100%; white-space:normal; min-width:0; align-items:center; justify-content:space-between; gap:20px; padding:26px 28px!important; text-align:left; font-family:var(--ts-font-head)!important; font-size:clamp(17px, 1.6vw, 21px)!important; font-weight:600!important; line-height:1.35; color:var(--ts-navy)!important; letter-spacing:-.01em; }
.ts-site .ts-acc__sign{ position:relative; flex:none; width:36px; height:36px; border-radius:50%; background:var(--ts-light); color:var(--ts-blue); transition:background-color var(--ts-dur), color var(--ts-dur), transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-acc__sign::before, .ts-site .ts-acc__sign::after{ content:""; position:absolute; left:50%; top:50%; width:13px; height:2px; margin:-1px 0 0 -6.5px; border-radius:2px; background:currentColor; transition:transform var(--ts-dur) var(--ts-ease); }
.ts-site .ts-acc__sign::after{ transform:rotate(90deg); }
.ts-site .ts-acc__item.is-open .ts-acc__sign{ background:var(--ts-blue); color:var(--ts-white); }
.ts-site .ts-acc__item.is-open .ts-acc__sign::after{ transform:rotate(0deg); }
.ts-site .ts-acc__panel{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .35s var(--ts-ease); }
.ts-site .ts-acc__item.is-open .ts-acc__panel{ grid-template-rows:1fr; }
.ts-site .ts-acc__inner{ overflow:hidden; }
.ts-site .ts-acc__item:not(.is-open) .ts-acc__inner{ visibility:hidden; transition:visibility 0s .35s; }
.ts-site .ts-acc__inner p{ margin-top:-8px!important; padding:0 72px 26px 28px; color:var(--ts-muted); font-size:clamp(14px, 13.47px + 0.141vw, 15.5px); line-height:1.75; }
.ts-site .ts-acc__inner a{ color:var(--ts-blue); font-weight:500; text-decoration:underline; text-underline-offset:3px; }

/* ---------------- 8. CTA band ---------------- */
.ts-site .ts-cta{ padding:0 0 var(--ts-section-y); }
.ts-site .ts-cta__box{ position:relative; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:center; gap:40px 64px; padding:72px 76px; border-radius:var(--ts-radius-lg); color:var(--ts-white); background:linear-gradient(115deg, var(--ts-blue) 0%, var(--ts-blue-2) 55%, var(--ts-navy) 100%); overflow:hidden; box-shadow:0 40px 80px rgba(52,87,181,.3); }
.ts-site .ts-cta__box > *{ position:relative; }
.ts-site .ts-cta__box h2{ font-size:clamp(34px, 4.4vw, 60px); color:var(--ts-white); letter-spacing:-.025em; }
.ts-site .ts-cta__box p{ margin-top:20px!important; max-width:560px; font-size:clamp(16.2px, 15.57px + 0.169vw, 18px); line-height:1.65; color:rgba(255,255,255,.88); }
.ts-site .ts-cta__btns{ display:flex; flex-direction:column; gap:16px; justify-self:end; width:min(340px, 100%); }
.ts-site .ts-cta__btns .ts-btn{ justify-content:space-between; min-height:60px; padding:16px 26px; font-size:clamp(14.4px, 13.84px + 0.150vw, 16px); }
.ts-site .ts-cta .ts-chevrons{ color:rgba(255,255,255,.08); width:50%; right:-60px; }

/* ---------------- Scroll reveal ---------------- */
.ts-js .ts-reveal{ opacity:0; transform:translateY(24px); transition:opacity .7s var(--ts-ease), transform .7s var(--ts-ease); transition-delay:var(--ts-d, 0s); }
.ts-js .ts-reveal.is-in{ opacity:1; transform:none; }

/* ---------------- Responsive ---------------- */
@media (max-width:1180px){
	.ts-site .ts-hero__grid{ gap:32px; }
	.ts-site .ts-hero__media{ padding-left:36px; }
	.ts-site .ts-float--2{ right:-4px; }
	.ts-site .ts-stat{ padding:28px 22px; gap:14px; }
	.ts-site .ts-bento{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
	.ts-site .ts-bento__card--lead{ grid-row:auto; grid-column:span 2; }
	.ts-site .ts-bento__card--wide{ grid-column:span 2; }
	.ts-site .ts-cta__box{ padding:60px 56px; }
}
@media (max-width:1024px){
	.ts-home .ts-head{ grid-template-columns:minmax(0,1fr); gap:16px; }
	.ts-site .ts-hero{ padding-bottom:140px; }
	.ts-site .ts-hero__grid{ grid-template-columns:minmax(0,1fr); gap:56px; }
	.ts-site .ts-hero__media{ justify-self:center; max-width:520px; padding:10px 28px 10px 28px; }
	.ts-site .ts-hero__frame picture, .ts-site .ts-hero__frame img{ aspect-ratio:5/4; }
	.ts-site .ts-float--1{ left:0; top:24px; }
	.ts-site .ts-float--2{ right:0; }
	.ts-site .ts-float--3{ left:16px; }
	.ts-site .ts-stats__card{ grid-template-columns:repeat(2,1fr); }
	.ts-site .ts-stat:nth-child(3){ border-left:0; }
	.ts-site .ts-stat:nth-child(n+3){ border-top:1px solid var(--ts-line); }
	.ts-site .ts-pop__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
	.ts-site .ts-more{ grid-column:span 1; flex-direction:column; align-items:flex-start; }
	.ts-site .ts-cats__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); }
	.ts-site .ts-how__grid{ grid-template-columns:minmax(0,1fr); gap:56px; }
	.ts-site .ts-how__media{ max-width:620px; margin-left:28px; }
	.ts-site .ts-how__media picture, .ts-site .ts-how__media img{ aspect-ratio:4/3; }
	.ts-site .ts-faq__grid{ grid-template-columns:minmax(0,1fr); gap:48px; }
	.ts-site .ts-cta__box{ grid-template-columns:minmax(0,1fr); padding:56px 44px; }
	.ts-site .ts-cta__btns{ justify-self:start; flex-direction:row; flex-wrap:wrap; width:100%; }
	.ts-site .ts-cta__btns .ts-btn{ flex:1 1 240px; }
}
@media (max-width:767px){
	.ts-site .ts-hero{ padding-top:calc(var(--ts-header-h) + var(--ts-adminbar) + 36px); padding-bottom:120px; }
	.ts-site .ts-hero__title{ margin-top:22px!important; font-size:clamp(34px, 9.6vw, 48px)!important; }
	.ts-site .ts-hero__intro{ font-size:16.5px; margin-top:20px!important; }
	.ts-site .ts-hero__actions .ts-btn{ flex:1 1 100%; }
	.ts-site .ts-hero__popular{ gap:8px; }
	.ts-site .ts-hero__media{ padding:6px 0 18px; }
	.ts-site .ts-hero__frame{ border-radius:var(--ts-radius-lg); padding:6px; }
	.ts-site .ts-hero__frame picture, .ts-site .ts-hero__frame img{ aspect-ratio:4/3.4; border-radius:var(--ts-radius); }
	.ts-site .ts-float{ padding:10px 14px 10px 10px; gap:10px; border-radius:var(--ts-radius-sm); }
	.ts-site .ts-float .ts-tile{ width:36px; height:36px; border-radius:var(--ts-radius-sm); }
	.ts-site .ts-float strong{ font-size:14px; }
	.ts-site .ts-float small{ font-size:11.5px; }
	.ts-site .ts-float--1{ top:20px; left:-6px; }
	.ts-site .ts-float--2{ top:auto; bottom:84px; right:-6px; }
	.ts-site .ts-float--3{ bottom:0; left:12px; }
	.ts-site .ts-stats{ margin-top:-72px; }
	.ts-site .ts-stat{ flex-direction:column; gap:14px; padding:22px 18px; }
	.ts-site .ts-stat .ts-stat__t{ margin:0!important; font-family:var(--ts-font-head); font-weight:700;  font-size:17.5px!important; }
	.ts-site .ts-stat p:not(.ts-stat__t){ font-size:13.5px; }
	.ts-site .ts-pop__grid{ grid-template-columns:minmax(0,1fr); gap:18px; }
	.ts-site .ts-card{ padding:26px 24px; }
	.ts-site .ts-card--feature, .ts-site .ts-more{ grid-column:auto; }
	.ts-site .ts-card--feature{ grid-template-columns:minmax(0,1fr); gap:24px; }
	.ts-site .ts-card__img{ min-height:0; aspect-ratio:4/3; }
	.ts-site .ts-more{ padding:34px 26px; }
	.ts-site .ts-cats__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
	.ts-site .ts-cat{ padding:18px 16px; min-height:0; border-radius:var(--ts-radius); }
	.ts-site .ts-cat .ts-tile{ width:44px; height:44px; }
	.ts-site .ts-cat__arrow{ width:32px; height:32px; }
	.ts-site .ts-cat__top{ margin-bottom:16px; }
	.ts-site .ts-cat h3{ font-size:17.5px; }
	.ts-site .ts-cat p{ font-size:13.5px; }
	.ts-site .ts-steps{ margin-top:36px!important; gap:28px; }
	.ts-site .ts-steps::before{ left:23px; }
	.ts-site .ts-step{ grid-template-columns:48px minmax(0,1fr); gap:18px; }
	.ts-site .ts-step__num{ width:48px; height:48px; font-size:18px; }
	.ts-site .ts-step h3{ padding-top:8px; }
	.ts-site .ts-how__media{ margin-left:0; }
	.ts-site .ts-how__media picture, .ts-site .ts-how__media img{ border-radius:var(--ts-radius-lg); aspect-ratio:1/1; }
	.ts-site .ts-how__note{ left:12px; right:12px; bottom:-28px; max-width:none; padding:16px 18px; }
	.ts-site .ts-how{ padding-bottom:110px!important; }
	.ts-site .ts-bento{ grid-template-columns:minmax(0,1fr); gap:16px; }
	.ts-site .ts-bento__card--lead, .ts-site .ts-bento__card--wide{ grid-column:auto; }
	.ts-site .ts-bento__card{ padding:28px 24px; }
	.ts-site .ts-bento__card .ts-tile{ margin-bottom:24px; }
	.ts-site .ts-acc__btn{ padding:20px 20px!important; }
	.ts-site .ts-acc__inner p{ padding:0 20px 22px; font-size:15px; }
	.ts-site .ts-help{ padding:26px 20px; margin-top:32px; }
	.ts-site .ts-cta__box{ padding:44px 26px; border-radius:var(--ts-radius-lg); }
	.ts-site .ts-cta__box p{ font-size:16.5px; }
	.ts-site .ts-cta__btns{ flex-direction:column; }
	.ts-site .ts-cta__btns .ts-btn{ flex:none; width:100%; }
}
@media (max-width:400px){
	.ts-site .ts-hero__badge{ font-size:12.5px; }
	.ts-site .ts-hero__chip{ padding:6px 12px; font-size:13.5px; }
	.ts-site .ts-float small{ display:none; }
	.ts-site .ts-cats__grid{ gap:12px; }
	.ts-site .ts-cat{ padding:16px 14px; }
}
@media (prefers-reduced-motion:reduce){
	.ts-site .ts-float{ animation:none; }
	.ts-site .ts-hero__title em svg path{ animation:none; stroke-dashoffset:0; }
	.ts-js .ts-reveal{ opacity:1; transform:none; }
}

/* Phones: search box and popular calculators on the first screen (the intro text follows them) */
@media (max-width:767px){
	.ts-site .ts-hero__content{ display:flex; flex-direction:column; }
	.ts-site .ts-hero__badge{ order:1; }
	.ts-site .ts-hero__title{ order:2; }
	.ts-site .ts-hero__search{ order:3; margin-top:16px!important; }
	.ts-site .ts-hero__popular{ order:4; margin-top:14px!important; }
	.ts-site .ts-hero__recent{ order:5; }
	.ts-site .ts-hero__intro{ order:6; margin-top:18px!important; }
	.ts-site .ts-hero__actions{ order:7; }
}
.ts-site .ts-hero__recent{ margin-top:12px; color:rgba(255,255,255,.85); }
.ts-site .ts-hero__recent .ts-recent__t{ color:rgba(255,255,255,.75); }
.ts-site .ts-hero__recent a{ background:rgba(255,255,255,.12); color:#fff; }
