/* V6.3 — GT-R Theatre / 4K IMAX presentation layer */
:root {
  --cinema-red: #d71920;
  --cinema-red-hot: #ff3038;
  --cinema-black: #020303;
  --cinema-panel: #090b0c;
  --cinema-silver: #d7dade;
  --cinema-line: rgba(255,255,255,.12);
  --cinema-ease: cubic-bezier(.2,.74,.24,1);
  --cinema-shadow: 0 42px 140px rgba(0,0,0,.72);
}

html { background: var(--cinema-black); }
body {
  background:
    radial-gradient(circle at 82% 12%, rgba(215,25,32,.055), transparent 28%),
    linear-gradient(180deg, #020303 0%, #050607 46%, #020303 100%) !important;
  overflow-x: clip;
}

body::before { opacity: .085 !important; mix-blend-mode: screen !important; }
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 998;
  pointer-events: none;
  box-shadow:
    inset 0 0 150px rgba(0,0,0,.7),
    inset 0 0 28px rgba(0,0,0,.8);
  background:
    linear-gradient(180deg, rgba(0,0,0,.16), transparent 12%, transparent 88%, rgba(0,0,0,.28)),
    linear-gradient(90deg, rgba(0,0,0,.18), transparent 8%, transparent 92%, rgba(0,0,0,.18));
}

.site-header {
  height: 72px !important;
  border-bottom: 1px solid rgba(255,255,255,.07) !important;
  background: linear-gradient(180deg, rgba(2,3,3,.98), rgba(2,3,3,.82)) !important;
  box-shadow: 0 18px 46px rgba(0,0,0,.32);
}
.site-header::after {
  content: "";
  position: absolute;
  left: var(--pad);
  right: var(--pad);
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215,25,32,.78) 25%, rgba(255,255,255,.16) 52%, transparent 84%);
  transform: scaleX(.55);
  transform-origin: left;
  opacity: .55;
}
.site-header.is-scrolled { height: 62px !important; background: rgba(2,3,3,.94) !important; }
.brand-mark { box-shadow: 0 0 30px rgba(215,25,32,.14); }
.site-nav a { transition: color .25s ease, text-shadow .25s ease !important; }
.site-nav a:hover { text-shadow: 0 0 18px rgba(255,48,56,.32); }

.hero.v3-hero {
  min-height: 100svh !important;
  padding: 72px 0 0 !important;
  background: #020303 !important;
  isolation: isolate;
}
.hero.v3-hero::before {
  content: "";
  position: absolute;
  inset: 72px 0 0;
  z-index: 9;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0,0,0,.75) 0 1.8%, transparent 1.8% 97.8%, rgba(0,0,0,.86) 97.8% 100%),
    linear-gradient(90deg, rgba(0,0,0,.44), transparent 6%, transparent 94%, rgba(0,0,0,.44));
  mix-blend-mode: multiply;
}
.v3-stage {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100svh - 72px) !important;
  border: 0 !important;
  box-shadow: none !important;
  background-position: center 34% !important;
  isolation: isolate;
}
.v3-stage::before {
  content: "IMAX DIGITAL THEATRE  /  LARGE-FORMAT 4K DIRECTION  /  SINGAPORE" !important;
  left: clamp(24px, 4.5vw, 86px) !important;
  right: auto !important;
  top: auto !important;
  bottom: 28px !important;
  font-size: 7px !important;
  letter-spacing: .28em !important;
  color: rgba(215,218,222,.52) !important;
}
.v3-stage::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  border: 0 !important;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 74% 40%, transparent 0 23%, rgba(0,0,0,.16) 53%, rgba(0,0,0,.82) 100%),
    linear-gradient(90deg, rgba(0,0,0,.96) 0%, rgba(0,0,0,.82) 27%, rgba(0,0,0,.42) 47%, rgba(0,0,0,.06) 72%, rgba(0,0,0,.38) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.012) 0 1px, transparent 1px 4px) !important;
  transform: none !important;
  animation: none !important;
}
.v3-copy {
  z-index: 7 !important;
  width: min(760px, 48vw) !important;
  padding: clamp(126px, 17vh, 186px) 0 116px clamp(26px, 4.5vw, 86px) !important;
}
.v3-kicker { color: var(--cinema-red-hot) !important; text-shadow: 0 0 24px rgba(255,48,56,.28); }
.v3-title {
  max-width: 850px !important;
  font-size: clamp(80px, 8.7vw, 166px) !important;
  line-height: .76 !important;
  letter-spacing: -.034em !important;
  text-shadow: 0 18px 70px rgba(0,0,0,.92) !important;
}
.v3-title .outline {
  color: rgba(245,245,242,.96) !important;
  -webkit-text-stroke: 0 !important;
  text-stroke: 0 !important;
}
.v3-title em {
  margin-top: 14px;
  color: var(--cinema-red-hot) !important;
  font-size: .42em;
  font-weight: 650 !important;
  letter-spacing: .12em;
  line-height: 1.02;
  text-shadow: 0 0 34px rgba(215,25,32,.24);
}
.v3-lead {
  max-width: 560px !important;
  color: rgba(215,218,222,.72) !important;
  font-size: clamp(15px, 1.05vw, 18px) !important;
  line-height: 1.72 !important;
  text-shadow: 0 4px 24px #000;
}
.v3-actions { margin-top: 38px !important; gap: 12px !important; }
.v3-action,.button {
  clip-path: polygon(0 0, calc(100% - 13px) 0, 100% 13px, 100% 100%, 13px 100%, 0 calc(100% - 13px));
  transition: transform .3s var(--cinema-ease), background .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}
.v3-action.primary,.button-primary {
  background: var(--cinema-red) !important;
  border-color: var(--cinema-red) !important;
  color: #fff !important;
  box-shadow: 0 0 34px rgba(215,25,32,.22);
}
.v3-action:hover,.button:hover { transform: translateY(-3px) !important; box-shadow: 0 18px 46px rgba(0,0,0,.38); }
.v3-specs { color: rgba(215,218,222,.48) !important; }

.v3-visual {
  inset: 0 !important;
  z-index: 4 !important;
  perspective: 1900px !important;
  overflow: hidden;
}
.v3-visual::before {
  content: "";
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, #020303 0%, rgba(2,3,3,.96) 28%, rgba(2,3,3,.63) 43%, rgba(2,3,3,.08) 64%, transparent 79%),
    radial-gradient(circle at 82% 38%, transparent 0 19%, rgba(0,0,0,.2) 58%, rgba(0,0,0,.65) 100%);
}
.v3-visual::after {
  content: "";
  position: absolute;
  z-index: 5;
  top: -20%;
  right: 8%;
  width: 15%;
  height: 145%;
  transform: rotate(18deg);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.075), rgba(215,25,32,.055), transparent);
  filter: blur(9px);
  animation: projectorSweep 9s ease-in-out infinite alternate;
}
@keyframes projectorSweep {
  from { translate: -34vw 0; opacity: .18; }
  to { translate: 20vw 0; opacity: .72; }
}
.v3-frame {
  border-color: rgba(255,255,255,.23) !important;
  background: #050606 !important;
  box-shadow: 0 36px 130px rgba(0,0,0,.82) !important;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 14px 100%, 0 calc(100% - 14px));
}
.v3-frame::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: inset 0 0 54px rgba(0,0,0,.48);
}
.v3-frame img {
  filter: saturate(.94) contrast(1.12) brightness(.74) !important;
  transform: scale(1.015);
}
.v3-frame-main {
  width: 62% !important;
  height: 66% !important;
  right: -2% !important;
  top: 7% !important;
  transform: rotateY(-4deg) rotateZ(-.45deg) !important;
}
.v3-frame-secondary {
  width: 37% !important;
  height: 32% !important;
  left: 43% !important;
  bottom: 5% !important;
  transform: rotateY(7deg) rotateZ(.8deg) !important;
}
.v3-frame-tertiary {
  width: 29% !important;
  height: 31% !important;
  right: 1% !important;
  bottom: 3% !important;
  transform: rotateY(-5deg) rotateZ(-.7deg) !important;
}
.v3-frame-label {
  left: 18px !important;
  right: 18px !important;
  bottom: 15px !important;
  padding-top: 10px;
  border-top: 1px solid rgba(255,255,255,.16);
  color: rgba(255,255,255,.86) !important;
}
.v3-crosshair {
  right: 13% !important;
  top: 30% !important;
  width: clamp(220px, 18vw, 350px) !important;
  border-color: rgba(255,48,56,.32) !important;
  box-shadow: 0 0 80px rgba(215,25,32,.08);
}
.v3-index { right: clamp(24px, 3vw, 56px) !important; bottom: 30px !important; z-index: 8 !important; text-align: right; }
.v3-index strong { color: var(--cinema-red-hot) !important; font-size: clamp(30px, 2.6vw, 50px) !important; }

.section {
  position: relative;
  border-top: 1px solid rgba(255,255,255,.07);
  isolation: isolate;
}
.section::before { pointer-events: none; }
.manifesto.section {
  min-height: 86svh;
  padding-block: clamp(120px, 14vw, 220px) !important;
  background:
    radial-gradient(circle at 82% 28%, rgba(215,25,32,.1), transparent 26%),
    linear-gradient(130deg, #050607 0%, #020303 56%, #0b0d0f 100%) !important;
}
.manifesto.section::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(120deg, transparent 0 54%, rgba(255,255,255,.03) 54.2% 54.45%, transparent 54.7%),
    repeating-linear-gradient(90deg, transparent 0 9.95vw, rgba(255,255,255,.018) 10vw);
}
.manifesto .display-copy {
  max-width: 1380px !important;
  color: #f5f5f2 !important;
  font-size: clamp(64px, 8.2vw, 146px) !important;
  font-weight: 760 !important;
  line-height: .8 !important;
  letter-spacing: -.035em !important;
  text-transform: uppercase;
}
.manifesto .display-copy em { color: var(--cinema-red-hot) !important; text-shadow: 0 0 44px rgba(215,25,32,.18); }
.manifesto-note { border-left: 2px solid var(--cinema-red) !important; }

.work.section {
  padding: clamp(116px, 10vw, 170px) clamp(18px, 2.4vw, 42px) !important;
  background:
    radial-gradient(circle at 75% 4%, rgba(215,25,32,.1), transparent 24%),
    linear-gradient(180deg, #040505 0%, #070809 58%, #020303 100%) !important;
}
.work .section-heading,.portfolio-toolbar,.project-list.showcase-grid { max-width: 1840px !important; }
.work .section-title {
  max-width: 1280px;
  font-size: clamp(68px, 7.8vw, 142px) !important;
  line-height: .76 !important;
}
.portfolio-toolbar { margin-bottom: 34px !important; border-color: rgba(255,255,255,.1) !important; }
.project-list.showcase-grid { gap: clamp(18px, 1.45vw, 28px) !important; }
.showcase-card {
  min-height: clamp(520px, 50vw, 760px) !important;
  border-color: rgba(255,255,255,.14) !important;
  background: #040505 !important;
  box-shadow: 0 22px 72px rgba(0,0,0,.35);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  transition: transform .45s var(--cinema-ease), border-color .35s ease, box-shadow .45s ease !important;
}
.showcase-card.featured { min-height: clamp(680px, 72vw, 980px) !important; }
.showcase-card[data-project="gtr"],.showcase-card[data-project="command"] { grid-column: span 7 !important; }
.showcase-card[data-project="ouyu"],.showcase-card[data-project="office"] { grid-column: span 5 !important; }
.showcase-card[data-project="weather"] { grid-column: span 12 !important; min-height: clamp(620px, 58vw, 880px) !important; }
.showcase-card:hover,.showcase-card:focus-within {
  border-color: rgba(255,48,56,.7) !important;
  box-shadow: var(--cinema-shadow) !important;
  transform: perspective(1400px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(-6px) !important;
}
.showcase-link::before {
  content: "";
  position: absolute;
  inset: 13px;
  z-index: 7;
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.065);
  clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 12px, 100% 100%, 12px 100%, 0 calc(100% - 12px));
}
.showcase-link::after {
  content: "";
  position: absolute;
  z-index: 4;
  top: -18%;
  left: -18%;
  width: 18%;
  height: 145%;
  transform: rotate(18deg);
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.13), rgba(215,25,32,.08), transparent);
  filter: blur(8px);
  opacity: 0;
  transition: translate .9s var(--cinema-ease), opacity .25s ease;
}
.showcase-card:hover .showcase-link::after { translate: 720% 0; opacity: .62; }
.showcase-visual > img {
  image-rendering: auto;
  backface-visibility: hidden;
  transform: scale(1.015) translateZ(0);
  filter: saturate(.9) contrast(1.12) brightness(.72) !important;
  transition: transform 1.2s var(--cinema-ease), filter .7s ease !important;
}
.showcase-card:hover .showcase-visual > img {
  transform: scale(1.065) translateZ(0) !important;
  filter: saturate(1.02) contrast(1.12) brightness(.82) !important;
}
.showcase-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 50% 38%, transparent 0 38%, rgba(0,0,0,.18) 70%, rgba(0,0,0,.52) 100%),
    repeating-linear-gradient(180deg, rgba(255,255,255,.009) 0 1px, transparent 1px 4px);
}
.showcase-visual::after { background: linear-gradient(180deg, rgba(0,0,0,.04) 5%, rgba(0,0,0,.09) 42%, rgba(0,0,0,.94) 100%) !important; }
.showcase-topline { top: 25px !important; left: 26px !important; right: 26px !important; }
.showcase-live {
  border-color: rgba(255,255,255,.22) !important;
  background: rgba(2,3,3,.58) !important;
  backdrop-filter: blur(18px) saturate(140%);
}
.showcase-copy {
  left: clamp(28px, 3.6vw, 68px) !important;
  right: clamp(28px, 3.6vw, 68px) !important;
  bottom: clamp(32px, 4.2vw, 72px) !important;
}
.showcase-title {
  max-width: 980px;
  font-size: clamp(58px, 6.4vw, 116px) !important;
  line-height: .75 !important;
  text-shadow: 0 15px 50px rgba(0,0,0,.9);
}
.showcase-description { max-width: 760px !important; color: rgba(235,238,240,.67) !important; }
.showcase-number,.showcase-kicker { color: var(--cinema-red-hot) !important; }
.showcase-arrow {
  width: 52px !important;
  height: 52px !important;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}
.showcase-card:hover .showcase-arrow { background: var(--cinema-red) !important; border-color: var(--cinema-red) !important; color: #fff !important; }

.showcase-card[data-project="automotive"] .showcase-visual > img { object-position: center 52%; }
.showcase-card[data-project="gtr"] .showcase-visual > img { object-position: center 48%; }
.showcase-card[data-project="ouyu"] .showcase-visual > img { object-position: center 32%; }
.showcase-card[data-project="compass"] .showcase-visual > img { object-position: center 42%; }
.showcase-card[data-project="student"] .showcase-visual > img,
.showcase-card[data-project="office"] .showcase-visual > img,
.showcase-card[data-project="command"] .showcase-visual > img,
.showcase-card[data-project="weather"] .showcase-visual > img {
  object-position: center;
  filter: none !important;
}
.showcase-card[data-project="student"]:hover .showcase-visual > img,
.showcase-card[data-project="office"]:hover .showcase-visual > img,
.showcase-card[data-project="command"]:hover .showcase-visual > img,
.showcase-card[data-project="weather"]:hover .showcase-visual > img {
  filter: brightness(1.035) contrast(1.025) !important;
}
.showcase-card[data-project="student"] .showcase-visual::after,
.showcase-card[data-project="office"] .showcase-visual::after,
.showcase-card[data-project="command"] .showcase-visual::after,
.showcase-card[data-project="weather"] .showcase-visual::after {
  background: linear-gradient(180deg, rgba(0,0,0,.01) 16%, rgba(0,0,0,.08) 52%, rgba(0,0,0,.94) 100%) !important;
}

.services.section {
  background:
    radial-gradient(circle at 78% 12%, rgba(215,25,32,.13), transparent 25%),
    linear-gradient(142deg, #08090a 0%, #020303 62%, #0b0c0e 100%) !important;
}
.services.section::after { border-color: rgba(215,25,32,.12) !important; box-shadow: 0 0 0 80px rgba(215,25,32,.018), 0 0 0 160px rgba(215,25,32,.01) !important; }
.services .section-title { font-size: clamp(70px, 7.8vw, 140px) !important; }
.service-card {
  min-height: clamp(390px, 31vw, 520px) !important;
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  border-color: rgba(255,255,255,.13) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.008)) !important;
}
.service-card::after { background: linear-gradient(90deg, var(--cinema-red), transparent 72%) !important; }
.service-card:hover { border-color: rgba(255,48,56,.58) !important; background: linear-gradient(145deg, rgba(215,25,32,.12), rgba(255,255,255,.012)) !important; }
.service-no,.services .section-index,.services .section-kicker { color: var(--cinema-red-hot) !important; }
.service-no::after,.service-card li::before { background: var(--cinema-red) !important; }

.process.section {
  background:
    linear-gradient(90deg, transparent calc(50% - .5px), rgba(255,255,255,.045) 50%, transparent calc(50% + .5px)),
    radial-gradient(circle at 18% 18%, rgba(215,25,32,.08), transparent 22%),
    #050607 !important;
}
.process-list li {
  position: relative;
  border-color: rgba(255,255,255,.1) !important;
  transition: background .35s ease, border-color .35s ease, transform .35s var(--cinema-ease);
}
.process-list li::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 2px;
  background: var(--cinema-red);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .4s var(--cinema-ease);
}
.process-list li:hover { background: rgba(255,255,255,.025); border-color: rgba(255,48,56,.28) !important; transform: translateX(4px); }
.process-list li:hover::after { transform: scaleY(1); }
.process-list li > span { color: var(--cinema-red-hot) !important; }

.about.section {
  background:
    radial-gradient(circle at 24% 40%, rgba(215,25,32,.1), transparent 25%),
    linear-gradient(125deg, #020303 0%, #08090a 58%, #030404 100%) !important;
}
.portrait-frame {
  border-color: rgba(255,255,255,.14) !important;
  box-shadow: inset 0 0 80px rgba(0,0,0,.56), 0 38px 120px rgba(0,0,0,.38);
  clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}
.portrait-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0 4px, rgba(255,255,255,.018) 4px 5px);
  pointer-events: none;
}
.portrait-initials { text-shadow: 0 0 55px rgba(215,25,32,.24); }

.contact.section {
  min-height: 92svh;
  background:
    radial-gradient(circle at 22% 56%, rgba(215,25,32,.2), transparent 28%),
    radial-gradient(circle at 80% 36%, rgba(255,255,255,.045), transparent 22%),
    linear-gradient(140deg, #020303 0%, #070809 54%, #020303 100%) !important;
}
.contact.section::before {
  content: "FINAL SCENE / START THE NEXT PROJECT";
  position: absolute;
  right: var(--pad);
  top: 36px;
  color: rgba(255,255,255,.3);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .24em;
}
.contact-title { font-size: clamp(68px, 8vw, 146px) !important; line-height: .76 !important; text-transform: uppercase; }
.enquiry-form {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(4,5,5,.66) !important;
  backdrop-filter: blur(22px) saturate(120%);
  clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
  box-shadow: 0 38px 120px rgba(0,0,0,.42);
}

body.is-imax .site-header { height: 56px !important; background: rgba(2,3,3,.78) !important; }
body.is-imax .hero.v3-hero { padding-top: 56px !important; }
body.is-imax .v3-stage { min-height: calc(100svh - 56px) !important; }
body.is-imax .v3-copy { width: min(820px, 45vw) !important; padding-top: clamp(116px, 15vh, 170px) !important; }
body.is-imax .v3-title { font-size: clamp(92px, 10.3vw, 198px) !important; }
body.is-imax .v3-frame-main { width: 67% !important; height: 70% !important; }
body.is-imax .v3-frame-secondary { width: 39% !important; height: 34% !important; left: 40% !important; }
body.is-imax .v3-frame-tertiary { width: 31% !important; height: 33% !important; }
body.is-imax .work.section { padding-inline: 10px !important; }
body.is-imax .work .section-heading,body.is-imax .portfolio-toolbar,body.is-imax .project-list.showcase-grid { max-width: none !important; }
body.is-imax .showcase-card.featured { min-height: min(90svh, 1080px) !important; }
body.is-imax .showcase-card[data-project="weather"] { min-height: min(82svh, 960px) !important; }
body.is-imax .showcase-copy { left: clamp(34px, 4vw, 84px) !important; right: clamp(34px, 4vw, 84px) !important; }

@media (max-width: 1100px) {
  .v3-copy { width: min(700px, 62vw) !important; }
  .v3-frame-main { width: 66% !important; height: 58% !important; }
  .showcase-card[data-project="gtr"],.showcase-card[data-project="command"],.showcase-card[data-project="ouyu"],.showcase-card[data-project="office"] { grid-column: span 6 !important; }
}

@media (max-width: 820px) {
  body::after { box-shadow: inset 0 0 70px rgba(0,0,0,.62); }
  .site-header { height: 64px !important; }
  .hero.v3-hero { padding-top: 64px !important; }
  .hero.v3-hero::before { top: 64px; }
  .v3-stage { min-height: calc(100svh - 64px) !important; }
  .v3-copy { width: 100% !important; padding: 104px 22px 100px !important; }
  .v3-title { font-size: clamp(65px, 20vw, 108px) !important; max-width: 94vw !important; }
  .v3-lead { max-width: 82vw !important; }
  .v3-visual { opacity: .7; }
  .v3-visual::before { background: linear-gradient(180deg, rgba(2,3,3,.3), rgba(2,3,3,.78) 58%, #020303 94%) !important; }
  .v3-frame-main { width: 94% !important; height: 42% !important; right: -18% !important; top: 10% !important; }
  .v3-frame-secondary { width: 58% !important; height: 24% !important; left: -12% !important; bottom: 14% !important; }
  .v3-frame-tertiary { width: 48% !important; height: 22% !important; right: -8% !important; bottom: 7% !important; }
  .v3-crosshair,.v3-index { display: none !important; }
  .manifesto.section { min-height: auto; }
  .manifesto .display-copy { font-size: clamp(48px, 14vw, 82px) !important; }
  .work.section { padding-inline: 14px !important; }
  .showcase-card,.showcase-card.featured,.showcase-card[data-project="weather"],.showcase-card[data-project="gtr"],.showcase-card[data-project="command"],.showcase-card[data-project="ouyu"],.showcase-card[data-project="office"] {
    grid-column: span 12 !important;
    min-height: clamp(520px, 142vw, 720px) !important;
  }
  .showcase-copy { grid-template-columns: 1fr !important; gap: 20px !important; }
  .showcase-title { font-size: clamp(50px, 15vw, 78px) !important; }
  .showcase-tags { justify-content: flex-start !important; }
  .showcase-card[data-project="ouyu"] .showcase-visual > img { object-position: center 28%; }
  .showcase-card[data-project="compass"] .showcase-visual > img { object-position: center 35%; }
  .contact.section { min-height: auto; }
}

@media (prefers-reduced-motion: reduce) {
  .v3-visual::after,.showcase-link::after { animation: none !important; transition: none !important; }
  .showcase-card:hover .showcase-link::after { translate: 0 0; opacity: 0; }
  .showcase-card,.showcase-visual > img,.process-list li { transition-duration: .01ms !important; }
}
