/* Project artifacts inherit the Mazer case system; no alternative interface. */
.pw-case .case-hero { padding-block:40px; }
.pw-case .case-head { margin-top:28px; align-items:center; }
.pw-case .web-case-title { margin:0; font:inherit; font-size:clamp(2.8rem,5.6vw,5.6rem); font-weight:400; line-height:1; letter-spacing:-.035em; text-transform:uppercase; text-wrap:balance; }
.pw-visit { margin-top:28px; }
.pw-case .source-section { padding-block:clamp(64px,8vw,120px); }
.pw-case .pw-overview { padding-bottom:0; }
.pw-case .source-section + .source-section { padding-top:clamp(48px,6vw,88px); }
.pw-opening,.pw-stage { background:#fafafa; padding:clamp(40px,7vw,112px) var(--pad-x); }
.pw-opening-inner { max-width:1440px; margin:auto; position:relative; }
.pw-native { position:relative; width:100%; aspect-ratio:390 / 902; overflow:hidden; background:white; }
.pw-native[data-width="1440"] { aspect-ratio:1440 / 953; }
.pw-responsive-artifact .pw-native { aspect-ratio:390 / 2241; }
.pw-native[hidden] { display:none; }
.pw-native iframe { position:absolute; inset:0 auto auto 0; width:100%; height:100%; max-width:none; border:0; transform-origin:0 0; pointer-events:none; }
.pw-desktop-native { border-radius:8px; box-shadow:0 28px 64px -40px rgb(0 0 0 / .28); }
.pw-figma-home { margin:0; overflow:hidden; background:white; }
.pw-figma-home-window { aspect-ratio:1920 / 1080; overflow:hidden; }
.pw-figma-home-window img { display:block; width:100%; height:auto; }
.pw-phone-native { display:none; }
.pw-phone-native + .pw-native-status { position:absolute; bottom:0; right:0; max-width:21%; }
.pw-native-status { font-size:var(--fs-small); margin-top:16px; }
.pw-native-status[hidden] { display:none; }
.pw-scene-wide { max-width:1120px; margin:auto; }
.pw-artifact,.pw-about-top,.pw-responsive-artifact { position:relative; margin:0; min-width:0; }
.pw-artifact img { display:block; width:100%; height:auto; background:white; }
.pw-artifact figcaption,.pw-about-top figcaption,.pw-responsive-artifact figcaption { margin-top:20px; color:var(--muted); font-size:var(--fs-small); }
.pw-about-crop { aspect-ratio:1920 / 1824; overflow:hidden; background:white; }
.pw-about-crop img { width:100%; height:auto; display:block; }
.pw-about-composition { max-width:1440px; margin:auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr); gap:clamp(32px,5vw,80px); align-items:start; }
.pw-about-top { margin-top:clamp(64px,12vw,180px); }
.pw-about-detail { margin:0; min-width:0; }
.pw-about-detail-window { position:relative; aspect-ratio:1920 / 3616; overflow:hidden; }
.pw-about-detail-window img { display:block; width:100%; height:auto; transform:translateY(-22.975%); }
.pw-inspect-hint { text-align:right; font-size:var(--fs-small); color:var(--muted); margin-top:-1.25rem; }
.pw-project-composition { max-width:1320px; margin:auto; }
.pw-project-window { aspect-ratio:1920 / 1440; overflow:hidden; background:white; }
.pw-project-composition .pw-responsive-artifact { display:none; }
.pw-mobile-scene { padding-block:clamp(64px,9vw,144px); }
.pw-mobile-spread { max-width:920px; margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px,9vw,144px); align-items:start; }
.pw-mobile-spread figure { margin:0; min-width:0; }
.pw-mobile-spread .pw-native { border-radius:12px; box-shadow:0 20px 64px -36px rgb(0 0 0 / .25); }
.pw-mobile-menu { padding-top:clamp(64px,9vw,144px); }
.pw-mobile-spread figcaption { margin-top:20px; font-size:var(--fs-small); line-height:1.5; color:var(--muted); }
.pw-menu-demo iframe { pointer-events:auto; }
.pw-menu-demo { aspect-ratio:390 / 902; }
.pw-blog-window { aspect-ratio:1920 / 1290; overflow:hidden; background:white; }
.pw-responsive-artifact { background:transparent; }
.pw-responsive-artifact .pw-native { border-radius:8px; box-shadow:0 24px 48px -32px rgb(0 0 0 / .3); }
.pw-photo-interlude { max-width:1440px; margin:clamp(64px,8vw,120px) auto; padding-inline:var(--pad-x); display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:clamp(16px,2.25vw,32px); }
.pw-photo-interlude img { width:100%; height:auto; aspect-ratio:2400 / 1602; display:block; }
.pw-editorial-composition { max-width:1320px; margin:auto; }
.pw-editorial-composition .pw-artifact:first-child { width:100%; }
.pw-editorial-composition .pw-artifact:last-child { width:76%; margin:clamp(64px,8vw,120px) auto 0; }
.pw-final-inner { max-width:1000px; margin:auto; }
.pw-lens { display:none; position:absolute; z-index:2; width:220px; height:220px; pointer-events:none; border-radius:50%; box-shadow:0 12px 32px -8px rgb(0 0 0 / .3); background-color:white; background-repeat:no-repeat; }
[data-pw-inspect]:focus-visible { outline:2px solid var(--accent); outline-offset:8px; }
[data-pw-inspect].is-inspecting:focus-visible .pw-lens { display:block; }
@media (hover:hover) and (pointer:fine) {
  [data-pw-inspect] { cursor:crosshair; }
  [data-pw-inspect].is-inspecting .pw-lens { display:block; }
}
.pw-case .footer-col h3 { font-size:var(--fs-label); font-weight:400; color:rgba(255,255,255,.55); margin-bottom:1.1rem; }
@media (max-width:900px) {
  .pw-case .case-head { align-items:start; }
  .pw-case .case-head .case-meta { display:none; }
  .pw-about-composition { gap:24px; }
}
@media (max-width:700px) {
  .pw-case .web-case-title { font-size:clamp(2.25rem,10vw,3.6rem); }
  .pw-case .case-head { margin-top:40px; }
  .pw-opening,.pw-stage { padding:40px 20px; }
  .pw-opening-inner { max-width:390px; padding:0; }
  .pw-desktop-native,.pw-desktop-native + .pw-native-status { display:none; }
  .pw-phone-native { display:block; position:relative; width:100%; border-radius:0; box-shadow:none; }
  .pw-phone-native + .pw-native-status { position:static; max-width:none; }
  .pw-case .source-section { padding-block:64px; }
  .pw-case .pw-overview { padding-bottom:0; }
  .pw-project-composition { display:block; max-width:390px; }
  .pw-project-desktop { display:none; }
  .pw-project-composition .pw-responsive-artifact { display:block; }
  .pw-about-composition,.pw-editorial-composition { display:block; }
  .pw-about-top { margin-top:0; }
  .pw-about-detail { width:100%; margin-top:48px; }
  .pw-editorial-composition .pw-artifact:last-child { margin-top:48px; }
  .pw-mobile-spread { display:block; max-width:390px; }
  .pw-mobile-home { display:none; }
  .pw-mobile-menu { padding-top:0; }
  .pw-responsive-artifact .pw-native { box-shadow:none; border-radius:0; }
  .pw-inspect-hint { display:none; }
  .pw-photo-interlude { display:block; margin-block:64px; }
  .pw-photo-interlude img + img { margin-top:24px; }
  .pw-editorial-composition .pw-artifact:last-child { width:100%; }
  .pw-editorial-composition { gap:48px; }
}
@media (prefers-reduced-motion:reduce) { [data-pw-depth] { transform:none!important; } }
.pw-case .footer-col { min-width:0; }
.pw-case .footer-col a[href^="mailto:"] { overflow-wrap:anywhere; }
