/* Pulse flagship card, depot preview, and focused case study. */
.project-card--pulse {
  border-color: rgba(22, 91, 158, .18);
  background: #eff7ff;
  box-shadow: 0 35px 80px rgba(22, 68, 121, .1);
}
.project-card--pulse .pulse-project-copy { color: #102d5b; background: linear-gradient(150deg,#f8fbff,#e7f3ff); }
.project-card--pulse .project-num,.project-card--pulse .pulse-status { color: #315675; }
.project-card--pulse .pulse-status { padding: 8px 10px; border: 1px solid rgba(17,118,220,.3); border-radius: 999px; background: #fff; font: 800 9px var(--mono); letter-spacing: .08em; }
.project-card--pulse .project-eyebrow { color: #176bb4; }
.project-card--pulse .project-main h3 { color: #102d5b; }
.project-card--pulse .project-main h3 span { color: #1176dc; animation: none; }
.project-card--pulse .project-main > p { color: #435d77; }
.project-card--pulse .pulse-tagline { color: #145aa0; font-weight: 700; }
.project-card--pulse .project-tags span { border-color: rgba(16,45,91,.16); color: #173d68; background: rgba(255,255,255,.72); }
.project-card--pulse .project-bottom > span { color: #526a81; }
.project-card--pulse .project-art-caption { z-index: 2; color: #315675; }
.pulse-project-art { background: radial-gradient(ellipse at 50% 38%,#fff 0%,#d7ebff 48%,#b4d8f5 100%); }
.pulse-visual-placeholder { position: relative; display: flex; width: min(78%,390px); min-height: 410px; flex-direction: column; align-items: center; justify-content: center; gap: 20px; overflow: hidden; padding: 36px; border: 1px dashed rgba(17,91,158,.34); border-radius: 28px; color: #173c65; background: rgba(255,255,255,.54); text-align: center; box-shadow: 0 28px 70px rgba(25,81,132,.12); transition: transform .28s ease,box-shadow .28s ease; }
.project-card--pulse:hover .pulse-visual-placeholder { transform: translateY(-5px); box-shadow: 0 36px 76px rgba(25,81,132,.18); }
.pulse-placeholder-kicker,.pulse-visual-placeholder small { color: #55728d; font: 800 9px/1.5 var(--mono); letter-spacing: .12em; }
.pulse-placeholder-mark { display: flex; height: 76px; align-items: center; gap: 8px; }
.pulse-placeholder-mark span { width: 9px; border-radius: 10px; background: linear-gradient(#70b8f2,#1176dc); }
.pulse-placeholder-mark span:nth-child(1),.pulse-placeholder-mark span:nth-child(3) { height: 34px; opacity: .55; }
.pulse-placeholder-mark span:nth-child(2) { height: 66px; }
.pulse-visual-placeholder strong { font: 700 clamp(22px,2.4vw,31px)/1.16 var(--display); letter-spacing: -.04em; }

.depot-content-featured-project { display: grid; grid-template-columns: minmax(135px,.72fr) minmax(0,1.3fr); gap: 15px; margin: 4px 0 16px; padding: 13px; border: 1px solid rgba(17,118,220,.2); border-radius: 15px; background: linear-gradient(135deg,#f1f8ff,#fff); }
.depot-pulse-placeholder { display: flex; min-height: 145px; flex-direction: column; align-items: center; justify-content: center; gap: 14px; border: 1px dashed #9dc8ec; border-radius: 11px; color: #174a78; background: linear-gradient(145deg,#e5f3ff,#fafdff); text-align: center; }
.depot-pulse-placeholder span { font: 800 8px/1.4 var(--mono); letter-spacing: .1em; }
.depot-pulse-placeholder strong { font: 700 25px/1 var(--display); }
.depot-pulse-feature-copy { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.depot-pulse-status { color: #315675; font: 800 8px/1.4 var(--mono); letter-spacing: .08em; }
.depot-pulse-feature-copy p { margin: 0; color: #485e73; font-size: 12px; line-height: 1.5; }
.depot-pulse-case-link { display: inline-flex; min-height: 34px; align-items: center; padding: 0 12px; border-radius: 999px; color: #fff !important; background: #145fa7; font-size: 11px; font-weight: 700; text-decoration: none; }
.depot-pulse-case-link:hover { background: #0d4c8b; }

/* Case study */
.pulse-case-page { --pulse-blue:#1176dc; --pulse-blue-2:#258ce9; --pulse-navy:#102d5b; --pulse-ink:#183550; --pulse-soft:#edf6ff; --pulse-line:rgba(16,45,91,.13); color:var(--pulse-ink); background:#f7faff; }
.pulse-case-page .site-header { background:rgba(16,45,91,.97); border-color:rgba(255,255,255,.13); }
.pulse-case-page .nav-contact { color:#f8fbff; }
.pulse-case-main { padding-top:82px; overflow:clip; }
.pulse-breadcrumb { display:flex; align-items:center; gap:10px; padding-top:24px; color:#71849a; font-size:12px; }
.pulse-breadcrumb a { color:#426887; text-decoration:underline; text-underline-offset:3px; }
.pulse-breadcrumb [aria-current] { color:#173e66; font-weight:700; }
.pulse-hero { position:relative; overflow:hidden; padding:clamp(62px,8vw,112px) 0; color:#f8fbff; background:radial-gradient(ellipse at 83% 20%,rgba(111,183,240,.2),transparent 34%),linear-gradient(132deg,#0f3768,#1176dc 65%,#258ce9); }
.pulse-hero::after { position:absolute; inset:0; content:""; pointer-events:none; opacity:.055; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(90deg,transparent,#000 25%,#000); }
.pulse-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(280px,.78fr); gap:clamp(40px,7vw,100px); align-items:center; }
.pulse-hero-copy { max-width:760px; }
.pulse-back-link { display:inline-flex; margin:0 0 34px; color:#d8eaff; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:5px; }
.pulse-eyebrow,.pulse-section-kicker { color:#4d86b7; font:800 10px/1.5 var(--mono); letter-spacing:.13em; }
.pulse-hero .pulse-eyebrow,.pulse-hero .pulse-section-kicker { color:#d3eaff; }
.pulse-hero h1 { margin:20px 0; font:800 clamp(50px,6.4vw,92px)/.98 var(--display); letter-spacing:-.085em; }
.pulse-hero h1 span { display:block; max-width:660px; margin-top:14px; color:#d5e9fb; font:600 clamp(23px,2.6vw,35px)/1.2 var(--body); letter-spacing:-.04em; }
.pulse-hero-summary { max-width:640px; color:rgba(248,251,255,.86); font-size:clamp(16px,1.25vw,18px); line-height:1.72; }
.pulse-tagline { margin:20px 0; color:#e4ff9c; font:700 17px/1.4 var(--body); }
.pulse-hero-meta { display:flex; flex-wrap:wrap; gap:9px; margin:24px 0; }
.pulse-hero-meta span,.pulse-inline-status { padding:9px 11px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#f2f8ff; font:800 9px/1 var(--mono); letter-spacing:.08em; }
.pulse-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:25px; }
.pulse-button { display:inline-flex; min-height:46px; align-items:center; justify-content:center; gap:9px; padding:0 18px; border:1px solid transparent; border-radius:999px; font-size:13px; font-weight:700; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.pulse-button:hover { transform:translateY(-2px); }
.pulse-button--primary { color:#183550; background:#dfff75; }
.pulse-button--secondary { border-color:rgba(255,255,255,.43); color:#fff; background:rgba(12,49,92,.2); }
.pulse-hero-visual { position:relative; display:grid; min-height:430px; place-items:center; overflow:hidden; padding:35px; border:1px solid rgba(255,255,255,.3); border-radius:28px; background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04)); box-shadow:inset 0 1px rgba(255,255,255,.2),0 30px 65px rgba(5,38,79,.22); text-align:center; }
.pulse-hero-visual>img,.pulse-living-placeholder>img,.pulse-screen-placeholder>img { position:absolute; z-index:0; inset:0; display:block; width:100%; height:100%; padding:12px; object-fit:contain; border-radius:inherit; background:rgba(9,35,67,.16); }
.pulse-hero-visual.has-authentic-media .pulse-placeholder-orbit,.pulse-hero-visual.has-authentic-media .pulse-visual-message { display:none; }
.pulse-hero-visual.has-authentic-media .pulse-visual-caption { z-index:2; right:auto; width:max-content; padding:8px 10px; border:1px solid rgba(255,255,255,.25); border-radius:999px; background:rgba(11,39,72,.76); }
.pulse-visual-topline,.pulse-visual-caption { position:absolute; left:22px; color:rgba(245,250,255,.73); font:800 8px/1.5 var(--mono); letter-spacing:.11em; }
.pulse-visual-topline { top:20px; }.pulse-visual-caption { right:20px; bottom:18px; left:20px; }
.pulse-placeholder-orbit { position:absolute; inset:15% 10%; border:1px dashed rgba(255,255,255,.25); border-radius:50%; transform:rotate(-20deg); }
.pulse-placeholder-orbit span { position:absolute; width:9px; height:9px; border-radius:50%; background:#dfff75; box-shadow:0 0 20px rgba(223,255,117,.55); }
.pulse-placeholder-orbit span:nth-child(1) { top:10%; left:19%; }.pulse-placeholder-orbit span:nth-child(2) { right:8%; bottom:30%; width:6px; height:6px; background:#fff; }.pulse-placeholder-orbit span:nth-child(3) { bottom:6%; left:44%; width:5px; height:5px; background:#b9e1ff; }
.pulse-visual-message { position:relative; display:flex; flex-direction:column; align-items:center; gap:14px; max-width:270px; }
.pulse-visual-message span { color:#d8eaff; font:800 8px/1.5 var(--mono); letter-spacing:.11em; }
.pulse-visual-message strong { font:700 clamp(25px,3vw,38px)/1.12 var(--display); letter-spacing:-.05em; }
.pulse-visual-message small { max-width:230px; color:rgba(245,250,255,.73); font-size:11px; line-height:1.5; }
.pulse-truth-note { position:relative; z-index:2; display:grid; grid-template-columns:auto 1fr; gap:15px 22px; align-items:start; margin-top:-22px; padding:19px 22px; border:1px solid #b8d7f1; border-radius:14px; background:#fff; box-shadow:0 12px 35px rgba(28,78,122,.08); }
.pulse-truth-note strong { color:#145a96; font-size:13px; }.pulse-truth-note span { color:#526a81; font-size:13px; line-height:1.6; }
.pulse-section { padding:clamp(70px,8vw,112px) 0; background:#f7faff; }
.pulse-section--blue { background:#eaf5ff; }
.pulse-section--tint { background:#edf5fc; }
.pulse-two-column { display:grid; grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr); gap:clamp(34px,7vw,100px); align-items:start; }
.pulse-section h2,.pulse-section-heading h2,.pulse-status-inner h2,.pulse-cta h2 { margin:18px 0 0; color:#14395f; font:800 clamp(36px,4.8vw,62px)/1.05 var(--display); letter-spacing:-.075em; }
.pulse-prose { color:#50657b; font-size:16px; line-height:1.8; }.pulse-prose p+p { margin-top:18px; }
.pulse-check-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0 0; padding:0; list-style:none; }
.pulse-check-list li { padding:13px 15px; border:1px solid var(--pulse-line); border-radius:11px; color:#31536f; background:rgba(255,255,255,.8); font-size:13px; line-height:1.45; }
.pulse-principles { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }.pulse-principles span { padding:10px 13px; border:1px solid #c1d9ed; border-radius:999px; color:#23547d; background:rgba(255,255,255,.75); font-size:12px; font-weight:700; }
.pulse-section-heading { max-width:780px; margin:0 auto 42px; text-align:center; }.pulse-section-heading>p { max-width:700px; margin:17px auto 0; color:#5c7086; font-size:15px; line-height:1.7; }
.pulse-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.pulse-feature-card { min-height:245px; padding:24px; border:1px solid var(--pulse-line); border-radius:17px; background:#fff; box-shadow:0 12px 30px rgba(19,62,102,.04); }
.pulse-feature-number { display:inline-grid; width:34px; height:34px; place-items:center; border-radius:10px; color:#fff; background:#176db4; font:800 11px var(--mono); }
.pulse-scope-label { float:right; margin-top:9px; color:#6a7f93; font:800 8px var(--mono); letter-spacing:.1em; }
.pulse-feature-card h3 { margin:22px 0 9px; color:#183e63; font:700 21px/1.16 var(--display); letter-spacing:-.04em; }.pulse-feature-card p { color:#5b6e82; font-size:13px; line-height:1.7; }
.pulse-feature-card--wide { grid-column:span 2; }.pulse-group-flows { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0; }
.pulse-group-flows>div { padding:16px; border-radius:12px; background:#eff7ff; }.pulse-group-flows h4 { margin:0 0 9px; color:#1a5488; font:700 14px var(--body); }.pulse-group-flows ul { margin:0; padding-left:18px; color:#526a81; font-size:12px; line-height:1.65; }
.pulse-living-sky { color:#f5f9ff; background:linear-gradient(135deg,#102d5b,#154f8c 58%,#1d75b4); }
.pulse-living-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.82fr); gap:clamp(36px,7vw,92px); align-items:center; }
.pulse-living-copy h2 { max-width:700px; color:#f8fbff; }.pulse-living-copy h2 em { color:#dfff75; font-style:normal; }.pulse-living-copy p { max-width:690px; margin-top:20px; color:#d5e6f7; font-size:15px; line-height:1.8; }
.pulse-living-copy .pulse-section-kicker { color:#d0e7fb; }.pulse-inline-status { display:inline-flex; margin-top:15px; color:#e5f5ff; }
.pulse-living-placeholder { position:relative; display:flex; min-height:300px; flex-direction:column; align-items:center; justify-content:center; gap:17px; overflow:hidden; padding:30px; border:1px dashed rgba(255,255,255,.38); border-radius:20px; background:rgba(255,255,255,.055); text-align:center; }
.pulse-living-placeholder.has-authentic-media { border-style:solid; }.pulse-living-placeholder.has-authentic-media>*:not(img) { position:relative; z-index:1; padding:7px 10px; border-radius:7px; color:#fff; background:rgba(12,39,72,.77); }.pulse-living-placeholder.has-authentic-media small { display:none; }
.pulse-living-placeholder span { color:#d8ebff; font:800 8px/1.5 var(--mono); letter-spacing:.12em; }.pulse-living-placeholder strong { font:700 clamp(27px,3vw,40px) var(--display); }.pulse-living-placeholder small { max-width:250px; color:#c5daee; font-size:11px; line-height:1.5; }
.pulse-design-principles { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:13px; }.pulse-design-principles article { padding:20px; border-top:2px solid #258ce9; background:#fff; }.pulse-design-principles article>span { color:#2080cc; font:800 10px var(--mono); }.pulse-design-principles h3 { margin:16px 0 8px; color:#183e63; font:700 17px var(--display); }.pulse-design-principles p { color:#5c7086; font-size:12px; line-height:1.65; }
.pulse-screen-gallery { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:34px; }.pulse-screen-placeholder { position:relative; display:flex; min-height:180px; aspect-ratio:.8; flex-direction:column; justify-content:space-between; overflow:hidden; padding:16px; border:1px dashed #9bbdd9; border-radius:13px; background:linear-gradient(145deg,#e9f4ff,#f9fcff); }.pulse-screen-placeholder span,.pulse-screen-placeholder strong { position:relative; z-index:1; }.pulse-screen-placeholder span { color:#67819a; font:800 8px/1.4 var(--mono); letter-spacing:.08em; }.pulse-screen-placeholder strong { color:#254d70; font:700 15px var(--display); }
.pulse-screen-placeholder.has-authentic-media { border-style:solid; }.pulse-screen-placeholder.has-authentic-media span,.pulse-screen-placeholder.has-authentic-media strong { width:max-content; max-width:100%; padding:6px 8px; border-radius:6px; color:#fff; background:rgba(12,39,72,.78); }
.pulse-media-caption { margin:14px 0 0; color:#72869a; font-size:11px; text-align:right; }
.pulse-section--dark { color:#f5f9ff; background:#102d5b; }.pulse-section--dark h2 { color:#f8fbff; }.pulse-section--dark .pulse-section-kicker { color:#c6e1f8; }.pulse-section--dark .pulse-prose { color:#d4e3f1; }
.pulse-confirmed-stack { display:flex; flex-wrap:wrap; gap:9px; margin:22px 0; }.pulse-confirmed-stack span { padding:11px 14px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:#f8fbff; background:rgba(255,255,255,.08); font:800 10px var(--mono); letter-spacing:.1em; }
.pulse-evidence-note { padding:18px; border-left:3px solid #dfff75; background:rgba(255,255,255,.07); }.pulse-evidence-note strong { color:#e5ff9c; font-size:13px; }.pulse-evidence-note p { margin-top:8px; font-size:13px; line-height:1.7; }
.pulse-journey-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; padding:0; list-style:none; }.pulse-journey-grid li { display:flex; min-height:128px; flex-direction:column; justify-content:space-between; padding:17px; border:1px solid #c9dff1; border-radius:13px; background:#fff; }.pulse-journey-grid li span { color:#1b7dcc; font:800 10px var(--mono); }.pulse-journey-grid li strong { max-width:220px; color:#244864; font:700 15px/1.35 var(--display); }
.pulse-status-section { padding:clamp(58px,7vw,92px) 0; color:#fff; background:#176db4; }.pulse-status-inner { max-width:850px; }.pulse-status-pill { display:inline-flex; align-items:center; gap:9px; padding:9px 12px; border:1px solid rgba(255,255,255,.4); border-radius:999px; font:800 9px var(--mono); letter-spacing:.1em; }.pulse-status-pill i { width:7px; height:7px; border-radius:50%; background:#dfff75; }.pulse-status-inner h2 { color:#fff; }.pulse-status-inner p { max-width:700px; margin-top:17px; color:#e1effb; line-height:1.75; }
.pulse-cta { padding:clamp(70px,9vw,118px) 0; background:#eaf4fd; }.pulse-cta-inner { max-width:780px; }.pulse-cta h2 { margin-top:16px; }.pulse-cta-inner>p { max-width:700px; margin-top:17px; color:#5a6f84; font-size:16px; line-height:1.75; }.pulse-cta .pulse-button--secondary { border-color:#a9c5de; color:#164c7e; background:#fff; }
.pulse-footer { padding:24px 0; color:#dbe9f6; background:#102d5b; }.pulse-footer>.container { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; }.pulse-footer-brand { color:#fff; font:800 25px var(--display); letter-spacing:-.08em; }.pulse-footer-brand span { color:#dfff75; }.pulse-footer p,.pulse-footer a:last-child { color:#c3d5e6; font:700 9px/1.6 var(--mono); letter-spacing:.07em; }

@media (max-width:980px) {
  .pulse-hero-grid,.pulse-living-grid { grid-template-columns:minmax(0,1fr) minmax(240px,.8fr); gap:32px; }
  .pulse-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pulse-feature-card--wide { grid-column:span 2; }
  .pulse-design-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }.pulse-screen-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .pulse-journey-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:720px) {
  .project-card--pulse { grid-template-columns:1fr; }.project-card--pulse .project-copy { min-height:500px; }.pulse-project-art { min-height:390px; }.pulse-visual-placeholder { min-height:310px; }
  .depot-content-featured-project { grid-template-columns:1fr; }.depot-pulse-placeholder { min-height:112px; }
  .pulse-case-main { padding-top:72px; }.pulse-breadcrumb { padding-top:18px; }.pulse-hero { padding:56px 0 64px; }.pulse-hero-grid { grid-template-columns:1fr; gap:34px; }.pulse-hero h1 { font-size:clamp(48px,12vw,72px); }.pulse-hero-visual { min-height:270px; }.pulse-truth-note { grid-template-columns:1fr; gap:7px; padding:16px; }
  .pulse-two-column,.pulse-living-grid { grid-template-columns:1fr; gap:25px; }.pulse-section { padding:62px 0; }.pulse-section h2,.pulse-section-heading h2,.pulse-status-inner h2,.pulse-cta h2 { font-size:clamp(34px,9vw,48px); }
  .pulse-check-list { grid-template-columns:1fr; }.pulse-feature-grid { grid-template-columns:1fr; }.pulse-feature-card--wide { grid-column:auto; }.pulse-group-flows { grid-template-columns:1fr; }
  .pulse-design-principles { grid-template-columns:repeat(2,minmax(0,1fr)); }.pulse-screen-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }.pulse-screen-placeholder { min-height:126px; padding:13px; }
  .pulse-journey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.pulse-living-placeholder { min-height:230px; }
}
@media (max-width:390px) {
  .project-card--pulse .project-copy { min-height:540px; padding:27px 23px; }.project-card--pulse .project-main h3 { font-size:72px; }.project-card--pulse .project-bottom { align-items:flex-start; flex-direction:column; }.project-card--pulse .project-bottom>span { text-align:left; }
  .pulse-screen-gallery { grid-template-columns:1fr 1fr; }.pulse-screen-placeholder strong { font-size:13px; }
}
@media (prefers-reduced-motion:reduce) {
  .project-card--pulse .pulse-visual-placeholder,.pulse-button { transition:none; }
  .project-card--pulse:hover .pulse-visual-placeholder { transform:none; }
}

/* Projects section rhythm and card geometry. These rules follow the legacy
   stylesheet so older breakpoint overrides cannot reintroduce title overflow. */
:root {
  --projects-card-gap: 40px;
  --projects-card-padding: 52px;
  --projects-content-gap: 28px;
  --projects-section-gap: 96px;
}
.work-section { padding-block: var(--projects-section-gap); }
.work-section > .container { min-width: 0; }
.work-section .section-heading {
  grid-template-columns: minmax(0,1.1fr) minmax(260px,.7fr);
  align-items: end;
  gap: clamp(32px,5vw,72px);
  margin: 0;
}
.work-section .section-heading > div,
.work-section .section-heading > p { min-width: 0; }
.work-section .section-heading h2 {
  max-width: 780px;
  margin-top: 22px;
  font-size: clamp(52px,6.1vw,88px);
  line-height: .98;
  text-wrap: balance;
}
.work-section .section-heading > p {
  max-width: 420px;
  margin: 0 0 8px auto;
  font-size: 16px;
  line-height: 1.65;
}
.work-section .project-filters {
  gap: 10px;
  margin: 48px 0 32px;
}
.work-section .project-filter {
  min-height: 42px;
  padding: 10px 15px;
  font-size: 12px;
}
.projects-list {
  display: grid;
  min-width: 0;
  gap: var(--projects-card-gap);
}
.projects-list > * { min-width: 0; }
.projects-list > .project-card {
  display: grid;
  grid-template-columns: minmax(0,48fr) minmax(0,52fr);
  align-items: stretch;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-radius: var(--radius-card,24px);
}
.projects-list > .project-card[hidden] { display: none; }
.projects-list .project-copy,
.projects-list .project-art,
.projects-list .project-media--magnet { min-width: 0; }
.projects-list .project-copy {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: flex-start;
  gap: var(--projects-content-gap);
  padding: var(--projects-card-padding);
}
.projects-list .project-copy:after {
  right: 24px;
  pointer-events: none;
}
.projects-list .project-top,
.projects-list .project-bottom { min-width: 0; gap: 14px; }
.projects-list .project-top {
  flex-wrap: wrap;
  font-size: 11px;
  line-height: 1.4;
}
.projects-list .project-year,
.projects-list .pulse-status { flex: 0 0 auto; }
.projects-list .project-main {
  min-width: 0;
  width: 100%;
}
.projects-list .project-eyebrow {
  display: block;
  max-width: 100%;
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.projects-list .project-main h3,
.projects-list .project-card--magnet .project-main h3 {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 14px 0 0;
  font-size: clamp(50px,5.25vw,78px);
  line-height: 1.02;
  letter-spacing: -.075em;
  overflow-wrap: anywhere;
  text-wrap: balance;
}
.projects-list .project-main h3 span {
  position: relative;
  top: -.14em;
  left: 4px;
  margin-left: 1px;
  font-size: .34em;
  vertical-align: baseline;
}
.projects-list .project-main > p {
  max-width: 58ch;
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.projects-list .project-main > p + p { margin-top: 14px; }
.projects-list .project-main > .project-tags {
  max-width: 100%;
  gap: 8px;
  margin-top: 22px;
}
.projects-list .project-tags span {
  max-width: 100%;
  padding: 7px 11px;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.projects-list .project-impact {
  gap: 14px 20px;
  margin-top: 23px;
  padding-top: 17px;
}
.projects-list .project-impact strong { font-size: 15px; }
.projects-list .project-impact span { font-size: 10px; line-height: 1.4; }
.projects-list .project-bottom {
  flex-wrap: wrap;
  margin-top: auto;
  padding-top: 2px;
}
.projects-list .project-bottom > span {
  font-size: 10px;
  line-height: 1.5;
}
.projects-list .project-actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 18px;
}
.projects-list .project-art {
  min-height: 610px;
  height: 100%;
  border: 0;
}
.projects-list .project-card--magnet .project-media--magnet { order: 2; }
.projects-list .project-card--magnet .project-copy {
  order: 1;
  background: #fff0e6;
}
.projects-list .project-card--magnet .project-media--magnet { min-height: 610px; }
.projects-list .project-card--magnet .project-art-caption { max-width: calc(100% - 48px); }
.projects-list .project-postscript {
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px 28px;
  margin: 0;
  padding: 22px 4px 0;
}
.projects-list .project-postscript > span { min-width: 0; }
.projects-list .project-postscript p { flex: 1 1 360px; min-width: 0; font-size: 15px; line-height: 1.65; }
.projects-list .project-postscript a { margin-left: 0; }

@media (max-width:1100px) {
  :root { --projects-card-gap:32px; --projects-card-padding:36px; --projects-section-gap:88px; }
  .work-section .section-heading {
    grid-template-columns: minmax(0,1fr);
    gap: 18px;
  }
  .work-section .section-heading h2 { max-width: 720px; font-size: clamp(52px,7.5vw,76px); }
  .work-section .section-heading > p { max-width: 620px; margin: 0; }
  .work-section .project-filters { margin-top: 42px; }
  .projects-list > .project-card { display: flex; flex-direction: column; }
  .projects-list .project-copy { min-height: 0; }
  .projects-list .project-card--magnet .project-copy { order: 1; }
  .projects-list .project-card--magnet .project-media--magnet { order: 2; }
  .projects-list .project-art,
  .projects-list .project-card--magnet .project-media--magnet { min-height: 540px; }
  .projects-list .project-main h3,
  .projects-list .project-card--magnet .project-main h3 { font-size: clamp(54px,7vw,78px); }
}
@media (max-width:700px) {
  :root { --projects-card-gap:24px; --projects-card-padding:24px; --projects-content-gap:22px; --projects-section-gap:72px; }
  .work-section .section-heading { gap: 16px; }
  .work-section .section-heading h2 { font-size: clamp(44px,10vw,64px); }
  .work-section .section-heading > p { font-size: 15px; line-height: 1.65; }
  .work-section .project-filters { gap: 8px; margin: 34px 0 26px; }
  .work-section .project-filter { min-height: 42px; padding-inline: 13px; font-size: 11px; }
  .projects-list .project-copy { padding: var(--projects-card-padding); }
  .projects-list .project-main h3,
  .projects-list .project-card--magnet .project-main h3 { font-size: clamp(48px,12vw,64px); line-height: 1.04; }
  .projects-list .project-main > p { margin-top: 23px; font-size: 15px; line-height: 1.65; }
  .projects-list .project-main > .project-tags { gap: 7px; margin-top: 20px; }
  .projects-list .project-tags span { padding: 7px 9px; font-size: 11px; }
  .projects-list .project-impact { gap: 12px 16px; margin-top: 20px; }
  .projects-list .project-art,
  .projects-list .project-card--magnet .project-media--magnet { min-height: 470px; }
  .projects-list .project-bottom { align-items: flex-start; }
  .projects-list .project-bottom > span { text-align: left; }
  .projects-list .project-actions { gap: 12px; }
  .projects-list .project-postscript { align-items: flex-start; gap: 14px; padding-inline: 0; }
  .projects-list .project-postscript > span { width: 100%; }
  .projects-list .project-postscript p { flex-basis: 100%; font-size: 14px; }
}
@media (max-width:420px) {
  .work-section .project-filters { gap: 7px; }
  .work-section .project-filter { padding-inline: 11px; font-size: 10px; }
  .projects-list .project-top { align-items: flex-start; }
  .projects-list .project-main h3,
  .projects-list .project-card--magnet .project-main h3 { font-size: clamp(46px,12vw,54px); }
  .projects-list .project-card--pulse .project-main h3 { font-size: clamp(54px,14vw,68px); }
  .projects-list .project-bottom { flex-direction: column; }
  .projects-list .project-art,
  .projects-list .project-card--magnet .project-media--magnet { min-height: 470px; }
}
