:root {
  --project-bg: #02060d;
  --project-surface: rgba(7, 18, 30, .88);
  --project-surface-2: rgba(11, 28, 45, .78);
  --project-line: rgba(128, 165, 193, .17);
  --project-line-bright: rgba(62, 220, 243, .34);
  --project-cyan: #46dcf3;
  --project-teal: #55ebcf;
  --project-violet: #a78bfa;
  --project-amber: #ffba6a;
  --project-muted: #94a8b8;
  --project-shadow: 0 34px 100px rgba(0, 2, 8, .48);
}

html { scroll-padding-top: 132px; }
body.projects-page { background: var(--project-bg); }
body.dialog-open { overflow: hidden; }
.projects-page [hidden] { display: none !important; }
.projects-page .section { padding-block: clamp(92px, 10vw, 150px); }
.projects-page .section-kicker { color: var(--project-teal); }
.projects-page .button-primary { background: linear-gradient(112deg, #ff9c53, #d95da9 52%, #7856ff); box-shadow: 0 14px 42px rgba(122, 82, 255, .22); }
.projects-page .button-primary:hover { box-shadow: 0 18px 54px rgba(122, 82, 255, .34); }
.projects-page .header-cta { white-space: nowrap; }
.projects-page .about-header { background: rgba(2, 8, 18, .78); }
.projects-page .desktop-nav a.active::after { background: linear-gradient(90deg, var(--project-cyan), var(--project-violet), var(--project-amber)); }

/* Hero */
.projects-hero {
  position: relative;
  min-height: 940px;
  display: grid;
  align-items: start;
  isolation: isolate;
  overflow: hidden;
  background: #02060d;
}
.projects-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 50% 22%, rgba(45, 165, 202, .12), transparent 28%),
    linear-gradient(180deg, rgba(2, 6, 13, .4), rgba(2, 6, 13, .04) 45%, #02060d 96%);
  content: "";
}
.projects-hero-media { position: absolute; inset: 0; z-index: -2; }
.projects-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; opacity: .86; transform: scale(1.02); transition: transform .35s ease-out; }
.projects-hero-media::after {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 6, 13, .92) 0%, rgba(2, 6, 13, .72) 25%, rgba(2, 6, 13, .12) 59%, rgba(2, 6, 13, .9) 94%, #02060d 100%),
    linear-gradient(90deg, rgba(2, 6, 13, .25), transparent 30%, transparent 70%, rgba(2, 6, 13, .25));
  content: "";
}
.projects-hero-inner { width: min(100%, 1050px); margin-inline: auto; padding-block: 150px 74px; text-align: center; }
.projects-hero .breadcrumbs { justify-content: center; margin-bottom: 30px; }
.projects-signature { display: inline-flex; align-items: center; gap: 13px; color: #b5c8d7; font: 800 .65rem/1 Inter, sans-serif; letter-spacing: .16em; }
.projects-signature::before, .projects-signature::after { width: 38px; height: 1px; background: linear-gradient(90deg, transparent, var(--project-cyan)); content: ""; }
.projects-signature::after { background: linear-gradient(90deg, var(--project-amber), transparent); }
.projects-signature i { width: 7px; height: 7px; border-radius: 50%; background: var(--project-teal); box-shadow: 0 0 15px var(--project-teal); animation: project-pulse 2.4s ease-in-out infinite; }
.projects-hero h1 { max-width: 1010px; margin: 29px auto 22px; color: #fff; font-size: clamp(3.4rem, 6.7vw, 6.8rem); font-weight: 900; line-height: 1.03; letter-spacing: -.052em; text-wrap: balance; }
.projects-page-fa .projects-hero h1 { font-size: clamp(3.1rem, 6vw, 6.2rem); line-height: 1.22; letter-spacing: -.04em; }
.projects-hero h1 em { color: transparent; background: linear-gradient(100deg, #57e8fa 10%, #aab9ff 48%, #d7a5f4 70%, #ffc276); background-clip: text; -webkit-background-clip: text; font-style: normal; }
.projects-hero-lead { max-width: 760px; margin: 0 auto; color: #a9bac7; font-size: clamp(.98rem, 1.5vw, 1.15rem); line-height: 2; text-wrap: balance; }
.projects-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 31px; }
.projects-hero-actions .button { min-width: 195px; }
.projects-hero-actions .icon { width: 18px; height: 18px; }
[dir="rtl"] .project-arrow { transform: rotate(180deg); }
.projects-hero-index {
  width: min(calc(100% - 48px), 960px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: auto auto 58px;
  border: 1px solid var(--project-line);
  border-radius: 20px;
  background: rgba(3, 10, 18, .78);
  box-shadow: var(--project-shadow);
  backdrop-filter: blur(18px);
  overflow: hidden;
}
.projects-hero-index div { min-height: 102px; display: grid; align-content: center; gap: 7px; padding: 20px 24px; border-inline-end: 1px solid var(--project-line); text-align: start; }
.projects-hero-index div:last-child { border-inline-end: 0; }
.projects-hero-index small { color: #5f788c; font: 750 .57rem/1 Inter, sans-serif; letter-spacing: .11em; }
.projects-hero-index strong { color: #eef6f9; font-size: .86rem; }
.projects-hero-index span { color: var(--project-amber); font: 800 .62rem/1 Inter, sans-serif; letter-spacing: .08em; }

/* Sticky rail */
.projects-rail { position: sticky; inset-block-start: 76px; z-index: 20; border-block: 1px solid var(--project-line); background: rgba(2, 8, 16, .86); backdrop-filter: blur(18px); }
.projects-rail .container { display: flex; justify-content: center; overflow-x: auto; scrollbar-width: none; }
.projects-rail .container::-webkit-scrollbar { display: none; }
.projects-rail a { position: relative; flex: 0 0 auto; padding: 17px 27px 15px; color: #6f8496; font-size: .68rem; font-weight: 750; white-space: nowrap; transition: color .2s ease; }
.projects-rail a::after { position: absolute; inset-inline: 25%; inset-block-end: -1px; height: 1px; background: linear-gradient(90deg, var(--project-cyan), var(--project-amber)); transform: scaleX(0); transition: transform .2s ease; content: ""; }
.projects-rail a:hover, .projects-rail a.is-active { color: #f2f7fa; }
.projects-rail a.is-active::after { transform: scaleX(1); }

/* Evidence protocol */
.projects-protocol { background: linear-gradient(180deg, #02060d, #06101b 52%, #030914); }
.projects-protocol-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(55px, 8vw, 110px); align-items: center; }
.projects-protocol-copy h2, .projects-gallery-head h2, .projects-feature-copy h2, .projects-method-head h2 { margin: 14px 0 18px; color: #f5f8fb; font-size: clamp(2.25rem, 4.2vw, 4.25rem); line-height: 1.16; letter-spacing: -.035em; text-wrap: balance; }
.projects-protocol-copy > p, .projects-gallery-head > div > p, .projects-feature-copy > p, .projects-method-head p { color: var(--project-muted); line-height: 1.95; }
.projects-protocol-note { display: flex; gap: 13px; margin-top: 28px; padding: 17px; border: 1px solid rgba(255, 186, 106, .2); border-radius: 15px; color: #bdcbd4; background: rgba(255, 186, 106, .055); font-size: .72rem; line-height: 1.8; }
.projects-protocol-note .icon { width: 20px; height: 20px; flex: 0 0 auto; color: var(--project-amber); }
.evidence-orbit { position: relative; min-height: 570px; display: grid; place-items: center; }
.evidence-orbit::before, .evidence-orbit::after { position: absolute; inset: 10%; border: 1px solid rgba(61, 218, 239, .13); border-radius: 50%; content: ""; }
.evidence-orbit::after { inset: 23%; border-color: rgba(167, 139, 250, .17); }
.evidence-core { position: relative; z-index: 2; width: 155px; height: 155px; display: grid; place-items: center; border: 1px solid rgba(85, 235, 207, .35); border-radius: 38px; background: radial-gradient(circle at 45% 35%, rgba(85, 235, 207, .22), rgba(5, 19, 29, .96) 65%); box-shadow: 0 0 85px rgba(57, 221, 247, .13); transform: rotate(45deg); }
.evidence-core::after { width: 65px; height: 65px; border: 1px solid rgba(255, 186, 106, .46); border-radius: 19px; box-shadow: inset 0 0 25px rgba(255, 186, 106, .12), 0 0 24px rgba(255, 186, 106, .12); content: ""; }
.evidence-core span { position: absolute; inset-block-end: -54px; color: var(--project-teal); font: 800 .58rem/1 Inter, sans-serif; letter-spacing: .14em; transform: rotate(-45deg); }
.evidence-node { position: absolute; z-index: 3; width: 184px; min-height: 108px; display: grid; grid-template-columns: auto 1fr; gap: 13px; align-content: center; padding: 16px; border: 1px solid var(--project-line); border-radius: 17px; background: rgba(6, 18, 30, .87); box-shadow: 0 18px 60px rgba(0, 3, 9, .32); backdrop-filter: blur(12px); }
.evidence-node:nth-of-type(1) { inset-block-start: 3%; inset-inline-start: 9%; }
.evidence-node:nth-of-type(2) { inset-block-start: 10%; inset-inline-end: 0; }
.evidence-node:nth-of-type(3) { inset-block-end: 8%; inset-inline-start: 0; }
.evidence-node:nth-of-type(4) { inset-block-end: 1%; inset-inline-end: 7%; }
.evidence-node i { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid rgba(70, 220, 243, .24); border-radius: 12px; color: var(--project-cyan); background: rgba(70, 220, 243, .055); }
.evidence-node .icon { width: 19px; height: 19px; }
.evidence-node small { color: #637b8d; font: 750 .52rem/1 Inter, sans-serif; letter-spacing: .1em; }
.evidence-node strong { display: block; margin-top: 7px; color: #edf5f8; font-size: .77rem; line-height: 1.55; }

/* Featured evidence file */
.projects-feature { background: #030914; }
.projects-feature-card { display: grid; grid-template-columns: 1.18fr .82fr; border: 1px solid var(--project-line); border-radius: 30px; background: #071421; box-shadow: var(--project-shadow); overflow: hidden; }
.projects-feature-visual { position: relative; min-height: 690px; overflow: hidden; }
.projects-feature-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.8,.2,1); }
.projects-feature-card:hover .projects-feature-visual img { transform: scale(1.035); }
.projects-feature-visual::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(2, 8, 14, .82)); content: ""; }
.projects-feature-stamp { position: absolute; inset-inline-start: 25px; inset-block-end: 24px; z-index: 1; display: flex; align-items: center; gap: 11px; padding: 12px 15px; border: 1px solid rgba(85, 235, 207, .24); border-radius: 12px; color: var(--project-teal); background: rgba(2, 11, 19, .75); font: 750 .61rem/1 Inter, sans-serif; letter-spacing: .1em; backdrop-filter: blur(12px); }
.projects-feature-copy { display: grid; align-content: center; padding: clamp(35px, 5vw, 68px); }
.projects-feature-copy h2 { font-size: clamp(2.4rem, 4vw, 4rem); }
.projects-feature-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 23px; }
.projects-feature-meta span, .project-tags span { padding: 7px 11px; border: 1px solid var(--project-line); border-radius: 999px; color: #9fb2c0; background: rgba(255, 255, 255, .025); font-size: .62rem; font-weight: 700; }
.projects-feature-brief { display: grid; gap: 0; margin: 30px 0 0; border-top: 1px solid var(--project-line); }
.projects-feature-brief div { display: grid; grid-template-columns: 95px 1fr; gap: 18px; padding-block: 18px; border-bottom: 1px solid var(--project-line); }
.projects-feature-brief dt { color: var(--project-amber); font: 750 .57rem/1.6 Inter, sans-serif; letter-spacing: .1em; }
.projects-feature-brief dd { margin: 0; color: #c1ced7; font-size: .74rem; line-height: 1.8; }
.projects-feature-copy .button { justify-self: start; margin-top: 26px; }

/* Filtered project gallery */
.projects-gallery { background: linear-gradient(180deg, #030914, #06101b 55%, #030914); }
.projects-gallery-head { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: end; }
.projects-gallery-head > div { max-width: 760px; }
.projects-visible-count { display: flex; align-items: center; gap: 14px; min-width: 185px; padding: 15px 17px; border: 1px solid var(--project-line); border-radius: 15px; background: rgba(9, 25, 40, .7); }
.projects-visible-count strong { color: var(--project-cyan); font: 800 1.8rem/1 Inter, sans-serif; }
.projects-visible-count span { color: #708698; font-size: .6rem; font-weight: 700; line-height: 1.6; }
.project-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-block: 38px 29px; padding: 9px; border: 1px solid var(--project-line); border-radius: 18px; background: rgba(4, 14, 24, .76); }
.project-filter { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 9px 14px; border: 1px solid transparent; border-radius: 11px; color: #8499a9; background: transparent; cursor: pointer; font-size: .68rem; font-weight: 750; transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease; }
.project-filter .icon { width: 16px; height: 16px; }
.project-filter:hover { color: #e8f2f7; transform: translateY(-1px); }
.project-filter.is-active { border-color: rgba(70, 220, 243, .25); color: #eaf8fb; background: linear-gradient(135deg, rgba(70, 220, 243, .11), rgba(167, 139, 250, .08)); }
.no-js .project-filter-bar { display: none; }
.project-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.project-card { --project-x: 50%; --project-y: 50%; position: relative; min-width: 0; border: 1px solid var(--project-line); border-radius: 24px; background: rgba(6, 18, 30, .92); box-shadow: 0 20px 70px rgba(0, 3, 9, .28); overflow: hidden; animation: project-card-in .42s ease both; }
.project-card::after { position: absolute; inset: 0; z-index: 3; pointer-events: none; background: radial-gradient(circle at var(--project-x) var(--project-y), rgba(77, 224, 244, .11), transparent 33%); opacity: 0; transition: opacity .25s ease; content: ""; }
.project-card:hover::after { opacity: 1; }
.project-card-media { position: relative; aspect-ratio: 16 / 9.6; overflow: hidden; }
.project-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.2,.8,.2,1), filter .3s ease; }
.project-card:hover .project-card-media img { transform: scale(1.045); filter: saturate(1.08); }
.project-card-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 54%, rgba(5, 15, 26, .9)); content: ""; }
.project-card-code { position: absolute; inset-block-start: 17px; inset-inline-start: 17px; z-index: 1; padding: 8px 10px; border: 1px solid rgba(255, 255, 255, .13); border-radius: 9px; color: #d5e3eb; background: rgba(2, 9, 16, .68); font: 750 .56rem/1 Inter, sans-serif; letter-spacing: .1em; backdrop-filter: blur(10px); }
.project-card-domain { position: absolute; inset-inline-end: 17px; inset-block-end: 16px; z-index: 1; display: inline-flex; align-items: center; gap: 7px; color: var(--project-teal); font-size: .62rem; font-weight: 750; }
.project-card-domain .icon { width: 16px; height: 16px; }
.project-card-body { position: relative; z-index: 4; padding: 25px; }
.project-card-top { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.project-card-eyebrow { color: #647c8e; font: 750 .56rem/1 Inter, sans-serif; letter-spacing: .1em; }
.project-card h3 { margin: 10px 0 0; color: #f4f8fa; font-size: clamp(1.35rem, 2.2vw, 2rem); line-height: 1.35; }
.project-card-target { flex: 0 0 auto; text-align: end; }
.project-card-target small { display: block; color: #5c7486; font-size: .53rem; font-weight: 750; }
.project-card-target strong { display: block; margin-top: 7px; color: var(--project-amber); font: 800 .75rem/1.2 Inter, sans-serif; }
.project-card p { margin: 15px 0 0; color: var(--project-muted); font-size: .76rem; line-height: 1.85; }
.project-card-footer { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--project-line); }
.project-tags { display: flex; flex-wrap: wrap; gap: 6px; }
.project-tags span { padding: 5px 9px; font-size: .56rem; }
.project-open { position: relative; z-index: 4; width: 40px; height: 40px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(70, 220, 243, .25); border-radius: 12px; color: var(--project-cyan); background: rgba(70, 220, 243, .055); cursor: pointer; transition: color .2s ease, background .2s ease, transform .2s ease; }
.project-open:hover { color: #031018; background: var(--project-cyan); transform: translateY(-2px); }
.project-open .icon { width: 18px; height: 18px; }
.project-empty { padding: 55px; border: 1px dashed var(--project-line); border-radius: 22px; color: var(--project-muted); text-align: center; }
.projects-gallery-note { display: flex; align-items: start; gap: 12px; max-width: 840px; margin-top: 28px; color: #708798; font-size: .68rem; line-height: 1.8; }
.projects-gallery-note .icon { width: 19px; height: 19px; flex: 0 0 auto; color: var(--project-amber); }

/* Documentation method */
.projects-method { background: #030914; }
.projects-method-head { display: grid; grid-template-columns: 1fr .7fr; gap: 80px; align-items: end; }
.projects-method-grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 50px; border: 1px solid var(--project-line); border-radius: 24px; background: rgba(7, 20, 33, .78); overflow: hidden; }
.project-method-card { position: relative; min-height: 280px; padding: 27px; border-inline-end: 1px solid var(--project-line); overflow: hidden; }
.project-method-card:last-child { border-inline-end: 0; }
.project-method-card::before { position: absolute; inset-inline: 0; inset-block-start: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--project-cyan), transparent); transform: scaleX(0); transition: transform .35s ease; content: ""; }
.project-method-card:hover::before { transform: scaleX(1); }
.project-method-card > span { color: #557084; font: 750 .56rem/1 Inter, sans-serif; letter-spacing: .12em; }
.project-method-card i { width: 47px; height: 47px; display: grid; place-items: center; margin: 38px 0 22px; border: 1px solid rgba(70, 220, 243, .22); border-radius: 14px; color: var(--project-cyan); background: rgba(70, 220, 243, .055); }
.project-method-card .icon { width: 22px; height: 22px; }
.project-method-card h3 { margin: 0 0 10px; font-size: 1.02rem; }
.project-method-card p { margin: 0; color: var(--project-muted); font-size: .72rem; line-height: 1.8; }

/* CTA and dialog */
.projects-cta { background: linear-gradient(180deg, #030914, #02060d); }
.projects-cta .cta-card { overflow: hidden; }
.projects-cta .cta-card::after { position: absolute; inset-inline-end: -80px; inset-block-end: -140px; width: 330px; height: 330px; border: 1px solid rgba(70, 220, 243, .15); border-radius: 50%; box-shadow: 0 0 0 48px rgba(167, 139, 250, .035), 0 0 0 96px rgba(70, 220, 243, .025); content: ""; }
.projects-dialog { width: min(calc(100% - 36px), 1060px); max-height: min(88vh, 850px); padding: 0; border: 1px solid rgba(105, 179, 207, .27); border-radius: 26px; color: #eef6fa; background: #06111d; box-shadow: 0 35px 120px rgba(0, 0, 0, .65); overflow: auto; }
.projects-dialog::backdrop { background: rgba(0, 4, 10, .8); backdrop-filter: blur(10px); }
.projects-dialog-shell { position: relative; display: grid; grid-template-columns: 1fr 1fr; min-height: 630px; }
.projects-dialog-media { position: relative; min-height: 430px; overflow: hidden; }
.projects-dialog-media img { width: 100%; height: 100%; object-fit: cover; }
.projects-dialog-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(6, 17, 29, .88)); content: ""; }
.projects-dialog-content { display: grid; align-content: center; padding: 50px; }
.projects-dialog-close { position: absolute; z-index: 4; inset-block-start: 16px; inset-inline-end: 16px; width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .16); border-radius: 50%; color: #fff; background: rgba(3, 10, 18, .7); cursor: pointer; backdrop-filter: blur(10px); }
.projects-dialog-close .icon { width: 18px; height: 18px; }
.projects-dialog-eyebrow { color: var(--project-teal); font: 750 .6rem/1 Inter, sans-serif; letter-spacing: .13em; }
.projects-dialog h2 { margin: 17px 0 14px; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.2; }
.projects-dialog-summary { margin: 0; color: var(--project-muted); font-size: .82rem; line-height: 1.9; }
.projects-dialog-brief { display: grid; margin: 26px 0 0; border-top: 1px solid var(--project-line); }
.projects-dialog-brief div { padding-block: 16px; border-bottom: 1px solid var(--project-line); }
.projects-dialog-brief dt { color: #617b8e; font: 750 .54rem/1 Inter, sans-serif; letter-spacing: .11em; }
.projects-dialog-brief dd { margin: 7px 0 0; color: #c8d5dd; font-size: .72rem; line-height: 1.75; }
.projects-dialog-metric { color: var(--project-amber) !important; font-weight: 800; }
.projects-dialog-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0 0; padding: 0; list-style: none; }
.projects-dialog-tags li { padding: 6px 10px; border: 1px solid var(--project-line); border-radius: 999px; color: #98adbb; font-size: .58rem; font-weight: 700; }
.projects-dialog-detail { justify-self: start; margin-top: 24px; }

@keyframes project-pulse { 50% { opacity: .55; transform: scale(.8); } }
@keyframes project-card-in { from { opacity: 0; transform: translateY(12px) scale(.99); } to { opacity: 1; transform: none; } }

@media (max-width: 1080px) {
  .projects-hero { min-height: 900px; }
  .projects-protocol-grid { grid-template-columns: 1fr; }
  .evidence-orbit { width: min(100%, 720px); margin-inline: auto; }
  .projects-feature-card { grid-template-columns: 1fr; }
  .projects-feature-visual { min-height: 560px; }
  .projects-method-grid { grid-template-columns: repeat(2, 1fr); }
  .project-method-card:nth-child(2) { border-inline-end: 0; }
  .project-method-card:nth-child(-n+2) { border-bottom: 1px solid var(--project-line); }
}

@media (max-width: 860px) {
  html { scroll-padding-top: 122px; }
  .projects-hero { min-height: 850px; }
  .projects-hero-inner { padding-top: 125px; }
  .projects-hero-index { grid-template-columns: repeat(2, 1fr); }
  .projects-hero-index div:nth-child(2) { border-inline-end: 0; }
  .projects-hero-index div:nth-child(-n+2) { border-bottom: 1px solid var(--project-line); }
  .projects-rail { inset-block-start: 64px; }
  .projects-rail a { padding-inline: 18px; }
  .projects-gallery-head, .projects-method-head { grid-template-columns: 1fr; gap: 25px; }
  .projects-visible-count { justify-self: start; }
  .project-grid { grid-template-columns: 1fr; }
  .projects-dialog-shell { grid-template-columns: 1fr; }
  .projects-dialog-media { min-height: 350px; }
  .projects-dialog-content { padding: 34px; }
}

@media (max-width: 620px) {
  .projects-page .container { width: min(calc(100% - 30px), 1220px); }
  .projects-page .section { padding-block: 82px; }
  .projects-hero { min-height: 820px; }
  .projects-hero-media img { object-position: center 62%; opacity: .76; }
  .projects-hero-media::after { background: linear-gradient(180deg, rgba(2,6,13,.97), rgba(2,6,13,.78) 36%, rgba(2,6,13,.2) 67%, #02060d 100%); }
  .projects-hero-inner { padding: 112px 15px 50px; }
  .projects-signature { font-size: .55rem; letter-spacing: .1em; }
  .projects-signature::before, .projects-signature::after { width: 22px; }
  .projects-hero h1, .projects-page-fa .projects-hero h1 { font-size: clamp(2.65rem, 12.4vw, 3.9rem); }
  .projects-hero-lead { font-size: .9rem; line-height: 1.9; }
  .projects-hero-actions { display: grid; }
  .projects-hero-actions .button { width: 100%; }
  .projects-hero-index { width: calc(100% - 30px); margin-bottom: 28px; }
  .projects-hero-index div { min-height: 84px; padding: 15px; }
  .projects-hero-index strong { font-size: .72rem; }
  .projects-rail .container { justify-content: flex-start; }
  .projects-protocol-copy h2, .projects-gallery-head h2, .projects-feature-copy h2, .projects-method-head h2 { font-size: clamp(2rem, 10vw, 3rem); }
  .evidence-orbit { min-height: 610px; }
  .evidence-orbit::before { inset: 18%; }
  .evidence-orbit::after { inset: 31%; }
  .evidence-core { width: 120px; height: 120px; border-radius: 31px; }
  .evidence-core::after { width: 51px; height: 51px; }
  .evidence-node { width: 157px; min-height: 94px; padding: 12px; }
  .evidence-node:nth-of-type(1) { inset-block-start: 1%; inset-inline-start: 0; }
  .evidence-node:nth-of-type(2) { inset-block-start: 18%; inset-inline-end: 0; }
  .evidence-node:nth-of-type(3) { inset-block-end: 18%; inset-inline-start: 0; }
  .evidence-node:nth-of-type(4) { inset-block-end: 0; inset-inline-end: 0; }
  .evidence-node i { width: 33px; height: 33px; }
  .evidence-node strong { font-size: .67rem; }
  .projects-feature-card { border-radius: 22px; }
  .projects-feature-visual { min-height: 390px; }
  .projects-feature-copy { padding: 28px 20px 32px; }
  .projects-feature-brief div { grid-template-columns: 75px 1fr; gap: 12px; }
  .project-filter-bar { flex-wrap: nowrap; margin-inline: -15px; padding-inline: 15px; border-inline: 0; border-radius: 0; overflow-x: auto; scrollbar-width: none; }
  .project-filter-bar::-webkit-scrollbar { display: none; }
  .project-filter { flex: 0 0 auto; }
  .project-card { border-radius: 20px; }
  .project-card-body { padding: 20px; }
  .project-card-top { display: grid; }
  .project-card-target { text-align: start; }
  .project-card-footer { align-items: end; }
  .projects-method-grid { grid-template-columns: 1fr; }
  .project-method-card { min-height: 235px; border-inline-end: 0; border-bottom: 1px solid var(--project-line); }
  .project-method-card:last-child { border-bottom: 0; }
  .project-method-card i { margin-block: 28px 18px; }
  .projects-dialog { width: calc(100% - 20px); max-height: 94vh; border-radius: 21px; }
  .projects-dialog-media { min-height: 260px; }
  .projects-dialog-content { padding: 28px 21px 32px; }
}

@media (prefers-reduced-motion: reduce) {
  .projects-signature i { animation: none; }
  .project-card { animation: none; }
  .projects-hero-media img, .project-card-media img, .projects-feature-visual img { transition: none; }
}
