/* ============================================================
   CRA ENFORCEMENT ACTIONS LANDING PAGE
   (core/templates/core/service_pages/cra-enforcement-actions.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 .ce- and is this page's own look.

   DESIGN BRIEF: every CRA page must look different. VDP, Unfiled and Relief are
   "text left, tool card right"; Audit Help is dark and centred with a tile
   board; Notice of Objection is a light violet page with a calculator. This
   page is DEEP FOREST GREEN with a lime accent: a dark full-width hero with a
   fan of three paper "documents" on the right (no tool card), then a
   full-width ACTION EXPLORER of four panels that expand one at a time (the
   actions are alternatives, so nothing is numbered or drawn as steps), then the
   usual content-plus-booking-rail section.

   Palette: ink-green #052e16 and forest #14532d / #166534 (white text on them
   is 14:1 / 9:1+), lime #bef264 / #a3e635 for accents on dark and #3f6212 for
   text on light, lime tints #f7fee7 / #ecfccb / #d9f99d, slate text #0f172a /
   #1e293b / #334155 / #475569, amber #fffbeb with #92400e for warnings. No red
   anywhere, and nothing loops: the only motion is a short hover lift and the
   panel width change.
   ============================================================ */

.ce-hero {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont,
        "Segoe UI", Roboto, sans-serif;
    color: #ffffff;
    background:
        radial-gradient(760px 340px at 0% -10%, rgba(190, 242, 100, 0.2) 0%, rgba(190, 242, 100, 0) 70%),
        radial-gradient(640px 320px at 100% 100%, rgba(74, 222, 128, 0.12) 0%, rgba(74, 222, 128, 0) 70%),
        linear-gradient(180deg, #052e16 0%, #0a3a1d 60%, #14532d 100%) !important;
    border-bottom: 4px solid #bef264;
    padding: clamp(1.25rem, 2.5vw, 2rem) 0 clamp(1.5rem, 3vw, 2.25rem) !important;
}
/* Same left/right edge as the rest of the redesign (see .cs-body in service-pages.css). */
.ce-hero > .container,
.ce-actions > .container {
    position: relative;
    max-width: none;
    width: 100%;
    padding-left: clamp(1.5rem, 6vw, 7rem);
    padding-right: clamp(1.5rem, 6vw, 7rem);
}
@media (min-width: 1280px) {
    .ce-hero > .container,
    .ce-actions > .container { padding-right: max(clamp(1.5rem, 6vw, 7rem), 108px); }
}

.ce-crumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #d9f99d;
    margin-bottom: clamp(0.9rem, 2.5vw, 1.4rem);
}
.ce-crumbs a { display: inline-flex; align-items: center; min-height: 36px; color: #ecfccb; text-decoration: none; }
.ce-crumbs a:hover { color: #bef264; text-decoration: underline; }
.ce-crumbs span[aria-current] { color: #ffffff; }
.ce-crumbs span[aria-hidden] { color: #86a98f; }

.ce-hero-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(1.5rem, 5vw, 4rem); align-items: start; }
.ce-eyebrow {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    color: #bef264;
    background: rgba(190, 242, 100, 0.12);
    border: 1px solid rgba(190, 242, 100, 0.5);
    border-radius: 999px;
    padding: 0.32rem 0.85rem;
    margin-bottom: 1rem;
}
.ce-hero h1 {
    font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif;
    font-size: clamp(1.9rem, 4.4vw, 3.45rem);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -0.02em;
    color: #ffffff;
    margin: 0 0 1.1rem;
}
.ce-hero-intro { font-size: 1.05rem; line-height: 1.7; color: #e3f6c9; max-width: 680px; margin: 0 0 1.1rem; }
.ce-hero-points { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; gap: 0.45rem; }
.ce-hero-points li { display: flex; align-items: flex-start; gap: 0.55rem; font-size: 0.93rem; font-weight: 600; line-height: 1.45; color: #f7fee7; }
.ce-hero-points .cs-ico { flex-shrink: 0; width: 20px; height: 20px; margin-top: 0.05rem; padding: 3px; border-radius: 50%; color: #052e16; background: #bef264; stroke-width: 3; }
.ce-hero-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }

.ce-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, border-color 0.2s ease;
}
.ce-btn .cs-ico { width: 17px; height: 17px; }
.ce-btn-lime { color: #052e16; background: #bef264; box-shadow: 0 4px 0 #3f6212; }
.ce-btn-ghost { color: #ffffff; background: transparent; border-color: rgba(255, 255, 255, 0.5); }
.ce-btn:focus-visible, .ce-doc a:focus-visible, .ce-panel-btn:focus-visible, .ce-send:focus-visible, .ce-input:focus-visible { outline: 3px solid #bef264; outline-offset: 3px; }

.ce-hero-docs { padding-top: 0.45rem; }
/* The fan of documents */
.ce-docs-title { margin: 0 0 0.9rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: #bef264; }
/* The cards are capped in width on purpose: a tilted box moves its corners up and down in
   proportion to its width, so a very wide card on a very wide screen would ride over its
   neighbour. At 560px the tilt moves a corner about 8px, well inside the gap. */
.ce-docs { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.35rem; max-width: 560px; }
.ce-doc a {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 1.2rem 1.2rem;
    color: #052e16;
    text-decoration: none;
    background: #fffdf2;
    border: 1px solid #e7e5c4;
    border-radius: 6px;
    box-shadow: 0 18px 30px -18px rgba(0, 0, 0, 0.7), 0 2px 0 #d9d6a8;
    transition: transform 0.25s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.25s ease;
}
.ce-doc-1 { transform: rotate(-1.6deg) translateX(-10px); }
.ce-doc-2 { transform: rotate(1.2deg) translateX(14px); }
.ce-doc-3 { transform: rotate(-0.8deg) translateX(-2px); }
.ce-doc-ico { display: grid; place-items: center; flex: 0 0 44px; width: 44px; height: 44px; color: #bef264; background: #14532d; border-radius: 12px; }
.ce-doc-ico .cs-ico { width: 23px; height: 23px; }
.ce-doc-text { flex: 1 1 auto; min-width: 0; }
.ce-doc-text strong { display: block; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.1rem; line-height: 1.25; color: #052e16; }
.ce-doc-text span { display: block; margin-top: 0.15rem; font-size: 0.85rem; line-height: 1.45; color: #334155; }
.ce-doc-go { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; color: #052e16; background: #bef264; border-radius: 50%; }
.ce-doc-go .cs-ico { width: 15px; height: 15px; }

.ce-scam { display: flex; gap: 0.6rem; align-items: flex-start; margin: 1.4rem 0 0; padding: 0.85rem 1rem; font-size: 0.86rem; line-height: 1.55; color: #e3f6c9; background: rgba(255, 255, 255, 0.07); border: 1px solid rgba(190, 242, 100, 0.35); border-radius: 12px; }
.ce-scam .cs-ico { flex-shrink: 0; width: 20px; height: 20px; margin-top: 0.1rem; color: #bef264; }

/* ---------- Action explorer ---------- */
.ce-actions {
    font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    background: #f7fee7 !important;
    border-bottom: 1px solid #d9f99d;
    padding: clamp(2rem, 4vw, 3rem) 0 clamp(2rem, 4vw, 3rem) !important;
}
.ce-actions h2 { margin: 0 0 0.5rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: clamp(1.5rem, 3vw, 2.15rem); font-weight: 700; color: #052e16; }
.ce-actions h2::after { content: ""; display: block; width: 54px; height: 4px; margin-top: 0.55rem; background: linear-gradient(90deg, #166534, #a3e635); border-radius: 4px; }
.ce-actions-intro { max-width: 760px; margin: 0.9rem 0 1.4rem; font-size: 1rem; line-height: 1.65; color: #334155; }

.ce-explorer { display: flex; flex-direction: column; gap: 0.75rem; }
.ce-panel { display: flex; flex-direction: column; min-width: 0; overflow: hidden; background: #ffffff; border: 1.5px solid #bbf7d0; border-radius: 20px; }
.ce-panel h3 { margin: 0; }
.ce-panel-btn { display: flex; align-items: center; gap: 0.8rem; width: 100%; padding: 0.95rem 1.1rem; font: inherit; text-align: left; color: #ffffff; background: #14532d; border: 0; cursor: pointer; }
.ce-panel-ico { display: grid; place-items: center; flex: 0 0 42px; width: 42px; height: 42px; color: #052e16; background: #bef264; border-radius: 12px; }
.ce-panel-ico .cs-ico { width: 22px; height: 22px; }
.ce-panel-name { font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.2rem; font-weight: 700; line-height: 1.2; }
.ce-panel-tag { margin-left: auto; font-size: 0.8rem; font-weight: 600; color: #d9f99d; text-align: right; }
.ce-panel-body { padding: 1.2rem 1.25rem 1.3rem; }
.ce-panel-body[hidden] { display: none; }
.ce-panel-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 1.5rem; }
.ce-panel-cols > div:first-child { grid-column: 1 / -1; }
.ce-panel-cols h4 { margin: 0 0 0.35rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; color: #3f6212; }
.ce-panel-cols p { margin: 0; font-size: 0.95rem; line-height: 1.65; color: #1e293b; }
.ce-panel-cols ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.4rem; }
.ce-panel-cols li { font-size: 0.9rem; line-height: 1.55; color: #1e293b; }
.ce-panel-cols li::marker { color: #3f6212; }
.ce-panel-can { padding: 0.9rem 1rem; background: #ecfccb; border: 1px solid #bef264; border-radius: 14px; align-self: start; }

/* Wide screens: the four panels sit side by side and the open one grows.
   Below 1200px they stack as a plain accordion, which reads better on tablets. */
@media (min-width: 1200px) {
    .ce-explorer.is-js { flex-direction: row; min-height: 430px; }
    .ce-explorer.is-js .ce-panel { flex: 1 1 0; transition: flex-grow 0.35s ease; }
    .ce-explorer.is-js .ce-panel.is-open { flex: 5 1 0; }
    .ce-explorer.is-js .ce-panel:not(.is-open) h3 { flex: 1 1 auto; display: flex; }
    .ce-explorer.is-js .ce-panel:not(.is-open) .ce-panel-btn { flex-direction: column; justify-content: flex-start; align-items: center; gap: 1rem; height: 100%; padding: 1.1rem 0.5rem; text-align: center; }
    .ce-explorer.is-js .ce-panel:not(.is-open) .ce-panel-name { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 1.05rem; white-space: nowrap; }
    .ce-explorer.is-js .ce-panel:not(.is-open) .ce-panel-tag { display: none; }
    .ce-explorer.is-js .ce-panel:not(.is-open) { background: #14532d; border-color: #14532d; }
    .ce-explorer.is-js .ce-panel.is-open .ce-panel-btn { cursor: default; }
}

/* ---------- Body ---------- */
.ce-body .cs-sec h2::after { content: ""; display: block; width: 54px; height: 4px; margin-top: 0.55rem; background: linear-gradient(90deg, #166534, #a3e635); border-radius: 4px; }
.ce-body .cs-jump a:hover { background: #ecfccb; color: #14532d; }
.ce-note { display: flex; gap: 0.75rem; align-items: flex-start; margin: 1rem 0 0; padding: 0.95rem 1.1rem; background: #f7fee7; border: 1px dashed #84cc16; border-radius: 14px; }
.ce-note .cs-ico { flex-shrink: 0; width: 22px; height: 22px; margin-top: 0.1rem; color: #3f6212; }
.ce-note span { font-size: 0.9rem; line-height: 1.6; color: #1e293b; }

/* Before the CRA acts: three counters */
.ce-counters { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.85rem; }
.ce-counter { padding: 1.1rem 1rem 1.1rem; background: linear-gradient(175deg, #ecfccb 0%, #ffffff 75%); border: 1px solid #bef264; border-radius: 16px; }
.ce-counter-num { display: block; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 2.4rem; font-weight: 700; line-height: 1; color: #166534; }
.ce-counter-label { display: block; margin: 0.3rem 0 0.5rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #14532d; }
.ce-counter p { margin: 0; font-size: 0.86rem; line-height: 1.55; color: #1e293b; }

/* A garnishment: a real process, drawn as a flow */
.ce-flow { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.3rem; }
.ce-flow li { position: relative; padding: 1.1rem 0.95rem 1rem; background: #ffffff; border: 1px solid #bbf7d0; border-radius: 16px; }
.ce-flow li:not(:last-child)::after { content: ""; position: absolute; top: 50%; right: -1.15rem; width: 0.95rem; height: 0.95rem; margin-top: -0.475rem; border-top: 3px solid #84cc16; border-right: 3px solid #84cc16; transform: rotate(45deg); }
.ce-flow-ico { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 0.55rem; color: #bef264; background: #14532d; border-radius: 12px; }
.ce-flow-ico .cs-ico { width: 21px; height: 21px; }
.ce-flow h3 { margin: 0 0 0.25rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; line-height: 1.25; color: #052e16; }
.ce-flow p { margin: 0; font-size: 0.84rem; line-height: 1.5; color: #334155; }

/* Options */
.ce-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.ce-opt { display: block; padding: 1.2rem 1.1rem 1.1rem; color: inherit; text-decoration: none; background: #ffffff; border: 1px solid #bbf7d0; border-radius: 16px; box-shadow: 0 2px 0 #d9f99d; transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease; }
.ce-opt-ico { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 0.7rem; color: #bef264; background: #14532d; border-radius: 13px; }
.ce-opt-ico .cs-ico { width: 23px; height: 23px; }
.ce-opt h3 { margin: 0 0 0.3rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.1rem; color: #052e16; }
.ce-opt p { margin: 0 0 0.7rem; font-size: 0.87rem; line-height: 1.55; color: #334155; }
.ce-opt-more { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; font-weight: 800; color: #3f6212; }
.ce-opt-more .cs-ico { width: 16px; height: 16px; }
.ce-opt:focus-visible, .ce-source:focus-visible { outline: 3px solid #65a30d; outline-offset: 2px; }

/* Payment plan: rules and the estimator */
.ce-plan { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: 1.1rem; align-items: start; }
.ce-rules { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.7rem; }
.ce-rules li { display: flex; gap: 0.8rem; align-items: flex-start; padding: 0.8rem 0.9rem; background: #ffffff; border: 1px solid #d9f99d; border-radius: 14px; }
.ce-rule-ico { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; color: #14532d; background: #ecfccb; border-radius: 11px; }
.ce-rule-ico .cs-ico { width: 20px; height: 20px; }
.ce-rules h3 { margin: 0 0 0.1rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 0.98rem; color: #052e16; }
.ce-rules p { margin: 0; font-size: 0.85rem; line-height: 1.5; color: #334155; }
.ce-est { padding: 1.2rem 1.15rem 1.15rem; color: #ffffff; background: linear-gradient(160deg, #052e16, #14532d); border-radius: 18px; box-shadow: 0 24px 40px -28px rgba(5, 46, 22, 0.8); }
.ce-est h3 { margin: 0 0 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.15rem; color: #ffffff; }
.ce-est-sub { margin: 0 0 0.8rem; font-size: 0.82rem; line-height: 1.45; color: #d9f99d; }
.ce-label { display: block; margin: 0.7rem 0 0.3rem; font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #bef264; }
.ce-money { display: flex; align-items: center; gap: 0.4rem; padding: 0 0.7rem; background: #ffffff; border-radius: 12px; border: 2px solid transparent; }
.ce-money span { font-size: 1.05rem; font-weight: 800; color: #14532d; }
.ce-input { flex: 1 1 auto; min-width: 0; min-height: 46px; padding: 0.5rem 0.2rem; font: inherit; font-size: 1.05rem; font-weight: 700; color: #052e16; background: transparent; border: 0; }
.ce-est-result { margin-top: 1rem; }
.ce-est-result[hidden] { display: none; }
.ce-res { padding: 0.8rem 0.9rem; border-radius: 12px; border: 1.5px solid; }
.ce-res strong { display: block; margin-bottom: 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; }
.ce-res p { margin: 0; font-size: 0.86rem; line-height: 1.55; }
.ce-res-ok { color: #1e293b; background: #ecfccb; border-color: #84cc16; }
.ce-res-ok strong { color: #14532d; }
.ce-res-clear { color: #1e293b; background: #ecfccb; border-color: #166534; }
.ce-res-clear strong { color: #14532d; }
.ce-res-long { color: #1e293b; background: #fffbeb; border-color: #d97706; }
.ce-res-long strong { color: #92400e; }
.ce-send { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin-top: 0.8rem; padding: 0.6rem 0.9rem; font: inherit; font-size: 0.92rem; font-weight: 800; color: #052e16; background: #bef264; border: 0; border-radius: 12px; box-shadow: 0 4px 0 #3f6212; cursor: pointer; transition: transform 0.2s ease, box-shadow 0.2s ease; }
.ce-send:active { transform: translateY(2px); box-shadow: 0 2px 0 #3f6212; }
.ce-disclaimer { display: block; margin-top: 0.6rem; font-size: 0.76rem; line-height: 1.4; color: #d9f99d; text-align: center; }

/* Business debts */
.ce-trust { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
.ce-trust li { display: flex; gap: 0.8rem; align-items: flex-start; padding: 1rem 1.05rem; background: #14532d; border-radius: 16px; }
.ce-trust-ico { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; color: #052e16; background: #bef264; border-radius: 12px; }
.ce-trust-ico .cs-ico { width: 21px; height: 21px; }
.ce-trust h3 { margin: 0 0 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.02rem; color: #ffffff; }
.ce-trust p { margin: 0; font-size: 0.86rem; line-height: 1.55; color: #e3f6c9; }

/* How long */
.ce-limit { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 1rem; align-items: start; }
.ce-limit-facts { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.8rem; }
.ce-limit-facts li { padding: 1rem 1.05rem; background: linear-gradient(175deg, #ecfccb 0%, #ffffff 80%); border: 1px solid #bef264; border-radius: 16px; }
.ce-limit-num { display: block; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 2.6rem; font-weight: 700; line-height: 1; color: #166534; }
.ce-limit-label { display: block; margin: 0.25rem 0 0.35rem; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #14532d; }
.ce-limit-facts p { margin: 0; font-size: 0.85rem; line-height: 1.5; color: #1e293b; }
.ce-limit-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.8rem; }
.ce-limit-col { padding: 1.05rem 1.05rem 1.1rem; border-radius: 16px; border: 1px solid; }
.ce-limit-restart { background: #fffbeb; border-color: #f0cf7f; }
.ce-limit-extend { background: #f1f5f9; border-color: #cbd5e1; }
.ce-limit-col h3 { margin: 0 0 0.55rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; color: #052e16; }
.ce-limit-col ul { margin: 0; padding-left: 1.1rem; display: grid; gap: 0.45rem; }
.ce-limit-col li { font-size: 0.87rem; line-height: 1.55; color: #1e293b; }
.ce-limit-restart li::marker { color: #b45309; }
.ce-limit-extend li::marker { color: #475569; }

/* Mistakes */
.ce-mistakes { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem; }
.ce-mistake { display: flex; gap: 0.85rem; align-items: flex-start; padding: 1rem 1.05rem; background: #f7fee7; border: 1px solid #bef264; border-radius: 16px; }
.ce-mistake-num { flex: 0 0 30px; display: grid; place-items: center; width: 30px; height: 30px; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 0.95rem; font-weight: 700; color: #ffffff; background: #14532d; border-radius: 50%; }
.ce-mistake h3 { margin: 0 0 0.2rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; color: #052e16; }
.ce-mistake p { margin: 0; font-size: 0.86rem; line-height: 1.55; color: #1e293b; }

/* Included, decides, sources */
.ce-incl .cs-tile, .ce-decides .cs-tile { color: #14532d; background: linear-gradient(140deg, #f7fee7, #d9f99d); border-color: #bef264; transition: transform 0.3s cubic-bezier(0.3, 1.5, 0.5, 1), background 0.25s, color 0.25s; }
.ce-incl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.85rem 1.25rem; }
.ce-incl li { display: flex; gap: 0.8rem; align-items: flex-start; }
.ce-incl h3 { margin: 0 0 0.15rem; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1rem; color: #052e16; }
.ce-incl p { margin: 0; font-size: 0.87rem; line-height: 1.55; color: #334155; }
.ce-decides { display: flex; gap: 0.9rem; align-items: flex-start; margin-top: 1.2rem; padding: 1.05rem 1.2rem; background: #14532d; border-radius: 16px; }
.ce-decides .cs-tile { flex-shrink: 0; }
.ce-decides strong { display: block; font-family: "Space Grotesk", "Plus Jakarta Sans", sans-serif; font-size: 1.05rem; color: #bef264; margin-bottom: 0.2rem; }
.ce-decides p { margin: 0; font-size: 0.9rem; line-height: 1.6; color: #e3f6c9; }
.ce-sources { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; }
.ce-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 #bbf7d0; border-radius: 14px; box-shadow: 0 2px 0 #d9f99d; transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease; }
.ce-source-ico { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; color: #bef264; background: #14532d; border-radius: 11px; }
.ce-source-ico .cs-ico { width: 20px; height: 20px; }
.ce-source-text { flex: 1 1 auto; min-width: 0; }
.ce-source-text strong { display: block; font-size: 0.92rem; line-height: 1.3; color: #052e16; }
.ce-source-text em { display: block; font-style: normal; font-size: 0.78rem; font-weight: 600; color: #475569; }
.ce-source-go { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; color: #052e16; background: #bef264; border-radius: 50%; transition: transform 0.2s ease; }
.ce-source-go .cs-ico { width: 16px; height: 16px; }

/* ---------- Hover (mouse only) ---------- */
@media (hover: hover) and (pointer: fine) {
    .ce-btn-lime:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #3f6212, 0 16px 26px -14px rgba(190, 242, 100, 0.7); }
    .ce-btn-ghost:hover { background: rgba(255, 255, 255, 0.1); border-color: #bef264; }
    .ce-doc a:hover { transform: translateY(-4px); box-shadow: 0 24px 34px -18px rgba(0, 0, 0, 0.75), 0 2px 0 #d9d6a8; }
    .ce-explorer.is-js .ce-panel:not(.is-open) .ce-panel-btn:hover { background: #166534; }
    .ce-send:hover { transform: translateY(-2px); box-shadow: 0 6px 0 #3f6212, 0 14px 22px -12px rgba(0, 0, 0, 0.6); }
    .ce-opt:hover { border-color: #65a30d; transform: translateY(-3px); box-shadow: 0 2px 0 #d9f99d, 0 16px 26px -16px rgba(5, 46, 22, 0.5); }
    .ce-incl li:hover .cs-tile { transform: rotate(-8deg) scale(1.1); color: #bef264; background: #14532d; border-color: transparent; }
    .ce-source:hover { border-color: #65a30d; background: #f7fee7; transform: translateY(-3px); box-shadow: 0 2px 0 #d9f99d, 0 16px 26px -16px rgba(5, 46, 22, 0.5); }
    .ce-source:hover .ce-source-go { transform: translate(2px, -2px); }
}
@media (prefers-reduced-motion: reduce) {
    .ce-btn, .ce-doc a, .ce-explorer .ce-panel, .ce-send, .ce-opt, .ce-incl .cs-tile, .ce-source, .ce-source-go { transition: none !important; }
    .ce-btn:hover, .ce-doc a:hover, .ce-send:hover, .ce-opt:hover, .ce-incl li:hover .cs-tile, .ce-source:hover, .ce-source:hover .ce-source-go { transform: none !important; }
}

/* ============ Responsive ============ */
@media (max-width: 1200px) {
    .ce-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ce-flow li:nth-child(2)::after { display: none; }
    .ce-plan { grid-template-columns: minmax(0, 1fr); }
    .ce-limit { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 991px) {
    .ce-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .ce-hero-docs { padding-top: 0; }
    .ce-doc-1, .ce-doc-2, .ce-doc-3 { transform: none; }
    .ce-counters, .ce-opts { grid-template-columns: minmax(0, 1fr); }
    .ce-panel-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
    .ce-trust, .ce-mistakes, .ce-incl, .ce-sources, .ce-limit-lists, .ce-flow { grid-template-columns: minmax(0, 1fr); }
    .ce-flow li:not(:last-child)::after { top: auto; right: auto; bottom: -1.05rem; left: 50%; margin-left: -0.475rem; transform: rotate(135deg); }
    .ce-panel-tag { display: none; }
}
@media (max-width: 640px) {
    .ce-hero-actions .ce-btn { width: 100%; }
    .ce-send { width: 100%; }
}
