:root {
    --ink: #081a3d;
    --ink-soft: #203967;
    --muted: #647392;
    --line: #dfe7f5;
    --wash: #f5f8ff;
    --blue: #175df6;
    --blue-deep: #1049c9;
    --cyan: #0bbfc6;
    --violet: #7351ff;
    --orange: #ff9d28;
    --pink: #ec5795;
    --green: #23b66a;
    --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: #fff;
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 16px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .13em;
    line-height: 1.2;
    text-transform: uppercase;
}
.eyebrow::before { width: 18px; height: 2px; background: currentColor; content: ""; }
.section { padding: 112px 0; }
.section--soft { background: var(--wash); }
.section-head { max-width: 750px; margin: 0 auto 48px; text-align: center; }
.section-head .eyebrow { justify-content: center; }
.title {
    margin: 0;
    color: var(--ink);
    font-size: clamp(32px, 4vw, 50px);
    font-weight: 760;
    letter-spacing: -.057em;
    line-height: 1.08;
}
.lead { margin: 18px 0 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.section-head .lead { margin-right: auto; margin-left: auto; }
.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 52px;
    padding: 0 22px;
    border: 1px solid transparent;
    border-radius: 11px;
    background: var(--blue);
    box-shadow: 0 10px 23px rgba(23, 93, 246, .18);
    color: #fff;
    font-size: 14px;
    font-weight: 760;
    text-decoration: none;
    transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { background: var(--blue-deep); box-shadow: 0 14px 28px rgba(23, 93, 246, .25); transform: translateY(-2px); }
.button svg { width: 17px; height: 17px; }
.button--quiet { border-color: #cad7f3; background: #fff; box-shadow: none; color: var(--ink); }
.button--quiet:hover { border-color: #aebfe8; background: #f8faff; color: var(--blue); box-shadow: none; }

/* Hero — the brand and contact information deliberately live here, not in a separate header. */
.hero { position: relative; isolation: isolate; min-height: 760px; overflow: hidden; padding: 26px 0 66px; }
.hero::before {
    position: absolute;
    z-index: -2;
    top: -340px;
    left: 50%;
    width: min(1300px, 110vw);
    height: 920px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(88, 137, 255, .16), transparent 65%);
    content: "";
    transform: translateX(-12%);
}
.hero::after {
    position: absolute;
    z-index: -1;
    right: -180px;
    bottom: 10px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(99, 139, 245, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 76px rgba(99, 139, 245, .025), 0 0 0 152px rgba(99, 139, 245, .012);
    content: "";
}
.hero-top { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 8px 0 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-size: 22px; font-weight: 830; letter-spacing: -.06em; text-decoration: none; }
.brand-mark { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 12px; background: var(--blue); box-shadow: 0 8px 18px rgba(23, 93, 246, .27); color: #fff; }
.brand-mark svg { width: 22px; height: 22px; }
.hero-top .brand { font-size: 36px; }
.hero-top .brand-mark { width: 44px; height: 44px; border-radius: 13px; }
.contact-links { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 10px 21px; }
.contact-links a { display: inline-flex; align-items: center; gap: 7px; color: #30466f; font-size: 17px; font-weight: 680; text-decoration: none; }
.contact-links a:hover { color: var(--blue); }
.contact-links svg { width: 16px; height: 16px; color: var(--blue); }
.hero-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(520px, 1.14fr); align-items: center; gap: 28px; }
.hero-copy { position: relative; z-index: 3; padding: 35px 0; }
.hero-copy h1 { max-width: 600px; margin: 0; font-size: clamp(45px, 5.1vw, 70px); font-weight: 780; letter-spacing: -.071em; line-height: 1.01; }
.hero-copy h1 em { color: var(--blue); font-style: normal; }
.hero-copy p { max-width: 546px; margin: 24px 0 0; color: #455d88; font-size: 18px; line-height: 1.66; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.hero-proof { display: flex; flex-wrap: wrap; gap: 13px 24px; margin: 34px 0 0; padding: 0; list-style: none; }
.hero-proof li { display: flex; align-items: center; gap: 8px; color: #344972; font-size: 12px; font-weight: 680; }
.hero-proof svg { width: 19px; height: 19px; padding: 4px; border-radius: 50%; background: var(--blue); color: #fff; }

/* Company at the centre, accounting services around it. */
.orbit { position: relative; min-height: 590px; margin: -4px -55px -28px 0; }
.orbit::before { position: absolute; inset: 78px 53px 37px; border: 1px solid rgba(75, 118, 231, .1); border-radius: 50%; content: ""; }
.orbit::after { position: absolute; inset: 152px 132px 109px; border: 1px dashed rgba(75, 118, 231, .17); border-radius: 50%; content: ""; }
.orbit-lines { position: absolute; z-index: 1; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.orbit-lines path { fill: none; stroke: #80a0f5; stroke-dasharray: 2 7; stroke-linecap: round; stroke-width: 1.5; opacity: .64; transition: opacity .25s ease, stroke-width .25s ease; }
.orbit-lines .line-violet { stroke: #967cff; }
.orbit-lines .line-cyan { stroke: #13c2ca; }
.orbit-lines .line-orange { stroke: #ff9d28; }
.orbit-lines .line-pink { stroke: #ed5e99; }
.orbit-lines .active { opacity: 1; stroke-width: 2.7; }
.company-card {
    position: absolute;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    top: 174px;
    left: 50%;
    width: 254px;
    padding: 25px 20px 21px;
    overflow: hidden;
    border: 1px solid rgba(204, 216, 244, .96);
    border-radius: 20px;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 28px 58px rgba(24, 59, 138, .16), 0 8px 20px rgba(26, 50, 96, .08);
    text-align: center;
    transform: translateX(-50%);
    backdrop-filter: blur(10px);
}
.company-card::before { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: linear-gradient(90deg, var(--blue), var(--cyan), var(--violet)); content: ""; }
.company-icon { display: grid; width: 49px; height: 49px; place-items: center; margin: 0 0 13px; border-radius: 15px; background: #e9f1ff; color: var(--blue); }
.company-icon svg { width: 27px; height: 27px; }
.company-card strong { display: block; font-size: 26px; letter-spacing: -.055em; line-height: 1.05; }
.company-card span { display: block; margin-top: 9px; color: #637491; font-size: 13px; line-height: 1.48; }
.company-card b { display: inline-block; margin-top: 14px; color: var(--blue); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.service-node {
    position: absolute;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 144px;
    height: 144px;
    padding: 15px 9px;
    border: 1px solid var(--node-color);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 13px 30px var(--node-shadow), inset 0 0 24px rgba(255, 255, 255, .8);
    color: var(--ink);
    text-align: center;
    text-decoration: none;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
    animation: float 7s ease-in-out infinite;
}
.service-node:hover, .service-node:focus-visible { background: #fff; box-shadow: 0 18px 37px var(--node-shadow), 0 0 0 7px var(--node-ring); outline: none; transform: translateY(-4px) scale(1.05); }
.service-node__icon { display: grid; width: 31px; height: 31px; place-items: center; margin-bottom: 7px; border-radius: 9px; background: var(--node-tint); color: var(--node-color); }
.service-node__icon svg { width: 19px; height: 19px; }
.service-node strong { font-size: 14px; letter-spacing: -.035em; line-height: 1.16; }
.service-node small { display: block; max-width: 106px; margin-top: 5px; color: #526384; font-size: 12px; line-height: 1.34; }
.node-accounting { --node-color:#0ebfc5; --node-tint:#e5fbfc; --node-shadow:rgba(14,191,197,.20); --node-ring:rgba(14,191,197,.1); top:0; left:42%; animation-delay:-1.2s; }
.node-tax { --node-color:#7957ff; --node-tint:#efeaff; --node-shadow:rgba(121,87,255,.20); --node-ring:rgba(121,87,255,.1); top:33px; right:2%; animation-delay:-3.4s; }
.node-payroll { --node-color:#ff922e; --node-tint:#fff1e4; --node-shadow:rgba(255,146,46,.20); --node-ring:rgba(255,146,46,.1); top:203px; right:-8%; animation-delay:-.7s; }
.node-hr { --node-color:#3483f6; --node-tint:#eaf3ff; --node-shadow:rgba(52,131,246,.20); --node-ring:rgba(52,131,246,.1); right:10%; bottom:0; animation-delay:-4.2s; }
.node-recovery { --node-color:#ed5696; --node-tint:#ffe9f1; --node-shadow:rgba(237,86,150,.20); --node-ring:rgba(237,86,150,.1); bottom:-18px; left:45%; animation-delay:-2.4s; }
.node-register { --node-color:#7650ff; --node-tint:#eeeaff; --node-shadow:rgba(118,80,255,.20); --node-ring:rgba(118,80,255,.1); bottom:79px; left:7%; animation-delay:-5.5s; }
.node-zero { --node-color:#f7a511; --node-tint:#fff4d9; --node-shadow:rgba(247,165,17,.20); --node-ring:rgba(247,165,17,.1); top:141px; left:6%; animation-delay:-2.8s; }
@keyframes float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -8px; } }

/* Why an expert accountant matters. */
.challenge-grid { display: grid; grid-template-columns: .88fr 1.12fr; align-items: center; gap: clamp(46px, 8vw, 125px); }
.challenge-copy .lead { max-width: 490px; }
.experience-note { position: relative; max-width: 470px; margin: 30px 0 0; padding: 22px 24px; border-left: 3px solid var(--blue); background: #fff; box-shadow: 0 14px 32px rgba(35, 61, 116, .07); color: #1e335b; font-size: 17px; font-weight: 650; letter-spacing: -.025em; line-height: 1.55; }
.experience-note::before { position: absolute; top: -17px; left: 18px; color: #d9e5ff; content: "“"; font-family: Georgia, serif; font-size: 64px; line-height: 1; }
.challenge-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.challenge-list li { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 20px; border: 1px solid #e3eaf7; border-radius: 14px; background: rgba(255, 255, 255, .74); transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.challenge-list li:hover { border-color: #b9cdfa; box-shadow: 0 12px 26px rgba(31, 74, 161, .08); transform: translateX(4px); }
.challenge-list svg { width: 42px; height: 42px; padding: 10px; border-radius: 11px; background: #e9f1ff; color: var(--blue); }
.challenge-list strong { display: block; margin-top: 1px; font-size: 14px; }
.challenge-list p { margin: 5px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }

/* Service detail cards. */
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.service-card { min-height: 255px; padding: 27px 24px; border: 1px solid var(--line); border-radius: 17px; background: #fff; box-shadow: 0 7px 18px rgba(38, 59, 101, .035); transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease; }
.service-card:hover { border-color: #c3d3f7; box-shadow: 0 17px 30px rgba(38, 59, 101, .09); transform: translateY(-5px); }
.service-card__icon { display: grid; width: 45px; height: 45px; place-items: center; margin-bottom: 21px; border-radius: 12px; background: var(--card-tint); color: var(--card-color); }
.service-card__icon svg { width: 24px; height: 24px; }
.service-card h3 { margin: 0; font-size: 17px; letter-spacing: -.04em; }
.service-card p { margin: 9px 0 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.service-card a { display: inline-block; margin-top: 14px; color: var(--blue); font-size: 12px; font-weight: 750; text-decoration: none; }
.service-card a:hover { text-decoration: underline; }

/* Engagement process from first contact to ongoing reporting. */
.process { padding: 104px 0 120px; }
.process-box { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; padding: 37px 34px 32px; border: 1px solid var(--line); border-radius: 19px; background: #fff; box-shadow: 0 20px 45px rgba(35, 61, 116, .055); }
.process-intro { grid-column: 1 / -1; max-width: 650px; margin: 0 auto 5px; padding: 0; text-align: center; }
.process-intro .eyebrow { justify-content: center; }
.process-intro h2 { margin: 0; font-size: clamp(25px, 2.8vw, 34px); letter-spacing: -.055em; line-height: 1.08; }
.process-intro p { margin: 14px 0 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.process-step { position: relative; padding: 13px 4px; text-align: center; }
.process-step:not(:last-child)::after { position: absolute; top: 49px; left: calc(50% + 38px); width: calc(100% - 50px); border-top: 1px dashed #9db8f9; content: ""; }
.process-step:not(:last-child)::before { position: absolute; z-index: 2; top: 45px; right: 2px; width: 7px; height: 7px; border-top: 1px solid #5285fb; border-right: 1px solid #5285fb; content: ""; transform: rotate(45deg); }
.step-number { position: absolute; top: 3px; left: calc(50% - 12px); display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--step-color); color: #fff; font-size: 10px; font-weight: 800; }
.step-icon { display: grid; width: 58px; height: 58px; place-items: center; margin: 17px auto 13px; border: 1px solid var(--step-color); border-radius: 50%; background: var(--step-tint); color: var(--step-color); box-shadow: 0 7px 18px var(--step-shadow); }
.step-icon svg { width: 25px; height: 25px; }
.process-step h3 { margin: 0; font-size: 14px; letter-spacing: -.035em; line-height: 1.25; }
.process-step p { margin: 8px 0 0; color: #596b8d; font-size: 12px; line-height: 1.48; }

/* Pricing is intentionally transparent, with a caveat for actual scope. */
.pricing-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; }
.plan { display: flex; flex-direction: column; min-height: 410px; padding: 25px 20px 21px; border: 1px solid #dce5f5; border-radius: 17px; background: #fff; box-shadow: 0 9px 24px rgba(35, 61, 116, .05); }
.plan--featured { position: relative; border-color: #8bb0ff; box-shadow: 0 18px 35px rgba(31, 85, 209, .13); transform: translateY(-12px); }
.plan-badge { position: absolute; top: 17px; right: 16px; padding: 5px 8px; border-radius: 20px; background: #e7efff; color: var(--blue); font-size: 8px; font-weight: 850; letter-spacing: .08em; }
.plan-name { color: #647697; font-size: 10px; font-weight: 800; letter-spacing: .13em; }
.plan h3 { margin: 13px 0 0; font-size: 20px; letter-spacing: -.055em; }
.plan-price { margin: 15px 0 0; font-size: 25px; font-weight: 790; letter-spacing: -.055em; line-height: 1; }
.plan-price small { color: #657593; font-size: 11px; font-weight: 650; letter-spacing: 0; }
.plan-scope { min-height: 57px; margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
.plan-rule { height: 1px; margin: 19px 0 17px; background: #e7ecf5; }
.plan ul { display: grid; gap: 10px; margin: 0 0 23px; padding: 0; list-style: none; }
.plan li { position: relative; padding-left: 17px; color: #4c6086; font-size: 11px; line-height: 1.42; }
.plan li::before { position: absolute; top: 4px; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #e5efff; box-shadow: inset 0 0 0 2.5px #4b83f7; content: ""; }
.plan .button { width: 100%; min-height: 45px; margin-top: auto; padding: 0 12px; font-size: 12px; }
.price-note { max-width: 810px; margin: 33px auto 0; color: #60718f; font-size: 12px; line-height: 1.65; text-align: center; }
.price-note strong { color: var(--ink); }

/* Contact form collects structured company details. */
.contact-section { padding: 110px 0; background: #fff; }
.contact-box { display: grid; grid-template-columns: .8fr 1.2fr; overflow: hidden; border: 1px solid #dce5f5; border-radius: 23px; background: #fff; box-shadow: 0 22px 50px rgba(35, 61, 116, .08); }
.contact-copy { position: relative; overflow: hidden; padding: 55px 47px; background: var(--ink); color: #fff; }
.contact-copy::before, .contact-copy::after { position: absolute; border-radius: 50%; content: ""; pointer-events: none; }
.contact-copy::before { top: -205px; left: -170px; width: 440px; height: 440px; background: radial-gradient(circle, rgba(24, 109, 255, .46), rgba(24, 109, 255, 0) 68%); }
.contact-copy::after { right: -210px; bottom: -235px; width: 480px; height: 480px; background: radial-gradient(circle, rgba(16, 196, 189, .25), rgba(16, 196, 189, 0) 67%); }
.contact-copy > * { position: relative; z-index: 1; }
.contact-copy .eyebrow { color: #9bc0ff; }
.contact-copy h2 { max-width: 390px; margin: 0; font-size: clamp(32px, 3.3vw, 45px); letter-spacing: -.06em; line-height: 1.07; }
.contact-copy p { max-width: 390px; margin: 18px 0 0; color: #b7c7e7; font-size: 15px; line-height: 1.7; }
.contact-details { display: grid; gap: 13px; margin: 34px 0 0; }
.contact-details a { display: inline-flex; align-items: center; gap: 10px; color: #fff; font-size: 13px; font-weight: 680; text-decoration: none; }
.contact-details a:hover { color: #a9c6ff; }
.contact-details svg { width: 19px; height: 19px; color: #8ab4ff; }
.contact-form { padding: 42px 45px; }
.form-title { margin: 0 0 24px; font-size: 21px; letter-spacing: -.04em; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.field { display: grid; gap: 7px; }
.field--wide { grid-column: 1 / -1; }
.field label { color: #31466e; font-size: 13px; font-weight: 780; letter-spacing: .02em; }
.field input, .field select, .field textarea { width: 100%; border: 1px solid #d8e1f1; border-radius: 10px; outline: none; background: #fbfcff; color: var(--ink); font-size: 13px; transition: border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.field input, .field select { height: 48px; padding: 0 13px; }
.field textarea { min-height: 92px; padding: 12px 13px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { border-color: #75a0fb; background: #fff; box-shadow: 0 0 0 4px rgba(53, 120, 247, .1); }
.form-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 22px; }
.form-privacy { max-width: 260px; margin: 0; color: #71809b; font-size: 10px; line-height: 1.5; }
.form-message { display: none; margin: 17px 0 0; padding: 10px 12px; border-radius: 9px; background: #e9f9ef; color: #177345; font-size: 12px; line-height: 1.5; }
.form-message.is-visible { display: block; }

/* FAQ. */
.faq-layout { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(42px, 8vw, 120px); }
.faq-layout .lead { max-width: 340px; }
.faq-list { border-top: 1px solid #dfe6f3; }
.faq-item { border-bottom: 1px solid #dfe6f3; }
.faq-question { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 18px; padding: 22px 2px; border: 0; background: transparent; color: var(--ink); font-size: 17px; font-weight: 720; text-align: left; }
.faq-question svg { flex: 0 0 auto; width: 18px; height: 18px; color: var(--blue); transition: transform .25s ease; }
.faq-answer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s ease; }
.faq-answer > div { overflow: hidden; }
.faq-answer p { margin: 0; padding: 0 42px 0 2px; color: var(--muted); font-size: 15px; line-height: 1.68; }
.faq-item.is-open .faq-answer { grid-template-rows: 1fr; }
.faq-item.is-open .faq-answer p { padding-bottom: 23px; }
.faq-item.is-open .faq-question svg { transform: rotate(45deg); }

/* Four simple, useful footer groups. */
.footer { padding: 72px 0 23px; background: #071735; color: #c7d3e8; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; padding-bottom: 54px; }
.footer .brand { color: #fff; }
.footer .brand-mark { box-shadow: none; }
.footer-about { max-width: 315px; margin: 17px 0 0; color: #9eb0cf; font-size: 13px; line-height: 1.68; }
.footer-company { margin: 17px 0 0; color: #6683b6; font-size: 10px; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.footer-contact { display: grid; gap: 8px; margin-top: 13px; }
.footer-contact a { display: inline-flex; align-items: center; gap: 8px; color: #adbed9; font-size: 12px; text-decoration: none; }
.footer-contact a:hover { color: #fff; }
.footer-contact svg { width: 15px; height: 15px; color: #78a5ff; }
.footer-heading { margin: 5px 0 17px; color: #fff; font-size: 12px; font-weight: 790; letter-spacing: .08em; text-transform: uppercase; }
.footer-links { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.footer-links a { color: #adbed9; font-size: 13px; text-decoration: none; }
.footer-links a:hover { color: #fff; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding-top: 21px; border-top: 1px solid rgba(184, 205, 240, .14); color: #7187ad; font-size: 11px; }
.footer-bottom a { color: inherit; text-decoration: none; }
.footer-bottom a:hover { color: #fff; }

@media (max-width: 1100px) {
    .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(465px, .9fr); }
    .orbit { margin-right: -110px; transform: scale(.88); transform-origin: center right; }
    .services-grid { grid-template-columns: repeat(2, 1fr); }
    .pricing-grid { grid-template-columns: repeat(3, 1fr); }
    .plan--featured { transform: none; }
    .contact-copy { padding: 48px 36px; }.contact-form { padding: 38px 34px; }
}
@media (max-width: 800px) {
    .shell { width: min(100% - 32px, 620px); }
    .section { padding: 80px 0; }
    .hero { min-height: auto; padding-top: 17px; }
    .hero::before { inset: 0; width: auto; height: auto; border-radius: 0; background: radial-gradient(circle at 79% 18%, rgba(88, 137, 255, .16), transparent 62%), linear-gradient(112deg, #fff 0%, #fbfcff 50%, #f1f5ff 100%); transform: none; }
    .hero-top { align-items: flex-start; padding-bottom: 8px; }.contact-links { max-width: 240px; gap: 7px 14px; }.contact-links a { font-size: 15px; }
    .hero-grid { grid-template-columns: 1fr; gap: 5px; }.hero-copy { padding: 31px 0 0; text-align: center; }.hero-copy h1, .hero-copy p { margin-right: auto; margin-left: auto; }.hero-actions, .hero-proof { justify-content: center; }
    /* A self-contained orbit avoids cropped desktop artwork on larger mobile browser viewports. */
    .orbit { width: min(100%, 620px); min-height: 560px; margin: 16px auto 0; transform: none; }
    .orbit::before { inset: 70px 0 28px; }.orbit::after { inset: 155px 84px 120px; }
    .company-card { top: 188px; width: 190px; padding: 21px 14px 17px; }.company-icon { width: 42px; height: 42px; margin-bottom: 10px; }.company-icon svg { width: 23px; height: 23px; }.company-card strong { font-size: 20px; }.company-card span { margin-top: 7px; font-size: 9px; }.company-card b { margin-top: 11px; font-size: 8px; }
    .service-node { width: 104px; height: 104px; padding: 10px 7px; }.service-node__icon { width: 27px; height: 27px; margin-bottom: 5px; }.service-node__icon svg { width: 16px; height: 16px; }.service-node strong { font-size: 12px; }.service-node small { max-width: 82px; margin-top: 4px; font-size: 10px; }
    .node-accounting { top: 0; left: calc(50% - 52px); }.node-tax { top: 42px; right: 2%; }.node-payroll { top: 205px; right: 0; }.node-hr { right: 12%; bottom: 0; }.node-recovery { bottom: -2px; left: calc(50% - 52px); }.node-register { bottom: 99px; left: 0; }.node-zero { top: 158px; left: 0; }
    .challenge-grid, .faq-layout, .contact-box { grid-template-columns: 1fr; gap: 0; }.challenge-copy { text-align: center; }.challenge-copy .lead, .experience-note { margin-right: auto; margin-left: auto; }.challenge-list { margin-top: 28px; }
    .process { padding: 75px 0; }.process-box { grid-template-columns: repeat(3, 1fr); gap: 12px; padding: 30px 18px 25px; }.process-intro { grid-column: 1 / -1; padding-right: 0; text-align: center; }.process-step:not(:last-child)::before, .process-step:not(:last-child)::after { display: none; }
    .pricing-grid { grid-template-columns: repeat(2, 1fr); }.pricing-grid .plan:last-child { grid-column: span 2; min-height: auto; }.pricing-grid .plan:last-child .plan-scope { min-height: 0; }
    .contact-copy, .contact-form { padding: 42px 30px; }.contact-copy { text-align: center; }.contact-copy h2, .contact-copy p { margin-right: auto; margin-left: auto; }.contact-details { justify-items: center; }
    .faq-layout { gap: 38px; }.faq-layout > div:first-child { text-align: center; }.faq-layout .lead { margin-right: auto; margin-left: auto; }
    .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 37px 25px; }.footer-grid > div:first-child { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
    .shell { width: calc(100% - 30px); }.section { padding: 65px 0; }
    .hero-top { flex-direction: column; gap: 14px; }.hero-top .brand { font-size: 42px; }.hero-top .brand-mark { width: 42px; height: 42px; }.contact-links { justify-content: flex-start; max-width: none; }.hero-copy h1 { font-size: 42px; }.hero-copy p { font-size: 16px; }.hero-actions { display: grid; }.hero-actions .button { width: 100%; }.hero-proof { display: grid; justify-content: start; gap: 10px; text-align: left; }
    /* Compact phone layout: all seven services remain legible without clipping. */
    .orbit { width: 100%; min-height: 470px; margin: 22px 0 0; transform: none; }
    .orbit::before { inset: 64px 0 22px; }.orbit::after { inset: 142px 48px 105px; }
    .company-card { top: 179px; width: 150px; padding: 17px 10px 14px; border-radius: 16px; }.company-icon { width: 35px; height: 35px; margin-bottom: 8px; border-radius: 11px; }.company-icon svg { width: 20px; height: 20px; }.company-card strong { font-size: 20px; }.company-card span { margin-top: 5px; font-size: 8px; }.company-card b { margin-top: 9px; font-size: 7px; }
    .service-node { width: 84px; height: 84px; padding: 7px 5px; }.service-node__icon { width: 23px; height: 23px; margin-bottom: 4px; border-radius: 7px; }.service-node__icon svg { width: 14px; height: 14px; }.service-node strong { font-size: 12px; line-height: 1.1; }.service-node small { display: none; }
    .node-accounting { top: 0; left: calc(50% - 42px); }.node-tax { top: 39px; right: 0; }.node-payroll { top: 184px; right: -2px; }.node-hr { right: 12%; bottom: 0; }.node-recovery { bottom: -3px; left: calc(50% - 42px); }.node-register { bottom: 84px; left: 0; }.node-zero { top: 145px; left: 0; }
    .section-head { margin-bottom: 33px; }.lead { font-size: 15px; }.services-grid { grid-template-columns: 1fr; }.service-card { min-height: auto; }
    .challenge-list li { grid-template-columns: 37px 1fr; gap: 12px; padding: 17px; }.challenge-list svg { width: 37px; height: 37px; padding: 8px; }.experience-note { font-size: 15px; text-align: left; }
    .process-box { grid-template-columns: repeat(2, 1fr); }.process-intro { text-align: center; }.process-step { padding-top: 17px; }.process-step:last-child { grid-column: span 2; }
    .pricing-grid { grid-template-columns: 1fr; }.pricing-grid .plan:last-child { grid-column: auto; }.plan { min-height: auto; }.plan-scope { min-height: auto; }
    .contact-section { padding: 65px 0; }.contact-copy, .contact-form { padding: 36px 21px; }.form-grid { grid-template-columns: 1fr; }.field--wide { grid-column: auto; }.form-footer { align-items: flex-start; flex-direction: column; }.form-footer .button { width: 100%; }
    .faq-question { font-size: 14px; }.faq-answer p { padding-right: 10px; }
    .footer { padding-top: 55px; }.footer-grid { grid-template-columns: 1fr; gap: 31px; padding-bottom: 38px; }.footer-grid > div:first-child { grid-column: auto; }.footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }.service-node { animation: none; }.service-node, .service-card, .challenge-list li, .button, .faq-answer, .faq-question svg { transition: none; }
}
