/* CAMERON CASEY — THE WORK / ARCHIVE. Isolated from Elementor and homepage styles. */
.ccwa {
  --ccwa-bg:#050909; --ccwa-surface:#0C1212; --ccwa-ink:#F4F6F5;
  --ccwa-muted:#ADBAB7; --ccwa-line:#2B3A38; --ccwa-teal:#65BDB8;
  isolation:isolate; width:100%; max-width:100%; overflow:clip;
  background:var(--ccwa-bg); color:var(--ccwa-ink);
  font-family:Arial,"Segoe UI",sans-serif; box-sizing:border-box;
}
.ccwa *, .ccwa *::before, .ccwa *::after { box-sizing:border-box; }
.ccwa__shell { width:min(1440px,100%); margin:0 auto; padding:clamp(46px,7vw,105px) clamp(18px,4.6vw,76px); }
.ccwa__intro { padding-bottom:clamp(35px,5vw,72px); }
.ccwa__eyebrow { display:flex; align-items:center; gap:10px; color:var(--ccwa-teal); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; }
.ccwa__eyebrow-line { display:block; width:23px; height:1px; background:var(--ccwa-teal); flex:0 0 23px; }
.ccwa__eyebrow-muted { color:#8D9D99; }
.ccwa__headline { margin:clamp(26px,4vw,56px) 0 32px; font-size:clamp(52px,8.6vw,136px); line-height:.92; letter-spacing:-.075em; font-weight:400; text-transform:uppercase; color:var(--ccwa-ink); max-width:1150px; }
.ccwa__headline span { display:block; color:var(--ccwa-teal); }
.ccwa__intro-bottom { display:flex; align-items:end; justify-content:space-between; gap:32px; }
.ccwa__intro-bottom p { margin:0; max-width:660px; color:var(--ccwa-muted); font-size:clamp(15px,1.4vw,18px); line-height:1.75; }
.ccwa__intro-count { white-space:nowrap; color:#8B9B98; font-size:11px; letter-spacing:.13em; }
.ccwa__controls { display:flex; justify-content:space-between; align-items:center; gap:22px; padding:16px 0 18px; border-top:1px solid var(--ccwa-line); border-bottom:1px solid var(--ccwa-line); margin-bottom:clamp(25px,3vw,46px); }
.ccwa__filters { display:flex; align-items:center; flex-wrap:wrap; gap:7px; min-width:0; }
.ccwa__filter { appearance:none; display:inline-flex; gap:7px; align-items:center; border:1px solid transparent; padding:12px 15px; background:transparent; color:#AAB7B4; cursor:pointer; font-family:inherit; font-size:11px; line-height:1.2; letter-spacing:.055em; text-transform:uppercase; transition:background-color .25s,border-color .25s,color .25s; }
.ccwa__filter span { color:#71908B; font-size:10px; }
.ccwa__filter:hover,.ccwa__filter[aria-pressed="true"] { color:#ECF7F4; border-color:#36514D; background:#12201E; }
.ccwa__filter[aria-pressed="true"]::before { content:""; width:5px; height:5px; background:var(--ccwa-teal); border-radius:50%; }
.ccwa__search-wrap { position:relative; display:block; min-width:210px; width:245px; flex:0 1 245px; }
.ccwa__search { display:block; width:100%; height:44px; padding:0 33px 0 13px; border:0; border-bottom:1px solid #48615B; border-radius:0; outline:none; box-shadow:none; background:transparent; color:var(--ccwa-ink); font:inherit; font-size:11px; letter-spacing:.08em; }
.ccwa__search::placeholder { color:#A5B2AF; opacity:1; }
.ccwa__search:focus { border-color:var(--ccwa-teal); }
.ccwa__search-icon { position:absolute; right:11px; top:7px; font-size:28px; line-height:1; color:var(--ccwa-teal); pointer-events:none; }
.ccwa__visually-hidden { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.ccwa__projects { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(20px,2.2vw,34px); }
.ccwa-card { display:flex; flex-direction:column; min-width:0; background:var(--ccwa-surface); border:1px solid var(--ccwa-line); color:inherit!important; text-decoration:none!important; overflow:hidden; transition:border-color .35s ease,background .35s ease; }
.ccwa-card[hidden],.ccwa__empty[hidden],.ccwa__more[hidden] { display:none!important; }
.ccwa-card:focus-visible { outline:2px solid var(--ccwa-teal); outline-offset:4px; }
.ccwa-card__visual { position:relative; display:block; height:clamp(260px,29vw,410px); overflow:hidden; background:linear-gradient(135deg,#192525 0%,#0B1616 55%,#223735 100%); }
.ccwa-card__image { width:100%!important; height:100%!important; object-fit:cover; display:block; filter:grayscale(40%) brightness(.8); transition:transform .85s cubic-bezier(.2,.75,.2,1),filter .55s ease; }
.ccwa-card__placeholder { width:100%; height:100%; background:linear-gradient(123deg,transparent 24%,rgba(101,189,184,.065) 24%,rgba(101,189,184,.065) 25%,transparent 25%,transparent 67%,rgba(101,189,184,.07) 67%,rgba(101,189,184,.07) 68%,transparent 68%); }
.ccwa-card__shade { position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,rgba(3,9,9,.08),rgba(3,9,9,.3)); }
.ccwa-card__corner { position:absolute; top:21px; right:22px; display:flex; align-items:center; justify-content:center; width:41px; height:41px; border:1px solid rgba(244,246,245,.55); color:#fff; font-size:24px; line-height:1; transition:background-color .25s,transform .3s,border-color .25s; }
.ccwa-card__feature-label { position:absolute; left:26px; bottom:23px; color:#EDF5F2; font-size:11px; letter-spacing:.13em; font-weight:600; }
.ccwa-card__info { display:flex; flex-direction:column; flex:1 1 auto; padding:clamp(22px,2.7vw,38px); }
.ccwa-card__meta { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; color:var(--ccwa-teal); font-size:11px; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.ccwa-card__meta span:nth-child(2) { color:#95A9A5; }
.ccwa-card__index { color:#718783; }
.ccwa-card__title { margin:clamp(15px,2vw,26px) 0 0; color:var(--ccwa-ink)!important; font-size:clamp(26px,2.8vw,42px); line-height:1.1; letter-spacing:-.045em; font-weight:400; text-transform:uppercase; overflow-wrap:break-word; }
.ccwa-card__excerpt { max-width:70ch; margin:16px 0 0; color:#B3C0BD; font-size:15px; line-height:1.75; }
.ccwa-card__link { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:auto; padding-top:28px; border-bottom:1px solid transparent; font-size:11px; font-weight:700; letter-spacing:.1em; color:var(--ccwa-teal); }
.ccwa-card__link span { font-size:22px; font-weight:400; transition:transform .3s; }
.ccwa-card--featured { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); min-height:clamp(420px,45vw,650px); }
.ccwa-card--featured .ccwa-card__visual { height:100%; min-height:440px; }
.ccwa-card--featured .ccwa-card__info { justify-content:center; padding:clamp(30px,4.5vw,75px); background:linear-gradient(140deg,#0C1514,#081010); }
.ccwa-card--featured .ccwa-card__title { font-size:clamp(40px,4.4vw,70px); line-height:1.02; }
.ccwa-card--featured .ccwa-card__excerpt { font-size:clamp(15px,1.25vw,17px); }
.ccwa-card--featured .ccwa-card__link { margin-top:clamp(28px,5vw,78px); }
.ccwa-card:hover { border-color:#62847D; background:#101B19; }
.ccwa-card:hover .ccwa-card__image { transform:scale(1.045); filter:grayscale(0) brightness(.94); }
.ccwa-card:hover .ccwa-card__corner { background:var(--ccwa-teal); border-color:var(--ccwa-teal); color:#06100F; transform:translate(2px,-2px); }
.ccwa-card:hover .ccwa-card__link span { transform:translate(3px,-3px); }
.ccwa__empty,.ccwa__empty-static { padding:55px 22px; border:1px solid var(--ccwa-line); color:var(--ccwa-muted); text-align:center; font-size:15px; }
.ccwa__bottom-bar { min-height:78px; margin-top:28px; padding:17px 0; display:flex; gap:20px; justify-content:space-between; align-items:center; border-top:1px solid var(--ccwa-line); }
.ccwa__visible-count { font-size:11px; letter-spacing:.1em; color:#97A9A5; }
.ccwa__more { display:inline-flex; align-items:center; gap:22px; padding:15px 19px; background:#142421; color:#DDF2EB; border:1px solid #3D6660; cursor:pointer; font-family:inherit; font-size:11px; font-weight:700; letter-spacing:.1em; transition:background .25s; }
.ccwa__more:hover { background:#1C3630; }
.ccwa__more span { color:var(--ccwa-teal); font-size:17px; }
.ccwa__closing { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:30px; padding:clamp(35px,6vw,86px) 0 0; margin-top:clamp(30px,6vw,75px); border-top:1px solid var(--ccwa-line); }
.ccwa__closing-eyebrow { color:var(--ccwa-teal); font-size:10px; letter-spacing:.16em; font-weight:700; }
.ccwa__closing h3 { margin:20px 0 0; font-size:clamp(38px,5.4vw,75px); line-height:1; font-weight:400; letter-spacing:-.06em; color:var(--ccwa-ink); }
.ccwa__closing h3 em { color:var(--ccwa-teal); font-style:normal; }
.ccwa__closing a { display:inline-flex; align-items:center; justify-content:space-between; gap:40px; min-width:245px; padding:21px 25px; color:#071211!important; background:var(--ccwa-teal); font-size:11px; font-weight:700; letter-spacing:.08em; text-decoration:none!important; transition:transform .3s,background .3s; }
.ccwa__closing a:hover { transform:translateY(-3px); background:#92DDD5; }
.ccwa__closing a span { font-size:23px; font-weight:400; }
.ccwa-admin-note { padding:18px; background:#1d2827; border-left:3px solid #65BDB8; color:#f4f6f5; }
.ccwa-card--motion { opacity:0; transform:translateY(34px); }
.ccwa-card--motion.ccwa-card--revealed { opacity:1; transform:translateY(0); transition:opacity .78s ease,transform .78s cubic-bezier(.16,1,.3,1),border-color .35s ease,background .35s ease; }
@media(max-width:1024px) {
  .ccwa-card--featured { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .ccwa-card--featured .ccwa-card__info { padding:30px; }
  .ccwa-card__visual { height:300px; }
  .ccwa__controls { align-items:flex-start; flex-direction:column; }
  .ccwa__search-wrap { width:min(360px,100%); flex:auto; }
}
@media(max-width:767px) {
  .ccwa__shell { padding:50px 18px 65px; }
  .ccwa__eyebrow { font-size:10px; flex-wrap:wrap; }
  .ccwa__headline { font-size:clamp(45px,11.2vw,72px); line-height:.95; margin:24px 0 25px; }
  .ccwa__intro-bottom { align-items:flex-start; flex-direction:column; gap:16px; }
  .ccwa__intro-bottom p { font-size:15px; }
  .ccwa__filters { gap:4px; }
  .ccwa__filter { font-size:10px; padding:12px 11px; }
  .ccwa__projects { grid-template-columns:1fr; gap:18px; }
  .ccwa-card--featured { grid-column:auto; display:flex; flex-direction:column; min-height:0; }
  .ccwa-card--featured .ccwa-card__visual { min-height:0; height:clamp(240px,75vw,410px); }
  .ccwa-card--featured .ccwa-card__info { padding:26px 23px 30px; }
  .ccwa-card__visual { height:clamp(220px,65vw,380px); }
  .ccwa-card__info { padding:24px 22px 28px; }
  .ccwa-card__title,.ccwa-card--featured .ccwa-card__title { font-size:clamp(28px,7vw,39px); }
  .ccwa-card__excerpt { font-size:14px; }
  .ccwa-card__link { padding-top:24px; }
  .ccwa__closing { align-items:stretch; }
  .ccwa__closing h3 { font-size:clamp(39px,9vw,57px); }
  .ccwa__closing a { width:100%; }
}
@media(max-width:380px) {
  .ccwa__shell { padding-left:14px; padding-right:14px; }
  .ccwa__eyebrow-muted { font-size:9px; }
  .ccwa__filter { padding:10px 8px; }
  .ccwa__bottom-bar { align-items:flex-start; flex-direction:column; }
}
@media(prefers-reduced-motion:reduce) {
  .ccwa-card,.ccwa-card__image,.ccwa-card__corner,.ccwa-card__link span,.ccwa__closing a { animation:none!important; transition:none!important; }
  .ccwa-card--motion { opacity:1!important; transform:none!important; }
}

/* ==============================================================
   WORK ARCHIVE — OCT 2026 FILTER FIX
   Color conflicts elsewhere in the theme were making filters pink.
   These overrides affect only [cc_work_archive], not Elementor.
   =============================================================== */
.ccwa .ccwa__controls {
  justify-content: flex-start !important;
}
.ccwa .ccwa__filters {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100%;
  gap: 9px;
}
.ccwa .ccwa__filters .ccwa__filter {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px;
  width: auto !important;
  min-height: 41px;
  margin: 0 !important;
  padding: 11px 14px !important;
  background: #0C1515 !important;
  background-image: none !important;
  border: 1px solid #344845 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: #C1D0CD !important;
  -webkit-text-fill-color: #C1D0CD !important;
  font-family: Arial, "Segoe UI", sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: .07em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  transition: background-color .24s ease, color .24s ease, border-color .24s ease !important;
}
.ccwa .ccwa__filters .ccwa__filter span {
  color: #91ABA6 !important;
  -webkit-text-fill-color: #91ABA6 !important;
}
.ccwa .ccwa__filters .ccwa__filter:hover,
.ccwa .ccwa__filters .ccwa__filter:focus,
.ccwa .ccwa__filters .ccwa__filter[aria-pressed="true"] {
  background: #183330 !important;
  background-image: none !important;
  border-color: #65BDB8 !important;
  color: #F4F6F5 !important;
  -webkit-text-fill-color: #F4F6F5 !important;
  box-shadow: none !important;
}
.ccwa .ccwa__filters .ccwa__filter[aria-pressed="true"]::before {
  background: #65BDB8 !important;
}
.ccwa .ccwa__filters .ccwa__filter:focus-visible {
  outline: 2px solid #65BDB8 !important;
  outline-offset: 3px !important;
}
@media (max-width: 767px) {
  .ccwa .ccwa__filters { gap: 7px !important; }
  .ccwa .ccwa__filters .ccwa__filter {
    padding: 10px 11px !important;
    font-size: 10px !important;
    min-height: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .ccwa .ccwa__filters .ccwa__filter { transition: none !important; }
}

/* ===== v1.2 THE WORK / THE STORIES / THE LESSONS =====
   Scoped to the standalone Work archive shortcode; not single project posts. */
.ccwa .ccwa__headline {
  max-width: 1250px;
  font-size: clamp(48px, 7.3vw, 112px);
  line-height: .96;
  letter-spacing: -.067em;
}
.ccwa .ccwa__headline span { display:block; }
.ccwa .ccwa__intro-bottom { align-items:flex-end; gap:clamp(24px,5vw,70px); }
.ccwa .ccwa__intro-copy { flex:1 1 auto; min-width:0; max-width:850px; }
.ccwa .ccwa__intro-bottom p.ccwa__intro-lead {
  max-width:810px; font-size:clamp(22px,2.15vw,31px); line-height:1.4;
  color:#F0F5F3; letter-spacing:-.025em; margin:0 0 22px !important;
}
.ccwa .ccwa__intro-bottom p.ccwa__intro-support {
  max-width:750px; font-size:clamp(15px,1.32vw,18px); line-height:1.78;
  color:#AEBFBB; margin:0 !important;
}
.ccwa .ccwa__category-head { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:9px 24px; padding:22px 0 21px; border-top:1px solid var(--ccwa-line); }
.ccwa .ccwa__category-label { margin:0 !important; font:600 13px/1.45 Arial,"Segoe UI",sans-serif !important; letter-spacing:.11em; color:#E4F0ED !important; }
.ccwa .ccwa__category-deck { margin:0 !important; color:#91A8A3; font-size:13px; line-height:1.55; }
.ccwa .ccwa__controls { border-top:0; padding-top:0; }
.ccwa .ccwa__near-misses { border-top:1px solid var(--ccwa-line); border-bottom:1px solid var(--ccwa-line); padding:clamp(42px,6vw,83px) 0; margin-top:clamp(40px,6vw,85px); }
.ccwa .ccwa__near-misses-inner { max-width:970px; }
.ccwa .ccwa__near-misses-overline { display:block; color:var(--ccwa-teal); font-size:11px; font-weight:600; letter-spacing:.14em; line-height:1.5; }
.ccwa .ccwa__near-misses h3 { margin:24px 0 22px !important; font:400 clamp(36px,5vw,78px)/1.04 Arial,"Segoe UI",sans-serif !important; letter-spacing:-.055em; color:var(--ccwa-ink) !important; }
.ccwa .ccwa__near-misses h3 span { color:var(--ccwa-teal); }
.ccwa .ccwa__near-misses p { max-width:850px; margin:0 !important; color:#B7C5C3; font-size:clamp(16px,1.4vw,19px); line-height:1.75; }
.ccwa .ccwa__closing { margin-top:0; border-top:0; }
.ccwa .ccwa__closing > div { flex:1 1 620px; min-width:0; }
.ccwa .ccwa__closing h3 { max-width:850px; font-size:clamp(37px,4.8vw,69px); overflow-wrap:break-word; }
.ccwa .ccwa__closing-copy { margin:24px 0 0 !important; max-width:610px; color:#B7C5C3; font-size:clamp(16px,1.4vw,18px); line-height:1.75; }
.ccwa .ccwa__closing a { gap:22px; max-width:100%; }
@media(max-width:767px) {
  .ccwa .ccwa__headline { font-size:clamp(40px,9vw,67px); line-height:.99; letter-spacing:-.055em; }
  .ccwa .ccwa__intro-bottom { align-items:flex-start; }
  .ccwa .ccwa__intro-bottom p.ccwa__intro-lead { font-size:clamp(20px,5.3vw,26px); }
  .ccwa .ccwa__category-head { align-items:flex-start; flex-direction:column; }
  .ccwa .ccwa__near-misses h3 { font-size:clamp(34px,8vw,52px); }
  .ccwa .ccwa__closing > div { flex-basis:auto; }
  .ccwa .ccwa__closing a { justify-content:space-between; min-width:0; }
}
@media(max-width:380px) {
  .ccwa .ccwa__headline { font-size:clamp(36px,9vw,43px); }
  .ccwa .ccwa__closing a { padding:16px; font-size:10px; }
}
