/*
 * FM Digital Solutions — Our Work Page Styles
 * Depends on: tokens.css, global.css
 */

/* ── Page hero ── */
.work-hero {
  padding-top:    calc(var(--nav-h) + 5rem);
  padding-bottom: 5rem;
  border-bottom:  1px solid var(--border);
}
.work-pill {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  padding:        5px 12px;
  border-radius:  100px;
  border:         1px solid var(--border-mid);
  background:     rgba(255,255,255,.04);
  font-family:    var(--font-mono);
  font-size:      11px;
  font-weight:    500;
  letter-spacing: .04em;
  color:          var(--fg-muted);
  margin-bottom:  1.25rem;
}
.pill-dot {
  width:         5px;
  height:        5px;
  border-radius: 50%;
  background:    var(--purple-light);
  flex-shrink:   0;
}
.work-h1 {
  font-family:    var(--font-head);
  font-weight:    800;
  font-size:      clamp(2.2rem, 5vw, 3.75rem);
  line-height:    1.05;
  letter-spacing: -.035em;
  color:          #fff;
  margin-bottom:  1rem;
}
.work-h1 em { font-style: normal; color: var(--purple-light); }
.work-sub   { font-size: 15px; color: var(--fg-muted); line-height: 1.75; max-width: 520px; }

/* ── Featured section ── */
.featured-section {
  padding-block: 5rem;
  border-bottom: 1px solid var(--border);
}
.featured-alt { background: rgba(107,61,150,.03); }

.featured-grid {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   3rem;
  align-items:           center;
}
@media (min-width: 900px) {
  .featured-grid { grid-template-columns: 1fr 1fr; gap: 5rem; }
  .featured-grid-flip > *:first-child { order: 2; }
  .featured-grid-flip > *:last-child  { order: 1; }
}

/* Visual panels */
.featured-visual {
  background:    var(--surface-2);
  border:        1px solid var(--border);
  border-radius: 10px;
  padding:       3rem 2rem;
  display:       flex;
  flex-direction: column;
  align-items:   center;
  justify-content: center;
  text-align:    center;
  min-height:    240px;
  gap:           1.5rem;
}
.fv-big {
  font-family:        var(--font-head);
  font-weight:        800;
  font-size:          clamp(3rem, 8vw, 5rem);
  color:              #fff;
  letter-spacing:     -.04em;
  line-height:        1;
  font-variant-numeric: tabular-nums;
}
.fv-label {
  font-family:    var(--font-mono);
  font-size:      11px;
  color:          var(--lime);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fv-mini-stats { display: flex; gap: 2rem; justify-content: center; align-items: center; }
.fv-divider    { width: 1px; height: 2rem; background: var(--border); flex-shrink: 0; }
.fv-mini       { display: flex; flex-direction: column; align-items: center; gap: 3px; }
.fv-mini-num   { font-family: var(--font-head); font-weight: 800; font-size: 1.6rem; color: #fff; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.fv-mini-lbl   { font-family: var(--font-mono); font-size: 9px; color: var(--fg-subtle); text-transform: uppercase; letter-spacing: .06em; }

.fv-creator { flex-direction: column; gap: 1rem; }
.fv-badge-label {
  font-family:    var(--font-mono);
  font-size:      11px;
  color:          var(--purple-light);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.fv-saas-headline {
  font-family:    var(--font-head);
  font-weight:    800;
  font-size:      clamp(2.5rem, 7vw, 4.5rem);
  color:          #fff;
  letter-spacing: -.04em;
  line-height:    1;
}
.fv-saas-sub {
  font-family:    var(--font-mono);
  font-size:      11px;
  color:          var(--lime);
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Info panels */
.project-idx {
  font-family:    var(--font-mono);
  font-size:      10px;
  font-weight:    600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color:          var(--fg-subtle);
  margin-bottom:  .75rem;
}
.project-name {
  font-family:    var(--font-head);
  font-weight:    800;
  font-size:      clamp(1.6rem, 3vw, 2.2rem);
  letter-spacing: -.03em;
  color:          #fff;
  line-height:    1.1;
  margin-bottom:  .5rem;
}
.project-tagline {
  font-family:   var(--font-head);
  font-size:     14px;
  font-weight:   500;
  color:         var(--purple-light);
  margin-bottom: 1rem;
}
.project-desc {
  font-size:     14px;
  color:         var(--fg-muted);
  line-height:   1.8;
  margin-bottom: 1.5rem;
}

.project-stats {
  display:       flex;
  gap:           2rem;
  margin-bottom: 1.75rem;
  flex-wrap:     wrap;
}
.ps-item  { display: flex; flex-direction: column; gap: 3px; }
.ps-num {
  font-family:        var(--font-head);
  font-weight:        800;
  font-size:          1.4rem;
  letter-spacing:     -.04em;
  color:              #fff;
  line-height:        1;
  font-variant-numeric: tabular-nums;
}
.ps-text  { font-size: 1rem; padding-top: 3px; }
.ps-label {
  font-family:    var(--font-mono);
  font-size:      9.5px;
  font-weight:    500;
  letter-spacing: .05em;
  text-transform: uppercase;
  color:          var(--fg-subtle);
}

.stack-tags {
  display:       flex;
  flex-wrap:     wrap;
  gap:           6px;
  margin-bottom: 1.75rem;
  list-style:    none;
}
.stack-tag {
  font-family:    var(--font-mono);
  font-size:      10px;
  font-weight:    600;
  letter-spacing: .05em;
  padding:        4px 10px;
  border-radius:  4px;
  border:         1px solid var(--border-mid);
  color:          var(--fg-muted);
  background:     rgba(255,255,255,.03);
}

.project-links { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.btn-case {
  display:         inline-flex;
  align-items:     center;
  gap:             6px;
  background:      var(--purple);
  color:           #fff;
  font-family:     var(--font-head);
  font-size:       12.5px;
  font-weight:     700;
  letter-spacing:  .03em;
  text-transform:  uppercase;
  text-decoration: none;
  padding:         0 1.25rem;
  height:          40px;
  border-radius:   5px;
  transition:      background .15s;
}
.btn-case:hover { background: var(--purple-light); }

.btn-live {
  display:         inline-flex;
  align-items:     center;
  gap:             6px;
  background:      transparent;
  color:           var(--fg-muted);
  font-family:     var(--font-head);
  font-size:       12.5px;
  font-weight:     600;
  text-decoration: none;
  padding:         0 1.25rem;
  height:          40px;
  border-radius:   5px;
  border:          1px solid var(--border-mid);
  transition:      color .15s, border-color .15s;
}
.btn-live:hover { color: #fff; border-color: var(--fg-subtle); }
.live-dot {
  width:         6px;
  height:        6px;
  border-radius: 50%;
  background:    var(--lime);
  flex-shrink:   0;
  animation:     pulse 2s ease-in-out infinite;
}
@keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.4; transform:scale(.75); } }

/* ── Work grid ── */
.work-grid-section { padding-block: 5rem; border-bottom: 1px solid var(--border); }
.work-grid-head    { margin-bottom: 3rem; }
.work-grid-label {
  font-family:    var(--font-mono);
  font-size:      10px;
  font-weight:    600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color:          var(--fg-subtle);
  margin-bottom:  .5rem;
}
.work-grid-title {
  font-family:    var(--font-head);
  font-weight:    700;
  font-size:      1.4rem;
  letter-spacing: -.02em;
  color:          var(--fg);
}

.work-grid {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   1.5rem;
  list-style:            none;
}
@media (min-width: 640px)  { .work-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .work-grid { grid-template-columns: 1fr 1fr 1fr; } }

.work-card {
  background:     var(--surface);
  border:         1px solid var(--border);
  border-radius:  10px;
  overflow:       hidden;
  text-decoration: none;
  color:          inherit;
  display:        flex;
  flex-direction: column;
  transition:     border-color .2s, transform .2s;
}
.work-card:hover { border-color: var(--border-mid); transform: translateY(-3px); }

.work-card-cta {
  border-style: dashed;
  background:   transparent;
}

/* Thumbs */
.work-card-thumb {
  aspect-ratio: 16/9;
  background:   var(--surface-2);
  border-bottom: 1px solid var(--border);
  display:      flex;
  align-items:  center;
  justify-content: center;
  padding:      1.5rem;
  overflow:     hidden;
}

/* FMDS agency thumb */
.wct-fmds { background: var(--bg); flex-direction: column; align-items: stretch; }
.wct-nav-bar {
  height:        20px;
  background:    var(--surface);
  border:        1px solid var(--border);
  border-radius: 4px;
  margin-bottom: 6px;
  display:       flex;
  align-items:   center;
  padding:       0 8px;
  gap:           6px;
}
.wct-dot     { width: 5px; height: 5px; border-radius: 50%; background: var(--purple-dim); }
.wct-dot-dim { background: var(--border); }
.wct-hero-bar {
  height:        28px;
  background:    var(--purple-dim);
  border-radius: 4px;
  margin-bottom: 5px;
}
.wct-text-bars   { display: flex; flex-direction: column; gap: 4px; }
.wct-text-bar    { height: 4px; background: var(--surface-3); border-radius: 2px; }

/* Profile thumb */
.wct-profile { background: linear-gradient(135deg, #0e1a2b, #162540); align-items: flex-start; }
.wct-profile-inner { width: 100%; display: flex; flex-direction: column; gap: 7px; }
.wct-avatar-row { display: flex; align-items: center; gap: 8px; }
.wct-avatar {
  width:           30px;
  height:          30px;
  border-radius:   50%;
  background:      var(--purple-dim);
  border:          2px solid var(--purple);
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-family:     var(--font-head);
  font-size:       9px;
  font-weight:     800;
  color:           #fff;
  flex-shrink:     0;
}
.wct-pname  { font-family: var(--font-head); font-size: 11px; font-weight: 700; color: #fff; line-height: 1.2; }
.wct-ptitle { font-family: var(--font-mono); font-size: 8px; color: rgba(255,255,255,.4); letter-spacing: .04em; }
.wct-sep    { height: 1px; background: rgba(255,255,255,.08); }
.wct-bar-row { display: flex; justify-content: space-between; align-items: center; }
.wct-bar-lbl { font-family: var(--font-mono); font-size: 8px; color: rgba(255,255,255,.35); letter-spacing: .04em; }
.wct-bar-val { font-family: var(--font-mono); font-size: 8px; color: var(--lime); letter-spacing: .04em; }
.wct-progress      { height: 3px; background: rgba(255,255,255,.06); border-radius: 2px; overflow: hidden; }
.wct-progress-fill { height: 100%; width: 85%; background: var(--purple-light); border-radius: 2px; }

/* CTA card thumb */
.wct-cta {
  background:    transparent;
  border-bottom: 1px dashed var(--border);
  flex-direction: column;
  gap:           .5rem;
}
.wct-plus-ring {
  width:           36px;
  height:          36px;
  border-radius:   50%;
  border:          1px dashed var(--border-mid);
  display:         flex;
  align-items:     center;
  justify-content: center;
}
.wct-cta-lbl {
  font-family:    var(--font-mono);
  font-size:      9.5px;
  color:          var(--fg-subtle);
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Card body */
.work-card-body {
  padding:        1.25rem 1.5rem 1.5rem;
  flex:           1;
  display:        flex;
  flex-direction: column;
}
.work-card-type {
  font-family:    var(--font-mono);
  font-size:      9.5px;
  font-weight:    600;
  letter-spacing: .07em;
  text-transform: uppercase;
  color:          var(--fg-subtle);
  margin-bottom:  .5rem;
}
.work-card-name {
  font-family:    var(--font-head);
  font-weight:    700;
  font-size:      1rem;
  letter-spacing: -.02em;
  color:          #fff;
  margin-bottom:  .35rem;
}
.work-card-desc {
  font-size:     13px;
  color:         var(--fg-muted);
  line-height:   1.6;
  margin-bottom: 1rem;
  flex:          1;
}
.work-card-tags {
  display:    flex;
  flex-wrap:  wrap;
  gap:        5px;
  list-style: none;
}
.work-card-tag {
  font-family:    var(--font-mono);
  font-size:      9px;
  font-weight:    600;
  padding:        3px 8px;
  border-radius:  3px;
  border:         1px solid var(--border);
  color:          var(--fg-subtle);
}

/* ── Work CTA ── */
.work-cta-section { padding-block: 6rem; }
.work-cta-section .cta-h2 {
  font-family:    var(--font-head);
  font-weight:    800;
  font-size:      clamp(1.6rem, 3.5vw, 2.4rem);
  letter-spacing: -.03em;
  color:          #fff;
  line-height:    1.1;
  margin-bottom:  .75rem;
}
.work-cta-section .cta-sub {
  font-size:     14.5px;
  color:         var(--fg-muted);
  line-height:   1.7;
  max-width:     460px;
  margin-bottom: 2rem;
}
.work-cta-section .cta-actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.work-cta-section .btn-lg { padding: 0 1.75rem; height: 48px; font-size: 13.5px; }


/* ── Project image carousel (FMN left, FMC right) ── */
.fv-carousel {
  position: relative; width: 100%; aspect-ratio: 16 / 10;
  border: 1px solid var(--border); border-radius: 12px; overflow: hidden;
  background: var(--surface-2);
}
.fvc-track { display: flex; height: 100%; transition: transform .5s ease; }
.fvc-slide { flex: 0 0 100%; height: 100%; }
.fvc-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.fvc-empty { background: repeating-linear-gradient(45deg, #14161c 0 14px, #181a21 14px 28px); }
.fvc-btn {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--border); background: rgba(12,14,18,.7); color: var(--fg);
  cursor: pointer; font-size: 16px;
}
.fvc-prev { left: 12px; } .fvc-next { right: 12px; }
.fvc-dots { position: absolute; bottom: 12px; left: 0; right: 0; display: flex; justify-content: center; gap: 8px; }
.fvc-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: var(--border-mid); cursor: pointer; }
.fvc-dot.on { background: var(--lime); }

/* ── Tech pills: two rows scrolling in opposite directions ── */
.stack-marquee {
  display: flex; flex-direction: column; gap: 8px;
  max-width: 470px; overflow: hidden; margin-bottom: 1.25rem;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
          mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.sm-row { display: flex; width: max-content; gap: 8px; animation: sm-left 38s linear infinite; }
.sm-rev { animation: sm-right 44s linear infinite; }
.stack-marquee:hover .sm-row { animation-play-state: paused; }
.stack-marquee .stack-tag { white-space: nowrap; }
@keyframes sm-left  { to { transform: translateX(-50%); } }
@keyframes sm-right { from { transform: translateX(-50%); } to { transform: translateX(0); } }
@media (prefers-reduced-motion: reduce) { .sm-row { animation: none; } }

/* ── Compact copy so both columns fit beside a 16:10 image ── */
.featured-grid { gap: 3rem; }
@media (min-width: 900px) { .featured-grid { gap: 3rem; } }
.project-name { font-size: clamp(1.4rem, 2.4vw, 2rem); }
.project-tagline { font-size: 13px; margin-bottom: .75rem; }
.project-desc { font-size: 13px; line-height: 1.65; margin-bottom: 1rem; }
.project-stats { gap: 1.75rem; margin-bottom: 1rem; }
.ps-num { font-size: 1.2rem; }
.btn-case, .btn-live { font-size: 11.5px; }


/* ── "More from the studio": real image on top, text block below ── */
.work-card-thumb.wct-img { padding: 0; display: block; background: var(--surface-2); }
.work-card-thumb.wct-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.work-card-thumb.wct-img-empty { background: repeating-linear-gradient(45deg, #14161c 0 14px, #181a21 14px 28px); }

.work-card-btn { margin-top: 1rem; align-self: flex-start; }


/* ── Project image: fills the text column height, with a travelling light on the border ── */
@property --fv-a { syntax: '<angle>'; inherits: false; initial-value: 0deg; }
@media (min-width: 900px) {
  .featured-grid { align-items: stretch; }
  .fv-carousel { aspect-ratio: auto; height: 100%; min-height: 420px; }
}
.fvc-slide img { object-position: left top; }
.fv-carousel { border-color: rgba(120,75,165,.35); box-shadow: 0 0 40px rgba(107,61,150,.18); }
.fv-carousel::before,
.fv-carousel::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 3;
  background: conic-gradient(from var(--fv-a), transparent 0 62%, var(--purple-light) 78%, var(--lime) 92%, transparent 100%);
  animation: fv-snake 6s linear infinite;
}
.fv-carousel::before {
  padding: 2px;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
.fv-carousel::after {
  padding: 14px; filter: blur(10px); opacity: .45;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
}
@keyframes fv-snake { to { --fv-a: 360deg; } }
@media (prefers-reduced-motion: reduce) { .fv-carousel::before, .fv-carousel::after { animation: none; } }


/* ── Snake border: a purple light that runs round the frame at constant speed ── */
.fv-carousel { overflow: visible; box-shadow: none; border: 0; background: none; }
.fv-carousel::before, .fv-carousel::after { content: none; animation: none; }
.fvc-clip { position: absolute; inset: 0; border-radius: 12px; overflow: hidden; background: var(--surface-2); }
.fvc-snake { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 3; }
.fvc-snake rect { x: 1px; y: 1px; width: calc(100% - 2px); height: calc(100% - 2px); fill: none; }
.fvc-snake-base { stroke: rgba(120,75,165,.35); stroke-width: 1.5; }
.fvc-snake-head, .fvc-snake-glow { stroke-linecap: round; stroke-dasharray: 24 76; stroke-dashoffset: 0; animation: fvc-run 7s linear infinite; }
.fvc-snake-head { stroke: #c9a8f0; stroke-width: 2.5; filter: drop-shadow(0 0 4px #9b6bd3); }
.fvc-snake-glow { stroke: var(--purple-light); stroke-width: 6; opacity: .55; filter: blur(7px); }
@keyframes fvc-run { to { stroke-dashoffset: -100; } }
@media (prefers-reduced-motion: reduce) { .fvc-snake-head, .fvc-snake-glow { animation: none; stroke-dasharray: 100 0; } }


/* ── Show the whole screenshot: frame takes the image's own ratio, centred beside the text ── */
@media (min-width: 900px) {
  .featured-grid { align-items: center; }
  .fv-carousel { height: auto; min-height: 0; }
}
.fv-carousel { aspect-ratio: 16 / 9; }
section[aria-labelledby="fmn-h2"] .fv-carousel { aspect-ratio: 1536 / 845; }
section[aria-labelledby="fmc-h2"] .fv-carousel { aspect-ratio: 1536 / 871; }
.fvc-slide img { object-fit: cover; object-position: center; }

/* ── Find My Nursery: soft purple-navy tint so the white screenshot sits in the dark theme ── */
section[aria-labelledby="fmn-h2"] .fvc-clip::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: linear-gradient(180deg, rgba(36,20,64,.50) 0%, rgba(36,20,64,.22) 55%, rgba(36,20,64,.30) 100%);
}


/* ── Blend into the dark theme: glow behind, rounder corners with dark inner edge, dim that lifts on hover ── */
.fvc-clip {
  border-radius: 18px;
  box-shadow: 0 0 70px 4px rgba(107,61,150,.30), 0 28px 70px rgba(0,0,0,.55);
}
.fvc-snake rect { rx: 18px; ry: 18px; }
.fvc-clip::before {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), inset 0 0 46px rgba(8,8,14,.60);
}
.fvc-clip::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  background: rgba(10,10,20,.16);
  transition: opacity .45s ease;
}
section[aria-labelledby="fmn-h2"] .fvc-clip::after { transition: opacity .45s ease; }
.fv-carousel:hover .fvc-clip::after { opacity: .30; }
@media (prefers-reduced-motion: reduce) { .fvc-clip::after { transition: none; } }


/* ── Bigger project image: wider column, frame bleeds slightly past the page edge, text column gives way ── */
@media (min-width: 1100px) {
  section[aria-labelledby="fmn-h2"] .featured-grid { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 3rem; }
  section[aria-labelledby="fmc-h2"] .featured-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 3rem; }
  section[aria-labelledby="fmn-h2"] .fv-carousel { margin-left:  calc(-1 * clamp(0px, 9vw, 180px)); width: calc(100% + clamp(0px, 9vw, 180px)); }
  section[aria-labelledby="fmc-h2"] .fv-carousel { margin-right: calc(-1 * clamp(0px, 9vw, 180px)); width: calc(100% + clamp(0px, 9vw, 180px)); }
}


/* ── Balance: image a little smaller, text a little larger ── */
@media (min-width: 1100px) {
  section[aria-labelledby="fmn-h2"] .featured-grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
  section[aria-labelledby="fmc-h2"] .featured-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); }
  section[aria-labelledby="fmn-h2"] .fv-carousel { margin-left:  calc(-1 * clamp(0px, 3vw, 60px)); width: calc(100% + clamp(0px, 3vw, 60px)); }
  section[aria-labelledby="fmc-h2"] .fv-carousel { margin-right: calc(-1 * clamp(0px, 3vw, 60px)); width: calc(100% + clamp(0px, 3vw, 60px)); }
  .project-name { font-size: clamp(1.6rem, 2.6vw, 2.2rem); }
  .project-tagline { font-size: 14px; }
  .project-desc { font-size: 14.5px; line-height: 1.7; }
  .ps-num { font-size: 1.3rem; }
}


/* ── Find My Nursery: green to match the brand, almost no dim on the screenshot ── */
section[aria-labelledby="fmn-h2"] .fvc-clip { box-shadow: 0 0 70px 4px rgba(46,158,79,.26), 0 28px 70px rgba(0,0,0,.55); }
section[aria-labelledby="fmn-h2"] .fvc-snake-base { stroke: rgba(63,177,91,.35); }
section[aria-labelledby="fmn-h2"] .fvc-snake-head { stroke: #8ee6a6; filter: drop-shadow(0 0 4px #3fb15b); }
section[aria-labelledby="fmn-h2"] .fvc-snake-glow { stroke: #2e9e4f; }
section[aria-labelledby="fmn-h2"] .fvc-clip::after { background: rgba(10,10,20,.06); }
section[aria-labelledby="fmn-h2"] .fv-carousel:hover .fvc-clip::after { opacity: 0; }
section[aria-labelledby="fmn-h2"] .fvc-clip::before { box-shadow: inset 0 0 0 1px rgba(255,255,255,.07), inset 0 0 30px rgba(8,8,14,.30); }


/* ── Find My Nursery section: brand green (#2e9e3a, same as the nursery site buttons) ── */
section[aria-labelledby="fmn-h2"] .project-tagline { color: #2e9e3a; }
section[aria-labelledby="fmn-h2"] .btn-case { background: #2e9e3a; border-color: #2e9e3a; color: #fff; }
section[aria-labelledby="fmn-h2"] .btn-case:hover,
section[aria-labelledby="fmn-h2"] .btn-case:focus-visible { background: #217a2c; border-color: #217a2c; }
section[aria-labelledby="fmn-h2"] .fvc-snake-base { stroke: rgba(46,158,58,.40); }
section[aria-labelledby="fmn-h2"] .fvc-snake-glow { stroke: #2e9e3a; }
section[aria-labelledby="fmn-h2"] .fvc-snake-head { stroke: #7fdc88; filter: drop-shadow(0 0 4px #2e9e3a); }
section[aria-labelledby="fmn-h2"] .fvc-clip { box-shadow: 0 0 70px 4px rgba(46,158,58,.26), 0 28px 70px rgba(0,0,0,.55); }


/* ── "More from the studio" card images: show the top of the page, keep a clean crop ── */
.work-card-thumb.wct-img img { object-position: center top; }


/* ── Card deck (desktop): narrow cards that slide open from the side ── */
.wc-rail { display: none; }
@media (min-width: 1024px) {
  .work-grid[data-card-deck] { display: flex; gap: 12px; height: 540px; align-items: stretch; }
  .work-grid[data-card-deck] .work-card {
    position: relative; flex: 1 1 0; min-width: 0; overflow: hidden; transform: none;
    transition: flex-grow .65s cubic-bezier(.22,.8,.24,1), border-color .3s ease, box-shadow .3s ease;
  }
  .work-grid[data-card-deck] .work-card:hover { transform: none; }
  .work-grid[data-card-deck] .work-card.is-active { flex-grow: 5.2; border-color: var(--border-mid); box-shadow: 0 24px 60px rgba(0,0,0,.45); }
  .work-grid[data-card-deck] .work-card-thumb { flex: 1 1 auto; height: auto; min-height: 0; min-width: 640px; }
  .work-grid[data-card-deck] .work-card-body { flex: 0 0 auto; min-width: 640px; opacity: 0; transform: translateY(8px); transition: opacity .35s ease, transform .45s ease; }
  .work-grid[data-card-deck] .work-card.is-active .work-card-body { opacity: 1; transform: none; transition-delay: .22s; }
  .work-grid[data-card-deck] .work-card-thumb { opacity: .35; filter: saturate(.7); transition: opacity .5s ease, filter .5s ease; }
  .work-grid[data-card-deck] .work-card.is-active .work-card-thumb { opacity: 1; filter: none; }
  .wc-rail {
    display: flex; position: absolute; inset: 0; z-index: 2; flex-direction: column; align-items: center; justify-content: space-between;
    padding: 1.5rem 0; opacity: 1; transition: opacity .3s ease; pointer-events: none;
  }
  .work-card.is-active .wc-rail { opacity: 0; }
  .wc-rail-num { font-family: var(--font-mono, monospace); font-size: 11px; letter-spacing: .12em; color: var(--fg-subtle); }
  .wc-rail-name { writing-mode: vertical-rl; transform: rotate(180deg); font-size: 15px; font-weight: 600; color: var(--fg); letter-spacing: .02em; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  .work-grid[data-card-deck] .work-card, .work-grid[data-card-deck] .work-card-body, .work-grid[data-card-deck] .work-card-thumb { transition: none; }
}

@media (min-width: 1024px) {
  .work-grid[data-card-deck] .work-card-thumb { aspect-ratio: auto; position: relative; }
  .work-grid[data-card-deck] .work-card-thumb.wct-img img { position: absolute; inset: 0; width: 100%; height: 100%; }
}


/* ── Card deck: scaled down so it sits at or below the size of the featured projects ── */
@media (min-width: 1024px) {
  .work-grid[data-card-deck] { height: 440px; }
  .work-grid[data-card-deck] .work-card.is-active { flex-grow: 3.6; }
  .work-grid[data-card-deck] .work-card-thumb,
  .work-grid[data-card-deck] .work-card-body { min-width: 540px; }
  .work-grid[data-card-deck] .work-card-body { padding: 1rem 1.25rem 1.15rem; }
  .work-grid[data-card-deck] .work-card-name { font-size: 1.05rem; }
  .work-grid[data-card-deck] .work-card-desc { font-size: 13px; line-height: 1.55; }
  .work-grid[data-card-deck] .work-card-tags { margin-top: .6rem; }
}


/* ── Our Work hero: copy left, animated platform art right ── */
.work-hero-split { display: grid; grid-template-columns: 1fr; gap: 2rem; align-items: center; }
.work-hero-copy, .work-hero-art { min-width: 0; }
.work-hero-art .fmds-wk { max-width: 560px; margin: 0 auto; }
@media (min-width: 900px) {
  .work-hero-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 1rem; }
  .work-hero-art .fmds-wk { margin: -8% -10% -8% -4%; width: 114%; max-width: none; }
}

/* a11y contrast */
.project-tagline{color:#C9A3EA}
section[aria-labelledby="fmn-h2"] .project-tagline{color:#6fd57b}
section[aria-labelledby="fmn-h2"] .btn-case{background:#217a2c;border-color:#217a2c}
section[aria-labelledby="fmn-h2"] .btn-case:hover,section[aria-labelledby="fmn-h2"] .btn-case:focus-visible{background:#185c21;border-color:#185c21}
