/* ════════════════════════════════════════════════════════════════════
   CODECOREAGENCY  ·  STYLE.CSS
   AESTHETIC: "AURORA ATELIER" — warm parchment, eggplant, vermillion,
   dusty sage. Rounded geometry. Editorial typography in Fraunces +
   Geist + Geist Mono. Soft shadows. Asymmetric magazine layouts.

   00. TOKENS
   01. RESET + DOCUMENT
   02. TYPOGRAPHY PRIMITIVES
   03. CONTAINER + LAYOUT PRIMITIVES
   04. UTILITIES
   05. CHROME (skip, nav, overlay, footer)
   06. HERO + PAGE-HEAD + SECTION-HEAD
   07. SECTION RHYTHM
   08. BUTTONS · TAGS · LINKS
   09. SERVICES
   10. PRICING · BUILDER · HOURLY
   11. WORK · TEAM · PRINCIPLES
   12. POST · PROSE · JOURNAL
   13. FORM · CONTACT
   14. STATE PAGES
   15. COOKIE BANNER
   16. MOTION · A11Y · PRINT
   ════════════════════════════════════════════════════════════════════ */


/* ─────────────────────── 00. TOKENS ─────────────────────── */
:root {
    --cca-parchment:   #F4ECDD;
    --cca-parchment-2: #EDE3D0;
    --cca-cream:       #FBF6E9;
    --cca-mute:        #E0D5BE;
    --cca-divider:     rgba(31, 22, 16, 0.12);

    --cca-ink:         #1F1610;
    --cca-ink-2:       #382C22;
    --cca-ink-3:       #756454;

    --cca-deep:        #2B1F3A;
    --cca-deep-2:      #3A2C4D;

    --cca-flame:       #C9421C;
    --cca-flame-2:     #B33A18;
    --cca-flame-soft:  #E37852;

    --cca-sage:        #7E8B6A;
    --cca-sage-2:      #98A485;

    --cca-gold:        #B89858;

    --cca-display:  "Fraunces", "Cormorant Garamond", "Times New Roman", Georgia, serif;
    --cca-body:     "Geist", "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --cca-mono:     "Geist Mono", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;

    --t-mega:       clamp(72px, 14vw, 224px);
    --t-display-1:  clamp(56px, 9vw, 144px);
    --t-display-2:  clamp(44px, 6.4vw, 96px);
    --t-h1:         clamp(36px, 4.6vw, 68px);
    --t-h2:         clamp(28px, 3.4vw, 52px);
    --t-h3:         clamp(22px, 2vw, 32px);
    --t-h4:         clamp(18px, 1.4vw, 22px);
    --t-lead:       clamp(18px, 1.3vw, 22px);
    --t-body:       16px;
    --t-small:      14px;
    --t-eyebrow:    12px;
    --t-mono:       12.5px;

    --lh-display:   0.94;
    --lh-tight:     1.05;
    --lh-body:      1.55;
    --lh-loose:     1.72;
    --ls-display:   -0.022em;
    --ls-tight:     -0.012em;
    --ls-mono:      0.08em;
    --ls-eyebrow:   0.22em;

    --sp-1: 6px;
    --sp-2: 10px;
    --sp-3: 14px;
    --sp-4: 20px;
    --sp-5: 28px;
    --sp-6: 40px;
    --sp-7: 56px;
    --sp-8: 80px;
    --sp-9: 112px;
    --sp-10: 160px;

    --py-section:        clamp(96px, 12vh, 160px);
    --py-section-tight:  clamp(64px, 8vh, 112px);
    --py-pagehead:       clamp(80px, 11vh, 144px);
    --gap-block:         clamp(40px, 5vw, 80px);
    --gap-stack:         clamp(20px, 2.4vw, 32px);

    --shell-max:         1440px;
    --shell-max-prose:   780px;
    --shell-max-form:    980px;
    --shell-pad-x:       clamp(20px, 5vw, 80px);

    --r-sm:   8px;
    --r:      14px;
    --r-md:   20px;
    --r-lg:   28px;
    --r-xl:   40px;
    --r-pill: 999px;

    --shadow-1: 0 2px 14px rgba(31, 22, 16, 0.06), 0 1px 3px rgba(31, 22, 16, 0.04);
    --shadow-2: 0 12px 36px rgba(31, 22, 16, 0.10), 0 4px 12px rgba(31, 22, 16, 0.05);
    --shadow-3: 0 24px 64px rgba(31, 22, 16, 0.14), 0 8px 20px rgba(31, 22, 16, 0.08);

    --ease:        cubic-bezier(0.22, 0.61, 0.36, 1);
    --ease-spring: cubic-bezier(0.34, 1.36, 0.64, 1);
    --d-fast:      160ms;
    --d-base:      280ms;
    --d-slow:      540ms;

    --z-nav:     40;
    --z-overlay: 60;
    --z-cookie:  70;
    --z-skip:    80;
}


/* ─────────────────────── 01. RESET + DOCUMENT ─────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; padding: 0; }

html {
    background: var(--cca-parchment);
    color: var(--cca-ink);
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
    overflow-x: clip;
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation: none !important; transition: none !important; }
}

body {
    font-family: var(--cca-body);
    font-size: var(--t-body);
    line-height: var(--lh-body);
    color: var(--cca-ink);
    background:
        radial-gradient(ellipse 900px 600px at 78% 0%, rgba(201, 66, 28, 0.06), transparent 70%),
        radial-gradient(ellipse 700px 500px at 8% 32%, rgba(126, 139, 106, 0.05), transparent 70%),
        var(--cca-parchment);
    min-height: 100vh;
    overflow-x: clip;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    font-feature-settings: "ss01", "kern";
}

img, svg, video { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; transition: color var(--d-fast) var(--ease); }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; text-align: inherit; }
input, select, textarea { font: inherit; color: inherit; background: transparent; border: 0; outline: none; }
ul, ol { list-style: none; }
::selection { background: var(--cca-flame); color: var(--cca-cream); }


/* ─────────────────────── 02. TYPOGRAPHY PRIMITIVES ─────────────────────── */
.cca-display {
    font-family: var(--cca-display);
    font-weight: 500;
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    font-variation-settings: "opsz" 144, "SOFT" 50, "WONK" 0;
}
.cca-display em,
.cca-hero__title em,
.cca-pagehead__title em,
.cca-section-head__title em {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    font-variation-settings: "opsz" 144, "SOFT" 100, "WONK" 1;
    color: var(--cca-flame);
}
.cca-mono {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    font-weight: 500;
}
.cca-eyebrow {
    display: inline-flex; align-items: center; gap: 10px;
    font-family: var(--cca-mono);
    font-size: var(--t-eyebrow);
    letter-spacing: var(--ls-eyebrow);
    text-transform: uppercase;
    color: var(--cca-flame);
    font-weight: 500;
}
.cca-eyebrow::before {
    content: ""; display: block;
    width: 22px; height: 1px;
    background: var(--cca-flame);
}
.cca-eyebrow--sage  { color: var(--cca-sage); }
.cca-eyebrow--sage::before  { background: var(--cca-sage); }
.cca-eyebrow--cream { color: var(--cca-cream); }
.cca-eyebrow--cream::before { background: var(--cca-cream); }


/* ─────────────────────── 03. CONTAINER + LAYOUT PRIMITIVES ─────────────────────── */
.cca-shell {
    width: 100%;
    max-width: var(--shell-max);
    margin-inline: auto;
    padding-inline: var(--shell-pad-x);
}
.cca-shell--prose { max-width: var(--shell-max-prose); }
.cca-shell--form  { max-width: var(--shell-max-form); }
.cca-stack > * + * { margin-top: var(--gap-stack); }


/* ─────────────────────── 04. UTILITIES ─────────────────────── */
.cca-text-flame   { color: var(--cca-flame); }
.cca-text-sage    { color: var(--cca-sage); }
.cca-text-cream   { color: var(--cca-cream); }
.cca-text-ink-2   { color: var(--cca-ink-2); }
.cca-text-mute    { color: var(--cca-ink-3); }
.cca-divider {
    height: 1px;
    background: var(--cca-divider);
}

/* Composable layout/spacing utilities — used to keep page markup clean */
.cca-section--flush-top { padding-top: 0; }

.cca-foot-link {
    margin-top: 56px;
    display: flex;
    justify-content: flex-end;
}

.cca-end-rail {
    margin-top: 80px;
    padding-top: 32px;
    border-top: 1px solid var(--cca-divider);
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 16px;
}
.cca-end-rail--tight {
    margin-top: 56px;
    padding-top: 28px;
}

.cca-cta-banner {
    margin-top: 80px;
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    padding: 56px 40px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 32px;
    align-items: center;
    box-shadow: var(--shadow-1);
}
.cca-cta-banner--flame {
    background: var(--cca-flame);
    color: var(--cca-cream);
    box-shadow: var(--shadow-2);
}
.cca-cta-banner__head {
    display: flex; flex-direction: column; gap: 16px;
}
.cca-cta-banner__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.1;
    letter-spacing: var(--ls-display);
    color: var(--cca-ink);
    max-width: 24ch;
}
.cca-cta-banner__title em { font-style: italic; color: var(--cca-flame); font-weight: 400; }
.cca-cta-banner--flame .cca-cta-banner__title { color: var(--cca-cream); }
.cca-cta-banner--flame .cca-cta-banner__title em { color: var(--cca-cream); font-style: italic; }
.cca-cta-banner__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Tagline (used on service-detail) */
.cca-pagehead__tagline {
    margin-top: 8px;
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    color: var(--cca-flame);
    font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.4;
    max-width: 64ch;
}

/* Form-as-button wrapper — keeps form layout transparent */
.cca-inline-form { display: contents; }

/* Top-action row */
.cca-svc-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 80px;
}

/* Footer brand mid-column hours/contact details */
.cca-footer__contact { margin-top: 16px; }
.cca-footer__hours {
    margin-top: 16px;
    font-size: 12.5px !important;
    opacity: 0.7;
    line-height: 1.6;
}

/* Helper: meta-value with smaller serif fallback */
.cca-svc-meta__value--small {
    font-size: 18px;
    line-height: 1.3;
}
.cca-svc-meta--page { margin-bottom: 56px; }

.cca-prose--svc {
    max-width: 64ch;
    margin-bottom: 40px;
}

/* Spacing utilities for the last few inline overrides */
.cca-mt-4 { margin-top: 16px; }
.cca-mt-5 { margin-top: 20px; }
.cca-prose--narrow { max-width: 64ch; }

/* Arrow link variant — for cards on deep-eggplant sections */
.cca-arrow-link--cream {
    color: var(--cca-cream);
    border-bottom-color: var(--cca-flame-soft);
}
.cca-arrow-link--bare {
    border: 0;
    padding: 0;
}

/* Inline button row for in-card forms */
.cca-card-actions {
    display: flex;
    gap: 10px;
    margin-top: 8px;
}


/* ─────────────────────── 05. CHROME ─────────────────────── */
.cca-skip {
    position: fixed; top: -200px; left: 16px;
    z-index: var(--z-skip);
    padding: 12px 18px;
    background: var(--cca-ink); color: var(--cca-cream);
    font-family: var(--cca-mono); font-size: var(--t-mono);
    border-radius: var(--r);
    transition: top var(--d-base) var(--ease);
}
.cca-skip:focus { top: 16px; }

/* Floating capsule nav — explicit opposite of QCV's sticky topbar */
.cca-nav {
    position: fixed; top: 22px; left: 0; right: 0;
    z-index: var(--z-nav);
    pointer-events: none;
    transition: transform var(--d-base) var(--ease), opacity var(--d-base) var(--ease);
}
.cca-nav.is-hidden { transform: translateY(-140%); opacity: 0; }
.cca-nav__inner {
    pointer-events: auto;
    max-width: var(--shell-max);
    margin-inline: auto;
    padding-inline: var(--shell-pad-x);
    display: flex; justify-content: space-between; align-items: center;
    gap: var(--sp-4);
}
.cca-nav__brand {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 12px 20px 12px 12px;
    background: var(--cca-cream);
    border-radius: var(--r-pill);
    box-shadow: var(--shadow-1);
    transition: box-shadow var(--d-fast) var(--ease);
}
.cca-nav__brand:hover { box-shadow: var(--shadow-2); }
.cca-nav__brand__mark {
    width: 28px; height: 28px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
    display: inline-grid; place-items: center;
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
}
.cca-nav__brand__word {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: var(--ls-tight);
    color: var(--cca-ink);
}
.cca-nav__brand__word em { font-style: italic; color: var(--cca-flame); font-weight: 400; }

.cca-nav__links {
    display: none;
    gap: 4px;
    padding: 6px;
    background: var(--cca-cream);
    border-radius: var(--r-pill);
    box-shadow: var(--shadow-1);
}
@media (min-width: 1024px) { .cca-nav__links { display: inline-flex; } }
.cca-nav__link {
    padding: 10px 16px;
    border-radius: var(--r-pill);
    font-family: var(--cca-body);
    font-size: 13.5px;
    font-weight: 500;
    color: var(--cca-ink-2);
    transition: background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}
.cca-nav__link:hover     { background: var(--cca-parchment); color: var(--cca-ink); }
.cca-nav__link.is-active { background: var(--cca-ink); color: var(--cca-cream); }

.cca-nav__cta { display: none; }
@media (min-width: 1024px) { .cca-nav__cta { display: inline-flex; } }

.cca-nav__menu-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 14px 20px;
    background: var(--cca-ink);
    color: var(--cca-cream);
    border-radius: var(--r-pill);
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    box-shadow: var(--shadow-1);
}
@media (min-width: 1024px) { .cca-nav__menu-btn { display: none; } }
.cca-nav__menu-btn__dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--cca-flame);
    animation: cca-pulse 2s ease-in-out infinite;
}
@keyframes cca-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%      { opacity: 0.45; transform: scale(0.65); }
}

/* Full-screen mobile overlay menu */
.cca-overlay {
    position: fixed; inset: 0;
    z-index: var(--z-overlay);
    background: var(--cca-deep);
    color: var(--cca-cream);
    display: flex; flex-direction: column;
    transform: translateY(-100%);
    transition: transform var(--d-slow) var(--ease);
    visibility: hidden;
    overflow-y: auto;
}
.cca-overlay.is-open { transform: translateY(0); visibility: visible; }
.cca-overlay__top {
    display: flex; justify-content: space-between; align-items: center;
    padding: 22px var(--shell-pad-x);
    border-bottom: 1px solid rgba(251, 246, 233, 0.12);
}
.cca-overlay__brand {
    font-family: var(--cca-display);
    font-size: 22px;
    font-style: italic;
    color: var(--cca-cream);
}
.cca-overlay__close {
    width: 48px; height: 48px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
    display: inline-grid; place-items: center;
    font-size: 22px;
}
.cca-overlay__body {
    flex: 1;
    padding: clamp(40px, 8vh, 80px) var(--shell-pad-x);
    display: flex; flex-direction: column; justify-content: space-between;
    gap: var(--sp-7);
}
.cca-overlay__list { display: flex; flex-direction: column; }
.cca-overlay__list a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: baseline;
    gap: var(--sp-4);
    padding: 18px 0;
    border-bottom: 1px solid rgba(251, 246, 233, 0.12);
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(34px, 8vw, 56px);
    line-height: 1;
    color: var(--cca-cream);
    transition: color var(--d-fast) var(--ease);
}
.cca-overlay__list a:hover { color: var(--cca-flame-soft); }
.cca-overlay__list em { font-style: italic; color: var(--cca-flame-soft); font-weight: 400; }
.cca-overlay__list small {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame-soft);
    font-weight: 500;
}
.cca-overlay__foot {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-cream);
    opacity: 0.85;
}
@media (min-width: 720px) { .cca-overlay__foot { grid-template-columns: repeat(3, 1fr); } }

/* Footer */
.cca-footer {
    margin-top: clamp(80px, 10vh, 144px);
    padding-block: clamp(72px, 10vw, 144px);
    background: var(--cca-deep);
    color: var(--cca-cream);
    position: relative;
    overflow: hidden;
}
.cca-footer::before {
    content: ""; position: absolute;
    top: -200px; right: -120px;
    width: 540px; height: 540px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 66, 28, 0.22), transparent 70%);
    pointer-events: none;
}
.cca-footer__signoff {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-6);
    align-items: end;
    margin-bottom: var(--sp-8);
}
@media (min-width: 960px) {
    .cca-footer__signoff { grid-template-columns: 1.4fr 1fr; }
}
.cca-footer__signoff h2 {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: var(--t-display-2);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: var(--cca-cream);
    max-width: 16ch;
}
.cca-footer__signoff h2 em {
    font-style: italic;
    color: var(--cca-flame-soft);
    font-weight: 400;
}
.cca-footer__signoff__cta {
    display: flex; flex-wrap: wrap; gap: var(--sp-3);
    justify-self: start;
}
@media (min-width: 960px) { .cca-footer__signoff__cta { justify-self: end; } }

.cca-footer__grid {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-6);
    padding-top: var(--sp-7);
    border-top: 1px solid rgba(251, 246, 233, 0.16);
}
@media (min-width: 720px)  { .cca-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cca-footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: var(--sp-7); } }

.cca-footer__col h4 {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame-soft);
    margin-bottom: var(--sp-4);
}
.cca-footer__col p,
.cca-footer__col li,
.cca-footer__col a {
    font-family: var(--cca-body);
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--cca-cream);
    opacity: 0.92;
}
.cca-footer__col a {
    padding-block: 4px;
    transition: color var(--d-fast) var(--ease);
    display: inline-block;
}
.cca-footer__col a:hover { color: var(--cca-flame-soft); opacity: 1; }
.cca-footer__col strong  {
    display: block;
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    font-size: 18px;
    color: var(--cca-cream);
    margin-bottom: 6px;
}
.cca-footer__bottom {
    position: relative;
    margin-top: var(--sp-7);
    padding-top: var(--sp-5);
    border-top: 1px solid rgba(251, 246, 233, 0.16);
    display: flex; flex-wrap: wrap; gap: var(--sp-5);
    justify-content: space-between; align-items: center;
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-cream);
    opacity: 0.7;
}
.cca-footer__bottom a { color: var(--cca-flame-soft); border-bottom: 1px solid var(--cca-flame-soft); padding-bottom: 1px; }


/* ─────────────────────── 06. HERO + PAGE-HEAD + SECTION-HEAD ─────────────────────── */
.cca-hero {
    position: relative;
    padding-top: clamp(140px, 16vh, 220px);
    padding-bottom: clamp(72px, 8vh, 120px);
    overflow: hidden;
}
.cca-hero::before {
    content: "";
    position: absolute;
    top: -120px; right: -180px;
    width: 720px; height: 720px;
    border-radius: 50%;
    background:
        radial-gradient(circle, rgba(201, 66, 28, 0.16), transparent 60%),
        radial-gradient(circle at 30% 70%, rgba(184, 152, 88, 0.15), transparent 70%);
    pointer-events: none;
    filter: blur(2px);
}
.cca-hero::after {
    content: "";
    position: absolute;
    bottom: -80px; left: -120px;
    width: 480px; height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(126, 139, 106, 0.18), transparent 70%);
    pointer-events: none;
    filter: blur(2px);
}
.cca-hero__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: clamp(40px, 6vw, 80px);
    align-items: start;
}
@media (min-width: 1024px) {
    .cca-hero__inner {
        grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    }
}
.cca-hero__masthead { display: flex; flex-direction: column; gap: var(--sp-5); }
.cca-hero__chapter {
    display: inline-flex; align-items: center; gap: var(--sp-3);
    padding: 8px 16px 8px 8px;
    background: var(--cca-cream);
    border-radius: var(--r-pill);
    width: fit-content;
    box-shadow: var(--shadow-1);
}
.cca-hero__chapter__num {
    display: inline-grid; place-items: center;
    width: 32px; height: 32px;
    background: var(--cca-flame);
    border-radius: 50%;
    color: var(--cca-cream);
    font-family: var(--cca-mono);
    font-size: 12px;
    font-weight: 600;
}
.cca-hero__chapter__txt {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-2);
}
.cca-hero__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: var(--t-display-1);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: var(--cca-ink);
    font-variation-settings: "opsz" 144, "SOFT" 50;
}
.cca-hero__lead {
    max-width: 52ch;
    font-family: var(--cca-body);
    font-size: var(--t-lead);
    line-height: var(--lh-loose);
    color: var(--cca-ink-2);
}
.cca-hero__lead strong { color: var(--cca-ink); font-weight: 600; }
.cca-hero__actions {
    display: flex; flex-wrap: wrap; gap: var(--sp-3);
    margin-top: var(--sp-4);
}
.cca-hero__signals {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--sp-4);
    margin-top: var(--sp-6);
    padding-top: var(--sp-5);
    border-top: 1px solid var(--cca-divider);
    max-width: 560px;
}
.cca-hero__signals__cell h5 {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-hero__signals__cell h5 em {
    font-style: italic;
    color: var(--cca-flame);
    font-weight: 400;
}
.cca-hero__signals__cell p {
    margin-top: 6px;
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
    line-height: 1.4;
}
.cca-hero__stack {
    position: relative;
    min-height: 480px;
}
@media (min-width: 1024px) {
    .cca-hero__stack { min-height: 560px; }
}
.cca-hero__plate {
    position: relative;
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--shadow-2);
    background: var(--cca-cream);
}
.cca-hero__plate img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cca-hero__plate--feature { aspect-ratio: 4/5; }
.cca-hero__plate--inset {
    position: absolute;
    bottom: -28px; left: -32px;
    width: 220px;
    aspect-ratio: 1;
    border: 8px solid var(--cca-parchment);
    transform: rotate(-4deg);
    display: none;
}
@media (min-width: 720px) { .cca-hero__plate--inset { display: block; } }
.cca-hero__plate__caption {
    position: absolute;
    bottom: 16px; left: 16px; right: 16px;
    padding: 10px 14px;
    background: rgba(31, 22, 16, 0.78);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-radius: var(--r-pill);
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-cream);
}

/* Page-head */
.cca-pagehead {
    position: relative;
    padding-block: var(--py-pagehead);
    padding-top: clamp(160px, 18vh, 240px);
    overflow: hidden;
}
.cca-pagehead::before {
    content: "";
    position: absolute;
    top: 0; right: -80px;
    width: 480px; height: 480px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 66, 28, 0.12), transparent 65%);
    pointer-events: none;
}
.cca-pagehead__inner {
    position: relative;
    display: flex; flex-direction: column; gap: var(--sp-4);
}
.cca-pagehead__chapter {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-pagehead__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: var(--t-display-2);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: var(--cca-ink);
}
.cca-pagehead__lead {
    margin-top: var(--sp-3);
    max-width: 64ch;
    font-family: var(--cca-body);
    font-size: var(--t-lead);
    line-height: var(--lh-loose);
    color: var(--cca-ink-2);
}
.cca-pagehead__lead a { color: var(--cca-flame); border-bottom: 1px solid var(--cca-flame); }
.cca-pagehead__lead a:hover { background: var(--cca-flame); color: var(--cca-cream); }
.cca-pagehead__meta {
    margin-top: var(--sp-6);
    display: flex; flex-wrap: wrap; gap: var(--sp-4) var(--sp-6);
}
.cca-pagehead__meta__item {
    display: flex; flex-direction: column; gap: 2px;
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-2);
    padding-left: var(--sp-3);
    border-left: 1.5px solid var(--cca-flame);
}
.cca-pagehead__meta__item span:first-child {
    color: var(--cca-flame);
    font-size: 10px;
}

.cca-back {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 18px 10px 14px;
    background: var(--cca-cream);
    border-radius: var(--r-pill);
    box-shadow: var(--shadow-1);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink);
    margin-bottom: var(--sp-5);
    transition: transform var(--d-fast) var(--ease), box-shadow var(--d-fast) var(--ease);
    width: fit-content;
}
.cca-back::before {
    content: "→";
    display: inline-grid; place-items: center;
    width: 20px; height: 20px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
    font-size: 11px;
    transform: rotate(180deg);
}
.cca-back:hover { transform: translateX(-3px); box-shadow: var(--shadow-2); }

/* Section-head */
.cca-section-head {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-4);
    margin-bottom: var(--gap-block);
    align-items: end;
}
@media (min-width: 960px) {
    .cca-section-head {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
        column-gap: var(--sp-7);
    }
}
.cca-section-head__lead { display: flex; flex-direction: column; gap: var(--sp-3); }
.cca-section-head__chapter {
    font-family: var(--cca-mono);
    font-size: var(--t-mono);
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-section-head__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: var(--t-h1);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: inherit;
}
.cca-section-head__caption {
    font-family: var(--cca-body);
    font-size: var(--t-body);
    line-height: var(--lh-loose);
    color: var(--cca-ink-2);
    max-width: 38ch;
    justify-self: start;
}
@media (min-width: 960px) { .cca-section-head__caption { justify-self: end; text-align: right; } }
.cca-section-head__caption a { color: var(--cca-flame); border-bottom: 1px solid var(--cca-flame); }


/* ─────────────────────── 07. SECTION RHYTHM ─────────────────────── */
.cca-section { padding-block: var(--py-section); }
.cca-section--tight { padding-block: var(--py-section-tight); }
.cca-section--cream { background: var(--cca-cream); }
.cca-section--parchment-2 { background: var(--cca-parchment-2); }
.cca-section--deep {
    background: var(--cca-deep);
    color: var(--cca-cream);
    position: relative;
    overflow: hidden;
}
.cca-section--deep::before {
    content: "";
    position: absolute;
    top: -160px; left: -120px;
    width: 540px; height: 540px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 66, 28, 0.18), transparent 65%);
    pointer-events: none;
}
.cca-section--deep .cca-section-head__title { color: var(--cca-cream); }
.cca-section--deep .cca-section-head__caption { color: rgba(251, 246, 233, 0.78); }
.cca-section--deep .cca-section-head__chapter { color: var(--cca-flame-soft); }
.cca-section--deep .cca-section-head__caption a { color: var(--cca-flame-soft); border-color: var(--cca-flame-soft); }


/* ─────────────────────── 08. BUTTONS · TAGS · LINKS ─────────────────────── */
.cca-btn {
    display: inline-flex; align-items: center; gap: 12px;
    padding: 16px 26px;
    background: var(--cca-cream);
    color: var(--cca-ink);
    border-radius: var(--r-pill);
    box-shadow: var(--shadow-1);
    font-family: var(--cca-body);
    font-size: 14.5px;
    font-weight: 500;
    transition: transform var(--d-fast) var(--ease), box-shadow var(--d-fast) var(--ease), background var(--d-fast) var(--ease);
    white-space: nowrap;
    border: none;
    cursor: pointer;
}
.cca-btn::after {
    content: "→";
    display: inline-grid; place-items: center;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
    font-size: 12px;
    transition: transform var(--d-fast) var(--ease);
}
.cca-btn:hover { transform: translateY(-2px); box-shadow: var(--shadow-2); }
.cca-btn:hover::after { transform: translateX(3px); }
.cca-btn--no-arrow::after { display: none; }
.cca-btn--no-arrow { padding-right: 26px; }
.cca-btn--ink {
    background: var(--cca-ink);
    color: var(--cca-cream);
}
.cca-btn--ink::after { background: var(--cca-flame); color: var(--cca-cream); }
.cca-btn--ink:hover  { background: var(--cca-deep); }
.cca-btn--flame {
    background: var(--cca-flame);
    color: var(--cca-cream);
}
.cca-btn--flame::after { background: var(--cca-cream); color: var(--cca-flame); }
.cca-btn--flame:hover  { background: var(--cca-flame-2); }
.cca-btn--ghost-cream {
    background: transparent;
    color: var(--cca-cream);
    box-shadow: inset 0 0 0 1.5px rgba(251, 246, 233, 0.4);
}
.cca-btn--ghost-cream::after { background: var(--cca-cream); color: var(--cca-deep); }
.cca-btn--ghost-cream:hover  { background: rgba(251, 246, 233, 0.08); box-shadow: inset 0 0 0 1.5px var(--cca-cream); }
.cca-btn--block { width: 100%; justify-content: center; }
.cca-btn--lg { padding: 20px 30px; font-size: 15.5px; }
.cca-btn--sm { padding: 11px 18px; font-size: 13px; }

.cca-tag {
    display: inline-flex; align-items: center;
    padding: 5px 12px;
    border-radius: var(--r-pill);
    background: var(--cca-cream);
    color: var(--cca-ink-2);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    font-weight: 500;
}
.cca-tag--flame { background: var(--cca-flame); color: var(--cca-cream); }
.cca-tag--sage  { background: var(--cca-sage);  color: var(--cca-cream); }

.cca-arrow-link {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: var(--cca-mono);
    font-size: 12px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink);
    border-bottom: 1.5px solid var(--cca-flame);
    padding-bottom: 4px;
    transition: gap var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}
.cca-arrow-link::after {
    content: "→";
    color: var(--cca-flame);
    font-size: 14px;
    transition: transform var(--d-fast) var(--ease);
}
.cca-arrow-link:hover { gap: 12px; color: var(--cca-flame); }


/* ─────────────────────── 09. SERVICES ─────────────────────── */
.cca-services {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 720px)  { .cca-services { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .cca-services { grid-template-columns: repeat(3, 1fr); } }

.cca-service {
    display: flex; flex-direction: column;
    gap: var(--sp-4);
    padding: var(--sp-5);
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    transition: transform var(--d-base) var(--ease), box-shadow var(--d-base) var(--ease);
    color: var(--cca-ink);
}
.cca-service:hover { transform: translateY(-4px); box-shadow: var(--shadow-3); }
.cca-service__head {
    display: flex; justify-content: space-between; align-items: center;
}
.cca-service__chapter {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
    display: grid; place-items: center;
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    font-size: 16px;
}
.cca-service__price {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 28px;
    line-height: 1;
    letter-spacing: var(--ls-display);
}
.cca-service__price em {
    font-family: var(--cca-mono);
    font-style: normal;
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
    margin-left: 4px;
    font-weight: 500;
}
.cca-service__cover {
    aspect-ratio: 4/3;
    overflow: hidden;
    border-radius: var(--r);
    background: var(--cca-mute);
}
.cca-service__cover img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--ease);
}
.cca-service:hover .cca-service__cover img { transform: scale(1.04); }
.cca-service__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
    letter-spacing: var(--ls-display);
}
.cca-service__tagline {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    font-size: 18px;
    line-height: 1.35;
    color: var(--cca-flame);
}
.cca-service__lead {
    font-family: var(--cca-body);
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--cca-ink-2);
}
.cca-service__foot {
    display: flex; justify-content: space-between; align-items: center;
    padding-top: var(--sp-3);
    border-top: 1px solid var(--cca-divider);
    margin-top: auto;
}
.cca-service__duration {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
}

/* Service-detail meta strip */
.cca-svc-meta {
    display: grid;
    grid-template-columns: 1fr;
    padding: var(--sp-5);
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
}
@media (min-width: 720px) { .cca-svc-meta { grid-template-columns: repeat(3, 1fr); } }
.cca-svc-meta__cell {
    padding: var(--sp-3) var(--sp-4);
    display: flex; flex-direction: column; gap: 8px;
    border-bottom: 1px solid var(--cca-divider);
}
@media (min-width: 720px) {
    .cca-svc-meta__cell {
        border-bottom: 0;
        border-right: 1px solid var(--cca-divider);
    }
    .cca-svc-meta__cell:last-child { border-right: 0; }
}
.cca-svc-meta__cell:last-child { border-bottom: 0; }
.cca-svc-meta__label {
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-svc-meta__value {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 26px;
    line-height: 1;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-svc-meta__value em { font-style: italic; color: var(--cca-flame); font-weight: 400; }

/* Deliverables list */
.cca-deliverables {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-3);
}
@media (min-width: 720px) { .cca-deliverables { grid-template-columns: repeat(2, 1fr); } }
.cca-deliverable {
    display: grid;
    grid-template-columns: 36px 1fr;
    gap: var(--sp-3);
    padding: var(--sp-4);
    background: var(--cca-cream);
    border-radius: var(--r);
    align-items: start;
}
.cca-deliverable__num {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--cca-parchment-2);
    color: var(--cca-flame);
    display: grid; place-items: center;
    font-family: var(--cca-mono);
    font-size: 12px;
    font-weight: 600;
}
.cca-deliverable__txt {
    font-family: var(--cca-body);
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--cca-ink-2);
}

/* Phases */
.cca-phases { display: flex; flex-direction: column; }
.cca-phase {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-3);
    padding: var(--sp-5) 0;
    border-bottom: 1px solid var(--cca-divider);
}
.cca-phase:last-child { border-bottom: 0; }
@media (min-width: 720px) {
    .cca-phase {
        grid-template-columns: 220px 1fr;
        column-gap: var(--sp-6);
        align-items: baseline;
    }
}
.cca-phase__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.2;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-section--deep .cca-phase__title { color: var(--cca-cream); }
.cca-section--deep .cca-phase { border-color: rgba(251, 246, 233, 0.16); }
.cca-phase__detail {
    font-family: var(--cca-body);
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--cca-ink-2);
}
.cca-section--deep .cca-phase__detail { color: rgba(251, 246, 233, 0.82); }


/* ─────────────────────── 10. PRICING · BUILDER · HOURLY ─────────────────────── */
.cca-builder {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
    align-items: start;
}
@media (min-width: 1024px) {
    .cca-builder {
        grid-template-columns: minmax(0, 1.6fr) minmax(340px, 1fr);
        gap: var(--sp-6);
    }
}
.cca-builder__steps { display: flex; flex-direction: column; gap: var(--sp-5); }
.cca-builder__step {
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-1);
    overflow: hidden;
}
.cca-builder__step__head {
    display: flex; justify-content: space-between; align-items: center;
    gap: var(--sp-3);
    padding: var(--sp-4) var(--sp-5);
    border-bottom: 1px solid var(--cca-divider);
}
.cca-builder__step__title {
    display: flex; align-items: center; gap: var(--sp-3);
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 22px;
    color: var(--cca-ink);
}
.cca-builder__step__num {
    width: 32px; height: 32px;
    background: var(--cca-flame);
    color: var(--cca-cream);
    border-radius: 50%;
    display: grid; place-items: center;
    font-family: var(--cca-mono);
    font-size: 12px;
    font-weight: 600;
}
.cca-builder__step__hint {
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
}
.cca-builder__opts { display: flex; flex-direction: column; }
.cca-builder__opt {
    display: grid;
    grid-template-columns: 24px auto 1fr auto;
    align-items: start;
    column-gap: var(--sp-3);
    padding: var(--sp-4) var(--sp-5);
    border-bottom: 1px solid var(--cca-divider);
    cursor: pointer;
    transition: background var(--d-fast) var(--ease);
}
.cca-builder__opt:last-child { border-bottom: 0; }
.cca-builder__opt:hover { background: var(--cca-parchment-2); }
.cca-builder__opt:has(input:checked) { background: rgba(201, 66, 28, 0.06); }
.cca-builder__opt input {
    width: 20px; height: 20px;
    accent-color: var(--cca-flame);
    margin-top: 2px;
}
.cca-builder__opt__sku {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
    padding-top: 4px;
    min-width: 48px;
}
.cca-builder__opt__body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.cca-builder__opt__label {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 18px;
    color: var(--cca-ink);
    line-height: 1.2;
    letter-spacing: var(--ls-display);
}
.cca-builder__opt__note {
    font-family: var(--cca-body);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--cca-ink-2);
}
.cca-builder__opt__price {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 20px;
    color: var(--cca-ink);
    text-align: right;
    padding-top: 2px;
    white-space: nowrap;
    letter-spacing: var(--ls-display);
}

.cca-receipt {
    background: var(--cca-deep);
    color: var(--cca-cream);
    border-radius: var(--r-lg);
    padding: var(--sp-5);
    display: flex; flex-direction: column; gap: var(--sp-4);
    align-self: start;
    box-shadow: var(--shadow-2);
    position: relative;
    overflow: hidden;
}
.cca-receipt::before {
    content: "";
    position: absolute;
    top: -80px; right: -60px;
    width: 220px; height: 220px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 66, 28, 0.28), transparent 65%);
    pointer-events: none;
}
@media (min-width: 1024px) {
    .cca-receipt { position: sticky; top: 116px; }
}
.cca-receipt__head {
    position: relative;
    display: flex; justify-content: space-between; align-items: baseline;
    padding-bottom: var(--sp-3);
    border-bottom: 1px solid rgba(251, 246, 233, 0.22);
}
.cca-receipt__head h3 {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 26px;
    color: var(--cca-cream);
    letter-spacing: var(--ls-display);
}
.cca-receipt__head h3 em { font-style: italic; color: var(--cca-flame-soft); font-weight: 400; }
.cca-receipt__head span {
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame-soft);
}
.cca-receipt__rows {
    position: relative;
    min-height: 84px;
    display: flex; flex-direction: column; gap: 8px;
}
.cca-receipt__row {
    display: flex; justify-content: space-between; align-items: baseline;
    gap: var(--sp-3);
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(251, 246, 233, 0.14);
    font-family: var(--cca-body);
    font-size: 13.5px;
    color: var(--cca-cream);
}
.cca-receipt__row > span:first-child { flex: 1; min-width: 0; opacity: 0.86; line-height: 1.4; }
.cca-receipt__row > span:last-child  { color: var(--cca-flame-soft); white-space: nowrap; font-weight: 500; }
.cca-receipt__row--empty { opacity: 0.55; font-style: italic; border-bottom: none; }
.cca-receipt__total {
    position: relative;
    display: flex; justify-content: space-between; align-items: baseline;
    padding-top: var(--sp-3);
    border-top: 1.5px solid var(--cca-flame-soft);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-cream);
}
.cca-receipt__total b {
    font-family: var(--cca-display);
    font-weight: 500;
    font-style: italic;
    font-size: clamp(32px, 4vw, 44px);
    color: var(--cca-flame-soft);
    letter-spacing: var(--ls-display);
}
.cca-receipt__note {
    position: relative;
    font-family: var(--cca-mono);
    font-size: 11px;
    line-height: 1.55;
    color: rgba(251, 246, 233, 0.7);
}

/* Hourly */
.cca-hourly-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 720px) { .cca-hourly-grid { grid-template-columns: repeat(3, 1fr); } }
.cca-hourly {
    display: flex; flex-direction: column;
    gap: var(--sp-3);
    padding: var(--sp-5);
    background: var(--cca-parchment-2);
    border-radius: var(--r-lg);
    transition: transform var(--d-base) var(--ease), background var(--d-base) var(--ease), box-shadow var(--d-base) var(--ease);
}
.cca-hourly:hover { transform: translateY(-3px); background: var(--cca-cream); box-shadow: var(--shadow-2); }
.cca-hourly__head { display: flex; justify-content: space-between; align-items: baseline; }
.cca-hourly__hours {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(48px, 6vw, 64px);
    line-height: 1;
    color: var(--cca-flame);
    letter-spacing: var(--ls-display);
}
.cca-hourly__hours em { font-style: italic; font-weight: 400; }
.cca-hourly__hours small {
    display: block;
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
    margin-top: 4px;
    font-weight: 500;
}
.cca-hourly__sku {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-2);
    padding: 4px 10px;
    background: var(--cca-cream);
    border-radius: var(--r-pill);
}
.cca-hourly__note {
    font-family: var(--cca-body);
    font-size: 14px;
    line-height: 1.55;
    color: var(--cca-ink-2);
}
.cca-hourly__price {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 32px;
    color: var(--cca-ink);
    margin-top: var(--sp-3);
    padding-top: var(--sp-3);
    border-top: 1px solid var(--cca-divider);
    letter-spacing: var(--ls-display);
}
.cca-hourly__action { margin-top: var(--sp-3); }


/* ─────────────────────── 11. WORK · TEAM · PRINCIPLES ─────────────────────── */
.cca-work-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 960px) {
    .cca-work-grid {
        grid-template-columns: repeat(6, 1fr);
        grid-auto-rows: minmax(220px, auto);
    }
    .cca-work:nth-child(1) { grid-column: span 4; grid-row: span 2; }
    .cca-work:nth-child(2) { grid-column: span 2; }
    .cca-work:nth-child(3) { grid-column: span 2; }
    .cca-work:nth-child(4) { grid-column: span 3; }
    .cca-work:nth-child(5) { grid-column: span 3; }
    .cca-work:nth-child(6) { grid-column: span 6; }
}
.cca-work {
    position: relative;
    border-radius: var(--r-lg);
    overflow: hidden;
    background: var(--cca-cream);
    box-shadow: var(--shadow-1);
    transition: transform var(--d-base) var(--ease), box-shadow var(--d-base) var(--ease);
    display: block;
    min-height: 240px;
}
.cca-work:hover { transform: translateY(-4px); box-shadow: var(--shadow-3); }
.cca-work img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--ease);
}
.cca-work:hover img { transform: scale(1.04); }
.cca-work::after {
    content: "";
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(31, 22, 16, 0.78) 0%, rgba(31, 22, 16, 0.15) 50%, transparent 80%);
    pointer-events: none;
}
.cca-work__body {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    padding: var(--sp-5);
    display: flex; flex-direction: column; gap: 4px;
    color: var(--cca-cream);
    z-index: 1;
}
.cca-work__year {
    font-family: var(--cca-mono);
    font-size: 10.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame-soft);
    margin-bottom: 6px;
}
.cca-work__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(22px, 2.4vw, 36px);
    line-height: 1.1;
    color: var(--cca-cream);
    letter-spacing: var(--ls-display);
}
.cca-work__sector {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: rgba(251, 246, 233, 0.78);
}
.cca-work__note {
    margin-top: 8px;
    font-family: var(--cca-body);
    font-size: 14px;
    line-height: 1.5;
    color: rgba(251, 246, 233, 0.92);
    max-width: 56ch;
}

.cca-team {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 720px)  { .cca-team { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .cca-team { grid-template-columns: repeat(4, 1fr); } }
.cca-person {
    display: flex; flex-direction: column;
    gap: var(--sp-3);
}
.cca-person__photo {
    aspect-ratio: 3/4;
    overflow: hidden;
    border-radius: var(--r-md);
    background: var(--cca-mute);
}
.cca-person__photo img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--ease);
}
.cca-person:hover .cca-person__photo img { transform: scale(1.05); }
.cca-person__name {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.1;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-person__role {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-person__bio {
    font-family: var(--cca-body);
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--cca-ink-2);
}

.cca-principles {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 720px) { .cca-principles { grid-template-columns: repeat(2, 1fr); } }
.cca-principle {
    display: grid;
    grid-template-columns: 80px 1fr;
    gap: var(--sp-4);
    padding: var(--sp-5);
    background: var(--cca-cream);
    border-radius: var(--r-lg);
}
.cca-principle__num {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    font-size: 64px;
    line-height: 1;
    color: var(--cca-flame);
    letter-spacing: var(--ls-display);
}
.cca-principle__body { display: flex; flex-direction: column; gap: 8px; }
.cca-principle__name {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
    max-width: 18ch;
}
.cca-principle__detail {
    font-family: var(--cca-body);
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--cca-ink-2);
}


/* ─────────────────────── 12. POST · PROSE · JOURNAL ─────────────────────── */
.cca-prose {
    font-family: var(--cca-body);
    font-size: 17px;
    line-height: 1.7;
    color: var(--cca-ink-2);
    max-width: 64ch;
}
.cca-prose > * + * { margin-top: 1.2em; }
.cca-prose h2 {
    margin-top: 2.4em;
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 32px;
    line-height: 1.2;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-prose h2 em { font-style: italic; color: var(--cca-flame); font-weight: 400; }
.cca-prose h3 {
    margin-top: 1.8em;
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: 22px;
    line-height: 1.3;
    color: var(--cca-ink);
}
.cca-prose ul { display: flex; flex-direction: column; gap: 10px; }
.cca-prose ul li {
    position: relative;
    padding-left: 28px;
    font-family: var(--cca-body);
    font-size: 16px;
    line-height: 1.7;
}
.cca-prose ul li::before {
    content: "";
    position: absolute;
    left: 6px; top: 11px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--cca-flame);
}
.cca-prose a { color: var(--cca-flame); border-bottom: 1px solid var(--cca-flame); padding-bottom: 1px; }
.cca-prose a:hover { background: var(--cca-flame); color: var(--cca-cream); }
.cca-prose strong { color: var(--cca-ink); font-weight: 600; }
.cca-prose code {
    font-family: var(--cca-mono);
    background: var(--cca-parchment-2);
    padding: 2px 8px;
    border-radius: var(--r-sm);
    font-size: 0.9em;
}

.cca-post { max-width: 760px; margin-inline: auto; }
.cca-post__meta {
    display: flex; flex-wrap: wrap; gap: var(--sp-3) var(--sp-5);
    padding: var(--sp-4) 0;
    border-top: 1px solid var(--cca-divider);
    border-bottom: 1px solid var(--cca-divider);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-2);
    margin-bottom: var(--sp-6);
}
.cca-post__meta span:first-child { color: var(--cca-flame); }
.cca-post__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(40px, 6vw, 72px);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: var(--cca-ink);
    margin-bottom: var(--sp-4);
}
.cca-post__title em { font-style: italic; color: var(--cca-flame); font-weight: 400; }
.cca-post__lead {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.45;
    color: var(--cca-flame);
    margin-bottom: var(--sp-7);
}
.cca-post__cover {
    margin-block: var(--sp-7);
    border-radius: var(--r-lg);
    overflow: hidden;
    aspect-ratio: 16/9;
}
.cca-post__cover img { width: 100%; height: 100%; object-fit: cover; }
.cca-post__body {
    font-family: var(--cca-body);
    font-size: 17px;
    line-height: 1.72;
    color: var(--cca-ink-2);
}
.cca-post__body > p + p { margin-top: 1.4em; }
.cca-post__body p:first-of-type::first-letter {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    font-size: 5.4em;
    line-height: 0.85;
    color: var(--cca-flame);
    float: left;
    margin: 0.04em 0.12em 0 -0.04em;
}

.cca-journal-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-5);
}
@media (min-width: 720px) { .cca-journal-grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-6); } }
.cca-journal-card {
    display: flex; flex-direction: column;
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    overflow: hidden;
    box-shadow: var(--shadow-1);
    transition: transform var(--d-base) var(--ease), box-shadow var(--d-base) var(--ease);
    color: var(--cca-ink);
}
.cca-journal-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-3); }
.cca-journal-card__cover { aspect-ratio: 16/9; overflow: hidden; background: var(--cca-mute); }
.cca-journal-card__cover img {
    width: 100%; height: 100%;
    object-fit: cover;
    transition: transform var(--d-slow) var(--ease);
}
.cca-journal-card:hover .cca-journal-card__cover img { transform: scale(1.05); }
.cca-journal-card__body {
    padding: var(--sp-5);
    display: flex; flex-direction: column; gap: var(--sp-2);
    flex: 1;
}
.cca-journal-card__meta {
    display: flex; flex-wrap: wrap; gap: var(--sp-3);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-3);
    margin-bottom: var(--sp-2);
}
.cca-journal-card__meta span:first-child { color: var(--cca-flame); }
.cca-journal-card__title {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(22px, 2vw, 30px);
    line-height: 1.2;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-journal-card__lead {
    font-family: var(--cca-body);
    font-size: 15px;
    line-height: 1.55;
    color: var(--cca-ink-2);
    margin-top: 6px;
}
.cca-journal-card__author {
    margin-top: auto;
    padding-top: var(--sp-3);
    font-family: var(--cca-display);
    font-style: italic;
    font-size: 15px;
    color: var(--cca-flame);
}


/* ─────────────────────── 13. FORM · CONTACT ─────────────────────── */
.cca-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-4);
    background: var(--cca-cream);
    border-radius: var(--r-lg);
    padding: var(--sp-6);
    box-shadow: var(--shadow-1);
}
@media (min-width: 720px) {
    .cca-form {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--sp-5);
        padding: var(--sp-7);
    }
}
.cca-form__field {
    display: flex; flex-direction: column;
    gap: 8px;
    position: relative;
}
.cca-form__field--full { grid-column: 1 / -1; }
.cca-form__label {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-ink-2);
    display: flex; align-items: center; gap: 6px;
}
.cca-form__label--req::after {
    content: "•";
    color: var(--cca-flame);
    font-size: 18px;
    line-height: 0.5;
}
.cca-form__input,
.cca-form__select,
.cca-form__textarea {
    width: 100%;
    padding: 14px 18px;
    background: var(--cca-parchment-2);
    border: 1.5px solid transparent;
    border-radius: var(--r);
    font-family: var(--cca-body);
    font-size: 15px;
    color: var(--cca-ink);
    transition: background var(--d-fast) var(--ease), border-color var(--d-fast) var(--ease);
}
.cca-form__textarea {
    min-height: 160px;
    resize: vertical;
    line-height: 1.55;
}
.cca-form__input:focus,
.cca-form__select:focus,
.cca-form__textarea:focus {
    background: var(--cca-parchment);
    border-color: var(--cca-flame);
}
.cca-form__input::placeholder,
.cca-form__textarea::placeholder { color: var(--cca-ink-3); }
.cca-form__error {
    min-height: 16px;
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-form__msg {
    grid-column: 1 / -1;
    padding: var(--sp-4);
    border-radius: var(--r);
    font-family: var(--cca-body);
    font-size: 15px;
    line-height: 1.55;
}
.cca-form__msg.is-ok    { background: var(--cca-sage); color: var(--cca-cream); }
.cca-form__msg.is-error { background: var(--cca-flame); color: var(--cca-cream); }
.cca-form__submit {
    grid-column: 1 / -1;
    display: flex; justify-content: flex-end;
    margin-top: var(--sp-3);
}
.cca-form__submit button {
    padding: 18px 32px;
    background: var(--cca-ink);
    color: var(--cca-cream);
    border-radius: var(--r-pill);
    font-family: var(--cca-body);
    font-size: 15px;
    font-weight: 500;
    box-shadow: var(--shadow-1);
    display: inline-flex; align-items: center; gap: 12px;
    transition: background var(--d-fast) var(--ease), transform var(--d-fast) var(--ease);
    border: none;
    cursor: pointer;
}
.cca-form__submit button::after {
    content: "→";
    display: inline-grid; place-items: center;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--cca-flame);
    color: var(--cca-cream);
}
.cca-form__submit button:hover { background: var(--cca-deep); transform: translateY(-2px); }
.cca-form__submit button:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }

.cca-form__honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px; height: 1px;
    opacity: 0; pointer-events: none;
}

.cca-contact-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-6);
}
@media (min-width: 1024px) {
    .cca-contact-layout { grid-template-columns: 1.6fr 1fr; gap: var(--sp-7); }
}
.cca-contact-side {
    background: var(--cca-deep);
    color: var(--cca-cream);
    border-radius: var(--r-lg);
    padding: var(--sp-6);
    display: flex; flex-direction: column; gap: var(--sp-4);
    box-shadow: var(--shadow-2);
    position: relative;
    overflow: hidden;
}
.cca-contact-side::before {
    content: "";
    position: absolute;
    top: -120px; left: -60px;
    width: 320px; height: 320px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(201, 66, 28, 0.28), transparent 65%);
    pointer-events: none;
}
.cca-contact-side > * { position: relative; }
.cca-contact-side h4 {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame-soft);
}
.cca-contact-side__big {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(22px, 2.3vw, 28px);
    line-height: 1.1;
    color: var(--cca-cream);
    letter-spacing: var(--ls-display);
    word-break: break-word;
}
.cca-contact-side__big em { font-style: italic; color: var(--cca-flame-soft); font-weight: 400; }
.cca-contact-side__mono {
    font-family: var(--cca-mono);
    font-size: 12.5px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-cream);
    line-height: 1.6;
    opacity: 0.92;
}
.cca-contact-side__group {
    padding-block: var(--sp-3);
    border-top: 1px solid rgba(251, 246, 233, 0.18);
    display: flex; flex-direction: column; gap: 8px;
}
.cca-contact-side__group:first-of-type { border-top: 0; padding-top: 0; }
.cca-contact-side a {
    color: var(--cca-cream);
    transition: color var(--d-fast) var(--ease);
    word-break: break-word;
}
.cca-contact-side a:hover { color: var(--cca-flame-soft); }


/* ─────────────────────── 14. STATE PAGES ─────────────────────── */
.cca-state {
    padding-block: clamp(120px, 16vh, 200px);
    text-align: center;
    display: flex; flex-direction: column; align-items: center;
    gap: var(--sp-4);
    max-width: 680px;
    margin-inline: auto;
}
.cca-state__num {
    display: grid; place-items: center;
    min-width: 120px;
    height: 120px;
    padding-inline: var(--sp-4);
    border-radius: var(--r-pill);
    background: var(--cca-flame);
    color: var(--cca-cream);
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    font-size: 48px;
    letter-spacing: var(--ls-display);
    box-shadow: var(--shadow-2);
}
.cca-state__num--ok      { background: var(--cca-sage); }
.cca-state__num--neutral { background: var(--cca-ink); }
.cca-state__title {
    margin-top: var(--sp-3);
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(40px, 5vw, 60px);
    line-height: var(--lh-display);
    letter-spacing: var(--ls-display);
    color: var(--cca-ink);
}
.cca-state__title em { font-style: italic; color: var(--cca-flame); font-weight: 400; }
.cca-state__copy {
    max-width: 56ch;
    font-family: var(--cca-body);
    font-size: var(--t-lead);
    line-height: var(--lh-loose);
    color: var(--cca-ink-2);
}
.cca-state__copy strong { color: var(--cca-ink); font-weight: 600; }
.cca-state__ref {
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    color: var(--cca-flame);
}
.cca-state__cta {
    display: flex; flex-wrap: wrap; gap: var(--sp-3);
    justify-content: center;
    margin-top: var(--sp-3);
}

/* Index / chapter list (used on home + pricing FAQ etc.) */
.cca-faqs { display: flex; flex-direction: column; }
.cca-faq {
    border-bottom: 1px solid var(--cca-divider);
}
.cca-faq:last-child { border-bottom: 0; }
.cca-faq__q {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: var(--sp-4);
    padding: var(--sp-5) 0;
    text-align: left;
    cursor: pointer;
}
.cca-faq__q__num {
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 400;
    font-size: 24px;
    color: var(--cca-flame);
    min-width: 56px;
}
.cca-faq__q__text {
    font-family: var(--cca-display);
    font-weight: 500;
    font-size: clamp(20px, 1.8vw, 26px);
    line-height: 1.3;
    color: var(--cca-ink);
    letter-spacing: var(--ls-display);
}
.cca-faq__q__icon {
    width: 36px; height: 36px;
    border-radius: 50%;
    background: var(--cca-parchment-2);
    color: var(--cca-flame);
    display: grid; place-items: center;
    font-size: 18px;
    line-height: 1;
    transition: transform var(--d-base) var(--ease), background var(--d-base) var(--ease);
}
.cca-faq.is-open .cca-faq__q__icon { transform: rotate(45deg); background: var(--cca-flame); color: var(--cca-cream); }
.cca-faq__a {
    max-height: 0; overflow: hidden;
    transition: max-height var(--d-base) var(--ease);
    font-family: var(--cca-body);
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--cca-ink-2);
    max-width: 64ch;
    padding-left: 70px;
}
.cca-faq.is-open .cca-faq__a {
    max-height: 800px;
    padding-bottom: var(--sp-5);
}


/* ─────────────────────── 15. COOKIE BANNER ─────────────────────── */
.cca-cookie {
    position: fixed;
    bottom: 18px; left: 50%;
    transform: translateX(-50%);
    z-index: var(--z-cookie);
    width: min(680px, calc(100% - 32px));
    background: var(--cca-cream);
    color: var(--cca-ink);
    border-radius: var(--r-lg);
    box-shadow: var(--shadow-3);
    padding: var(--sp-4) var(--sp-5);
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--sp-3);
    align-items: center;
    opacity: 0;
    transform: translate(-50%, 32px);
    transition: opacity var(--d-base) var(--ease), transform var(--d-base) var(--ease);
    pointer-events: none;
}
.cca-cookie.is-visible { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
@media (min-width: 720px) { .cca-cookie { grid-template-columns: 1fr auto; } }
.cca-cookie__txt {
    font-family: var(--cca-body);
    font-size: 14px;
    line-height: 1.55;
    color: var(--cca-ink-2);
}
.cca-cookie__txt strong {
    display: block;
    font-family: var(--cca-display);
    font-style: italic;
    font-weight: 500;
    color: var(--cca-flame);
    font-size: 15px;
    margin-bottom: 2px;
}
.cca-cookie__txt a { color: var(--cca-ink); border-bottom: 1px solid var(--cca-flame); }
.cca-cookie__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.cca-cookie__btn {
    padding: 10px 18px;
    border-radius: var(--r-pill);
    font-family: var(--cca-mono);
    font-size: 11px;
    letter-spacing: var(--ls-mono);
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    transition: background var(--d-fast) var(--ease), color var(--d-fast) var(--ease);
}
.cca-cookie__btn--decline {
    background: transparent;
    color: var(--cca-ink-2);
    box-shadow: inset 0 0 0 1.5px var(--cca-ink);
}
.cca-cookie__btn--decline:hover { background: var(--cca-ink); color: var(--cca-cream); }
.cca-cookie__btn--accept {
    background: var(--cca-flame);
    color: var(--cca-cream);
}
.cca-cookie__btn--accept:hover { background: var(--cca-flame-2); }


/* ─────────────────────── 16. MOTION · A11Y · PRINT ─────────────────────── */
:focus-visible {
    outline: 3px solid var(--cca-flame);
    outline-offset: 4px;
    border-radius: 6px;
}
.cca-reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 700ms var(--ease), transform 700ms var(--ease);
}
.cca-reveal.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
    .cca-reveal { opacity: 1; transform: none; }
}

@media print {
    .cca-nav, .cca-overlay, .cca-cookie, .cca-footer__signoff { display: none; }
    body { background: white; color: black; }
}
