/* ctcmgr.com public site. Brand: navy #12355B, red #D62828, grays #C9D3DF / #E9EEF4. System fonts, no web fonts. */
:root { --navy:#12355B; --red:#D62828; --gray:#C9D3DF; --light:#E9EEF4; --ink:#1b2430; --muted:#4f5b6b; --white:#fff; }
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body { margin:0; font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--white); }
a { color:var(--navy); }
img { max-width:100%; height:auto; }
.wrap { max-width:1080px; margin:0 auto; padding:0 20px; }
.narrow { max-width:720px; }
.skip { position:absolute; left:-999px; }
.skip:focus { left:12px; top:12px; background:#fff; padding:8px 12px; z-index:10; }
:focus-visible { outline:3px solid var(--red); outline-offset:2px; }

.nav { border-bottom:1px solid var(--light); background:#fff; position:sticky; top:0; z-index:5; }
.nav-in { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; flex-wrap:wrap; }
.logo { display:flex; align-items:center; gap:10px; text-decoration:none; color:var(--navy); font-size:1.2rem; }
.nav nav { display:flex; align-items:center; gap:4px; }
.nav nav a { padding:10px 10px; text-decoration:none; font-weight:600; min-height:44px; display:inline-flex; align-items:center; }
@media (max-width:520px) { .nav nav a:first-child { display:none; } .logo span { font-size:1.05rem; } }

.btn { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 24px; border-radius:10px; background:var(--red); color:#fff !important; font-weight:700; text-decoration:none; border:2px solid var(--red); font-size:1rem; cursor:pointer; }
.btn:hover { filter:brightness(.95); }
.btn-sm { min-height:44px; padding:0 14px; }
.btn-ghost { background:transparent; color:var(--navy) !important; border-color:var(--navy); }
.btn-light { background:#fff; color:var(--navy) !important; border-color:#fff; }
.ctas { display:flex; gap:12px; flex-wrap:wrap; margin-top:24px; }
@media (max-width:480px) { .ctas .btn { flex:1 1 100%; } }

.hero { background:linear-gradient(180deg,var(--light),#fff); padding:56px 0 40px; }
.eyebrow { color:var(--red); font-weight:700; text-transform:uppercase; letter-spacing:.06em; font-size:.85rem; margin:0 0 8px; }
h1 { font-size:clamp(2rem,6vw,3.2rem); line-height:1.12; color:var(--navy); margin:0 0 16px; }
h2 { font-size:clamp(1.5rem,4vw,2rem); color:var(--navy); margin:0 0 12px; line-height:1.2; }
h3 { color:var(--navy); margin:0 0 6px; font-size:1.15rem; }
.lead { font-size:1.15rem; color:var(--muted); max-width:640px; }
.quiet { color:var(--muted); }
.small { font-size:.85rem; }
.block { padding:48px 20px; }

.proof { background:var(--navy); color:#fff; padding:28px 0; }
.proof .quiet { color:var(--gray); margin:16px auto 0; }
.stats { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; text-align:center; }
.stats b { display:block; font-size:clamp(1.4rem,5vw,2rem); }
.stats span { color:var(--gray); font-size:.95rem; }
@media (max-width:480px) { .stats { grid-template-columns:1fr; } }

.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:16px; margin-top:20px; }
.cards article { border:1px solid var(--gray); border-radius:12px; padding:20px; border-top:4px solid var(--red); }
.cards p { margin:0; color:var(--muted); }

.band { background:var(--light); }
.checks { list-style:none; padding:0; margin:12px 0; }
.checks li { padding:6px 0 6px 32px; position:relative; }
.checks li::before { content:""; position:absolute; left:4px; top:12px; width:14px; height:8px; border-left:3px solid var(--red); border-bottom:3px solid var(--red); transform:rotate(-45deg); }
.steps { padding-left:1.4em; }
.steps li { margin:10px 0; }

.price-teaser { text-align:center; }
.price-teaser h2, .price { font-size:3rem; color:var(--navy); margin:0; font-weight:800; }
.price-teaser small, .price small { font-size:1.1rem; color:var(--muted); font-weight:600; }
.plan { border:2px solid var(--navy); border-radius:16px; padding:28px; margin:20px 0; }

.cta { background:var(--red); color:#fff; padding:48px 0; text-align:center; }
.cta h2 { color:#fff; }

.form { display:grid; gap:18px; margin-top:20px; }
.form label { display:grid; gap:6px; font-weight:600; }
.form input, .form select, .form textarea { font:inherit; padding:12px 14px; border:1px solid #9aa7b6; border-radius:10px; min-height:52px; width:100%; background:#fff; }
.form textarea { min-height:120px; }
.error { color:#a01818; font-weight:600; }
.hp { position:absolute; left:-5000px; width:1px; height:1px; overflow:hidden; }

.legal h2 { font-size:1.25rem; margin-top:28px; }

.foot { background:var(--navy); color:var(--gray); padding:32px 0; margin-top:24px; font-size:.95rem; }
.foot a { color:#fff; }
.foot nav { display:flex; flex-wrap:wrap; gap:4px 16px; margin-bottom:12px; }
.foot nav a { min-height:44px; display:inline-flex; align-items:center; }
