.project-detail-body { overflow-x: hidden; }
.project-detail-main { padding-top: calc(var(--header-height) + 18px); }
.project-detail-main > .container { width: min(var(--container), calc(100% - 64px)); }
.project-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: #8995a9; font-size: 11px; }
.project-breadcrumb a { color: #b8c1d0; transition: color .2s ease; }
.project-breadcrumb a:hover { color: #c6b6ff; }
.project-breadcrumb [aria-current="page"] { color: #d9deea; }
.project-breadcrumb > span[aria-hidden="true"] { color: #606d82; }
.project-detail-hero { display: grid; grid-template-columns: minmax(0, .92fr) minmax(390px, 1.08fr); align-items: center; gap: clamp(36px, 5.5vw, 76px); padding: 47px 0 46px; }
.project-detail-copy { min-width: 0; }
.project-eyebrow { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; color: #b8a7fa; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.project-eyebrow-dot { width: 6px; height: 6px; border-radius: 50%; background: #8b5cf6; box-shadow: 0 0 11px rgba(139,92,246,.4); }
.project-eyebrow-divider { color: #67748a; }
.project-detail-copy h1 { margin: 18px 0 15px; color: #f8fafc; font-family: var(--font-display); font-size: clamp(52px, 6.3vw, 82px); font-weight: 800; letter-spacing: -.075em; line-height: .98; }
.project-detail-copy h1 span { color: #a78bfa; }
.project-lead { max-width: 560px; margin: 0; color: #bac4d3; font-size: 15px; line-height: 1.75; }
.project-sample-note { max-width: 510px; margin: 13px 0 0; color: #8390a5; font-size: 10px; line-height: 1.55; }
.project-detail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 17px; margin-top: 24px; }
.project-detail-actions .button { min-height: 46px; }
.project-back-link { display: inline-flex; align-items: center; gap: 7px; color: #b8c1d0; font-size: 11px; font-weight: 650; transition: color .2s ease; }
.project-back-link:hover { color: #d9ceff; }
.project-back-link span { color: #ae97ff; }
.project-detail-body a:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 4px; border-radius: 3px; }
.project-feature-figure { min-width: 0; margin: 0; }
.project-feature-visual { position: relative; display: grid; min-height: 360px; aspect-ratio: 1.28 / 1; place-items: center; overflow: hidden; isolation: isolate; border: 1px solid rgba(139,92,246,.27); border-radius: 12px; background: radial-gradient(ellipse at 50% 45%, rgba(77,59,143,.3), transparent 52%), linear-gradient(145deg, #11182a, #0b1020 72%); box-shadow: 0 20px 56px rgba(0,0,0,.2), inset 0 1px 0 rgba(255,255,255,.035); }
.visual-glow { position: absolute; z-index: 0; width: 70%; aspect-ratio: 1; border-radius: 50%; background: rgba(108,59,255,.17); filter: blur(60px); }
.visual-orbit { position: absolute; z-index: 0; border: 1px solid rgba(165,143,255,.13); border-radius: 50%; pointer-events: none; }
.visual-orbit-one { width: 110%; height: 68%; transform: rotate(-24deg); }
.visual-orbit-two { width: 91%; height: 92%; border-color: rgba(113,154,255,.1); transform: rotate(22deg); }
.visual-stamp { position: absolute; z-index: 3; top: 16px; right: 16px; padding: 6px 9px; border: 1px solid rgba(197,181,255,.24); border-radius: 4px; background: rgba(8,11,20,.78); color: #d3c8f2; font-size: 8px; font-weight: 800; letter-spacing: .1em; }
.wedding-browser { position: relative; z-index: 1; width: 78%; overflow: hidden; border: 1px solid rgba(208,194,255,.31); border-radius: 8px; background: #f4f0eb; box-shadow: 0 22px 55px rgba(0,0,0,.35), 0 0 38px rgba(108,59,255,.13); transform: rotate(-2deg); }
.browser-chrome { display: flex; height: 25px; align-items: center; gap: 5px; padding: 0 9px; border-bottom: 1px solid rgba(255,255,255,.08); background: #171b2a; }
.browser-chrome > span { width: 5px; height: 5px; border-radius: 50%; background: #707b91; }
.browser-chrome i { margin-left: auto; color: #8792a6; font-size: 6px; font-style: normal; letter-spacing: .08em; }
.wedding-page-preview { position: relative; min-height: 270px; overflow: hidden; background: linear-gradient(128deg, #e8e1d8 0%, #f5f1ea 54%, #e7e0d9 100%); color: #39382f; }
.wedding-page-preview:before { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(255,255,255,.18), transparent 55%), repeating-linear-gradient(0deg, transparent 0 27px, rgba(72,66,56,.035) 28px); }
.preview-nav { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; padding: 15px 18px 11px; border-bottom: 1px solid rgba(69,61,50,.11); }
.preview-nav b { color: #655a4d; font-family: var(--font-display); font-size: 13px; letter-spacing: -.08em; }
.preview-nav b span { padding: 0 2px; color: #9c7891; font-size: 9px; font-weight: 500; }
.preview-nav > span { color: #746c60; font-size: 5px; font-weight: 700; letter-spacing: .1em; }
.preview-copy { position: relative; z-index: 1; width: 70%; padding: 28px 20px 30px; text-align: center; }
.preview-copy small { display: block; color: #8c7780; font-size: 6px; font-weight: 800; letter-spacing: .2em; }
.preview-copy strong { display: block; margin: 9px 0; color: #5e5148; font-family: var(--font-display); font-size: clamp(23px, 3.4vw, 39px); font-weight: 500; letter-spacing: -.065em; line-height: 1.02; }
.preview-copy > span { display: block; color: #8d8278; font-size: 5px; font-weight: 700; letter-spacing: .16em; }
.preview-copy > i { display: inline-block; margin-top: 17px; padding: 7px 11px; border: 1px solid rgba(115,94,93,.4); color: #72615e; font-size: 5px; font-style: normal; font-weight: 800; letter-spacing: .12em; }
.preview-flower { position: absolute; z-index: 0; right: -20px; width: 132px; height: 160px; opacity: .42; filter: blur(.1px); }
.preview-flower:before,.preview-flower:after { position: absolute; content: ""; border: 1px solid rgba(150,119,139,.52); border-radius: 50%; }
.preview-flower:before { inset: 5px 30px; transform: rotate(36deg); box-shadow: -18px 8px 0 -4px rgba(0,0,0,0), 18px -9px 0 -4px rgba(0,0,0,0); }
.preview-flower:after { top: 45px; left: 52px; width: 46px; height: 46px; border-color: rgba(154,126,135,.52); }
.preview-flower-one { top: 50px; transform: rotate(23deg); }
.preview-flower-two { right: 12px; bottom: -95px; transform: rotate(-30deg) scale(.72); }
.preview-ring { position: absolute; right: 12%; bottom: 17%; width: 39px; height: 39px; border: 1px solid rgba(173,147,111,.75); border-radius: 50%; box-shadow: inset 0 0 0 3px rgba(245,241,234,.85), 0 0 0 1px rgba(173,147,111,.16); }
.project-feature-figure figcaption { margin-top: 9px; color: #8793a7; font-size: 9px; line-height: 1.5; }
.project-snapshot { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; padding: 18px; border: 1px solid rgba(139,92,246,.18); border-radius: 9px; background: linear-gradient(120deg, rgba(17,24,42,.82), rgba(12,17,31,.72)); }
.snapshot-item { display: flex; min-width: 0; flex-direction: column; gap: 5px; padding: 3px 12px; border-right: 1px solid rgba(148,163,184,.12); }
.snapshot-item:last-child { border-right: 0; }
.snapshot-item > span { color: #8996aa; font-size: 9px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-item strong { color: #e4e7ee; font-size: 11px; font-weight: 650; line-height: 1.5; overflow-wrap: anywhere; }
.project-story { padding: 77px 0 81px; }
.story-opening { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.72fr); align-items: end; column-gap: clamp(36px,7vw,100px); margin-bottom: 44px; }
.story-opening .section-kicker { grid-column: 1 / -1; margin: 0 0 10px; color: #b7a4fb; font-size: 10px; font-weight: 800; letter-spacing: .12em; }
.story-opening h2 { max-width: 650px; margin: 0; font-family: var(--font-display); font-size: clamp(34px,4vw,51px); font-weight: 750; letter-spacing: -.06em; line-height: 1.08; }
.story-introduction { max-width: 430px; margin: 0 0 2px; color: #b6c0d0; font-size: 14px; line-height: 1.75; }
.story-disclaimer { grid-column: 2; max-width: 430px; margin: 10px 0 0; color: #8490a4; font-size: 10px; line-height: 1.6; }
.story-sequence { position: relative; display: grid; gap: 0; margin-left: 17px; }
.story-sequence:before { position: absolute; top: 13px; bottom: 44px; left: 0; width: 1px; background: linear-gradient(to bottom,rgba(139,92,246,.42),rgba(139,92,246,.13)); content: ""; }
.story-stage { position: relative; display: grid; grid-template-columns: 104px minmax(0,740px); gap: 0 34px; padding: 5px 0 42px; }
.story-stage-marker { position: relative; display: flex; align-items: flex-start; justify-content: flex-start; gap: 12px; padding-left: 0; color: #a893ff; font-size: 10px; font-weight: 750; letter-spacing: .08em; }
.story-stage-marker:before { position: absolute; top: 4px; left: -21px; width: 7px; height: 7px; border: 1px solid #9a7bff; border-radius: 50%; background: #0d1220; box-shadow: 0 0 0 4px #080b14; content: ""; }
.story-stage-marker i { display: none; }
.story-stage-copy { max-width: 740px; padding-bottom: 36px; border-bottom: 1px solid rgba(139,92,246,.14); }
.story-stage-final .story-stage-copy { padding-bottom: 0; border-bottom: 0; }
.story-stage-label { margin: 0 0 11px; color: #a995f3; font-size: 9px; font-weight: 800; letter-spacing: .11em; }
.story-stage-label span { color: #77849a; font-weight: 650; }
.story-stage-copy h3 { max-width: 690px; margin: 0 0 11px; color: #f3f4f8; font-family: var(--font-display); font-size: clamp(24px,2.5vw,32px); font-weight: 720; letter-spacing: -.045em; line-height: 1.2; }
.story-stage-copy > p:last-child { max-width: 690px; margin: 0; color: #aeb9ca; font-size: 14px; line-height: 1.8; }
.project-visual-showcase { padding: 8px 0 82px; }
.showcase-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,.7fr); align-items: end; gap: 12px clamp(36px,7vw,100px); margin-bottom: 27px; }
.showcase-heading .section-kicker { grid-column: 1 / -1; margin: 0 0 1px; color: #b7a4fb; }
.showcase-heading h2 { max-width: 670px; margin: 0; font-family: var(--font-display); font-size: clamp(32px,3.8vw,48px); font-weight: 750; letter-spacing: -.06em; line-height: 1.1; }
.showcase-heading > p:last-child { max-width: 440px; margin: 0; color: #aeb9ca; font-size: 13px; line-height: 1.75; }
.showcase-feature { min-width: 0; margin: 0; }
.showcase-image { display: block; width: 100%; height: auto; aspect-ratio: 1586 / 992; object-fit: contain; border: 1px solid rgba(139,92,246,.25); border-radius: 11px; background: #0d1220; box-shadow: 0 18px 48px rgba(0,0,0,.18); }
.showcase-feature figcaption { display: flex; align-items: baseline; gap: 11px; margin-top: 12px; color: #8b97aa; font-size: 10px; line-height: 1.6; }
.showcase-feature figcaption span { flex: 0 0 auto; color: #ad98ff; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.project-technology-stack { padding: 0 0 84px; }
.technology-stack-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,.7fr); align-items: end; gap: 12px clamp(36px,7vw,100px); margin-bottom: 25px; }
.technology-stack-heading .section-kicker { grid-column: 1 / -1; margin: 0 0 1px; color: #b7a4fb; }
.technology-stack-heading h2 { max-width: 670px; margin: 0; font-family: var(--font-display); font-size: clamp(32px,3.8vw,48px); font-weight: 750; letter-spacing: -.06em; line-height: 1.1; }
.technology-stack-heading > p:last-child { max-width: 440px; margin: 0; color: #aeb9ca; font-size: 13px; line-height: 1.75; }
.technology-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; padding: 0; border-top: 1px solid rgba(139,92,246,.2); list-style: none; }
.technology-item { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 15px; border-bottom: 1px solid rgba(139,92,246,.16); }
.technology-item:not(:nth-child(3n)) { border-right: 1px solid rgba(148,163,184,.1); }
.technology-name { min-width: 0; color: #eef0f6; font-size: 14px; font-weight: 650; overflow-wrap: anywhere; }
.technology-category { flex: 0 0 auto; color: #929db0; font-size: 10px; line-height: 1.4; }
.technology-context { margin: 14px 0 0; color: #929db0; font-size: 11px; line-height: 1.6; }
.project-development-process { padding: 0 0 86px; }
.development-process-heading { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px,.7fr); align-items: end; gap: 12px clamp(36px,7vw,100px); margin-bottom: 33px; }
.development-process-heading .section-kicker { grid-column: 1 / -1; margin: 0 0 1px; color: #b7a4fb; }
.development-process-heading h2 { max-width: 670px; margin: 0; font-family: var(--font-display); font-size: clamp(32px,3.8vw,48px); font-weight: 750; letter-spacing: -.06em; line-height: 1.1; }
.development-process-heading > p:last-child { max-width: 440px; margin: 0; color: #aeb9ca; font-size: 13px; line-height: 1.75; }
.development-process-list { position: relative; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.development-process-list::before { position: absolute; top: 10px; right: 10%; left: 2%; height: 1px; background: linear-gradient(90deg,rgba(139,92,246,.48),rgba(139,92,246,.15)); content: ""; }
.development-process-stage { position: relative; min-width: 0; padding: 0 18px 0 0; }
.process-stage-number { position: relative; z-index: 1; display: grid; width: 21px; height: 21px; place-items: center; border: 1px solid rgba(167,139,250,.65); border-radius: 50%; background: #080b14; color: #c4b5fd; font-size: 8px; font-weight: 750; letter-spacing: .02em; }
.process-stage-copy { padding-top: 15px; }
.process-stage-copy h3 { margin: 0 0 8px; color: #f1f2f7; font-family: var(--font-display); font-size: 17px; font-weight: 700; letter-spacing: -.025em; line-height: 1.3; }
.process-stage-copy p { max-width: 220px; margin: 0; color: #aeb9ca; font-size: 11px; line-height: 1.75; }
.development-process-note { margin: 22px 0 0; color: #8490a4; font-size: 10px; line-height: 1.6; }
.project-contact-section { padding-top: 12px; }
.project-contact-section .contact-banner { margin-bottom: 0; }
.project-navigation { border-block: 1px solid rgba(139,92,246,.16); background: rgba(11,16,30,.38); }
.project-navigation > .container { width: min(var(--container), calc(100% - 64px)); }
.project-navigation-link { display: flex; min-height: 76px; align-items: center; justify-content: flex-start; gap: 10px; padding: 16px 2px; color: #f1f2f7; transition: color .2s ease; }
.project-navigation-link:hover { color: #d4c7ff; }
.project-navigation-title { font-family: var(--font-display); font-size: clamp(16px,2vw,20px); font-weight: 700; letter-spacing: -.025em; line-height: 1.35; overflow-wrap: anywhere; }
.project-navigation-arrow { flex: 0 0 auto; color: #b7a4fb; font-size: 19px; line-height: 1; transition: transform .2s ease; }
.project-navigation-link:hover .project-navigation-arrow { transform: translateX(-3px); }
.project-navigation-link:focus-visible { outline: 2px solid #c4b5fd; outline-offset: 4px; border-radius: 3px; }
.project-detail-body .footer-legal span { color: #8591a4; font-size: 9px; }
.project-detail-body .site-footer { margin-top: 0; }
@media (min-width: 1500px) {
  .project-detail-main > .container { width: min(1360px, calc(100% - 80px)); }
  .project-detail-hero { grid-template-columns: minmax(0,.94fr) minmax(520px,1.06fr); }
  .project-feature-visual { min-height: 410px; }
  .wedding-page-preview { min-height: 312px; }
}
@media (max-width: 1100px) {
  .project-detail-hero { grid-template-columns: minmax(0,.95fr) minmax(340px,1.05fr); gap: 34px; }
  .project-detail-copy h1 { font-size: clamp(50px,6.6vw,70px); }
  .project-feature-visual { min-height: 330px; }
  .wedding-page-preview { min-height: 242px; }
}
@media (max-width: 820px) {
  .project-detail-main { padding-top: calc(var(--header-height) + 13px); }
  .project-detail-main > .container { width: calc(100% - 48px); }
  .project-detail-hero { grid-template-columns: minmax(0,1fr); gap: 27px; padding: 36px 0 35px; }
  .project-detail-copy { max-width: 650px; }
  .project-detail-copy h1 { font-size: clamp(52px,9vw,74px); }
  .project-feature-visual { min-height: 0; aspect-ratio: 1.5 / 1; }
  .wedding-browser { width: 72%; }
  .wedding-page-preview { min-height: 260px; }
  .project-snapshot { gap: 7px; padding: 14px 9px; }
  .snapshot-item { padding-inline: 9px; }
  .project-story { padding-block: 63px; }
  .showcase-heading { column-gap: 35px; }
  .technology-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .technology-item:not(:nth-child(3n)) { border-right: 0; }
  .technology-item:nth-child(odd) { border-right: 1px solid rgba(148,163,184,.1); }
  .development-process-heading { column-gap: 35px; }
  .development-process-list { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 28px; row-gap: 26px; }
  .development-process-list::before { display: none; }
  .development-process-stage { padding-right: 12px; }
}
@media (max-width: 600px) {
  .project-detail-main > .container { width: calc(100% - 40px); }
  .project-breadcrumb { gap: 8px; font-size: 10px; }
  .project-detail-hero { gap: 23px; padding: 29px 0 27px; }
  .project-eyebrow { gap: 7px; font-size: 8px; }
  .project-detail-copy h1 { margin-block: 15px 12px; font-size: clamp(47px,13vw,65px); }
  .project-lead { font-size: 13px; line-height: 1.7; }
  .project-detail-actions { gap: 14px; margin-top: 19px; }
  .project-detail-actions .button { min-height: 44px; padding-inline: 14px; font-size: 11px; }
  .project-back-link { font-size: 10px; }
  .project-feature-visual { aspect-ratio: 1.12 / 1; border-radius: 9px; }
  .visual-stamp { top: 11px; right: 11px; font-size: 7px; }
  .wedding-browser { width: 82%; transform: rotate(-1deg); }
  .browser-chrome { height: 22px; }
  .wedding-page-preview { min-height: 230px; }
  .preview-nav { padding: 12px 12px 9px; }
  .preview-nav > span { font-size: 4px; }
  .preview-copy { width: 73%; padding: 27px 8px; }
  .preview-copy strong { font-size: clamp(25px,8vw,36px); }
  .preview-flower { right: -46px; transform: scale(.75); }
  .preview-flower-two { right: -23px; }
  .project-feature-figure figcaption { font-size: 8px; }
  .project-snapshot { grid-template-columns: minmax(0,1fr); gap: 0; padding: 8px 14px; }
  .snapshot-item { padding: 10px 2px; border-right: 0; border-bottom: 1px solid rgba(148,163,184,.12); }
  .snapshot-item:last-child { border-bottom: 0; }
  .project-story { padding-block: 52px 58px; }
  .story-opening { grid-template-columns: minmax(0,1fr); gap: 12px; margin-bottom: 28px; }
  .story-opening .section-kicker { grid-column: 1; margin-bottom: 0; }
  .story-opening h2 { font-size: 32px; }
  .story-introduction { font-size: 12px; }
  .story-disclaimer { grid-column: 1; margin-top: -3px; font-size: 9px; }
  .story-sequence { margin-left: 12px; }
  .story-sequence:before { bottom: 33px; }
  .story-stage { grid-template-columns: 1fr; gap: 11px; padding: 3px 0 31px; }
  .story-stage-marker { padding-left: 0; }
  .story-stage-marker:before { left: -16px; }
  .story-stage-copy { padding-bottom: 26px; }
  .story-stage-final .story-stage-copy { padding-bottom: 0; }
  .story-stage-label { margin-bottom: 8px; font-size: 8px; }
  .story-stage-copy h3 { margin-bottom: 8px; font-size: 22px; }
  .story-stage-copy > p:last-child { font-size: 12px; line-height: 1.75; }
  .project-visual-showcase { padding-block: 0 58px; }
  .project-technology-stack { padding-bottom: 60px; }
  .technology-stack-heading { grid-template-columns: minmax(0,1fr); gap: 11px; margin-bottom: 19px; }
  .technology-stack-heading .section-kicker { grid-column: 1; }
  .technology-stack-heading h2 { font-size: 31px; }
  .technology-stack-heading > p:last-child { font-size: 12px; }
  .technology-item { align-items: flex-start; flex-direction: column; gap: 5px; padding: 13px 11px; }
  .technology-name { font-size: 13px; }
  .technology-category { font-size: 9px; }
  .technology-context { margin-top: 11px; font-size: 10px; }
  .project-development-process { padding-bottom: 60px; }
  .development-process-heading { grid-template-columns: minmax(0,1fr); gap: 11px; margin-bottom: 25px; }
  .development-process-heading .section-kicker { grid-column: 1; }
  .development-process-heading h2 { font-size: 31px; }
  .development-process-heading > p:last-child { font-size: 12px; }
  .development-process-list { grid-template-columns: minmax(0,1fr); gap: 0; margin-left: 9px; padding: 0 0 0 21px; }
  .development-process-list::before { display: block; top: 9px; right: auto; bottom: 16px; left: 0; width: 1px; height: auto; background: linear-gradient(180deg,rgba(139,92,246,.48),rgba(139,92,246,.13)); }
  .development-process-stage { padding: 0 0 23px; }
  .process-stage-number { position: absolute; top: 0; left: -30px; width: 19px; height: 19px; font-size: 7px; }
  .process-stage-copy { padding-top: 0; }
  .process-stage-copy h3 { margin-bottom: 5px; font-size: 16px; }
  .process-stage-copy p { max-width: 440px; font-size: 11px; }
  .development-process-note { margin: 3px 0 0 30px; font-size: 9px; }
  .showcase-heading { grid-template-columns: minmax(0,1fr); gap: 11px; margin-bottom: 20px; }
  .showcase-heading .section-kicker { grid-column: 1; }
  .showcase-heading h2 { font-size: 31px; }
  .showcase-heading > p:last-child { font-size: 12px; }
  .showcase-image { border-radius: 8px; }
  .showcase-feature figcaption { gap: 8px; margin-top: 9px; font-size: 9px; }
  .project-contact-section { padding-top: 0; }
  .project-navigation > .container { width: calc(100% - 40px); }
  .project-navigation-link { min-height: 72px; gap: 9px; }
}
@media (max-width: 360px) {
  .project-detail-main > .container { width: calc(100% - 32px); }
  .project-detail-actions { align-items: flex-start; flex-direction: column; }
  .project-feature-visual { aspect-ratio: 1 / 1; }
  .project-sample-note { font-size: 9px; }
  .story-opening h2 { font-size: 29px; }
  .story-stage-copy h3 { font-size: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .project-breadcrumb a,.project-back-link,.project-navigation-link,.project-navigation-arrow { transition: none; }
  .project-navigation-link:hover .project-navigation-arrow { transform: none; }
}

/* Dynamic Project template states: keep missing optional media from leaving a slot. */
.project-detail-hero--no-image { grid-template-columns: minmax(0, 1fr); }
.project-detail-hero--no-image .project-detail-copy { max-width: 760px; }
.project-subtitle { max-width: 560px; margin: 0 0 10px; color: #e4e7ee; font-family: var(--font-display); font-size: clamp(17px, 2vw, 22px); font-weight: 650; letter-spacing: -.025em; line-height: 1.4; }
.project-featured-image { position: absolute; z-index: 0; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.project-feature-visual > .visual-orbit,
.project-feature-visual > .visual-glow { pointer-events: none; }
.project-story--stages .story-stage-copy { padding-bottom: 36px; }
.project-story--stages .story-stage-final .story-stage-copy { padding-bottom: 0; }
.story-stage-copy > p { max-width: 690px; margin: 0 0 10px; color: #aeb9ca; font-size: 14px; line-height: 1.8; }
.story-stage-copy > p:last-child { margin-bottom: 0; }
.project-story-editor { max-width: 740px; margin: 0 0 0 155px; color: #aeb9ca; font-size: 14px; line-height: 1.8; }
.project-story-editor > :first-child { margin-top: 0; }
.project-story-editor img { max-width: 100%; height: auto; }
.project-development-process .entry-content { max-width: 75ch; color: #aeb9ca; font-size: 13px; line-height: 1.8; }
.project-development-process .entry-content > :first-child { margin-top: 0; }
.project-development-process .entry-content img { max-width: 100%; height: auto; }
.development-process-heading--content { grid-template-columns: minmax(0, 1fr); }
.showcase-heading--media-only,
.technology-stack-heading--list-only { grid-template-columns: minmax(0, 1fr); }
.technology-item--simple { justify-content: flex-start; }
.project-showcase-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.project-showcase-grid .showcase-feature { min-width: 0; }
.project-showcase-grid .showcase-image { aspect-ratio: auto; object-fit: contain; }
.project-showcase-grid figcaption { margin-top: 9px; color: #8793a7; font-size: 10px; line-height: 1.6; }
.project-showcase-grid figcaption:empty { display: none; }
@media (max-width: 820px) {
  .project-story-editor { margin-left: 0; }
  .project-showcase-grid { gap: 16px; }
}
@media (max-width: 600px) {
  .project-showcase-grid { grid-template-columns: minmax(0, 1fr); }
}
