/* Site-wide pieces in the case-study language (loaded after cs.css on every page). */
.site-nav{font-size:.9375rem;font-weight:500;color:#A09E96;transition:color .2s;position:relative;padding-bottom:.2rem}
.site-nav:hover,.site-nav.is-on{color:#F4F3EF}
.site-nav.is-on::after{content:'';position:absolute;left:0;right:0;bottom:-.1rem;height:2px;background:#F2B544;border-radius:2px}
.site-foot-h{font-size:.8125rem;color:#6B6A64;margin-bottom:1rem}
.site-foot-a{color:#A09E96;font-size:.9375rem;transition:color .2s}
.site-foot-a:hover{color:#F4F3EF}

/* Page hero (no canvas) */
.cs-page-hero{padding:5rem 0 3.5rem;background:
  radial-gradient(60% 50% at 85% 0%,rgba(242,181,68,.09),transparent 70%),var(--cs-bg)}
.cs-page-hero h1{font-size:clamp(2.6rem,6.5vw,5.25rem);max-width:15ch}
.cs-page-hero p{max-width:40rem;font-size:1.0625rem;line-height:1.65;color:var(--cs-muted);margin-top:1.5rem}
.cs-kicker{font-size:.9375rem;color:var(--cs-muted);margin-bottom:1rem}

/* Home hero: the field, shorter than /work/ */
.cs-hero--home{min-height:92vh;align-items:center}
.cs-hero--home .cs-hero-inner{padding:6rem 0 5rem}
.cs-hero--home h1{font-size:clamp(2.6rem,7vw,6.5rem);max-width:13ch}
.cs-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.cs-btn--ghost{display:inline-flex;align-items:center;padding:.9rem 1.6rem;border-radius:999px;border:1px solid rgba(244,243,239,.22);color:var(--cs-ink);font-weight:600;font-size:.9375rem;transition:border-color .2s,background .2s}
.cs-btn--ghost:hover{border-color:rgba(244,243,239,.5);background:rgba(244,243,239,.05)}
.cs-hero-proof{margin-top:2.75rem;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;color:var(--cs-muted);font-size:.9375rem}
.cs-hero-proof strong{color:var(--cs-ink);font-weight:600}

/* Tools strip: quiet, dark, no light bar */
.cs-ticker{border-top:1px solid var(--cs-line);border-bottom:1px solid var(--cs-line);padding:1.1rem 0;overflow:hidden;background:var(--cs-bg)}
.cs-ticker .logo-ticker span{color:var(--cs-faint);font-size:.875rem;font-weight:500;padding:0 2.25rem;letter-spacing:.01em}

/* Services: modules with the pipeline marker */
.cs-services{display:grid;gap:1rem}
@media(min-width:768px){.cs-services{grid-template-columns:repeat(2,1fr)}}
.cs-service{position:relative;padding:2rem;border:1px solid var(--cs-line);border-radius:1.25rem;background:var(--cs-surface);transition:border-color .25s,transform .25s}
.cs-service:hover{border-color:rgba(242,181,68,.35);transform:translateY(-2px)}
.cs-service .dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--cs-amber);box-shadow:0 0 16px 3px var(--cs-amber-soft);display:inline-block;margin-bottom:1.25rem}
.cs-service h3,.cs-service h2{font-family:var(--cs-display);font-variation-settings:'opsz' 48;font-weight:600;letter-spacing:-.02em;font-size:1.5rem;margin-bottom:.75rem}
.cs-service p{color:var(--cs-muted);line-height:1.65;font-size:.9875rem}
.cs-service ul{margin-top:1.25rem;display:grid;gap:.5rem}
.cs-service li{position:relative;padding-left:1.1rem;color:#D5D3CC;font-size:.9375rem;line-height:1.5}
.cs-service li::before{content:'';position:absolute;left:0;top:.6em;width:.35rem;height:.35rem;border-radius:50%;background:var(--cs-amber)}
.cs-service .svc-link{display:inline-block;margin-top:1.25rem}

/* Big service rows (services page) */
.cs-svc-row{display:grid;gap:1.5rem;padding:3.5rem 0;border-top:1px solid var(--cs-line);scroll-margin-top:8rem}
@media(min-width:1024px){.cs-svc-row{grid-template-columns:1fr 1.2fr;gap:4rem;padding:4.5rem 0}}
.cs-svc-row h2{font-size:clamp(1.75rem,3.2vw,2.75rem)}
.cs-svc-row .lead{color:var(--cs-muted);line-height:1.65;font-size:1.0625rem;margin-top:1rem;max-width:34rem}
.cs-svc-row .cs-steps{margin-top:0}

/* About */
.cs-about-grid{display:grid;gap:3rem;padding:4rem 0}
@media(min-width:1024px){.cs-about-grid{grid-template-columns:1.1fr .9fr;gap:5rem;padding:5rem 0}}
.cs-person{display:flex;gap:1.5rem;align-items:center;padding:1.75rem;border:1px solid var(--cs-line);border-radius:1.25rem;background:var(--cs-surface)}
.cs-person img{width:5.5rem;height:5.5rem;border-radius:50%;object-fit:cover;flex-shrink:0}
.cs-person b{display:block;font-family:var(--cs-display);font-variation-settings:'opsz' 48;font-weight:600;font-size:1.25rem;letter-spacing:-.02em}
.cs-person span{color:var(--cs-muted);font-size:.9375rem;line-height:1.5}
.cs-values{display:grid;gap:1rem;margin-top:2rem}
@media(min-width:768px){.cs-values{grid-template-columns:repeat(3,1fr)}}
.cs-values div{padding:1.5rem;border:1px solid var(--cs-line);border-radius:1rem}
.cs-values b{display:block;font-family:var(--cs-display);font-variation-settings:'opsz' 48;font-weight:600;font-size:1.125rem;letter-spacing:-.02em;margin-bottom:.5rem}
.cs-values p{color:var(--cs-muted);font-size:.9375rem;line-height:1.55}

/* Contact: warm light section so the white ClickUp form belongs */
.cs-contact{background:#F4F3EF;color:#141414;padding:4rem 0 5rem}
.cs-contact .cs-wrap{display:grid;gap:2.5rem}
@media(min-width:1024px){.cs-contact .cs-wrap{grid-template-columns:.9fr 1.1fr;gap:4rem}}
.cs-contact h2{font-family:var(--cs-display);font-variation-settings:'opsz' 48;font-weight:600;letter-spacing:-.025em;font-size:1.75rem;color:#141414}
.cs-contact .card{margin-top:1.5rem;padding:1.75rem;border:1px solid rgba(20,20,20,.12);border-radius:1.25rem;background:#fff}
.cs-contact .card img{width:5rem;height:5rem;border-radius:50%;object-fit:cover}
.cs-contact .card p{color:#3b3a37;line-height:1.65;font-size:.9875rem}
.cs-contact .card a.cs-link{color:#141414;text-decoration-color:rgba(20,20,20,.3)}
.cs-contact .card a.cs-link:hover{text-decoration-color:#F2B544}
.cs-contact .btn-dark{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:999px;background:#141414;color:#F4F3EF;font-weight:600;font-size:.9375rem;margin-top:1.5rem}
.cs-contact .btn-dark:hover{background:#000}
.cs-contact .form{border-radius:1.25rem;overflow:hidden;border:1px solid rgba(20,20,20,.12);background:#fff;padding:.75rem}

/* Blog */
.cs-posts{display:grid;gap:1.5rem}
@media(min-width:768px){.cs-posts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cs-posts{grid-template-columns:repeat(3,1fr)}}
.cs-post{display:block;padding:1.75rem;border:1px solid var(--cs-line);border-radius:1.25rem;background:var(--cs-surface);transition:border-color .25s}
.cs-post:hover{border-color:rgba(242,181,68,.35)}
.cs-post time{color:var(--cs-faint);font-size:.8125rem}
.cs-post h2{font-family:var(--cs-display);font-variation-settings:'opsz' 48;font-weight:600;letter-spacing:-.02em;font-size:1.35rem;line-height:1.15;margin:.75rem 0}
.cs-post p{color:var(--cs-muted);font-size:.9375rem;line-height:1.55}
.cs-empty{padding:4rem 0;max-width:36rem}
.cs-empty h2{font-size:1.75rem}
.cs-empty p{color:var(--cs-muted);margin-top:1rem;line-height:1.65}

/* Legal + default pages: keep WP content readable */
.cs-doc{max-width:46rem;padding:0 0 5rem}
.cs-doc h1{font-size:clamp(2.25rem,5vw,3.75rem);margin-bottom:2.5rem}

@media(prefers-reduced-motion:reduce){.cs-service:hover,.cs-post:hover{transform:none}}

/* Contact section links and the native form */
.cs-contact a.cs-link{color:#141414;text-decoration-color:rgba(20,20,20,.3)}
.cs-contact a.cs-link:hover{text-decoration-color:#F2B544}
.cs-contact .card .flex{align-items:center}
.afb-form{display:grid;gap:1rem}
.afb-field{display:grid;gap:.4rem}
.afb-field span{font-size:.875rem;color:#3b3a37;font-weight:500}
.afb-field em{color:#8a8880;font-style:normal;font-weight:400}
.afb-field input,.afb-field textarea{width:100%;padding:.8rem .95rem;border:1px solid rgba(20,20,20,.18);border-radius:.75rem;background:#fff;color:#141414;font:inherit;font-size:.9875rem;transition:border-color .2s,box-shadow .2s}
.afb-field input:focus,.afb-field textarea:focus{outline:none;border-color:#141414;box-shadow:0 0 0 3px rgba(242,181,68,.35)}
.afb-submit{display:inline-flex;align-items:center;justify-content:center;padding:.95rem 1.6rem;border-radius:999px;background:#141414;color:#F4F3EF;font-weight:600;font-size:.9375rem;border:0;cursor:pointer;transition:background .2s}
.afb-submit:hover{background:#000}
.afb-submit:focus-visible{outline:3px solid #F2B544;outline-offset:2px}
.afb-form-note{font-size:.8125rem;color:#8a8880}
.afb-form-ok{padding:.9rem 1rem;border-radius:.75rem;background:rgba(242,181,68,.18);color:#4a3a10;font-weight:500}
.afb-form-err{padding:.9rem 1rem;border-radius:.75rem;background:rgba(200,60,40,.1);color:#8a2a1a;font-weight:500}
.afb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
