:root {
  --tsk-navy: #06243a;
  --tsk-blue: #0966a3;
  --tsk-cyan: #00a7c7;
  --tsk-aqua: #dff8fc;
  --tsk-ink: #102c3d;
  --tsk-muted: #527082;
  --tsk-line: #c9e3ea;
  --tsk-white: #fff;
  --tsk-warn: #ff5a1f;
}

.tsk-page { background: #f4fafc; color: var(--tsk-ink); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; line-height: 1.65; padding-bottom: 3rem; }
.tsk-page * { box-sizing: border-box; }
.tsk-page h1, .tsk-page h2, .tsk-page h3 { color: var(--tsk-navy); line-height: 1.12; margin-top: 0; }
.tsk-hero, .tsk-section, .tsk-links, .tsk-footnote { margin-inline: auto; max-width: 1120px; }
.tsk-hero { background: linear-gradient(125deg, #051d30 0%, #073f62 58%, #087a95 100%); border-radius: 0 0 32px 32px; color: #fff; overflow: hidden; padding: clamp(2.5rem, 7vw, 6rem) clamp(1.2rem, 6vw, 5rem); position: relative; }
.tsk-hero::after { background: radial-gradient(circle, rgba(255,255,255,.23) 0 2px, transparent 3px) 0 0/24px 24px; content: ""; inset: 0 0 0 54%; opacity: .33; position: absolute; }
.tsk-hero__pipe { border: 20px solid rgba(255,255,255,.08); border-left: 0; border-radius: 0 180px 180px 0; height: 230px; position: absolute; right: -40px; top: 34px; width: 230px; }
.tsk-eyebrow { color: #71e7f4; font-size: .78rem; font-weight: 800; letter-spacing: .14em; position: relative; z-index: 1; }
.tsk-hero h1 { color: #fff; font-size: clamp(2.15rem, 6vw, 4.6rem); max-width: 850px; position: relative; z-index: 1; }
.tsk-lead { font-size: clamp(1rem, 2vw, 1.28rem); max-width: 760px; position: relative; z-index: 1; }
.tsk-hero__actions, .tsk-contact__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.5rem; position: relative; z-index: 1; }
.tsk-button { align-items: center; border-radius: 10px; display: inline-flex; font-weight: 800; justify-content: center; min-height: 50px; padding: .78rem 1.25rem; text-decoration: none; transition: transform .2s ease, box-shadow .2s ease; }
.tsk-button:hover, .tsk-button:focus-visible { transform: translateY(-2px); }
.tsk-button--phone { background: var(--tsk-warn); box-shadow: 0 10px 30px rgba(255,90,31,.32); color: #fff; }
.tsk-button--form { background: #fff; color: var(--tsk-navy); }
.tsk-button--email { border: 2px solid var(--tsk-cyan); color: var(--tsk-navy); }
.tsk-scope-note { color: #d7f4fa; font-size: .88rem; margin-bottom: 0; position: relative; z-index: 1; }
.tsk-section, .tsk-links { background: #fff; border: 1px solid var(--tsk-line); border-radius: 18px; box-shadow: 0 8px 28px rgba(6,36,58,.06); margin-top: 1.2rem; padding: clamp(1.25rem, 4vw, 2.6rem); }
.tsk-section h2, .tsk-links h2 { font-size: clamp(1.45rem, 3vw, 2rem); }
.tsk-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tsk-grid article { background: linear-gradient(180deg, #f4fcfe, #fff); border: 1px solid var(--tsk-line); border-radius: 14px; padding: 1.2rem; }
.tsk-grid article > span { color: var(--tsk-cyan); font-size: .78rem; font-weight: 900; letter-spacing: .1em; }
.tsk-grid h3 { font-size: 1.08rem; margin: .4rem 0; }
.tsk-grid p { color: var(--tsk-muted); font-size: .93rem; margin: 0; }
.tsk-process ol { counter-reset: tsk-step; display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; padding: 0; }
.tsk-process li { border-left: 4px solid var(--tsk-cyan); padding: .75rem 1rem; }
.tsk-process strong, .tsk-process span { display: block; }
.tsk-process span { color: var(--tsk-muted); font-size: .92rem; margin-top: .3rem; }
.tsk-contact { background: linear-gradient(120deg, var(--tsk-aqua), #fff); }
.tsk-home-link { margin: 1rem 0 0; }
.tsk-home-link a { color: var(--tsk-blue); font-weight: 800; text-underline-offset: 3px; }
.tsk-link-group + .tsk-link-group { border-top: 1px solid var(--tsk-line); margin-top: 1.5rem; padding-top: 1.5rem; }
.tsk-link-group ul { display: grid; gap: .65rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; padding: 0; }
.tsk-link-group a { color: var(--tsk-blue); font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.tsk-footnote { color: var(--tsk-muted); font-size: .84rem; padding: 1.5rem 1rem 0; text-align: center; }
.tsk-existing-bridge { align-items: center; background: linear-gradient(120deg, #e5f9fc, #fff); border: 1px solid #9bdce7; border-radius: 14px; color: #06243a; display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; justify-content: space-between; margin: 1.25rem auto; max-width: 1120px; padding: 1rem 1.25rem; }
.tsk-existing-bridge a { background: #0966a3; border-radius: 9px; color: #fff; font-weight: 800; padding: .65rem 1rem; text-decoration: none; }
.tsk-pulse { animation: tsk-pulse 2.2s ease-in-out infinite; }
@keyframes tsk-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(255,90,31,.35), 0 10px 30px rgba(255,90,31,.25); } 50% { box-shadow: 0 0 0 10px rgba(255,90,31,0), 0 12px 34px rgba(255,90,31,.35); } }
@media (prefers-reduced-motion: reduce) { .tsk-pulse { animation: none; } .tsk-button { transition: none; } }
@media (max-width: 860px) { .tsk-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tsk-process ol { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .tsk-hero { border-radius: 0 0 20px 20px; } .tsk-grid, .tsk-link-group ul { grid-template-columns: 1fr; } .tsk-button, .tsk-existing-bridge a { width: 100%; } }
