.page-hero{padding:clamp(76px,10vw,132px) 0;background:radial-gradient(circle at 82% 15%,rgba(40,104,236,.2),transparent 34%),linear-gradient(135deg,#0d253d,#102d4a);color:var(--on-dark)}
.page-hero .eyebrow{color:#a9c7ff;font-size:.78rem;font-weight:700;letter-spacing:.12em}
.page-hero h1{max-width:900px;margin:16px 0 20px;font-size:clamp(2.25rem,5.4vw,4.5rem);font-weight:600;line-height:1.14;letter-spacing:-.045em}
.page-hero>div>p:last-of-type{max-width:760px;margin:0;color:rgba(245,248,252,.82);font-size:clamp(1.05rem,1.6vw,1.25rem);line-height:1.75}
.content-section{padding:clamp(56px,7vw,92px) 0}
.content-section--soft{background:var(--surface-soft)}
.content-section h2,.content-heading h2{max-width:780px;margin:0 0 28px;font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.25;letter-spacing:-.035em}
.section-lead{max-width:720px;margin:-12px 0 30px;color:var(--muted)}
.topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.topic-grid--services{margin-top:26px}
.topic-card{min-height:220px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-raised);box-shadow:0 12px 26px -24px rgba(13,37,61,.45)}
.topic-card h3{margin:18px 0 9px;font-size:1.2rem;line-height:1.35}
.topic-card p{margin:0;color:var(--muted);line-height:1.7}
.topic-mark{display:inline-flex;min-width:36px;min-height:30px;align-items:center;justify-content:center;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.08em}
a.topic-card--link{display:flex;flex-direction:column;align-items:flex-start;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
a.topic-card--link:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:var(--shadow-blue)}
.topic-card--link .text-link{margin-top:auto;padding-top:20px}
.fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 36px;margin:0;border-top:1px solid var(--line)}
.fact-grid>div{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(0,1.5fr);gap:20px;padding:18px 0;border-bottom:1px solid var(--line)}
.fact-grid dt{color:var(--muted);font-size:.9rem;font-weight:600}
.fact-grid dd{margin:0;font-weight:500;overflow-wrap:anywhere}
.fact-grid a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.page-steps{display:grid;gap:0;max-width:920px;margin:0;padding:0;list-style:none;border-top:1px solid var(--line)}
.page-steps li{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.step-number{color:var(--accent);font-size:1.1rem;font-weight:700}
.page-steps h3{margin:0 0 5px;font-size:1.12rem}
.page-steps p{margin:0;color:var(--muted)}
.faq-list{max-width:900px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{position:relative;padding:20px 42px 20px 0;font-weight:650;cursor:pointer;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:8px;color:var(--accent);font-size:1.35rem;line-height:1}
.faq-list details[open] summary::after{content:"−"}
.faq-list details p{max-width:780px;margin:0;padding:0 36px 22px 0;color:var(--muted)}
.page-note{padding:clamp(24px,4vw,40px);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface-soft)}
.page-note .eyebrow{margin:0 0 9px;color:var(--accent);font-size:.76rem;font-weight:700;letter-spacing:.1em}
.page-note h2{margin:0 0 10px;font-size:clamp(1.3rem,2.2vw,1.8rem)}
.page-note p{max-width:900px;margin:0;color:var(--muted)}
.page-note .text-link{display:inline-block;margin-top:18px}
.page-note--small{margin-top:26px;padding:20px}
.page-cta{padding:clamp(56px,8vw,96px) 0;background:var(--surface-deep);color:var(--on-dark)}
.page-cta .eyebrow{color:#a9c7ff;font-size:.78rem;font-weight:700;letter-spacing:.12em}
.page-cta h2{max-width:760px;margin:10px 0 26px;font-size:clamp(1.7rem,3.6vw,2.8rem);line-height:1.25}
.contact-form-layout{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.2fr);gap:clamp(32px,7vw,92px);align-items:start}
.contact-form-layout>div>h2{margin:0 0 12px;font-size:clamp(1.6rem,3vw,2.2rem)}
.contact-form-layout>div>p{margin:0;color:var(--muted)}
.contact-form{display:grid;gap:16px}
.contact-form>label:not(.consent-row){display:grid;gap:7px;font-size:.92rem;font-weight:600}
.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{width:100%;min-height:48px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font:inherit}
.contact-form textarea{resize:vertical;min-height:118px}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.consent-row{display:flex;gap:11px;align-items:flex-start;font-size:.9rem;color:var(--muted)}
.consent-row input{width:20px;height:20px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--accent)}
.form-status{min-height:1.6em;margin:0;color:var(--muted);font-size:.9rem}
.not-found{width:min(720px,calc(100% - 40px));margin:12vh auto}
.not-found h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.2}
.not-found p{color:var(--muted)}
.not-found .button{display:inline-flex;margin:10px 8px 0 0}
@media(max-width:960px){.topic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-form-layout{grid-template-columns:1fr;gap:34px}}
@media(max-width:640px){.topic-grid,.fact-grid{grid-template-columns:1fr}.topic-card{min-height:unset;padding:22px}.fact-grid>div{grid-template-columns:minmax(95px,.65fr) minmax(0,1.35fr);gap:14px}.page-steps li{grid-template-columns:42px 1fr;gap:12px}.page-hero{padding-block:72px}.page-cta .button{width:100%}}
@media(prefers-reduced-motion:reduce){a.topic-card--link{transition:none}a.topic-card--link:hover{transform:none}}
