/* ============================================================
   ANNUAL RETURN FILING LANDING PAGE
   (core/templates/core/service_pages/annual-return-filing.html)

   Loaded with service-pages.css, which supplies the shared pieces (.cs-grid,
   sticky .cs-rail, cards, quote factors, FAQ grid, reviews, offices, related).
   Everything here is prefixed .ar- and is this page's own look.

   A lighter build than the CRA pages: PETROL blue on a pale mint-grey page with a
   PEACH accent. Hero = text left, due-date finder right. Body = two side-by-side
   cards (alternatives), a tile grid, a short list, and four numbered steps (a true
   sequence). No thick bars on cards; cards use a tinted fill and an icon tile.

   Palette: petrol #0f3d4c (white on it 11:1), deep petrol #0a2d39, mint page
   #eef6f5 / #e2efed (line #c4dcd8), peach #f59e6c (petrol text on it 5.5:1) and
   peach tint #fdeadc, amber ink #9a4a12 on light (6:1), slate text #1b3640 /
   #34505a. No red; the only motion is a short hover lift.
   ============================================================ */

.ar-hero {
    position: relative;
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, sans-serif;
    color: #0f3d4c;
    background: linear-gradient(180deg, #eef6f5 0%, #e2efed 100%) !important;
    border-bottom: 4px solid #f59e6c;
    padding: clamp(1.25rem, 2.5vw, 2rem) 0 clamp(1.75rem, 3.5vw, 2.75rem) !important;
    overflow: clip;
}
/* Same left/right edge as the rest of the redesign (see .cs-body in service-pages.css). */
.ar-hero > .container {
    max-width: none;
    width: 100%;
    padding-left: clamp(1.5rem, 6vw, 7rem);
    padding-right: clamp(1.5rem, 6vw, 7rem);
}
@media (min-width: 1280px) {
    .ar-hero > .container { padding-right: max(clamp(1.5rem, 6vw, 7rem), 108px); }
}

.ar-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.8rem; font-weight: 600; color: #34505a; margin-bottom: clamp(0.9rem, 2.5vw, 1.4rem); }
.ar-crumbs a { display: inline-flex; align-items: center; min-height: 36px; color: #34505a; text-decoration: none; }
.ar-crumbs a:hover { color: #0f3d4c; text-decoration: underline; }
.ar-crumbs span[aria-current] { color: #0f3d4c; }
.ar-crumbs span[aria-hidden] { color: #7fa3a8; }

.ar-hero-grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.ar-eyebrow { display: inline-block; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #9a4a12; background: #fdeadc; border: 1px solid #f3c29f; border-radius: 999px; padding: 0.32rem 0.85rem; margin-bottom: 1rem; }
.ar-hero h1 { font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: clamp(1.9rem, 4.2vw, 3.2rem); font-weight: 700; line-height: 1.08; letter-spacing: -0.02em; color: #0f3d4c; margin: 0 0 1rem; }
.ar-intro { max-width: 40rem; font-size: 1.04rem; line-height: 1.7; color: #1b3640; margin: 0 0 1rem; }
.ar-points { list-style: none; margin: 0 0 1.4rem; padding: 0; display: grid; gap: 0.45rem; }
.ar-points li { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.92rem; font-weight: 600; line-height: 1.45; color: #0f3d4c; }
.ar-points .cs-ico { flex-shrink: 0; width: 20px; height: 20px; margin-top: 0.05rem; padding: 3px; border-radius: 50%; color: #0f3d4c; background: #f59e6c; stroke-width: 3; }
.ar-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ar-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; min-height: 48px; padding: 0.8rem 1.45rem; font-size: 0.95rem; font-weight: 800; text-decoration: none; border-radius: 12px; border: 2px solid transparent; transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease; }
.ar-btn .cs-ico { width: 17px; height: 17px; }
.ar-btn-peach { color: #0f3d4c; background: #f59e6c; box-shadow: 0 4px 0 #9a4a12; }
.ar-btn-ghost { color: #0f3d4c; background: transparent; border-color: #0f3d4c; }
.ar-btn:focus-visible, .ar-kind:focus-visible, .ar-send:focus-visible { outline: 3px solid #9a4a12; outline-offset: 3px; }
.ar-noscript { margin: 1.25rem 0 0; padding: 0.9rem 1.1rem; font-size: 0.9rem; color: #0f3d4c; background: #ffffff; border: 1px dashed #9a4a12; border-radius: 14px; }

/* The due-date finder */
.ar-finder { padding: 1.25rem 1.25rem 1.35rem; background: #ffffff; border: 1px solid #c4dcd8; border-radius: 22px; box-shadow: 0 28px 44px -34px rgba(15, 61, 76, 0.6); }
.ar-finder[hidden] { display: none; }
@media (min-width: 992px) { .ar-hero-main { position: sticky; top: 1.25rem; } }
.ar-finder-head { display: flex; gap: 0.85rem; align-items: center; margin-bottom: 1rem; }
.ar-finder-ico { display: grid; place-items: center; flex: 0 0 46px; width: 46px; height: 46px; color: #f59e6c; background: #0f3d4c; border-radius: 14px; }
.ar-finder-ico .cs-ico { width: 24px; height: 24px; }
.ar-finder h2 { margin: 0; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.3rem; font-weight: 700; color: #0f3d4c; }
.ar-finder-head p { margin: 0.1rem 0 0; font-size: 0.84rem; color: #34505a; }
.ar-kinds { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.4rem; padding: 0.3rem; margin-bottom: 0.9rem; background: #eef6f5; border-radius: 14px; }
.ar-kind { min-height: 46px; padding: 0.4rem 0.6rem; font: inherit; font-size: 0.88rem; font-weight: 700; line-height: 1.25; color: #0f3d4c; background: transparent; border: 0; border-radius: 11px; cursor: pointer; transition: background 0.2s ease, color 0.2s ease; }
.ar-kind[aria-pressed="true"] { color: #ffffff; background: #0f3d4c; }
.ar-field { display: grid; gap: 0.3rem; }
.ar-field label { font-size: 0.86rem; font-weight: 700; color: #0f3d4c; }
.ar-field input { width: 100%; min-height: 46px; padding: 0.5rem 0.75rem; font: inherit; font-size: 1rem; font-weight: 600; color: #0f3d4c; background: #ffffff; border: 2px solid #c4dcd8; border-radius: 12px; }
.ar-field input:focus { outline: 3px solid #f59e6c; outline-offset: 1px; border-color: #0f3d4c; }
.ar-hint { font-size: 0.78rem; line-height: 1.4; color: #34505a; }
.ar-result { margin-top: 1rem; }
.ar-result:empty { display: none; }
.ar-res { padding: 1rem 1.05rem 1.1rem; background: #eef6f5; border-radius: 16px; }
.ar-res-title { display: flex; align-items: center; gap: 0.5rem; margin: 0 0 0.3rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.25rem; font-weight: 700; line-height: 1.2; color: #0f3d4c; }
.ar-res-title::before { content: ""; flex: 0 0 12px; width: 12px; height: 12px; background: #f59e6c; border-radius: 50%; }
.ar-res-text { margin: 0 0 0.6rem; font-size: 0.92rem; line-height: 1.6; color: #1b3640; }
.ar-res-points { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.35rem; }
.ar-res-points li { font-size: 0.86rem; line-height: 1.55; color: #1b3640; }
.ar-res-points li::marker { color: #9a4a12; }
.ar-send { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin-top: 0.85rem; padding: 0.6rem 0.9rem; font: inherit; font-size: 0.92rem; font-weight: 800; color: #ffffff; background: #0f3d4c; border: 0; border-radius: 12px; box-shadow: 0 4px 0 #0a2d39; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.ar-send:active { transform: translateY(2px); box-shadow: 0 2px 0 #0a2d39; }
.ar-disclaimer { display: block; margin-top: 0.55rem; font-size: 0.76rem; line-height: 1.45; color: #34505a; text-align: center; }

/* ---------- Body ---------- */
.ar-body .cs-sec h2::after { content: ""; display: block; width: 54px; height: 4px; margin-top: 0.55rem; background: linear-gradient(90deg, #0f3d4c, #f59e6c); border-radius: 4px; }
.ar-body .cs-jump a:hover { background: #fdeadc; color: #9a4a12; }
.ar-note { display: flex; gap: 0.75rem; align-items: flex-start; margin: 1rem 0 0; padding: 0.95rem 1.1rem; background: #eef6f5; border: 1px dashed #7fb0aa; border-radius: 14px; }
.ar-note .cs-ico { flex-shrink: 0; width: 22px; height: 22px; margin-top: 0.1rem; color: #0f3d4c; }
.ar-note span { font-size: 0.9rem; line-height: 1.6; color: #1b3640; }
.ar-more { margin: 0.8rem 0 0; }
.ar-more a { display: inline-flex; align-items: center; gap: 0.35rem; min-height: 36px; font-size: 0.92rem; font-weight: 800; color: #9a4a12; text-decoration: underline; text-underline-offset: 3px; }

.ar-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.ar-card { padding: 1.2rem 1.1rem 1.15rem; background: #eef6f5; border: 1.5px solid #c4dcd8; border-radius: 18px; }
.ar-card:nth-child(2) { background: #fdf3ea; border-color: #f3d4b8; }
.ar-card-ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 0.6rem; color: #f59e6c; background: #0f3d4c; border-radius: 13px; }
.ar-card-ico .cs-ico { width: 23px; height: 23px; }
.ar-card-tag { display: block; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #9a4a12; }
.ar-card h3 { margin: 0.15rem 0 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.2rem; color: #0f3d4c; }
.ar-card-lead { margin: 0 0 0.7rem; font-size: 0.92rem; font-weight: 700; color: #1b3640; }
.ar-card ul { margin: 0; padding-left: 1.05rem; display: grid; gap: 0.4rem; }
.ar-card li { font-size: 0.86rem; line-height: 1.55; color: #1b3640; }
.ar-card li::marker { color: #9a4a12; }

.ar-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }
.ar-tile { padding: 1rem 0.95rem 1.05rem; background: #ffffff; border: 1px solid #c4dcd8; border-radius: 16px; }
.ar-tile-ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 0.55rem; color: #9a4a12; background: #fdeadc; border-radius: 50%; }
.ar-tile-ico .cs-ico { width: 21px; height: 21px; }
.ar-tile h3 { margin: 0 0 0.25rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; line-height: 1.3; color: #0f3d4c; }
.ar-tile p { margin: 0; font-size: 0.84rem; line-height: 1.55; color: #1b3640; }

.ar-miss { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.ar-miss li { display: flex; gap: 0.8rem; align-items: flex-start; padding: 0.95rem 1rem; background: #fdf3ea; border: 1px solid #f3d4b8; border-radius: 16px; }
.ar-miss li:last-child { background: #eef6f5; border-color: #c4dcd8; }
.ar-miss-ico { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; color: #9a4a12; background: #ffffff; border-radius: 11px; }
.ar-miss li:last-child .ar-miss-ico { color: #0f3d4c; }
.ar-miss-ico .cs-ico { width: 20px; height: 20px; }
.ar-miss h3 { margin: 0 0 0.15rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; color: #0f3d4c; }
.ar-miss p { margin: 0; font-size: 0.86rem; line-height: 1.55; color: #1b3640; }

.ar-steps { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.9rem; }
.ar-steps li { position: relative; display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 0.9rem; align-items: start; }
.ar-steps li:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 46px; bottom: -0.9rem; width: 2px; background: repeating-linear-gradient(180deg, #7fb0aa 0, #7fb0aa 6px, transparent 6px, transparent 12px); }
.ar-step-num { position: relative; z-index: 1; display: grid; place-items: center; width: 44px; height: 44px; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.15rem; font-weight: 700; color: #ffffff; background: #0f3d4c; border-radius: 50%; box-shadow: 0 0 0 4px #e2efed; }
.ar-step-card { display: flex; gap: 0.85rem; align-items: flex-start; padding: 0.95rem 1.05rem; background: #ffffff; border: 1px solid #c4dcd8; border-radius: 16px; }
.ar-step-ico { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; color: #f59e6c; background: #0f3d4c; border-radius: 12px; }
.ar-step-ico .cs-ico { width: 21px; height: 21px; }
.ar-step-card h3 { margin: 0 0 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; color: #0f3d4c; }
.ar-step-card p { margin: 0; font-size: 0.88rem; line-height: 1.6; color: #1b3640; }

.ar-incl .cs-tile, .ar-decides .cs-tile { color: #0f3d4c; background: linear-gradient(140deg, #ffffff, #d8ebe8); border-color: #a9cfc9; transition: transform 0.3s cubic-bezier(0.3, 1.5, 0.5, 1), background 0.25s, color 0.25s; }
.ar-incl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.25rem; }
.ar-incl li { display: flex; gap: 0.8rem; align-items: flex-start; }
.ar-incl h3 { margin: 0 0 0.15rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; color: #0f3d4c; }
.ar-incl p { margin: 0; font-size: 0.87rem; line-height: 1.55; color: #34505a; }
.ar-decides { display: flex; gap: 0.9rem; align-items: flex-start; margin-top: 1.2rem; padding: 1.05rem 1.2rem; background: #0f3d4c; border-radius: 16px; }
.ar-decides .cs-tile { flex-shrink: 0; }
.ar-decides strong { display: block; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; color: #f59e6c; margin-bottom: 0.2rem; }
.ar-decides p { margin: 0; font-size: 0.9rem; line-height: 1.6; color: #e2efed; }

.ar-sources { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.ar-source { display: flex; align-items: center; gap: 0.8rem; min-height: 62px; padding: 0.75rem 0.9rem; color: inherit; text-decoration: none; background: #ffffff; border: 1px solid #c4dcd8; border-radius: 14px; box-shadow: 0 2px 0 #e2efed; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.ar-source:focus-visible { outline: 3px solid #9a4a12; outline-offset: 2px; }
.ar-source-ico { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; color: #f59e6c; background: #0f3d4c; border-radius: 11px; }
.ar-source-ico .cs-ico { width: 20px; height: 20px; }
.ar-source-text { flex: 1 1 auto; min-width: 0; }
.ar-source-text strong { display: block; font-size: 0.92rem; line-height: 1.3; color: #0f3d4c; }
.ar-source-text em { display: block; font-style: normal; font-size: 0.78rem; font-weight: 600; color: #34505a; }
.ar-source-go { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; color: #0f3d4c; background: #f59e6c; border-radius: 50%; transition: transform 0.2s ease; }
.ar-source-go .cs-ico { width: 16px; height: 16px; }

@media (hover: hover) and (pointer: fine) {
    .ar-btn-peach:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #9a4a12, 0 16px 26px -14px rgba(245, 158, 108, 0.8); }
    .ar-btn-ghost:hover { background: #0f3d4c; color: #ffffff; }
    .ar-kind[aria-pressed="false"]:hover { background: #d8ebe8; }
    .ar-send:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #0a2d39; }
    .ar-incl li:hover .cs-tile { transform: rotate(-8deg) scale(1.1); color: #f59e6c; background: #0f3d4c; border-color: transparent; }
    .ar-source:hover { border-color: #0f3d4c; transform: translateY(-3px); box-shadow: 0 2px 0 #e2efed, 0 16px 26px -16px rgba(15, 61, 76, 0.5); }
    .ar-source:hover .ar-source-go { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: reduce) {
    .ar-btn, .ar-kind, .ar-send, .ar-incl .cs-tile, .ar-source, .ar-source-go { transition: none !important; }
    .ar-btn:hover, .ar-send:hover, .ar-incl li:hover .cs-tile, .ar-source:hover, .ar-source:hover .ar-source-go { transform: none !important; }
}

@media (max-width: 1200px) { .ar-grid3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 991px) { .ar-hero-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) { .ar-two, .ar-miss, .ar-incl, .ar-sources { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) {
    .ar-actions .ar-btn { width: 100%; }
    .ar-grid3 { grid-template-columns: minmax(0, 1fr); }
    .ar-send { width: 100%; }
    .ar-steps li { grid-template-columns: 38px minmax(0, 1fr); gap: 0.7rem; }
    .ar-step-num { width: 38px; height: 38px; font-size: 1rem; }
    .ar-steps li:not(:last-child)::before { left: 18px; top: 40px; }
    .ar-step-card { flex-direction: column; gap: 0.6rem; }
}
