:root{
  --ts-white:#FDFCFA;--ts-blue-400:#7E94B1;--ts-blue-500:#6A8AB3;--ts-blue-600:#517095;--ts-blue-700:#42618C;--ts-blue-800:#2F4A6E;
  --ts-ink:#1F2F45;--ts-gold:#F8DE9E;--ts-cream:#FEF9EA;--ts-sand:#E7E1D5;--ts-mist:#A6B5C7;
  --ts-success:#4F8A6B;--ts-warning:#C9962B;--ts-danger:#B5544B;
  --radius-card:16px;--radius-pill:999px;
  --shadow-card:0 1px 2px rgba(31,47,69,.06),0 8px 24px rgba(31,47,69,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;color:var(--ts-ink);background:var(--ts-cream)}
h1,h2,h3{font-family:"Baloo 2",Inter,system-ui,sans-serif;color:var(--ts-blue-800);line-height:1.15;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,6vw,3.4rem);font-weight:800}
h2{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:700}
h3{font-size:1.25rem;font-weight:700}
a{color:var(--ts-blue-700)}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.narrow{max-width:760px;margin:0 auto;padding:0 20px}

.nav{background:var(--ts-white);border-bottom:1px solid var(--ts-sand);position:sticky;top:0;z-index:10}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:10px;font-family:"Baloo 2",sans-serif;font-weight:800;font-size:1.4rem;color:var(--ts-blue-700);text-decoration:none}
.logo img{width:32px;height:32px}
.nav nav{display:flex;align-items:center;gap:22px;font-size:.95rem}
.nav nav a{text-decoration:none;color:var(--ts-ink)}
.nav nav a:hover{color:var(--ts-blue-700)}

.btn{display:inline-block;border:0;cursor:pointer;background:var(--ts-blue-700);color:var(--ts-white)!important;font:600 1rem Inter,sans-serif;padding:12px 24px;border-radius:var(--radius-pill);text-decoration:none;min-height:44px;transition:background .15s}
.btn:hover{background:var(--ts-blue-800)}
.btn-gold{background:var(--ts-gold);color:var(--ts-ink)!important}
.btn-gold:hover{background:#f2d27f}
.btn-ghost{background:transparent;color:var(--ts-blue-700)!important;border:2px solid var(--ts-blue-700)}
.btn-ghost:hover{background:var(--ts-blue-700);color:var(--ts-white)!important}
.btn-small{padding:8px 18px;min-height:0}

.hero{background:radial-gradient(55% 55% at 0% 0%,var(--ts-cream) 0%,rgba(248,222,158,.55) 30%,transparent 60%),radial-gradient(50% 50% at 100% 100%,rgba(248,222,158,.45) 0%,transparent 55%),var(--ts-blue-500);text-align:center;padding:84px 0 72px}
.hero h1{color:var(--ts-white);text-shadow:0 1px 12px rgba(31,47,69,.25)}
.hero .lead{color:var(--ts-white);font-size:1.2rem;max-width:620px;margin:0 auto 30px;font-weight:500;text-shadow:0 1px 8px rgba(31,47,69,.3)}
.hero .badge{display:inline-block;background:var(--ts-gold);color:var(--ts-ink);font-weight:600;font-size:.85rem;padding:4px 14px;border-radius:var(--radius-pill);margin-bottom:18px}
.hero .cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.hero .btn-ghost{color:var(--ts-white)!important;border-color:var(--ts-white)}
.hero .btn-ghost:hover{background:var(--ts-white);color:var(--ts-blue-800)!important}

.section{padding:68px 0}
.section.white{background:var(--ts-white)}
.center{text-align:center}
.sub{color:var(--ts-blue-600);max-width:620px;margin:0 auto 40px}
.grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.card{background:var(--ts-white);border:1px solid var(--ts-sand);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:26px}
.card p{margin:0;color:#3d5069}
.steps{list-style:none;counter-reset:s;padding:0;margin:0;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.steps li{counter-increment:s;background:var(--ts-cream);border:1px solid var(--ts-sand);border-radius:var(--radius-card);padding:22px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ts-gold);font-weight:700;margin-bottom:10px}
.steps strong{display:block;color:var(--ts-blue-800);margin-bottom:4px}

.plans{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:stretch}
.plan{display:flex;flex-direction:column;position:relative}
.plan.featured{border:2px solid var(--ts-blue-700)}
.plan .tag{position:absolute;top:-13px;left:24px;background:var(--ts-gold);font-size:.8rem;font-weight:700;padding:3px 12px;border-radius:var(--radius-pill)}
.price{font-family:"Baloo 2",sans-serif;font-size:2.8rem;font-weight:800;color:var(--ts-blue-800);line-height:1}
.price small{font-size:1rem;font-weight:500;color:var(--ts-blue-600)}
.plan ul{list-style:none;padding:0;margin:18px 0 24px;flex:1}
.plan li{padding:6px 0 6px 26px;position:relative;font-size:.95rem}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--ts-success);font-weight:700}
.fine{font-size:.85rem;color:var(--ts-blue-600)}

details{background:var(--ts-white);border:1px solid var(--ts-sand);border-radius:12px;padding:16px 20px;margin-bottom:12px}
summary{cursor:pointer;font-weight:600;color:var(--ts-blue-800)}
details p{margin:10px 0 0;color:#3d5069}

.cta{background:var(--ts-blue-700);color:var(--ts-white);text-align:center;padding:64px 0}
.cta h2{color:var(--ts-white)}

.legal{padding:56px 0 72px}
.legal h1{font-size:2.3rem}
.legal h2{font-size:1.35rem;margin-top:1.8em}
.legal .updated{color:var(--ts-blue-600);font-size:.9rem}
.legal ul{padding-left:22px}
.legal li{margin:6px 0}

form.stack{display:grid;gap:14px;max-width:520px}
form.stack label{font-weight:600;font-size:.92rem;display:grid;gap:6px}
form.stack input,form.stack textarea,form.stack select{font:inherit;padding:12px 14px;border:1px solid var(--ts-mist);border-radius:10px;background:var(--ts-white);color:var(--ts-ink)}
form.stack input:focus,form.stack textarea:focus{outline:3px solid var(--ts-gold);border-color:var(--ts-blue-700)}
.inline-form{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.inline-form input{flex:1 1 240px;max-width:320px;padding:12px 16px;font:inherit;border:0;border-radius:var(--radius-pill)}
.success{background:#e6f1ea;border:1px solid var(--ts-success);color:#24503b;border-radius:12px;padding:16px 20px}

footer{background:var(--ts-ink);color:var(--ts-mist);padding:44px 0 28px;font-size:.92rem}
footer a{color:var(--ts-white);text-decoration:none}
footer a:hover{text-decoration:underline}
.foot{display:grid;gap:28px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:28px}
.foot h4{color:var(--ts-white);margin:0 0 10px;font-size:.95rem}
.foot a{display:block;padding:3px 0}
.copy{border-top:1px solid #34475f;padding-top:18px}

@media(max-width:700px){.nav nav a:not(.btn){display:none}.hero{padding:56px 0 48px}}
