@font-face { font-family:"A1"; src:url("/assets/a1-bold-v9.otf") format("opentype"); font-style:normal; font-weight:700; font-display:swap; }
.mew-site { --page-pad: var(--pad-desktop,44px); margin:0; background:var(--site-bg,#f7f7f7); color:var(--site-fg,#040404); font-family:var(--brand-font,Arial,sans-serif); font-size:16px; line-height:1.45; min-height:100vh; overflow-wrap:anywhere; }
.mew-site * { box-sizing:border-box; }
.mew-site a { color:inherit; text-decoration:none; }
.mew-site a:hover { text-decoration:none; }
.mew-site a:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.mew-site h1,.mew-site h2,.mew-site p,.mew-site figure { margin:0; }
.site-nav { min-height:80px; padding:24px var(--page-pad); display:flex; justify-content:space-between; align-items:center; gap:20px; }
.site-brand { font-size:20px; font-weight:700; letter-spacing:-.7px; }
.site-nav nav { display:flex; gap:28px; flex-wrap:wrap; }
.site-inset { padding-left:var(--page-pad); padding-right:var(--page-pad); }
.site-hero { position:relative; isolation:isolate; display:flex; align-items:flex-end; padding:64px var(--page-pad); min-height:520px; background:#e7e7e2; }
.site-hero.is-full { min-height:max(480px,calc(100svh - 80px)); }
.site-hero.has-media { color:var(--brand-white,#f7f7f7); background:var(--brand-black,#040404); }
.hero-media,.hero-veil { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }
.hero-veil { background:rgba(0,0,0,var(--veil,.25)); z-index:-1; }
.hero-type { width:100%; }
.hero-type h1 { white-space:pre-line; font-size:clamp(var(--font-mobile),8vw,var(--font-desktop)); font-weight:500; letter-spacing:-.065em; line-height:.98; }
.hero-type p { margin-top:30px; font-size:18px; }
.hero-media-note { position:absolute; top:28px; right:var(--page-pad); font-size:13px; color:#66665f; }
.site-text { padding-top:var(--section-space,64px); padding-bottom:var(--section-space,64px); scroll-margin-top:24px; }
.site-text :is(h1,h2) { font-size:clamp(var(--font-mobile),4.5vw,var(--font-desktop)); font-weight:500; line-height:1.08; letter-spacing:-.045em; }
.site-text p { margin-top:28px; max-width:780px; font-size:clamp(16px,1.5vw,22px); line-height:1.6; white-space:pre-line; }
.site-text[style*="center"] p { margin-left:auto; margin-right:auto; }
.project-intro-layout { display:grid; grid-template-columns:minmax(0,var(--text-desktop-body-width,780px)); gap:var(--text-column-gap,48px); margin-top:var(--text-title-gap,32px); align-items:start; }
.project-intro-layout.has-keyterms { grid-template-columns:minmax(180px,1fr) minmax(0,var(--text-desktop-body-width,780px)); }
.project-intro-layout.has-keyterms>.project-intro-copy { grid-column:2; grid-row:1; }
.project-intro-layout.has-keyterms>.project-intro-keyterms { grid-column:1; grid-row:1; }
@media(min-width:768px) {
 .project-intro-layout[data-body-position="centerline"] { grid-template-columns:minmax(0,calc(50% - var(--text-column-gap,48px))) minmax(0,1fr); }
 .project-intro-layout[data-body-position="centerline"]>.project-intro-copy { grid-column:2; grid-row:1; }
}
.project-intro-copy,.project-intro-keyterms { min-width:0; }
.site-text .project-intro-copy p { margin:0; max-width:none; font:inherit; white-space:pre-line; text-align-last:auto; hyphens:auto; }
.site-text .project-intro-copy p+p { margin-top:var(--text-paragraph-gap,24px); }
.project-intro-copy { text-align:var(--text-body-align,left); }
.project-intro-keyterms { text-align:var(--text-keyterms-align,left); padding-top:var(--text-keyterms-top,0px); padding-bottom:var(--text-keyterms-bottom,0px); }
.project-intro-keyterms>span { display:block; }
.project-intro-more { margin-top:.85em; }
.project-intro-more>summary { width:fit-content; cursor:pointer; list-style:none; text-align:left; }
.project-intro-more>summary::-webkit-details-marker { display:none; }
.project-intro-more>summary:focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.project-intro-more>summary:hover { text-decoration:underline; text-underline-offset:.15em; }
.project-intro-more .read-less-label,.project-intro-more[open] .read-more-label { display:none; }
.project-intro-more[open] .read-less-label { display:inline; }
.project-intro-expanded { margin-top:var(--text-paragraph-gap,24px); }
.project-intro-more { overflow-anchor:none; }
.project-intro-more[data-detail-target="closed"] .read-more-label { display:inline; }
.project-intro-more[data-detail-target="closed"] .read-less-label { display:none; }
.mew-site[data-project-reveal-ready="true"] .project-intro-more[open] .project-reveal-word { opacity:1; }
@media(max-width:767px) {
 .project-intro-layout,.project-intro-layout.has-keyterms { grid-template-columns:minmax(0,1fr); gap:var(--text-keyterms-gap,24px); }
 .project-intro-layout.has-keyterms>.project-intro-keyterms { grid-column:1; grid-row:1; }
 .project-intro-layout.has-keyterms>.project-intro-copy { grid-column:1; grid-row:2; }
}
.site-figure { margin-bottom:var(--image-bottom-gap,32px) !important; }
.project-images { display:grid; gap:calc(var(--page-pad) / 2); padding-bottom:var(--page-pad); }
.mew-site .project-coverflow { --coverflow-current-bottom:var(--coverflow-bottom,96px); position:relative; display:block; overflow-anchor:none; color:#bf1919; }
.coverflow-toolbar { display:flex; justify-content:flex-end; align-items:center; min-height:100px; position:relative; z-index:5; }
.mew-site .coverflow-section-label { margin:0 auto 0 0; text-align:left; }
.coverflow-toggle { border:0; background:none; padding:12px 0; cursor:pointer; text-transform:none; text-decoration-thickness:.06em; text-underline-offset:.15em; }
.coverflow-toggle:hover,.coverflow-toggle:focus-visible { text-decoration:underline; }
.coverflow-stage { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--project-image-gap,calc(var(--page-pad) / 4)); outline-offset:-3px; }
.coverflow-card { display:block; position:relative; width:100%; aspect-ratio:16 / 9; margin:0; border:0; padding:0; background:transparent; cursor:pointer; }
.coverflow-card img { display:block; width:100%; height:100%; object-fit:contain; }
.coverflow-shade { display:none; }
.coverflow-controls { display:none; }
.project-coverflow[data-coverflow-mode="grid"] .coverflow-stage { width:min(86%,1280px); margin-inline:auto; }
.coverflow-card:focus-visible,.coverflow-toggle:focus-visible,.coverflow-controls button:focus-visible { outline:2px solid #bf1919; outline-offset:4px; }
@media(min-width:0px) {
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-stage { --coverflow-stage-height:clamp(480px,calc(100svh - 190px),920px); display:block; position:relative; height:var(--coverflow-stage-height); overflow:clip; cursor:grab; touch-action:pan-y; user-select:none; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-card { position:absolute; left:50%; top:50%; width:min(40%,640px); transform:translate(-50%,-50%) translate(var(--stair-x,0px),var(--stair-y,0px)) scale(var(--stair-scale,1)); opacity:var(--stair-opacity,1); box-shadow:0 12px 24px #00000018; cursor:grab; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-shade { display:block; position:absolute; inset:0; background:var(--coverflow-surface,#f7f7f7); opacity:var(--stair-shade,0); pointer-events:none; }
 .project-coverflow[data-coverflow-dragging="true"] :is(.coverflow-stage,.coverflow-card) { cursor:grabbing; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-card[data-distant="true"] { opacity:0; pointer-events:none; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-controls { display:flex; position:absolute; right:var(--page-pad); top:calc(50% + 50px - var(--coverflow-current-bottom) / 2); transform:translateY(-50%); flex-direction:column; align-items:center; gap:24px; font-variant-numeric:tabular-nums; z-index:110; }
 .coverflow-controls button { display:flex; justify-content:center; align-items:center; background:none; color:inherit; border:0; padding:12px; font:inherit; cursor:pointer; }
 .coverflow-controls .direction-arrow { width:2em; height:1.375em; }
 .coverflow-arrow-previous { transform:rotate(180deg); }
 .coverflow-controls button:disabled { opacity:.25; cursor:default; }
 .project-coverflow[data-coverflow-mode="grid"] .coverflow-card { animation:coverflow-grid-enter 450ms ease both; }
 .project-coverflow[data-coverflow-mode="grid"] .coverflow-card:hover { outline:1px solid #bf1919; outline-offset:-1px; }
}
@keyframes coverflow-grid-enter { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:none; } }
@media(max-width:767px) {
 .mew-site .project-coverflow { --coverflow-current-bottom:var(--coverflow-mobile-bottom,64px); }
 .coverflow-toolbar { min-height:76px; padding-inline:var(--page-pad); }
 .coverflow-stage { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .project-coverflow[data-coverflow-mode="grid"] .coverflow-stage { width:90%; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-stage { --coverflow-stage-height:clamp(380px,60svh,560px); }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-card { width:62%; }
 .project-coverflow[data-coverflow-mode="flow"] .coverflow-controls { position:static; transform:none; flex-direction:row; justify-content:center; padding-top:20px; gap:24px; }
}
@media(prefers-reduced-motion:reduce) {
 html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .project-coverflow .coverflow-card { transition:none!important; animation:none!important; }
}
.project-image-row { display:grid; grid-template-columns:repeat(var(--project-image-columns,1),minmax(0,1fr)); gap:calc(var(--page-pad) / 2); }
.project-image-row .media-frame { aspect-ratio:var(--project-image-aspect,16 / 9); }
.project-images[style*="--project-images-background"] .media-frame { background-color:var(--project-images-background); }
.mew-site[data-project="true"] :is(.project-images,.project-image-row) { gap:var(--project-image-gap,calc(var(--page-pad) / 4)); }
.mew-site[data-project="true"] .project-images { padding-bottom:var(--project-image-gap,calc(var(--page-pad) / 4)); }
.mew-site[data-project="true"] .site-figure { margin-bottom:var(--project-image-gap,calc(var(--page-pad) / 4))!important; }
.mew-site[data-project="true"] .project-images:last-child { padding-bottom:0; }
.mew-site[data-project="true"] .project-images.project-coverflow { padding-bottom:var(--coverflow-current-bottom); }
.mew-site[data-project="true"] .has-studio-footer>.site-figure:last-child { margin-bottom:0!important; }
@media(max-width:767px) { .project-image-row { grid-template-columns:minmax(0,1fr); } }
.mew-site[data-project="true"] :is(.site-figure,.site-gallery,.project-images) { padding-inline:var(--page-pad); }
.mew-site[data-project="true"] .site-figure>figcaption { padding-inline:0; }
.work-explore { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:32px var(--dock-desktop-padding,44px) clamp(48px,6vw,96px); text-transform:none; }
.work-explore>span { min-width:0; text-decoration:none; text-decoration-thickness:.06em; text-underline-offset:.15em; }
.work-explore:is(:active,:focus-visible)>span { text-decoration:underline; }
@media(hover:hover) { .work-explore:hover>span { text-decoration:underline; } }
.work-explore svg { width:1.5em; flex-shrink:0; }
.type-style { --arrow-weight:var(--type-weight,400); }
.direction-arrow path { stroke-width:var(--arrow-stroke,calc(var(--arrow-weight,700) / 175)); }
.work-explore svg path { stroke-width:calc(var(--arrow-weight,700) / 250); }
.project-explore { padding-bottom:var(--project-explore-bottom,44px); }
@media(max-width:767px) { .project-explore { padding-bottom:var(--project-explore-mobile-bottom,12px); } }
.menu-contact-label svg path { stroke-width:calc(var(--menu-weight,400) / 200); }
@media(max-width:767px) { .type-style { --arrow-weight:var(--type-mobile-weight,400); } }
.work-explore:focus-visible { outline:2px solid currentColor; outline-offset:-8px; }
@media(max-width:767px) { .work-explore { padding:48px var(--dock-mobile-padding,21px); gap:16px; } }
.media-frame { position:relative; background:#e4e4df; overflow:hidden; width:100%; }
.media-frame img,.media-frame video { width:100%; height:100%; display:block; position:absolute; inset:0; }
.media-frame video { object-fit:contain; background:var(--brand-black,#040404); }
.media-empty { position:absolute; inset:0; display:grid; place-items:center; color:#65655f; font-size:14px; }
.site-figure figcaption { padding-top:12px; font-size:14px; }
.site-gallery { display:grid; grid-template-columns:repeat(var(--columns,2),minmax(0,1fr)); gap:var(--gallery-gap,24px); padding-bottom:24px; }
.gallery-item { min-width:0; }
.gallery-caption { margin-top:14px; font-size:18px; }
.site-footer { padding:72px var(--page-pad) 30px; display:flex; justify-content:space-between; gap:24px; font-size:14px; }
.framed-home { height:100svh; min-height:480px; padding:var(--frame-desktop,18px); background:var(--frame-color,#bf1919); color:var(--frame-color,#bf1919); }
.framed-window { position:relative; height:100%; overflow:hidden; isolation:isolate; container-type:size; background:#292726; }
.framed-vimeo { position:absolute; border:0; pointer-events:none; left:50%; top:50%; transform:translate(-50%,-50%); width:max(100cqw,calc(100cqh * var(--video-ratio,1.333333))); height:max(100cqh,calc(100cqw / var(--video-ratio,1.333333))); }
.framed-film,.framed-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.framed-logo { position:absolute; width:var(--logo-width,93.2%); left:50%; top:var(--logo-top,44px); transform:translateX(-50%); line-height:1; }
.framed-logo a { display:block; }.framed-logo img { display:block; width:100%; height:auto; }
.decode-logo { position:relative; display:block; }
.decode-glyphs { display:none; position:absolute; inset:0; width:100%; height:100%; overflow:hidden; pointer-events:none; fill:var(--brand-red,#bf1919); }
.decode-glyphs text { font-family:"Arial Black",Arial,sans-serif; font-weight:900; font-size:355px; }
.decode-logo[data-decode-state="scrambling"] .decode-glyphs { display:block; }
.preview-logo-replay { position:fixed; top:12px; right:12px; z-index:100; border:1px solid #ccc; border-radius:4px; padding:9px 12px; background:#f7f7f7; color:#040404; font:12px Arial,sans-serif; cursor:pointer; box-shadow:0 2px 8px #0002; }
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .decode-glyphs{ display:none!important; }html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .decode-logo img{ clip-path:none!important; } }
.framed-links { position:absolute; left:var(--nav-desktop-inset,2.5%); right:var(--nav-desktop-inset,2.5%); bottom:var(--nav-desktop-bottom,24px); display:flex; flex-wrap:wrap; justify-content:space-between; align-items:end; gap:var(--nav-desktop-gap,16px); font-size:clamp(17px,1.885vw,32px); font-weight:700; line-height:1.2; }
.framed-links a { min-width:0; max-width:100%; white-space:normal; }
.framed-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#ddd; font-size:14px; }
@media(max-width:767px) { .framed-home { min-height:420px; padding:var(--frame-mobile,10px); }.framed-logo { top:var(--logo-mobile-top,24px); }.framed-links { left:var(--nav-mobile-inset,18px); right:var(--nav-mobile-inset,18px); bottom:var(--nav-mobile-bottom,22px); display:grid; grid-template-columns:minmax(0,1fr); justify-items:center; text-align:center; row-gap:var(--nav-mobile-gap,14px); font-size:clamp(13px,3.6vw,18px); }.framed-links a { justify-self:center; } }
@media (min-width:768px) and (max-width:1023px) { .mew-site { --page-pad:min(var(--pad-desktop,40px),28px); } .site-gallery { grid-template-columns:repeat(min(var(--columns,2),2),minmax(0,1fr)); } }
@media (max-width:767px) { .mew-site { --page-pad:var(--pad-mobile,20px); } .site-nav { min-height:76px; padding-top:20px; padding-bottom:20px; align-items:flex-start; flex-wrap:wrap; gap:14px; } .site-brand { font-size:18px; } .site-nav nav { gap:18px; font-size:14px; } .site-hero { padding-top:56px; padding-bottom:40px; min-height:420px; } .site-hero.is-full { min-height:max(420px,calc(100svh - 76px)); } .hero-type h1,.site-text :is(h1,h2) { font-size:var(--font-mobile); } .hero-type p { font-size:16px; } .hero-media-note { left:var(--page-pad); right:auto; } .site-text { padding-top:min(var(--section-space,64px),56px); padding-bottom:min(var(--section-space,64px),56px); } .site-gallery { grid-template-columns:repeat(var(--mobile-columns,1),minmax(0,1fr)); gap:min(var(--gallery-gap,24px),20px); } .gallery-caption { font-size:16px; } .site-footer { padding-top:56px; } }
.mew-site .type-style {
  font-family:var(--type-family,Arial,sans-serif); font-size:var(--type-fluid,16px);
  font-weight:var(--type-weight,400); font-style:var(--type-italic,normal);
  line-height:var(--type-line,1.45); letter-spacing:var(--type-tracking,0px); color:var(--type-color,inherit);
}
@media(max-width:767px) { .mew-site .type-style {
  font-size:var(--type-mobile,16px); font-family:var(--type-mobile-family,Arial,sans-serif);
  font-weight:var(--type-mobile-weight,400); font-style:var(--type-mobile-italic,normal);
  line-height:var(--type-mobile-line,1.45); letter-spacing:var(--type-mobile-tracking,0px); color:var(--type-mobile-color,inherit);
} }


/* Two-screen landing: scroll snapping, with no panel scaling. */
html:has(.mew-site[data-landing="true"] .landing-sequence) { scroll-snap-type:y mandatory; }
html:has(#site-footer:target) { scroll-snap-type:none; }
.landing-sequence { position:relative; isolation:isolate; }
.landing-start { position:absolute; top:0; width:1px; height:1px; scroll-snap-align:start; }
.landing-sequence > .framed-home { position:sticky; top:0; z-index:1; }
.landing-content { position:relative; z-index:2; scroll-snap-align:start; scroll-snap-stop:always; }
.landing-intro { position:sticky; top:var(--intro-sticky-top,0px); z-index:2; min-height:100svh; }
.landing-intro-surface { min-height:100svh; background:var(--intro-background,#bf1919); padding:max(112px,var(--intro-desktop-top,16svh)) var(--intro-desktop-padding,44px) var(--intro-desktop-bottom,80px); display:flex; flex-direction:column; justify-content:center; align-items:center; gap:var(--intro-footer-gap,32px); }
.landing-statement-group { width:100%; max-width:none; display:grid; gap:28px; }
.landing-statement { --intro-muted:var(--type-color,#bdbdbd); width:100%; max-width:none; margin:0!important; text-align:center; text-wrap:wrap; overflow-wrap:normal; }
.intro-highlight { color:var(--highlight-ink,#f7f7f7); font-weight:700; }
.intro-highlight.is-subtle { font-style:italic; font-weight:inherit; }
.intro-highlight [data-highlight-word] { position:relative; display:inline-block; color:var(--highlight-ink); }
.highlight-shimmer { position:absolute; inset:0; pointer-events:none; user-select:none; color:transparent; background:linear-gradient(110deg,transparent 40%,#fff 49%,#fff 51%,transparent 60%); background-size:250% 100%; background-repeat:no-repeat; background-clip:text; -webkit-background-clip:text; opacity:0; }
.landing-intro[data-shimmer-scroll="true"] .highlight-shimmer { background-position:var(--shimmer-scroll-position,180%) 0; opacity:1; }
.landing-intro[data-shimmer-pointer="true"] .highlight-shimmer { background-image:radial-gradient(ellipse 150px 95px at var(--shimmer-pointer-x,-999px) var(--shimmer-pointer-y,-999px),#fff 0%,#ffffffcc 22%,#ffffff44 58%,transparent 100%); background-size:100% 100%; background-position:0 0; opacity:1; }
.landing-intro[data-scroll-highlights="false"] .highlight-shimmer { display:none; }
.sentence-title [data-highlight-word] { position:relative; display:inline-block; }
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .highlight-shimmer{ display:none; animation:none; } }
.mew-site .intro-next { display:grid; place-items:center; color:#f7f7f7; width:64px; height:76px; flex-shrink:0; }
.intro-next svg { display:block; }
.landing-work { position:relative; z-index:3; background:var(--work-background,#bf1919); color:var(--work-color,#f7f7f7); min-height:100svh; padding:var(--work-top,132px) var(--dock-desktop-padding,44px) 64px; scroll-snap-align:start; scroll-snap-stop:always; }
.mew-site .work-section-title { margin:0 0 32px; color:#040404; }
.work-showcase-grid { display:grid; grid-template-columns:repeat(var(--work-columns,2),minmax(0,1fr)); column-gap:var(--work-gap,32px); row-gap:48px; }
.work-item { margin:0; min-width:0; }
.work-item a { display:block; }
.work-visual { position:relative; aspect-ratio:16/9; overflow:hidden; background:#e7e7e7; }
/* Actual artwork has no pale underlay to leak through fractional preview edges. */
.work-visual:has(>img) { background:transparent; }
.work-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.work-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#939393; font:400 20px Arial,sans-serif; }
.work-caption { color:#040404; margin:14px 0 0; }
.landing-work[data-full-bleed="true"] { padding-left:0; padding-right:0; }
.landing-work[data-full-bleed="true"] .work-section-title,.landing-work[data-full-bleed="true"] .work-caption { padding-left:var(--dock-desktop-padding,44px); padding-right:var(--dock-desktop-padding,44px); }
.work-showcase-grid { row-gap:var(--work-gap,32px); }
.decode-logo[data-logo-crop="mew"] > img { aspect-ratio:2002/435; object-fit:cover; object-position:left; }
.landing-dock { position:fixed; inset:0 0 auto; z-index:30; display:flex; align-items:center; justify-content:space-between; gap:var(--dock-desktop-gap,20px); padding:var(--dock-desktop-top,32px) var(--dock-desktop-padding,44px) 16px; min-height:72px; visibility:hidden; pointer-events:none; }
.dock-glass { position:absolute; inset:0 0 -80px; z-index:-1; pointer-events:none; overflow:hidden; }
.dock-glass span { position:absolute; inset:0; backdrop-filter:blur(var(--glass-blur)); -webkit-backdrop-filter:blur(var(--glass-blur)); mask-image:linear-gradient(to bottom,#000 0%,transparent calc(100% - var(--glass-stop))); -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent calc(100% - var(--glass-stop))); }
.dock-brand-glyph { display:none; position:absolute; inset:0; width:100%; height:100%; fill:currentColor; font-family:"Arial Black",Arial,sans-serif; font-weight:900; font-size:66px; }
.dock-brand[data-decoding="true"] .dock-brand-glyph { display:block; }
.dock-brand[data-decoding="true"][data-locked="0"] .dock-mark { clip-path:inset(0 0 100% 0); }
.dock-brand[data-decoding="true"][data-locked="1"] .dock-mark { clip-path:inset(0 0 50% 0); }
.dock-brand[data-decoding="true"][data-locked="1"] [data-brand-symbol="top"] { visibility:hidden; }

.landing-dock[aria-hidden="false"] { visibility:visible; pointer-events:auto; }

.landing-sequence[data-docked="true"] .framed-links { visibility:hidden; }
html:has(.landing-sequence[data-docked="true"]) .preview-logo-replay { display:none; }
.mew-site .landing-dock.type-style { --dock-target-size:var(--type-fluid,37px); --dock-preferred-ink:var(--type-color,#bf1919); color:var(--dock-ink,var(--dock-preferred-ink)); font-size:calc(var(--dock-target-size) * var(--dock-fit,1)); }
.dock-brand { position:relative; flex:0 0 auto; display:block; width:40px; height:40px; }
.dock-brand img { width:100%; height:100%; object-fit:contain; display:block; opacity:0; }
.dock-mark { position:absolute; inset:0; background:currentColor; mask:var(--dock-logo) center/contain no-repeat; -webkit-mask:var(--dock-logo) center/contain no-repeat; }
.dock-links { display:flex; margin-left:auto; align-items:center; justify-content:flex-end; gap:var(--dock-desktop-gap,20px); min-width:0; }
.dock-links a { display:block; position:relative; flex:0 0 auto; white-space:nowrap; transform-origin:left top; }
.dock-label { display:inline-block; }
.dock-decode { position:absolute; inset:0; visibility:hidden; pointer-events:none; overflow:hidden; }
.dock-links a[data-decoding="true"] .dock-label { opacity:0; }
.dock-links a[data-decoding="true"] .dock-decode { visibility:visible; }
@media(max-width:767px) {
  .landing-intro-surface { padding:var(--intro-mobile-top,120px) var(--intro-mobile-padding,12px) var(--intro-mobile-bottom,32px); gap:var(--intro-mobile-gap,44px); }
  .landing-statement { --intro-muted:var(--type-mobile-color,#bdbdbd); }
  .landing-statement-group { gap:24px; }
  .landing-work { padding:var(--work-mobile-top,96px) var(--dock-mobile-padding,12px) 40px; }
  .work-showcase-grid { grid-template-columns:minmax(0,1fr); row-gap:var(--work-gap,32px); }
  .landing-work[data-full-bleed="true"] .work-section-title,.landing-work[data-full-bleed="true"] .work-caption { padding-left:var(--dock-mobile-padding,12px); padding-right:var(--dock-mobile-padding,12px); }
  .landing-dock { padding:var(--dock-mobile-top,12px) var(--dock-mobile-padding,12px) 12px; min-height:54px; gap:8px; }
  .mew-site .landing-dock.type-style { --dock-target-size:var(--type-mobile,10px); --dock-preferred-ink:var(--type-mobile-color,#bf1919); }
  .dock-brand { width:24px; height:24px; }
  .dock-links { display:flex; gap:var(--dock-mobile-gap,7px); }
}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])):has(.mew-site[data-landing="true"] .landing-sequence){ scroll-snap-type:y proximity; }

}
@media(prefers-reduced-transparency:reduce) { .dock-glass { bottom:0; background:var(--dock-surface,var(--intro-background,#bf1919)); } .dock-glass span { display:none; } }

@media(max-width:767px) { .dock-glass { bottom:-60px; } }
@media(max-width:767px) {
 .mew-site:is([data-project="true"],[data-studio-page="true"]) .dock-glass { bottom:auto; height:calc(50% + 30px); }
}

/* The reference navigation wipe, using contrasting brand inks. */
.mew-site :is(.dock-links,.framed-links) a { position:relative; }
.mew-site :is(.dock-links,.framed-links) a:is([data-nav-label])::before,.mew-site :is(.dock-links,.framed-links) a:is([data-nav-label])::after { position:absolute; inset:0; pointer-events:none; clip-path:inset(0 100% 0 0); transition:clip-path .32s cubic-bezier(.22,1,.36,1); }
.mew-site :is(.dock-links,.framed-links) a[data-nav-label]::before { content:""; z-index:1; background:currentColor; }
.mew-site :is(.dock-links,.framed-links) a[data-nav-label]::after { content:attr(data-nav-label); z-index:2; color:var(--nav-hover-ink,#f7f7f7); }
@media(hover:hover) { .mew-site :is(.dock-links,.framed-links) a:not([aria-disabled="true"]):hover::before,.mew-site :is(.dock-links,.framed-links) a:not([aria-disabled="true"]):hover::after { clip-path:inset(0); } }
.mew-site :is(.dock-links,.framed-links) a:not([aria-disabled="true"]):is(:focus-visible,:active)::before,.mew-site :is(.dock-links,.framed-links) a:not([aria-disabled="true"]):is(:focus-visible,:active)::after { clip-path:inset(0); }
.mew-site .dock-links a[data-decoding="true"]::before,.mew-site .dock-links a[data-decoding="true"]::after { clip-path:inset(0 100% 0 0); }
@media(prefers-reduced-motion:reduce) { .mew-site :is(.dock-links,.framed-links) a::before,.mew-site :is(.dock-links,.framed-links) a::after { transition:none; } }
.mew-site :is(.dock-links,.framed-links) a:is([data-nav-effect="decode"],[data-nav-effect="blocks"])::before,
.mew-site :is(.dock-links,.framed-links) a:is([data-nav-effect="decode"],[data-nav-effect="blocks"])::after { content:none; }
.nav-interaction-layer { position:absolute; inset:0; visibility:hidden; overflow:hidden; pointer-events:none; white-space:pre; }
[data-nav-animating="true"]>.dock-label { opacity:0; }
[data-nav-animating="true"]>.nav-interaction-layer { visibility:visible; }

/* Keep the logo at the page margin and group desktop links on the right. */
@media(min-width:768px) {
  .landing-dock { column-gap:24px; }
  .dock-links { column-gap:min(var(--dock-desktop-gap,40px),clamp(20px,2.6vw,40px)); }
  /* The rolling text mask must not clip link underlines during interaction. */
  .studio-footer .footer-roll:hover,.studio-footer .footer-roll:focus-within { overflow:visible; }
}


@font-face { font-family:"A1"; src:url("/assets/a1-regular-v9.otf") format("opentype"); font-style:normal; font-weight:400; font-display:swap; }
html[data-scroll-direction="up"]:has(.mew-site[data-landing="true"] .landing-sequence) { scroll-snap-type:none; }
.has-studio-footer { position:relative; z-index:1; min-height:100svh; background:var(--site-bg,#f7f7f7); }
.has-studio-footer[data-footer-pin] { position:sticky; top:var(--main-sticky-top,0); }

.mew-site .studio-footer { --footer-pad:var(--footer-desktop-pad,44px); --footer-bg:#bf1919; --footer-ink:#f7f7f7; position:relative; z-index:40; min-height:100svh; color:var(--footer-ink); scroll-snap-align:start; scroll-snap-stop:always; }
.studio-footer[data-palette="white"],.studio-footer[data-tone="white"] { --footer-bg:#f7f7f7; --footer-ink:#bf1919; }
.studio-footer[data-stack="active"] { height:calc(100svh + var(--footer-runway,0px)); }
.footer-stage { position:relative; display:grid; grid-template-columns:minmax(0,1fr); grid-template-rows:minmax(100px,1fr) repeat(4,minmax(max(64px,10.5svh),max-content)) auto 48px; min-height:100svh; padding:var(--footer-pad,44px) 0; background:var(--footer-bg); overflow:clip; }
.studio-footer[data-stack="active"] .footer-stage { position:sticky; top:0; }
.studio-footer[data-layout="top"] .footer-stage { grid-template-rows:repeat(4,minmax(max(64px,10.5svh),max-content)) minmax(100px,1fr) auto 48px; }
.studio-footer[data-layout="top"] .footer-air { grid-row:5; }
.studio-footer[data-layout="top"] .footer-row:nth-child(2) { grid-row:1; }
.studio-footer[data-layout="top"] .footer-row:nth-child(3) { grid-row:2; }
.studio-footer[data-layout="top"] .footer-row:nth-child(4) { grid-row:3; }
.studio-footer[data-layout="top"] .footer-row:nth-child(5) { grid-row:4; }
.footer-stage::before { content:""; position:absolute; z-index:9; inset:0 var(--footer-pad,44px); border-inline:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); pointer-events:none; }
/* Paint the complete outer frame above opaque stack cards, without changing
   layout or catching link taps. An inset shadow beneath the cards was obscured. */
.footer-stage::after { content:""; position:absolute; z-index:10; inset:0; box-sizing:border-box; border:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); pointer-events:none; }
.footer-air { border-top:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); }
[data-footer-card] { position:relative; min-width:0; background:var(--footer-bg); }
.studio-footer[data-motion="ready"] [data-footer-card] { transform:translate3d(0,var(--card-y,0px),0); }
.footer-row,.footer-logo-row,.mew-site .footer-credit { border-top:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); padding:0 var(--footer-pad,44px); }
.footer-row-content { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; min-height:100%; padding-bottom:var(--footer-descent,0px); font-size:var(--footer-left-fit,inherit); color:var(--type-color,inherit); }
.footer-row-content>a,.footer-row-content>span,.footer-roll>span,.footer-credit>span { display:block; text-box-trim:trim-both; text-box-edge:cap alphabetic; }
.footer-position { position:relative; left:calc(var(--ink-x,0px) + var(--foot-desktop-x,0px)); top:calc(var(--ink-y,0px) + var(--foot-desktop-y,0px)); }
.footer-roll { min-width:0; text-align:right; overflow:clip; overflow-clip-margin:.15em; }
.footer-roll>span { transform:translateY(var(--text-y,0%)); }
.mew-site .studio-footer .footer-roll { font-size:var(--footer-right-fit,var(--type-fluid)); flex-shrink:0; white-space:nowrap; }
.footer-roll a { overflow-wrap:anywhere; }
.footer-row-content>a,.footer-row-content>span { flex-shrink:0; min-width:0; max-width:100%; white-space:nowrap; }
.studio-footer[data-type-fit="stacked"] .footer-row-content { flex-direction:column; gap:12px; }
.studio-footer[data-type-fit="stacked"] .footer-row-content>a,.studio-footer[data-type-fit="stacked"] .footer-row-content>span { white-space:normal; overflow-wrap:anywhere; }
.mew-site .studio-footer[data-type-fit="stacked"] .footer-roll { align-self:flex-end; max-width:100%; white-space:normal; }
.mew-site .studio-footer a:hover,.mew-site .studio-footer a:focus-visible { text-decoration:underline; text-underline-offset:.12em; }
[data-footer-card]:focus-within,.footer-row:focus-within .footer-roll>* { transform:none!important; }
.footer-wordmark { position:relative; display:block; width:100%; top:-1px; margin-bottom:-1px; }
.footer-wordmark img { display:block; width:100%; height:auto; visibility:hidden; }
.footer-wordmark span { position:absolute; inset:0; background:currentColor; mask:url('/assets/mew-logo-white.png') center/100% 100% no-repeat; }
.mew-site .footer-credit { display:flex; justify-content:space-between; align-items:end; gap:12px; color:inherit; border-bottom:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); }
.landing-work { --work-gap:var(--work-gap-desktop,44px); }
.work-showcase-grid { row-gap:var(--work-gap); column-gap:var(--work-gap); padding-bottom:0; }
.work-item { position:relative; }
.mew-site .work-caption { position:absolute; top:100%; left:0; right:0; margin:0; padding-top:0; font-size:min(var(--type-fluid,14px),var(--work-gap)); line-height:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media(max-width:767px) {
 .mew-site .studio-footer { --footer-pad:var(--footer-mobile-pad,12px); }
 .footer-stage { padding:var(--footer-pad,12px) 0; grid-template-rows:minmax(100px,1fr) repeat(4,minmax(max(62px,10.5svh),max-content)) auto 44px; }
 .studio-footer[data-layout="top"] .footer-stage { grid-template-rows:repeat(4,minmax(max(62px,10.5svh),max-content)) minmax(100px,1fr) auto 44px; }
 .footer-row-content { gap:12px; color:var(--type-mobile-color,inherit); }
 .mew-site .studio-footer .footer-roll { font-size:var(--footer-right-fit,var(--type-mobile)); }
 .footer-position { left:calc(var(--ink-x,0px) + var(--foot-mobile-x,0px)); top:calc(var(--ink-y,0px) + var(--foot-mobile-y,0px)); }
 .landing-work { --work-gap:var(--work-gap-mobile,12px); }
 .mew-site .work-caption { font-size:min(var(--type-mobile,12px),var(--work-gap)); }
}
@supports not (text-box-trim:trim-both) {
 .footer-row-content>a,.footer-row-content>span,.footer-roll>span { margin-top:-.15em; }
 .footer-credit>span { margin-bottom:-.15em; }
}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .studio-footer [data-footer-card],html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .studio-footer .footer-roll>*{ transform:none!important; } }

.footer-arrow { display:inline-block; width:1.25em; height:.86em; margin-left:.18em; vertical-align:-.12em; }
.work-visual { isolation:isolate; }
.work-hover-title { position:absolute; top:0; left:var(--dock-desktop-padding,44px); right:var(--dock-desktop-padding,44px); z-index:2; display:flex; justify-content:space-between; align-items:baseline; gap:24px; pointer-events:none; visibility:hidden; overflow-wrap:anywhere; font:400 var(--work-hover-size,32px)/1.1 Arial,sans-serif; letter-spacing:0; color:#fff; }
.work-hover-name,.work-hover-category { min-width:0; max-width:calc(50% - 12px); }
.work-hover-name { text-align:left; }
.work-hover-category { text-align:right; margin-left:auto; font-weight:700; }
.work-visual[data-title-color="auto"] .work-hover-title { mix-blend-mode:difference; }
.work-visual[data-title-color="red"] .work-hover-title { color:#bf1919; }
.work-visual[data-title-color="white"] .work-hover-title { color:#f7f7f7; }
.work-visual[data-title-color="pink"] .work-hover-title { color:#ded3d3; }
.work-visual[data-title-color="black"] .work-hover-title { color:#040404; }
.landing-work .work-caption { display:flex; justify-content:space-between; gap:16px; }
.work-caption>span:last-child { text-align:right; font-weight:700; }
.work-visual[data-hovering="true"] .work-hover-title { visibility:visible; }
.mew-site .landing-work[data-work-hover="true"] .work-caption { font:400 var(--work-hover-mobile-size,16px)/1.15 Arial,sans-serif; white-space:normal; overflow:visible; position:static; padding-top:8px; padding-bottom:8px; }
@media (hover:hover) and (pointer:fine) {
 .mew-site .landing-work[data-work-hover="true"] .work-caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .landing-work[data-work-hover="true"] .work-item:has(:focus-visible) .work-hover-title { visibility:visible; transform:translateY(16px)!important; color:#fff; }
}
@media(max-width:767px) {
 .landing-work .work-hover-title { display:none; }
 .mew-site .landing-work[data-work-hover="true"] .work-caption { position:static; width:auto; height:auto; margin:0; padding-top:8px; padding-bottom:8px; clip-path:none; white-space:normal; overflow:visible; color:#bf1919; }
}

/* Shared navigation inset also defines the home and artwork frames. */
.landing-work { padding-bottom:0; }
.work-item>a,.work-link-pending { display:block; width:100%; cursor:pointer; }
.work-link-pending { border:0; padding:0; margin:0; background:none; color:inherit; text-align:inherit; font:inherit; }
.work-visual::after { content:""; position:absolute; inset:var(--work-frame-top,0px) 0 var(--work-frame-bottom,0px); z-index:3; pointer-events:none; border:var(--dock-desktop-padding,44px) solid var(--work-frame-color,#bf1919); opacity:0; }
@media(hover:hover) and (pointer:fine) { .work-item>a:hover .work-visual::after,.work-link-pending:hover .work-visual::after { opacity:1; } }
.work-item>a:focus-visible .work-visual::after,.work-link-pending:focus-visible .work-visual::after { opacity:1; }
@media(max-width:767px) { .work-visual::after { border-width:var(--dock-mobile-padding,12px); } }



/* Home's work list flows into its footer without a snap or pinned runway. */
html[data-work-free-scroll="true"]:has(.mew-site[data-landing="true"] .landing-sequence) { scroll-snap-type:none; }
.studio-footer[data-snap="free"] { scroll-snap-align:none; scroll-snap-stop:normal; }

/* Reveal the frame with a short ease-out; never animate layout or viewport insets. */
.work-visual::after { opacity:1; clip-path:inset(0 0 100% 0); transition:clip-path 350ms cubic-bezier(.215,.61,.355,1); }
@media(hover:hover) and (pointer:fine) { .work-item>a:hover .work-visual::after,.work-link-pending:hover .work-visual::after { clip-path:inset(0); } }
.work-item>a:focus-visible .work-visual::after,.work-link-pending:focus-visible .work-visual::after { clip-path:inset(0); }

.site-menu { position:relative; z-index:100; }
.menu-toggle { display:none; }
.menu-panel { box-sizing:border-box; position:fixed; inset:0; margin:0; width:100%; max-width:none; height:100dvh; max-height:none; padding:90px max(24px,var(--menu-inset)) 32px; border:0; background:#bf1919; color:#f7f7f7; overflow-y:auto; overscroll-behavior:contain; font-family:"A1",Arial,sans-serif; }
.menu-panel::backdrop { background:transparent; }
.menu-panel[open] { display:flex; flex-direction:column; }
.menu-panel nav { display:flex; flex-direction:column; gap:clamp(12px,2.5dvh,25px); }
.mew-site .menu-panel a { color:#f7f7f7; text-decoration:none; }
.menu-panel nav a { font:700 clamp(28px,5.3vw,56px)/1.05 "A1",Arial,sans-serif; width:fit-content; }
.menu-panel a:hover,.menu-panel a:focus-visible { text-decoration:underline; text-underline-offset:.12em; }
.menu-toggle,.menu-close { align-items:center; gap:12px; border:0; background:none; color:inherit; font:700 20px/1 "A1",Arial,sans-serif; cursor:pointer; }
.menu-close { display:flex; position:absolute; right:max(24px,var(--menu-inset)); top:24px; }
.menu-plus,.menu-close>span:last-child { font:400 32px/1 Arial,sans-serif; }
.menu-contact { margin-top:auto; padding-top:48px; display:flex; flex-direction:column; gap:18px; }
.menu-contact-label { display:flex; align-items:center; gap:14px; font:700 clamp(24px,4vw,38px)/1.1 "A1",Arial,sans-serif; width:fit-content; }
.menu-contact-label svg { width:1.5em; height:1em; }
.menu-email { font:400 clamp(17px,3.3vw,28px)/1.2 "A1",Arial,sans-serif; overflow-wrap:anywhere; }
@media(max-width:1023px) {
 .menu-toggle { display:flex; position:fixed; right:var(--menu-inset,12px); top:22px; z-index:110; color:#f7f7f7; mix-blend-mode:difference; }
 /* On the landing page, Menu follows the same second-screen entry as the dock. */
 .mew-site:has(.framed-home):not(:has(.landing-dock[aria-hidden="false"])) .menu-toggle { visibility:hidden; pointer-events:none; }
 .mew-site .landing-dock .dock-links,.mew-site .site-nav nav { display:none; }
 .mew-site .landing-dock { justify-content:flex-start; padding-right:150px; }
}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .work-visual::after{ transition:none; } }
@media(max-width:1023px) { .preview-logo-replay { top:auto; bottom:12px; right:12px; } }

/* Footer arrival hides the shared desktop dock and narrow-screen menu trigger. */
.mew-site[data-footer-visible="true"] .landing-dock,
.mew-site[data-footer-visible="true"] .menu-toggle,
.mew-site[data-footer-visible="true"]>.site-nav { visibility:hidden!important; pointer-events:none!important; }
@media(max-width:1023px) {
 .menu-panel nav { align-items:center; text-align:center; }
 .menu-contact { align-items:center; text-align:center; }
}
@media(max-width:767px) {
 .mew-site .studio-footer { min-height:50svh; }
 .studio-footer .footer-stage { min-height:50svh; grid-template-rows:minmax(12px,1fr) repeat(4,minmax(34px,max-content)) auto 24px; }
 .studio-footer[data-layout="top"] .footer-stage { grid-template-rows:repeat(4,minmax(34px,max-content)) minmax(12px,1fr) auto 24px; }
}

/* Phone projects use the studio colour; menu is a centred column with flush-left text. */
@media(max-width:767px) {
 .mew-site .landing-work { background:var(--work-background,#bf1919); color:var(--work-color,#f7f7f7); }
 .mew-site .landing-work .work-section-title,
 .mew-site .landing-work[data-work-hover="true"] .work-caption { color:var(--work-color,#f7f7f7); }
}
@media(max-width:1023px) {
 .menu-panel nav { width:max-content; max-width:100%; margin-inline:auto; align-items:flex-start; text-align:left; }
 .menu-contact { width:max-content; max-width:100%; margin-inline:auto; align-items:flex-start; text-align:left; }
}

/* Mobile viewport follows Safari's currently visible area, including toolbar changes. */
@media(max-width:767px) {
 .landing-intro,.landing-intro-surface { min-height:100dvh; }
 .mew-site .studio-footer { min-height:75dvh; --footer-bg:#bf1919; --footer-ink:#f7f7f7; }
 .studio-footer .footer-stage { min-height:75dvh; grid-template-rows:minmax(24px,1fr) repeat(4,max-content) auto minmax(30px,max-content); }
 .studio-footer[data-layout="top"] .footer-stage { grid-template-rows:repeat(4,max-content) minmax(24px,1fr) auto minmax(30px,max-content); }
 .mew-site .studio-footer .footer-row-content { flex-direction:column; justify-content:flex-start; align-items:flex-start; gap:8px; padding-block:10px; font-size:var(--type-mobile); line-height:1.15; color:var(--footer-ink); }
 .mew-site .studio-footer .footer-roll { align-self:flex-start; width:100%; max-width:100%; text-align:left; white-space:normal; overflow:visible; font-size:var(--type-mobile); line-height:1.15; color:var(--footer-ink); }
 .mew-site .studio-footer[data-mobile-follow-navigation="true"] :is(.footer-row-content,.footer-roll) { font-size:var(--mobile-navigation-size,21px); }
 .mew-site .studio-footer .footer-row-content>a,.mew-site .studio-footer .footer-row-content>span { white-space:normal; }
 .studio-footer .footer-position { left:var(--foot-mobile-x,0px); top:var(--foot-mobile-y,0px); }
 .studio-footer .footer-row-content>a,.studio-footer .footer-row-content>span,.studio-footer .footer-roll>span,.studio-footer .footer-credit>span { text-box-trim:none; margin:0; }
 .mew-site .footer-credit { flex-direction:column; justify-content:center; align-items:flex-start; gap:3px; padding-block:6px; line-height:1.15; }
}
@media(max-width:1023px) {
 .menu-panel nav a,.menu-toggle,.menu-close { font-size:var(--mobile-navigation-size,21px); }
}


/* Mobile menu: solid studio red, one shared left edge, and a deliberate bottom-up entry. */
.menu-panel {
 --menu-content-inset:max(var(--menu-inset,21px),10.5vw);
 background-color:#bf1919; background-image:none; opacity:1; mix-blend-mode:normal; filter:none; isolation:isolate; color-scheme:light;
 padding:max(112px,19dvh) var(--menu-content-inset) max(56px,8dvh,env(safe-area-inset-bottom));
 outline:none; -webkit-tap-highlight-color:transparent;
}
.menu-panel::backdrop { background:transparent; backdrop-filter:none; }
.menu-panel nav,.menu-panel .menu-contact { width:100%; max-width:100%; margin-inline:0; align-items:flex-start; text-align:left; }
.menu-panel nav { gap:clamp(14px,2.5dvh,25px); }
.menu-panel .menu-contact { margin-top:auto; padding-top:40px; }
.menu-panel .menu-contact-label { font-size:var(--mobile-navigation-size,21px); }
.menu-close { top:max(24px,env(safe-area-inset-top)); }
.menu-word { position:relative; display:inline-block; }
.menu-word[data-shining="true"] { color:#ded3d3; }
.menu-shimmer { position:absolute; inset:0; pointer-events:none; color:transparent; opacity:0; background:linear-gradient(110deg,transparent 40%,#fff 49%,#fff 51%,transparent 60%); background-size:250% 100%; background-repeat:no-repeat; background-clip:text; -webkit-background-clip:text; }
@media(hover:none) { .menu-panel a:hover { text-decoration:none; } }
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .menu-shimmer{ display:none; } }
@media(max-width:767px) {
 .studio-footer .footer-stage { display:flex; flex-direction:column; }
 .studio-footer .footer-row { order:1; flex:none; }
 .studio-footer .footer-air { order:0; flex:1; min-height:24px; }
 .studio-footer[data-layout="top"] .footer-air { order:5; }
 .studio-footer .footer-logo-row { order:6; flex:none; }
 .studio-footer .footer-credit { order:7; flex:none; min-height:30px; }
 .studio-footer [data-mobile-hidden="true"] { display:none!important; }
}
/* Full-screen glass samples the live page underneath, including moving video. */
.menu-panel {
 background:var(--menu-tint,rgba(255,255,255,.045));
 backdrop-filter:blur(24px) saturate(1.15);
 -webkit-backdrop-filter:blur(24px) saturate(1.15);
 color:var(--menu-ink,#f7f7f7);
 isolation:auto;
}
.mew-site .menu-panel a,.menu-panel .menu-close { color:var(--menu-ink,#f7f7f7); }
.work-visual[data-touch-active="true"]::after { opacity:1; transform:scale(1); clip-path:inset(0); }
@media(max-width:767px){.work-item>a:is(:hover,:active) .work-visual::after,.work-link-pending:is(:hover,:active) .work-visual::after{clip-path:inset(0);}}
@media(max-width:767px) {
 .mew-site .studio-footer .footer-row-content { padding-top:0; }
 .studio-footer .footer-position { left:calc(var(--ink-x,0px) + var(--foot-mobile-x,0px)); top:calc(var(--ink-y,0px) + var(--foot-mobile-y,0px)); }
 .studio-footer .footer-row-content>a,.studio-footer .footer-row-content>span,.studio-footer .footer-roll>span,.studio-footer .footer-credit>span { text-box-trim:trim-both; text-box-edge:cap alphabetic; }
 .mew-site .studio-footer .footer-credit { flex-direction:row; justify-content:space-between; align-items:end; gap:8px; padding-block:0; font-size:var(--footer-credit-fit,var(--type-mobile)); white-space:nowrap; line-height:1; }
 .studio-footer .footer-credit>span { flex:none; }
}

/* Footer device settings: each breakpoint owns its complete layout. */
.mew-site .studio-footer { min-height:var(--footer-desktop-height,100svh); }
.studio-footer[data-stack="active"] { height:calc(var(--footer-desktop-height,100svh) + var(--footer-runway,0px)); }
.studio-footer .footer-stage { display:flex; flex-direction:column; min-height:var(--footer-desktop-height,100svh); padding-block:var(--footer-desktop-vertical,44px); }
.studio-footer .footer-air { order:0; flex:1; min-height:100px; }
.studio-footer .footer-air-after { display:none; }
.studio-footer[data-layout="top"] .footer-air { order:5; }
.studio-footer .footer-row { order:1; flex:none; min-height:max(64px,10.5svh); }
.studio-footer .footer-logo-row { order:6; flex:none; }
.studio-footer .footer-credit { order:7; flex:none; min-height:48px; }
.studio-footer .footer-row-content { line-height:var(--type-line,1); }
@media(min-width:768px) {
 .studio-footer [data-desktop-hidden="true"] { display:none!important; }
}
@media(max-width:767px) {
 .mew-site .studio-footer { min-height:var(--footer-mobile-height,75dvh); }
 .studio-footer .footer-stage { min-height:var(--footer-mobile-height,75dvh); padding-block:var(--footer-mobile-vertical,21px); }
 .studio-footer[data-mobile-layout="top"] .footer-air { order:5; }
 .studio-footer[data-mobile-layout="bottom"] .footer-air { order:0; }
 .studio-footer[data-mobile-layout="center"] .footer-air { order:0; }
 .studio-footer[data-mobile-layout="center"] .footer-air-after { display:block; order:5; flex:1; min-height:24px; border-top:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%); }
 .studio-footer .footer-air { min-height:24px; }
 .studio-footer .footer-row { min-height:0; }
 .studio-footer .footer-credit { min-height:30px; }
 .mew-site .studio-footer[data-mobile-tone="white"],.mew-site .studio-footer[data-mobile-tone="auto"][data-auto-palette="white"] { --footer-bg:#f7f7f7; --footer-ink:#bf1919; }
 .mew-site .studio-footer[data-mobile-tone="red"],.mew-site .studio-footer[data-mobile-tone="auto"][data-auto-palette="red"] { --footer-bg:#bf1919; --footer-ink:#f7f7f7; }
 .mew-site .studio-footer .footer-row-content,.mew-site .studio-footer .footer-roll { line-height:var(--type-mobile-line,1.15); }
}
@media(min-width:768px) {
 .mew-site .studio-footer .footer-row-content { color:var(--footer-desktop-left-ink,var(--footer-ink)); }
 .mew-site .studio-footer .footer-roll { color:var(--footer-desktop-right-ink,var(--footer-ink)); }
 .mew-site .studio-footer .footer-credit { color:var(--footer-desktop-credit-ink,var(--footer-ink)); }
}
@media(max-width:767px) {
 .mew-site .studio-footer .footer-row-content { color:var(--footer-mobile-left-ink,var(--footer-ink)); }
 .mew-site .studio-footer .footer-roll { color:var(--footer-mobile-right-ink,var(--footer-ink)); }
 .mew-site .studio-footer .footer-credit { color:var(--footer-mobile-credit-ink,var(--footer-ink)); }
}

/* Stacking and settling are independent. Native mandatory snapping must not
   pull the visitor away from the final project. */
.mew-site .studio-footer {scroll-snap-align:none;scroll-snap-stop:normal}
.studio-footer[data-stack="active"] {height:calc(var(--footer-stage-height,100svh) + var(--footer-runway,0px))}
.studio-footer[data-stack="active"] .footer-stage {top:var(--footer-sticky-top,0px)}
html[data-footer-free-scroll="true"]:has(.mew-site[data-landing="true"] .landing-sequence) {scroll-snap-type:none}
@media(max-width:767px) {
 /* Keep projects in document flow, including during a desktop-to-phone resize. */
 .has-studio-footer[data-footer-pin] {position:relative;top:auto}
}

/* An overview heading clears the fixed navigation's glass falloff. */
.site-text.has-navigation-clearance { padding-top:max(180px,var(--section-space,64px)); padding-bottom:56px; }
@media(max-width:1023px){.mew-site:has(.section-navigation) .menu-toggle{color:var(--section-menu-ink,#bf1919);mix-blend-mode:normal;}}
@media(max-width:767px){.site-text.has-navigation-clearance{padding-top:120px;padding-bottom:40px;}}

/* Current discipline stays prominent; cross-discipline destinations are quieter. */
.dock-links [data-secondary="true"] {opacity:1;}
.dock-links [data-secondary="true"]:hover,.dock-links [data-secondary="true"]:focus-visible{opacity:1;}
.dock-separator {font:700 .95em/1 Arial,sans-serif;opacity:.65;flex:none;}
.mew-site .menu-panel nav [data-secondary="true"]{opacity:.42;}
.menu-separator {font:400 21px/1 Arial,sans-serif;opacity:.36;margin-block:2px;}
.menu-panel nav {gap:clamp(12px,2dvh,22px);}
.menu-panel nav a[aria-disabled="true"]{cursor:default;text-decoration:none;}
.dock-links a[aria-disabled="true"]{cursor:default;}
.menu-panel nav [data-secondary="true"]:hover,.menu-panel nav [data-secondary="true"]:focus-visible{opacity:.85;}
.mew-site main:has(>.section-navigation:only-child){min-height:100svh;}

.mew-site .dock-links a[aria-disabled="true"]:hover{text-decoration:none;}

/* Compact footer: equal-height title cells within the existing outer frame. */
@media(max-width:767px){
 .studio-footer[data-mobile-layout="distributed"] .footer-stage{height:var(--footer-mobile-height,75dvh);}
 .studio-footer[data-mobile-layout="distributed"] .footer-air,.studio-footer[data-mobile-layout="distributed"] .footer-air-after{display:none;}
 .studio-footer[data-mobile-layout="distributed"] .footer-row{flex:1 1 0;min-height:min-content;}
 .studio-footer .footer-roll[data-mobile-detail-hidden="true"]{display:none!important;}
 .studio-footer .footer-logo-row{border-bottom:1px solid color-mix(in srgb,var(--footer-ink),transparent 55%);}
 .studio-footer .footer-logo-row .footer-wordmark{top:0;margin-bottom:0;}
}
@media(max-width:1023px){
 .mew-site .site-menu .menu-toggle{color:var(--menu-toggle-ink,#bf1919);mix-blend-mode:normal;transition:color .12s linear;}
}
.menu-contact-label svg{display:block;flex-shrink:0;}

/* Selected works retain one shared page margin before the footer. */
.mew-site .landing-work{padding-bottom:var(--work-bottom-gap,44px);}
@media(max-width:767px){
 .mew-site .landing-work{padding-bottom:var(--work-mobile-bottom-gap,12px);}
 .mew-site .studio-footer .footer-row-content{flex-direction:row;flex-wrap:wrap;align-content:flex-start;align-items:baseline;column-gap:12px;row-gap:10px;}
 .mew-site .studio-footer .footer-roll{width:max-content;max-width:100%;align-self:auto;margin-left:auto;text-align:right;white-space:normal;}
 .mew-site .studio-footer .footer-roll[data-footer-ink="socialsRight"] a{white-space:nowrap;}
}
/* Project overview: full bleed artwork with half-margin gutters, without rules. */
.mew-site .project-gallery {
 --project-inset:calc(var(--page-pad) / 2);
 gap:var(--project-inset); padding:0; overflow:clip; position:relative; isolation:isolate;
}
.project-gallery .gallery-item { position:relative; }
.project-gallery .media-frame:has(>img) { background:transparent; }
.mew-site .project-gallery .project-label {
 position:absolute; z-index:2; inset-inline:var(--project-inset); bottom:var(--project-inset);
 display:flex; justify-content:space-between; align-items:center; gap:12px;
 font-family:Arial,Helvetica,sans-serif; font-weight:400; line-height:1.2;
 opacity:0; pointer-events:none; isolation:isolate;
}
.project-label-name,.project-label-category { position:relative; min-width:0; overflow-wrap:anywhere; }
.project-label-name { text-align:left; }
.project-label-category { text-align:right; font-weight:700; }
.project-label-glass { position:absolute; z-index:-1; inset:-48px calc(-1 * var(--project-inset)) calc(-1 * var(--project-inset)); pointer-events:none; background:linear-gradient(transparent,rgba(0,0,0,.22)); }
.project-label-glass>span { position:absolute; inset:0; backdrop-filter:blur(var(--blur)); -webkit-backdrop-filter:blur(var(--blur)); mask-image:linear-gradient(to bottom,transparent var(--stop),#000 100%); -webkit-mask-image:linear-gradient(to bottom,transparent var(--stop),#000 100%); }
.project-gallery .gallery-item:is(:hover,:focus-within) .project-label { opacity:1; }
.mew-site .project-gallery a:hover { text-decoration:none; }
.mew-site .project-gallery .gallery-item:focus-visible { outline:2px solid currentColor; outline-offset:-3px; }
@media(max-width:767px),(hover:none) { .mew-site .project-gallery .project-label { opacity:1; } }

.gallery-overview { container-type:inline-size; --overview-columns:var(--columns,2); --overview-gap:calc(var(--page-pad) / 2); }
.gallery-overview-header {
 box-sizing:border-box; min-height:calc((100cqw - (var(--overview-columns) - 1) * var(--overview-gap)) / var(--overview-columns) / var(--gallery-aspect));
 display:flex; flex-direction:column; justify-content:center; align-items:flex-start;
 padding-top:100px; padding-bottom:32px; gap:24px;
}
.gallery-overview-header h1 { margin:0; }
.gallery-overview-header.filters-only { justify-content:flex-end; padding-top:100px; padding-bottom:calc(var(--page-pad) / 2); gap:0; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:12px 0; }
.gallery-filters[data-filter-device="mobile"] { display:none; }
@media(max-width:767px) {
 .gallery-filters[data-filter-device="desktop"] { display:none; }
 .gallery-filters[data-filter-device="mobile"] { display:flex; }
}
.gallery-filters button { border:0; padding:0; background:none; color:inherit; font:inherit; letter-spacing:inherit; cursor:pointer; text-decoration:none; }
.gallery-filters button[aria-pressed="false"] { color:inherit; }
.gallery-filters button:is(:hover,:active,:focus-visible,[aria-pressed="true"]) { color:inherit; }
.gallery-filters button { transition:color 280ms cubic-bezier(.22,1,.36,1); }
.gallery-filters button[aria-pressed="true"] { color:#bf1919; }
.gallery-filters button:is(:hover,:active,:focus-visible,[aria-pressed="true"]) .gallery-filter-label::after { content:""; position:absolute; left:0; right:0; bottom:-.12em; height:max(1px,.05em); background:currentColor; pointer-events:none; }
.gallery-filter-label { position:relative; display:inline-block; }
.gallery-filter-separator { white-space:pre; }
.gallery-filters [data-nav-animating="true"] .dock-label { opacity:0; }
.gallery-filters .nav-interaction-layer { overflow:visible; }
.gallery-filters [data-nav-animating="true"] .nav-interaction-layer { visibility:visible; }
.gallery-filters button:focus-visible { outline:1px solid currentColor; outline-offset:5px; }
.gallery-overview .gallery-item[hidden],.gallery-empty[hidden] { display:none!important; }
.gallery-empty { padding-block:44px; }
.gallery-filter-status { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.project-decode-source { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.project-decode-word { display:inline-block; }
.project-decode-cell { display:inline-block; position:relative; }
.project-decode-cell[data-pending] > span:first-child { visibility:hidden; }
.project-decode-random { position:absolute; inset:0; text-align:center; overflow:hidden; }
.project-mobile-caption { display:none; }
/* Phone artwork lists share a two-line caption band and one full mobile margin. */
@media(max-width:767px) {
 .landing-work .work-showcase-grid { row-gap:var(--dock-mobile-padding,21px); }
 .mew-site .landing-work .work-caption {
  box-sizing:border-box; min-height:calc(var(--work-hover-mobile-size,16px) * 2.3 + 16px);
  align-items:flex-start;
 }
 .mew-site .project-gallery {
  grid-template-columns:minmax(0,1fr); gap:var(--page-pad); padding-bottom:var(--page-pad);
 }
 .mew-site .project-gallery .project-label { display:none; }
 .mew-site .project-gallery .project-mobile-caption {
  display:flex; justify-content:space-between; align-items:flex-start; gap:16px;
  padding:8px var(--page-pad); min-height:calc(var(--type-mobile,16px) * 2.3 + 16px);
  box-sizing:border-box; font:400 var(--type-mobile,16px)/1.15 Arial,sans-serif;
 }
 .project-mobile-caption>span,.project-mobile-caption>strong,.landing-work .work-caption>span { min-width:0; }
 .project-mobile-caption>strong { text-align:right; font-weight:700; white-space:pre-line; }
 .project-gallery .media-frame::after { content:""; position:absolute; inset:0; pointer-events:none; border:var(--page-pad) solid #bf1919; opacity:0; }
 .project-gallery .gallery-item:is(:active,:focus-visible) .media-frame::after { opacity:1; }
}
@media(min-width:768px) and (max-width:1023px){.gallery-overview{--overview-columns:min(var(--columns,2),2);}}
@media(max-width:767px){
 .gallery-overview{--overview-columns:var(--mobile-columns,1);}
 .gallery-overview-header{justify-content:flex-end;padding-top:var(--mobile-content-top,72px);padding-bottom:24px;gap:var(--gallery-mobile-title-filter-gap,10px);}
 .gallery-overview-header.filters-only{padding-top:var(--mobile-content-top,72px);padding-bottom:calc(var(--page-pad) / 2);}
 .gallery-filters{width:100%;justify-content:flex-start;gap:10px 0;}
}
@media(max-width:1023px){.gallery-filters.matches-navigation{font-size:var(--type-mobile,21px);}}

.compact-footer-air,.compact-footer-content { display:none; }
@media(max-width:767px) {
 .mew-site .studio-footer[data-mobile-layout="contact"] { min-height:0; }
 .studio-footer[data-mobile-layout="contact"] .footer-stage {
  min-height:max(var(--footer-reference-height,0px),var(--footer-mobile-height));
  height:auto; padding:0; overflow:visible;
 }
 .studio-footer[data-mobile-layout="contact"] .footer-stage::before,
 .studio-footer[data-mobile-layout="contact"] .footer-stage::after { display:none; }
 .studio-footer[data-mobile-layout="contact"] .footer-stage > :not(.compact-footer-air):not(.compact-footer-content) { display:none!important; }
 .studio-footer[data-mobile-layout="contact"] .compact-footer-air { display:block; flex:1 1 auto; order:0; }
 .studio-footer[data-mobile-layout="contact"] .compact-footer-content {
  display:flex; flex-direction:column; flex:0 0 auto; order:1; box-sizing:border-box;
  min-height:var(--footer-mobile-height); padding-bottom:var(--footer-mobile-vertical,21px);
 }
 .compact-footer-row {
  display:flex; justify-content:space-between; align-items:flex-start; flex:1 0 auto;
  gap:12px; min-height:44px; box-sizing:border-box; padding:10px var(--footer-mobile-pad,21px);
  border-top:1px solid var(--footer-ink); font-size:var(--type-mobile); line-height:1.2;
 }
 .compact-footer-row > a { min-width:0; }
 .compact-footer-row > .type-style { text-align:right; }
 .compact-footer-contact { flex-wrap:wrap; }
 .compact-footer-addresses { margin-left:auto; display:flex; flex-direction:column; align-items:flex-end; gap:2px; max-width:100%; }
 .compact-footer-addresses a { overflow-wrap:anywhere; }
 .compact-footer-logo { padding:12px var(--footer-mobile-pad,21px) 0; }
 .compact-footer-logo a,.compact-footer-logo img { display:block; width:100%; height:auto; }
 .compact-footer-content a:is(:hover,:focus-visible,:active) { text-decoration:underline; text-underline-offset:.16em; }
 .compact-footer-logo a:is(:hover,:focus-visible,:active) { box-shadow:0 1px 0 currentColor; }
}
/* Revised grid footer and section menus, November 2026. */
.mew-site .studio-footer.grid-footer {
 --footer-bg:#bf1919; --footer-ink:#f7f7f7;
 box-sizing:border-box; background:#bf1919; color:#f7f7f7; min-height:0; height:auto;
 padding:0; border:0; font-family:Arial,sans-serif;
}
.studio-footer.grid-footer .grid-footer-stage {
 display:flex; flex-direction:column; box-sizing:border-box; position:relative;
 min-height:var(--grid-desktop-height,100svh); height:auto;
 padding:var(--grid-desktop-pad,42px); padding-bottom:22px; overflow:visible;
}
.grid-footer .footer-stage::before,.grid-footer .footer-stage::after{display:none;}
.grid-footer-board {display:flex;flex-direction:column;flex:1;position:relative;min-width:0;border:.5px solid #f7f7f7;}
.grid-footer-cell {box-sizing:border-box;position:relative;flex:1;min-height:160px;padding:0 0 22px;border-bottom:.5px solid #f7f7f7;}
.grid-footer-label {font:400 var(--grid-desktop-label,15px)/1 'A1',Arial,sans-serif;text-box-trim:trim-start;text-box-edge:cap alphabetic;}
.grid-footer-links {display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-top:30px;font:700 var(--grid-desktop-font,32px)/1.16 Arial,sans-serif;}
.grid-footer-links>* {max-width:100%;overflow-wrap:anywhere;}
.grid-footer a {color:inherit;}
.grid-footer a[aria-disabled='true'] {cursor:default;text-decoration:none!important;}
.grid-footer .grid-footer-top {display:block;flex:none;background:#f7f7f7;color:#bf1919;font:700 var(--grid-desktop-font,32px)/1.15 Arial,sans-serif;}
.grid-footer-wordmark-cell {padding:26px 0;flex:none;}
.grid-footer-wordmark,.grid-footer-monogram {display:block;position:relative;overflow:hidden;}
.grid-footer-wordmark {width:100%;aspect-ratio:6595/435;}
.grid-footer-monogram {width:34%;aspect-ratio:191.69/188.61;}
.grid-footer [data-footer-decode] img {display:block;width:100%;height:100%;object-fit:contain;filter:brightness(0) invert(1);}
.grid-footer [data-decoding='true'] img {clip-path:inset(0 calc(100% - var(--logo-reveal,0%)) 0 0);}
.grid-footer-monogram-cell {display:none;}
.grid-footer-credit {display:flex;justify-content:space-between;gap:10px;flex:none;padding-top:18px;font:400 var(--grid-desktop-credit,12px)/1 'A1',Arial,sans-serif;}
.grid-credit-mobile {display:none;}
.grid-footer a:is(:hover,:focus-visible,:active){text-decoration:underline;text-underline-offset:.12em;}
.grid-footer [data-footer-decode]:is(:hover,:focus-visible,:active){box-shadow:0 .5px 0 #f7f7f7;}
@media(max-width:767px){
 .studio-footer.grid-footer .grid-footer-stage{min-height:var(--grid-mobile-height,75svh);padding:0 var(--grid-mobile-pad,21px) 16px;}
 .grid-footer-board{container-type:inline-size;}
 .grid-footer-monogram-cell{display:flex;justify-content:center;align-items:center;flex:none;aspect-ratio:16/8;border-bottom:.5px solid #f7f7f7;}
 .grid-footer-cell{min-height:calc(100cqw * 9 / 32);padding:0 0 14px;}
 .grid-footer-label{font-size:var(--grid-mobile-label,11px);}
 .grid-footer-links{padding-top:20px;font-size:var(--grid-mobile-font,18px);gap:1px;line-height:1.15;}
 .grid-footer .grid-footer-top{font-size:var(--grid-mobile-font,18px);}
 .grid-footer-wordmark-cell{display:none;}
 .grid-footer-credit{font-size:var(--grid-mobile-credit,9px);padding-top:18px;white-space:nowrap;gap:4px;}
 .grid-credit-desktop{display:none;}.grid-credit-mobile{display:block;}
}
/* Frosted mobile menus retain a dark tint so light navigation stays readable. */
.mew-site .menu-panel {
 background:rgba(35,15,15,.7);
 background:color-mix(in srgb,var(--menu-background-color,#bf1919) 25%,#0009);
 backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);filter:none;opacity:1;
 color:var(--menu-text-color,#ded3d3);--menu-ink:var(--menu-text-color,#ded3d3);isolation:auto;
 --menu-edge:max(var(--menu-edge-gap,24px),env(safe-area-inset-top),env(safe-area-inset-bottom));
 padding:var(--menu-edge) var(--menu-inset,21px);
 font-family:var(--menu-family,Arial,sans-serif);
}
.menu-grid {border:.5px solid color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent);display:flex;flex-direction:column;min-height:100%;flex-shrink:0;box-sizing:border-box;}
.menu-grid-top {display:flex;justify-content:flex-end;align-items:flex-start;min-height:54px;border-bottom:.5px solid color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent);}
.menu-grid .menu-close {position:static;padding:0;right:auto;top:auto;}
.mew-site .menu-panel nav {gap:0;padding-top:36px;margin:0;width:100%;max-width:100%;align-items:stretch;}
.mew-site .menu-panel nav a,.mew-site .menu-panel .menu-contact-label {box-sizing:border-box;display:flex;align-items:flex-end;min-height:38px;width:100%;padding:3px 0 0;border-bottom:.5px solid color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent);font:700 var(--menu-font-size,24px)/1.08 var(--menu-family,Arial,sans-serif);text-align:left;overflow-wrap:anywhere;}
.mew-site .menu-panel nav a[data-detail='true'] {font-size:var(--menu-sub-size,24px);font-style:normal;font-weight:400;}
.mew-site .menu-panel nav [data-secondary='true'] {opacity:1;}
.menu-panel .menu-word {max-width:100%;text-box-trim:trim-end;text-box-edge:cap alphabetic;}
.menu-panel .menu-separator {font-size:0;opacity:1;margin:0;height:38px;border-bottom:.5px solid color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent);}
.mew-site .menu-panel .menu-contact {margin:0;margin-top:auto;padding-top:38px;gap:0;width:100%;align-items:stretch;}
.mew-site .menu-panel .menu-contact-label {min-height:38px;}
.mew-site .menu-panel .menu-email {box-sizing:border-box;display:flex;align-items:flex-end;min-height:38px;font:400 min(var(--menu-sub-size,24px),calc((100vw - 2 * var(--menu-inset,21px)) / 18))/1.15 var(--menu-family,Arial,sans-serif);text-align:left;overflow-wrap:anywhere;}
.mew-site .menu-panel a:is(:hover,:focus-visible,:active){text-decoration:underline;text-underline-offset:.1em;}
@media(max-width:1023px){
 .mew-site[data-footer-visible='true'] .menu-toggle{visibility:visible!important;pointer-events:auto!important;}
}
@media(max-width:767px){
 .grid-footer-board{flex:0 0 auto;margin-top:auto;}
 .grid-footer-cell{flex:none;min-height:calc(100cqw * 9 / 32);height:calc(100cqw * 9 / 32);}
}
.grid-footer{scroll-snap-align:none!important;scroll-snap-stop:normal;}
@media(max-width:767px){
 .grid-footer-cell{height:auto;padding-bottom:4px;}
 .grid-footer-links{padding-top:16px;}
}
.grid-footer-cell {flex-basis:0;}
.grid-footer [data-footer-glyph-layer]{display:none;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;fill:#f7f7f7;font:700 128px Arial,sans-serif;}
.grid-footer [data-footer-decode='monogram'] [data-footer-glyph-layer]{font-size:64px;}
.grid-footer [data-footer-glyph]{display:initial;position:static;clip-path:none!important;font:inherit;letter-spacing:normal;}
.grid-footer [data-decoding='true'] [data-footer-glyph-layer]{display:block;clip-path:inset(0 0 0 var(--logo-reveal,0%));}
@media(max-width:767px){.grid-footer-cell{flex:none;}}

.mew-site .menu-panel .menu-word[data-shining="true"]{color:var(--menu-text-color,#ded3d3);}
.mew-site .menu-panel .menu-shimmer{background-image:linear-gradient(110deg,transparent 40%,var(--menu-shine-color,#f7f7f7) 49%,var(--menu-shine-color,#f7f7f7) 51%,transparent 60%);}

/* Compact navigation shares one centre line, including larger editable Menu text. */
@media(max-width:1023px){
 .mew-site .menu-toggle{top:22px;padding:0;box-sizing:border-box;height:max(32px,var(--mobile-navigation-size,21px));}
 .mew-site .landing-dock{min-height:66px;}
 .mew-site .landing-dock .dock-brand{position:absolute;left:var(--dock-mobile-padding,12px);top:calc(22px + (max(32px,var(--mobile-navigation-size,21px)) - 32px) / 2);width:32px;height:32px;}
}

/* Shared footer geometry. Four equal desktop cells; the return strip is one fifth. */
.grid-footer {
 --grid-font:var(--grid-desktop-font,32px);--grid-family:var(--grid-desktop-family,Arial,sans-serif);--grid-weight:var(--grid-desktop-weight,700);
 --grid-label:var(--grid-desktop-label,15px);
 --grid-cell:max(160px,calc((var(--grid-desktop-height,100svh) - var(--grid-desktop-pad,42px) - 42px - var(--grid-desktop-credit,12px)) / 4.2));
 --grid-rule:.5px solid #f7f7f7;
}
.grid-footer .grid-footer-board{display:grid;grid-template-rows:repeat(3,var(--grid-cell)) calc(var(--grid-cell) / 5) var(--grid-cell);flex:none;}
.grid-footer .grid-footer-cell{display:grid;grid-template-rows:auto 1fr auto 1fr;min-height:0;height:auto;padding:0;border-bottom:var(--grid-rule);}
.grid-footer .grid-footer-label{font-size:var(--grid-label);text-box-trim:none;line-height:1;}
.grid-footer .grid-footer-links{grid-row:3;padding:0;gap:.12em;font-family:var(--grid-family);font-size:var(--grid-font);font-weight:var(--grid-weight);line-height:1.1;}
.grid-footer .grid-footer-email{position:relative;width:100%;border-bottom:0;line-height:1;}
.grid-footer .grid-footer-top{display:flex;align-items:center;box-sizing:border-box;min-height:0;padding:0;font:var(--grid-weight) var(--grid-font)/1 var(--grid-family);}
.grid-footer .grid-footer-wordmark-cell{display:flex;align-items:center;min-width:0;padding:0;}
.grid-footer .grid-ink{display:block;position:relative;height:var(--ink-height,1em);line-height:1;white-space:nowrap;}
.grid-footer .grid-ink>span{display:block;position:relative;top:var(--ink-offset,0px);line-height:1;text-box-trim:none;}
.grid-footer [data-footer-glyph-layer]{font-family:'A1',Arial,sans-serif;font-weight:700;}
.grid-footer [data-glyph-part='regular']{font-weight:400;}
.decode-glyphs text,.dock-brand-glyph{font-family:'A1',Arial,sans-serif;font-weight:700;}
.project-decode-random{font-family:'A1',Arial,sans-serif;font-weight:inherit;}
@media(max-width:767px){
 .grid-footer{--grid-font:var(--grid-mobile-font,18px);--grid-family:var(--grid-mobile-family,Arial,sans-serif);--grid-weight:var(--grid-mobile-weight,700);--grid-label:var(--grid-mobile-label,11px);--grid-cell:max(calc(100cqw * 9 / 32),calc(var(--grid-label) + var(--grid-font) * 3.6 + 16px));}
 .grid-footer .grid-footer-board{display:flex;flex-direction:column;flex:none;}
 .grid-footer .grid-footer-cell{flex:none;height:var(--grid-cell);min-height:var(--grid-cell);}
 .grid-footer .grid-footer-top{height:max(calc(var(--grid-cell) / 5),calc(var(--grid-font) * 1.05));flex:none;}
 .grid-footer .grid-footer-wordmark-cell{display:none;}
 .grid-footer .grid-footer-email{font-size:min(var(--grid-font),calc((100cqw - 2px) / 17));}
}
/* Rule at both sides of every blank menu row, including the contact spacer. */
.menu-grid{--menu-rule:.5px solid color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent);}
.mew-site .menu-panel nav{padding-top:0;}
.mew-site .menu-panel nav::before{content:'';display:block;flex:none;height:38px;border-bottom:var(--menu-rule);}
.mew-site .menu-panel .menu-contact{position:relative;padding-top:0;}
.mew-site .menu-panel .menu-contact::before{content:'';display:block;height:38px;border-bottom:var(--menu-rule);}
.mew-site .menu-panel .menu-contact-label{border-top:0;}
.mew-site .menu-panel .menu-email{padding:0;min-height:38px;border-bottom:var(--menu-rule);text-box-trim:trim-end;text-box-edge:cap alphabetic;}

.menu-grid-air{display:grid;grid-template-rows:repeat(2,1fr);flex:1;min-height:76px;}
.menu-grid-air>span{border-bottom:var(--menu-rule);box-sizing:border-box;}
.mew-site .menu-panel .menu-contact{margin-top:0;}
.grid-footer .grid-footer-contact-cell{border-bottom:0;}

/* Menu and footer share one rule token; typography remains device-specific. */
.grid-footer{--grid-rule:.5px solid color-mix(in srgb,var(--shared-rule-color,#ded3d3) 50%,transparent);}
.grid-footer .grid-footer-board{border:var(--grid-rule);}
.grid-footer .grid-footer-monogram-cell{border-bottom:var(--grid-rule);}
.grid-footer .grid-footer-wordmark{box-shadow:none!important;}
.grid-footer .grid-footer-label{font-family:var(--grid-desktop-right-family,'A1',Arial,sans-serif);font-weight:var(--grid-desktop-right-weight,400);letter-spacing:var(--grid-desktop-right-spacing,0px);color:var(--grid-desktop-right-color,#f7f7f7);line-height:var(--grid-desktop-right-line-height,1);}
.grid-footer .grid-footer-links{letter-spacing:var(--grid-desktop-left-spacing,0px);color:var(--grid-desktop-left-color,#f7f7f7);line-height:var(--grid-desktop-left-line-height,1.1);}
.grid-footer .grid-footer-credit{font-family:var(--grid-desktop-credit-family,'A1',Arial,sans-serif);font-weight:var(--grid-desktop-credit-weight,400);letter-spacing:var(--grid-desktop-credit-spacing,0px);color:var(--grid-desktop-credit-color,#f7f7f7);line-height:var(--grid-desktop-credit-line-height,1);}
@media(max-width:767px){
.grid-footer .grid-footer-label{font-family:var(--grid-mobile-right-family,'A1',Arial,sans-serif);font-weight:var(--grid-mobile-right-weight,400);letter-spacing:var(--grid-mobile-right-spacing,0px);color:var(--grid-mobile-right-color,#f7f7f7);line-height:var(--grid-mobile-right-line-height,1);}
.grid-footer .grid-footer-links{letter-spacing:var(--grid-mobile-left-spacing,0px);color:var(--grid-mobile-left-color,#f7f7f7);line-height:var(--grid-mobile-left-line-height,1.1);}
.grid-footer .grid-footer-credit{font-family:var(--grid-mobile-credit-family,'A1',Arial,sans-serif);font-weight:var(--grid-mobile-credit-weight,400);letter-spacing:var(--grid-mobile-credit-spacing,0px);color:var(--grid-mobile-credit-color,#f7f7f7);line-height:var(--grid-mobile-credit-line-height,1);}
}

.grid-footer{--grid-cell:max(160px,calc(var(--grid-font) * var(--grid-desktop-left-line-height,1.1) * 3 + var(--grid-label) + 24px),calc((var(--grid-desktop-height,100svh) - var(--grid-desktop-pad,42px) - 42px - var(--grid-desktop-credit,12px)) / 4.2));}
@media(max-width:767px){.grid-footer{--grid-cell:max(calc(100cqw * 9 / 32),calc(var(--grid-label) + var(--grid-font) * var(--grid-mobile-left-line-height,1.1) * 3 + 16px));}}

/* Keep the empty menu area ruled after removing the optional subnavigation. */
.menu-grid { --menu-row:max(38px,calc(var(--menu-font-size,24px) * 1.08 + 3px)); }
.mew-site .menu-panel nav a,.mew-site .menu-panel .menu-contact-label,.mew-site .menu-panel .menu-email { min-height:var(--menu-row);flex-shrink:0; }
.mew-site .menu-panel nav::before,.mew-site .menu-panel .menu-contact::before,.menu-panel .menu-separator { height:var(--menu-row);flex-shrink:0;box-sizing:border-box; }
.menu-grid-air { display:block;min-height:calc(2 * var(--menu-row));background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--menu-row) - .5px),color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent) calc(var(--menu-row) - .5px),color-mix(in srgb,var(--menu-border-color,#ded3d3) 50%,transparent) var(--menu-row)); }
.menu-grid-air>span { display:none; }

/* Phone navigation C: editorial type, two sections and one contact action. */
.mew-site .menu-panel .menu-grid{border:0;min-height:100%;}
.mew-site .menu-panel .menu-grid-top{border:0;min-height:104px;flex:none;}
.mew-site .menu-panel nav::before,.mew-site .menu-panel .menu-contact::before{display:none;}
.mew-site .menu-panel nav a{border:0;min-height:0;padding:0;font-family:var(--menu-family,'A1',Arial,sans-serif);font-size:var(--menu-font-size,40px);font-weight:var(--menu-weight,400);line-height:1.02;letter-spacing:-.035em;}
.mew-site .menu-panel .menu-word{text-box-trim:none;}
.mew-site .menu-panel .menu-separator{height:auto;min-height:0;border:0;padding:.12em 0;font:400 var(--menu-font-size,40px)/1 var(--menu-family,'A1',Arial,sans-serif);}
.mew-site .menu-panel .menu-grid-air{background:none;min-height:80px;flex:1;}
.mew-site .menu-panel .menu-contact{flex:none;margin:0;padding:0 0 36px;}
.mew-site .menu-panel .menu-contact-label{border:0;padding:0;min-height:0;display:flex;align-items:center;gap:.3em;width:fit-content;max-width:100%;font:var(--menu-weight,400) var(--menu-contact-size,30px)/1.05 var(--menu-family,'A1',Arial,sans-serif);letter-spacing:-.025em;}
.mew-site .menu-panel .menu-contact-arrow{width:.95em;height:.95em;flex:none;}
@media(max-width:359px){.mew-site .menu-panel nav a,.mew-site .menu-panel .menu-separator{font-size:calc(var(--menu-font-size,40px) * .82);}.mew-site .menu-panel .menu-contact-label{font-size:calc(var(--menu-contact-size,30px) * .86);}}

/* Mobile menu typography and spacing are independent of desktop navigation. */
.mew-site .menu-panel,.mew-site .site-menu .menu-toggle{text-transform:lowercase;}
.mew-site .site-menu .menu-toggle,.mew-site .menu-panel .menu-close{font-family:'A1',Arial,sans-serif;font-weight:700;}
.mew-site .menu-panel .menu-grid-top{min-height:var(--menu-top-gap,104px);}
.mew-site .menu-panel nav{gap:var(--menu-item-gap,0px);}
.mew-site .menu-panel nav a{line-height:var(--menu-line-height,1.02);letter-spacing:var(--menu-letter-spacing,-1.4px);}
.mew-site .menu-panel .menu-separator{padding-block:var(--menu-group-gap,5px);}
.mew-site .menu-panel .menu-contact{padding-bottom:0;}
/* Hide only the landing hero links on phones; desktop and section menus remain available. */
@media(max-width:767px){.mew-site[data-landing="true"] .framed-links{display:none;}}

/* Visual Strategy captions: a red wipe reveals the existing left/right labels. */
[data-label-reveal="wipe"] .project-label::before{content:'';position:absolute;inset:-6px -8px;background:#bf1919;z-index:3;transform:scaleX(0);transform-origin:left;pointer-events:none;}
[data-label-reveal="wipe"] .gallery-item:is(:hover,:focus-within) .project-label::before{animation:project-label-wipe 760ms cubic-bezier(.4,0,.2,1) both;}
[data-label-reveal="wipe"] .gallery-item:is(:hover,:focus-within) :is(.project-label-name,.project-label-category){animation:project-label-uncover 760ms cubic-bezier(.4,0,.2,1) both;}
@keyframes project-label-wipe{0%{transform:scaleX(0);transform-origin:left}42%{transform:scaleX(1);transform-origin:left}42.01%{transform:scaleX(1);transform-origin:right}100%{transform:scaleX(0);transform-origin:right}}
@keyframes project-label-uncover{0%,42%{opacity:0}42.01%,100%{opacity:1}}
@media(prefers-reduced-motion:reduce){html:not([data-motion="full"]) [data-label-reveal="wipe"] .gallery-item :is(.project-label-name,.project-label-category){animation:none;}html:not([data-motion="full"]) [data-label-reveal="wipe"] .project-label::before{animation:none;}}

/* Preview color: desktop follows hover; phone follows the central viewport band. */
[data-preview-mono-desktop] :is(.media-frame,.work-visual)>:is(img,video){transition:filter 420ms ease;}
.preview-frost{display:none;pointer-events:none;}
@media(min-width:768px){
 [data-preview-mono-desktop='true'] :is(.media-frame,.work-visual)>:is(img,video){filter:grayscale(1);}
 [data-preview-mono-desktop='true'] :is(.gallery-item,.work-item):focus-visible :is(.media-frame,.work-visual)>:is(img,video),
 [data-preview-mono-desktop='true'] .work-item:has(:focus-visible) .work-visual>:is(img,video){filter:grayscale(0);}
}
@media(min-width:768px) and (any-hover:hover){
 [data-preview-mono-desktop='true'] :is(.gallery-item,.work-item):hover :is(.media-frame,.work-visual)>:is(img,video){filter:grayscale(0);}
}
.footer-mobile-artwork-gap{display:none;}
@media(max-width:767px){
 [data-preview-mono-mobile='true'] :is(.media-frame,.work-visual)>:is(img,video){filter:grayscale(1);}
 [data-preview-mono-mobile='true'] [data-preview-centered='true']>:is(img,video){filter:grayscale(0);}
 [data-preview-mono-mobile='true'][data-preview-frost='true'] .preview-frost{display:block;position:absolute;inset:0;z-index:1;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);background:linear-gradient(180deg,#f7f7f70a,#f7f7f71a);opacity:1;transition:opacity 420ms ease;}
 [data-preview-mono-mobile='true'][data-preview-frost='true'] [data-preview-centered='true']>.preview-frost{opacity:0;}
 .footer-mobile-artwork-gap{display:block;width:100%;aspect-ratio:16 / 9;flex:none;}
}
/* Text controls override the legacy navigation-clearance spacing on each device. */
.mew-site .site-text {
 --text-top:var(--text-desktop-top);--text-bottom:var(--text-desktop-bottom);--text-title-gap:var(--text-desktop-title-gap);--text-paragraph-gap:var(--text-desktop-paragraph-gap);--text-column-gap:var(--text-desktop-column-gap);--text-keyterms-gap:var(--text-desktop-keyterms-gap);--text-keyterms-top:var(--text-desktop-keyterms-top);--text-keyterms-bottom:var(--text-desktop-keyterms-bottom);--text-body-align:var(--text-desktop-body-align);--text-title-align:var(--text-desktop-title-align);--text-keyterms-align:var(--text-desktop-keyterms-align);
 padding-top:var(--text-top,64px);padding-bottom:var(--text-bottom,64px);
}
.mew-site .site-text>h1,.mew-site .site-text>h2 {text-align:var(--text-title-align,left);}
@media(max-width:767px) {
 .mew-site .site-text {
  --text-top:var(--text-mobile-top);--text-bottom:var(--text-mobile-bottom);--text-title-gap:var(--text-mobile-title-gap);--text-paragraph-gap:var(--text-mobile-paragraph-gap);--text-column-gap:var(--text-mobile-column-gap);--text-keyterms-gap:var(--text-mobile-keyterms-gap);--text-keyterms-top:var(--text-mobile-keyterms-top);--text-keyterms-bottom:var(--text-mobile-keyterms-bottom);--text-body-align:var(--text-mobile-body-align);--text-title-align:var(--text-mobile-title-align);--text-keyterms-align:var(--text-mobile-keyterms-align);
 }
}
.sentence-title {padding-top:var(--sentence-top,64px);padding-bottom:var(--sentence-bottom,96px);text-align:var(--sentence-align,left);}
.sentence-title :is(h1,h2) {white-space:pre-line;}
.sentence-title em {font-style:italic;font-weight:inherit;}
.mew-site[data-project-reveal-ready="true"] .project-reveal-word { opacity:var(--project-word-opacity,.15); }
.mew-site img[data-project-image-reveal="pending"] { opacity:0; }
@media(prefers-reduced-motion:reduce) {
 html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .mew-site[data-project-reveal-ready="true"] .project-reveal-word,html:not([data-motion="full"]):not(:has(.mew-site[data-motion="full"])) .mew-site img[data-project-image-reveal] { opacity:1; }
}
@media(max-width:767px){.sentence-title {padding-top:var(--sentence-mobile-top,56px);padding-bottom:var(--sentence-mobile-bottom,64px);text-align:var(--sentence-mobile-align,left);}}

/* Desktop project opening shows the cover and its title in the same viewport. */
@media(min-width:768px) {
 .mew-site .project-coverflow[data-presentation-screen="true"] { height:100svh; display:flex; flex-direction:column; padding-top:90px; }
 .project-coverflow[data-presentation-screen="true"]>.coverflow-toolbar { flex-shrink:0; }
 .project-coverflow[data-presentation-screen="true"]>.coverflow-stage { flex:1; min-height:0; height:auto; }
 .project-coverflow[data-presentation-screen="true"][data-coverflow-mode="flow"]>.coverflow-controls { top:calc(50% + 95px - var(--coverflow-current-bottom) / 2); }
 .mew-site[data-project="true"] [data-project-cover="true"] { margin-bottom:0!important; padding-inline:0; }
 .mew-site[data-project="true"] [data-project-cover="true"]>.media-frame {
  height:max(35svh,calc(100svh - var(--project-cover-title-space,200px))); aspect-ratio:auto!important; padding-top:0; background-color:var(--brand-black,#040404);
 }
 .mew-site[data-project="true"] [data-project-cover="true"]>.media-frame>img {
  position:static; width:100%; height:100%;
 }
}

/* Mobile project pages start with Intro at the same inset as Visual Strategy. */
@media(max-width:767px) {
 .mew-site[data-project="true"] :is(.site-figure,.site-gallery,.project-images) { padding-inline:var(--page-pad); }
 .mew-site[data-project="true"] .site-figure>figcaption { padding-inline:var(--page-pad); }
 :is(main[data-project-cover-layout="intro-first"],main[data-project-cover-layout="intro-first"]>[data-puck-dropzone]) { display:flex; flex-direction:column; }
 :is(main[data-project-cover-layout="intro-first"],main[data-project-cover-layout="intro-first"]>[data-puck-dropzone])>* { order:3; flex-shrink:0; }
 :is(main[data-project-cover-layout="intro-first"],main[data-project-cover-layout="intro-first"]>[data-puck-dropzone])>:is([data-section-navigation],[data-puck-component]:has(>[data-section-navigation])) { order:0; }
 :is(main[data-project-cover-layout="intro-first"],main[data-project-cover-layout="intro-first"]>[data-puck-dropzone])>:is([data-project-intro-part="true"],[data-puck-component]:has(>[data-project-intro-part="true"])) { order:1; }
 :is(main[data-project-cover-layout="intro-first"],main[data-project-cover-layout="intro-first"]>[data-puck-dropzone])>:is([data-project-cover="true"],[data-puck-component]:has(>[data-project-cover="true"])) { order:2; }
 .mew-site[data-project="true"] [data-project-cover="true"] { display:block; margin-bottom:0!important; padding-bottom:var(--project-image-gap,calc(var(--page-pad)/4)); background-color:var(--mobile-cover-background,var(--site-bg)); }
 .mew-site[data-project="true"] [data-project-intro-start="true"] {
  padding-top:var(--mobile-project-intro-top,max(200px,56.25vw));
 }
 .mew-site[data-project="true"] [data-project-intro-fill="true"] {
  min-height:max(0px,calc(100vh - var(--intro-preceding-height,0px)));
  min-height:max(0px,calc(100svh - var(--intro-preceding-height,0px)));
 }
 .mew-site[data-project="true"] [data-mobile-cover-natural="true"] {
  height:auto; background-color:#040404;
 }
 .mew-site[data-project="true"] [data-mobile-cover-natural="true"]>.media-frame {
  aspect-ratio:auto!important; background-color:#040404;
 }
 .mew-site[data-project="true"] [data-mobile-cover-natural="true"]>.media-frame>img {
  position:static; width:100%; height:auto;
 }
 .mew-site .project-coverflow[data-presentation-screen="true"] {
  /* Follow the visible screen as mobile browser bars expand or collapse. */
  height:100svh; height:100dvh; display:flex; flex-direction:column; padding-top:70px;
 }
 .project-coverflow[data-presentation-screen="true"]>.coverflow-stage {
  flex:1; min-height:0; height:auto;
 }
 .project-coverflow[data-presentation-screen="true"]>:is(.coverflow-toolbar,.coverflow-controls) { flex-shrink:0; }
}

/* React Bits Noise adapted to background textures, below text and image pixels. */
.mew-site,
.mew-site .studio-footer.grid-footer,.mew-site .footer-mobile-artwork-gap,
.mew-site :is(.has-studio-footer,.site-hero,.site-text,.sentence-title,.framed-home,.framed-window,.landing-intro-surface,.landing-work,.work-visual,.media-frame,.project-images,.project-explore,.site-footer,.studio-footer,.footer-stage,[data-footer-card],.grid-footer-top,.menu-panel) {
 background-image:var(--grain-texture,none);
 background-repeat:repeat;
 background-size:var(--grain-size,256px) var(--grain-size,256px);
 background-position:var(--grain-position,0px 0px);
 background-blend-mode:var(--grain-blend,normal);
}

/* Navigation glass stays smooth on both devices; expanded menus retain grain. */
.mew-site .dock-glass::after { content:none;display:none;background-image:none; }

/* Ordinary artwork owns one opaque, textured surface, just like a Stack cover.
   Transparent section/frame layers otherwise compound grain at chapter edges. */
.mew-site[data-project="true"] .project-images:not(.project-coverflow) {
 background-color:var(--project-images-background,var(--site-bg,#040404));
}
.mew-site[data-project="true"] .project-images:not(.project-coverflow) .media-frame {
 background-color:transparent!important;
 background-image:none!important;
}

/* Align mobile return text to the strip edge, including the font's side bearing. */
@media(max-width:767px) {
 .grid-footer .grid-footer-top>.grid-ink>span { left:var(--ink-left,0px); }
}

/* Keep the presentation panel stable when switching between carousel and grid. */
.project-coverflow[data-presentation-screen="true"][data-coverflow-mode="grid"]>.coverflow-stage {
 overflow-y:auto;
 overflow-x:hidden;
 grid-auto-rows:max-content;
 align-content:safe center;
 padding:4px;
}

/* Horizontal soft-focus row and perspective sketchbook, inspired by Coverflow 16 / 11. */
.project-coverflow[data-coverflow-variant="portrait"] .coverflow-card { aspect-ratio:3 / 4; }
.project-coverflow:is([data-coverflow-variant="soft-focus"],[data-coverflow-variant="portrait"])[data-coverflow-mode="flow"] .coverflow-card {
 width:var(--coverflow-card-width,55%);
 transform:translate(-50%,-50%) translate(var(--stair-x,0px),var(--stair-y,0px)) translateZ(var(--coverflow-z,0px)) rotateY(var(--coverflow-rotate,0deg)) scale(var(--stair-scale,1));
 filter:blur(var(--coverflow-blur,0px)) grayscale(var(--coverflow-gray,0));
 box-shadow:0 8px 24px #00000014;
 backface-visibility:hidden;
}
.project-coverflow[data-coverflow-variant="portrait"][data-coverflow-mode="flow"] .coverflow-stage { perspective:1000px; }
.coverflow-playback { display:flex; flex-shrink:0; justify-content:center; align-items:center; gap:16px; min-height:56px; padding-top:12px; }
.project-coverflow[data-coverflow-mode="grid"] .coverflow-playback { display:none; }
.coverflow-pagination { display:flex; gap:6px; width:min(68%,640px); }
.coverflow-pagination button { flex:1; min-width:0; height:28px; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; display:flex; align-items:center; }
.coverflow-pagination button>span { display:block; height:2px; width:100%; background:color-mix(in srgb,currentColor 20%,transparent); position:relative; overflow:hidden; }
.coverflow-pagination button>span::after { content:""; position:absolute; inset:0; background:currentColor; transform:scaleX(0); transform-origin:left; }
.coverflow-pagination button[data-position="past"]>span::after { transform:scaleX(1); }
.coverflow-pagination button[data-position="current"]>span::after { transform:scaleX(var(--coverflow-progress,0)); }
.project-coverflow[data-coverflow-variant="portrait"] .coverflow-pagination button[data-position="current"] { flex:2; }
.project-coverflow[data-coverflow-variant="portrait"] .coverflow-pagination button[data-position="current"]>span::after { transform:scaleX(1); }
.coverflow-pause { width:28px; height:28px; padding:2px; background:none; border:0; color:inherit; cursor:pointer; flex-shrink:0; }
.coverflow-pause svg { display:block; width:100%; height:100%; }
.coverflow-pause circle { fill:none; stroke:currentColor; stroke-width:1.5; }
.coverflow-pause .timer-track { opacity:.2; }
.coverflow-pause .timer-progress { transform:rotate(-90deg); transform-origin:50% 50%; stroke-dasharray:1; stroke-dashoffset:calc(1 - var(--coverflow-progress,0)); }
.coverflow-pause .pause-symbol { fill:none; stroke:currentColor; stroke-width:1.6; }
.coverflow-pause .play-symbol { fill:currentColor; display:none; }
[data-coverflow-paused="true"] .coverflow-pause .pause-symbol { display:none; }
[data-coverflow-paused="true"] .coverflow-pause .play-symbol { display:block; }
.coverflow-playback button:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
@media(min-width:768px) {
 .project-coverflow:is([data-coverflow-variant="soft-focus"],[data-coverflow-variant="portrait"])[data-coverflow-mode="flow"]>.coverflow-controls { top:calc(50% + 67px - var(--coverflow-current-bottom) / 2); }
}
@media(max-width:767px) {
 .coverflow-pagination { width:calc(100% - 100px); gap:4px; }
 .coverflow-playback { gap:10px; min-height:44px; padding-top:4px; }
}
/* Optional page palette, controlled from the editor's page settings. */
.mew-site[data-page-chrome="true"] :is(.media-frame,.footer-mobile-artwork-gap) { background-color:var(--site-bg); }
.mew-site[data-page-chrome="true"] [data-mobile-cover-natural="true"],.mew-site[data-page-chrome="true"] [data-mobile-cover-natural="true"]>.media-frame { background-color:var(--site-bg); }
.mew-site[data-page-chrome="true"] .studio-footer { --footer-bg:var(--site-bg); --footer-ink:var(--site-fg); }
.mew-site[data-page-chrome="true"] .studio-footer.grid-footer { background-color:var(--site-bg); color:var(--site-fg); }
.mew-site[data-page-chrome="true"] .grid-footer .grid-footer-top { background-color:var(--site-bg); color:var(--site-fg); border-block:var(--grid-rule); }
.mew-site[data-page-chrome="true"] .menu-panel { background:color-mix(in srgb,var(--site-bg) 64%,transparent); color:var(--site-fg); --menu-ink:var(--site-fg); backdrop-filter:blur(32px) saturate(1.2); -webkit-backdrop-filter:blur(32px) saturate(1.2); }
.mew-site[data-page-chrome="true"] .project-coverflow :is(.coverflow-card,.coverflow-toggle,.coverflow-controls button):focus-visible { outline-color:currentColor; }
.mew-site[data-page-chrome="true"] .project-coverflow[data-coverflow-mode="grid"] .coverflow-card:hover { outline-color:currentColor; }
@media(max-width:767px) {
 .mew-site[data-page-chrome="true"] .dock-glass { background:linear-gradient(to bottom,#04040470,transparent); }
 .mew-site[data-page-chrome="true"] .dock-glass span { backdrop-filter:blur(calc(var(--glass-blur) * 1.5)); -webkit-backdrop-filter:blur(calc(var(--glass-blur) * 1.5)); }
}
.mew-site[data-project="true"] .site-menu .menu-toggle { color:#f7f7f7; }
.mew-site[data-navigation-theme="overview"] .site-menu .menu-toggle { color:#f7f7f7; transition:color 280ms ease; }
@media(min-width:768px) {
 .mew-site[data-overview="visualstrategy"] .gallery-overview-header { min-height:calc((100cqw - (var(--overview-columns) - 1) * var(--overview-gap)) / var(--overview-columns) / var(--gallery-aspect) * .77); justify-content:flex-end; padding-bottom:var(--overview-gap); }
}
@media(max-width:767px) {
 .mew-site[data-overview="visualstrategy"] .gallery-overview-header { min-height:calc(100cqw * 9 / 16 + 24px); padding-top:max(var(--mobile-content-top,72px),128px); padding-bottom:24px; }
}
/* Caption and category colors come from their independent editor styles. */
.mew-site .menu-panel a { transition:color 280ms cubic-bezier(.22,1,.36,1); text-underline-offset:.1em; }
.mew-site .menu-panel a:is(:hover,:focus-visible,:active,[data-menu-selected="true"]) { color:#bf1919; text-decoration:underline; }
.mew-site .menu-panel .menu-shimmer { display:none; }
.mew-site[data-navigation-theme="overview"] :is(.dock-links a,.dock-brand) { transition:color 280ms ease; }
.mew-site[data-navigation-theme="overview"] :is(.dock-links a,.dock-brand,.site-menu .menu-toggle):is(:hover,:active,:focus-visible) { color:#bf1919; text-decoration:underline; text-underline-offset:.1em; }
/* Interaction underlines are shared independently of each page's ink colors. */
.mew-site :is(.dock-links,.framed-links,.site-nav nav,.studio-footer,.site-footer) a[href]:not([aria-disabled="true"]):is(:hover,:active,:focus-visible) {
 text-decoration-line:underline; text-decoration-thickness:.06em; text-underline-offset:.12em;
}
.mew-site :is(.dock-links,.framed-links) a[href]:is(:hover,:active,:focus-visible) :is(.dock-label,.dock-decode,.nav-interaction-layer),
.mew-site .studio-footer a[href]:is(:hover,:active,:focus-visible) .grid-ink>span {
 text-decoration-line:underline; text-decoration-thickness:.06em; text-underline-offset:.12em;
}
.mew-site :is(.dock-links,.framed-links) a[href]:is(:hover,:active,:focus-visible) :is(.dock-decode,.nav-interaction-layer) { overflow:visible; }

.site-figure .media-frame>picture { display:contents; }
@media(min-width:768px){.mew-site[data-project="true"] [data-project-cover="true"]>.media-frame>picture>img{position:static;width:100%;height:100%;}}

.project-image-row>.independently-spaced-image {align-self:start;min-width:0;margin-top:var(--image-space-desktop-top,0px);margin-bottom:var(--image-space-desktop-bottom,0px);margin-left:min(45%,var(--image-space-desktop-left,0px));margin-right:min(45%,var(--image-space-desktop-right,0px));}
@media(max-width:767px){.project-image-row>.independently-spaced-image {margin-top:var(--image-space-mobile-top,0px);margin-bottom:var(--image-space-mobile-bottom,0px);margin-left:min(45%,var(--image-space-mobile-left,0px));margin-right:min(45%,var(--image-space-mobile-right,0px));}}
.project-image-row>.independently-spaced-image {width:auto;}
.project-image-row>.independently-spaced-image {width:calc((100% - min(45%,var(--image-space-desktop-left,0px)) - min(45%,var(--image-space-desktop-right,0px))) * var(--image-scale-desktop,1));justify-self:var(--image-align-desktop,center);}
@media(max-width:767px){.project-image-row>.independently-spaced-image {width:calc((100% - min(45%,var(--image-space-mobile-left,0px)) - min(45%,var(--image-space-mobile-right,0px))) * var(--image-scale-mobile,1));justify-self:var(--image-align-mobile,center);}}

.mew-site[data-project="true"]{--project-image-gap:var(--project-gap-desktop,calc(var(--page-pad) / 4));}
@media(max-width:767px){.mew-site[data-project="true"]{--project-image-gap:var(--project-gap-mobile,calc(var(--page-pad) / 4));}}


/* Effect carousels use the full canvas on both devices; labels retain a readable inset. */
.mew-site[data-project="true"] .project-images.project-coverflow { padding-inline:0; }
.mew-site[data-project="true"] .project-coverflow>.coverflow-toolbar { padding-inline:var(--page-pad); }

.project-image-row .media-frame>picture{display:contents;}
@media(max-width:767px){.project-image-row .media-frame.has-mobile-image{aspect-ratio:auto;}.project-image-row .media-frame.has-mobile-image>picture>img{position:static;display:block;width:100%;height:auto;aspect-ratio:var(--mobile-image-aspect,auto);}}

/* Full-height panels retain shared grain, with artwork inside the visible screen. */
@media(max-width:767px){
 .mew-site[data-project="true"] :is([data-mobile-presentation-screen="true"],.project-coverflow[data-presentation-screen="true"]){
  height:100lvh;min-height:100lvh;
  margin:0!important;overflow:clip;background-color:#040404;
  background-image:var(--grain-texture,none);background-size:var(--grain-size,256px) var(--grain-size,256px);
  background-position:var(--grain-position,0px 0px);background-blend-mode:var(--grain-blend,normal);
 }
 .mew-site[data-project="true"] [data-mobile-presentation-screen="true"]{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding-block:max(90px,env(safe-area-inset-top)) calc(max(56px,env(safe-area-inset-bottom)) + 100lvh - 100svh);
 }
 .mew-site[data-project="true"] [data-mobile-presentation-screen="true"]>.media-frame{
  flex:none;width:100%;height:auto;max-height:calc(100svh - 146px);
  aspect-ratio:auto!important;background-color:transparent;
 }
 .mew-site[data-project="true"] [data-mobile-presentation-screen="true"]>.media-frame img{
  position:static;display:block;width:100%;height:auto;max-height:calc(100svh - 146px);object-fit:contain!important;
 }
 .mew-site[data-project="true"] [data-mobile-cover-portrait="true"]>.media-frame{
  width:min(100%,calc((100svh - 146px) * .75));aspect-ratio:3 / 4!important;
 }
 .mew-site[data-project="true"] [data-mobile-cover-portrait="true"]>.media-frame img{height:100%;aspect-ratio:3 / 4;object-fit:cover!important;}
 .mew-site .project-coverflow[data-presentation-screen="true"]{padding-top:max(90px,env(safe-area-inset-top));padding-bottom:calc(max(48px,env(safe-area-inset-bottom)) + 100lvh - 100svh);}
 .project-coverflow[data-presentation-screen="true"]>.coverflow-stage{overflow:clip;}
 .project-coverflow[data-presentation-screen="true"][data-coverflow-mode="grid"]>.coverflow-stage{overflow-y:auto;}
}

/* Public project presentation: native scrolling, with the cover beneath the work.
   Oversized Intro/work areas remain freely readable between their boundaries. */
.project-intro-group,.project-work-content,.project-ending,.site-ending{display:contents;}
.project-cover-snap{display:none;}
@media(max-width:767px){
 html:has(.project-intro-group){scroll-snap-type:y proximity;}
 html:has(#site-footer:target){scroll-snap-type:none;}
 .mew-site[data-project="true"] .project-intro-group{display:flow-root;order:1;}
 .mew-site[data-project="true"] .project-cover-snap{display:block;order:2;height:0;scroll-snap-align:start;scroll-snap-stop:normal;}
 .mew-site[data-project="true"] main:has(>.project-cover-snap)>[data-project-cover="true"]{position:sticky;top:0;z-index:1;}
 .mew-site[data-project="true"] :is(.project-work-content,.project-ending){
  display:flow-root;position:relative;z-index:2;order:3;background-color:var(--site-bg,#040404);
  background-image:var(--grain-texture,none);background-size:var(--grain-size,256px) var(--grain-size,256px);
  background-position:var(--grain-position,0px 0px);background-blend-mode:var(--grain-blend,normal);
  scroll-snap-align:none;
 }
 .project-work-content:empty{display:none!important;}
 .project-work-content .project-coverflow[data-presentation-screen="true"]{scroll-snap-align:start;scroll-snap-stop:normal;}
 .mew-site[data-project="true"] .project-cover-snap[data-snap-visited="true"],.project-work-content .project-coverflow[data-presentation-screen="true"][data-snap-visited="true"]{scroll-snap-align:none;}
}

@media(max-width:767px){
 .mew-site[data-project-reveal-await-scroll="true"] .project-reveal-word{opacity:.4;}
 .mew-site[data-project-reveal-ready="true"] .project-reveal-word{transition:opacity 280ms ease;}
 .mew-site[data-project-reveal-ready="true"][data-project-reveal-await-scroll="true"] .project-reveal-word{opacity:.4;}
}
@media(max-width:767px){.mew-site[data-project="true"] :is(.site-figure,.project-images,.site-gallery) img{cursor:zoom-in;}}
.mew-site[data-project="true"] img[role="button"]:focus-visible{outline:2px solid #f7f7f7;outline-offset:-3px;}
.project-lightbox{
 position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:72px 28px 32px;
 border:0;box-sizing:border-box;color:#f7f7f7;background:transparent;overflow:hidden;
}
.project-lightbox[open]{display:flex;align-items:center;justify-content:center;}
.project-lightbox{outline:none;-webkit-tap-highlight-color:transparent;}
.project-lightbox::backdrop{background:transparent;}
.project-lightbox-glass{position:absolute;inset:0;background:rgba(4,4,4,.28);backdrop-filter:blur(32px) saturate(1.2);-webkit-backdrop-filter:blur(32px) saturate(1.2);}
.project-lightbox-image{position:relative;display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;}
.project-lightbox-close{position:absolute;top:max(22px,env(safe-area-inset-top));right:28px;display:flex;align-items:center;gap:.35em;border:0;padding:0;background:transparent;color:inherit;font:700 20px/1 Arial,sans-serif;cursor:pointer;z-index:1;}
.project-lightbox-close:is(:hover,:focus-visible,:active){text-decoration:none;}
.project-lightbox-close:focus{outline:none;}
.project-lightbox-close:focus-visible{outline:1px solid currentColor;outline-offset:4px;}
@media(max-width:767px){.project-lightbox{padding:84px 12px max(36px,env(safe-area-inset-bottom));}.project-lightbox-close{right:21px;}}
.coverflow-card>picture{display:contents;}
@media(min-width:768px){.mew-site [data-display-device="mobile"]{display:none!important;}}
@media(max-width:767px){.mew-site [data-display-device="desktop"]{display:none!important;}}

/* Full-screen cover is explicit per image; preserve the complete artwork. */
@media(min-width:768px){
 .mew-site[data-project="true"] [data-project-cover="true"]>.media-frame[data-cover-fullscreen="true"]{height:100svh;}
}

/* A chapter lead stays behind its following pictures. Native proximity remains
   escapable after arrival, matching the existing mobile presentation stack. */
.project-story-group,.project-story-cover,.project-story-content{display:contents;}
.project-story-anchor{display:none;}
@media(min-width:768px){html:has(.project-story-group:is([data-story-device="both"],[data-story-device="desktop"])){scroll-snap-type:y proximity;}}
@media(min-width:768px){
 .project-story-group:is([data-story-device="both"],[data-story-device="desktop"]){display:block;position:relative;isolation:isolate;--story-height:100svh;--story-top:104px;--story-bottom:56px;}
 .project-story-group:is([data-story-device="both"],[data-story-device="desktop"])>.project-story-anchor{display:block;}
 .project-story-group:is([data-story-device="both"],[data-story-device="desktop"])>.project-story-cover{display:flex;}
 .project-story-group:is([data-story-device="both"],[data-story-device="desktop"])>.project-story-content{display:flow-root;}
}
@media(max-width:767px){
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"]){display:block;position:relative;isolation:isolate;--story-height:100lvh;--story-top:max(90px,env(safe-area-inset-top));--story-bottom:calc(max(56px,env(safe-area-inset-bottom)) + 100lvh - 100svh);}
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-anchor{display:block;}
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-cover{display:flex;}
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-content{display:flow-root;}
}
.project-story-anchor{height:0;scroll-snap-align:start;scroll-snap-stop:normal;}
.project-story-anchor[data-snap-visited="true"]{scroll-snap-align:none;}
.project-story-cover{position:sticky;top:0;z-index:1;height:var(--story-height);box-sizing:border-box;align-items:center;justify-content:center;padding-block:var(--story-top) var(--story-bottom);}
.project-story-content{position:relative;z-index:2;}
.project-story-group,.project-story-cover,.project-story-content{background-color:var(--site-bg,#040404);background-image:var(--grain-texture,none);background-size:var(--grain-size,256px) var(--grain-size,256px);background-position:var(--grain-position,0px 0px);background-blend-mode:var(--grain-blend,normal);}
@media(min-width:768px){
 .project-story-group:is([data-story-device="both"],[data-story-device="desktop"])>.project-story-cover{
  >.project-images{width:100%;margin:0;padding-block:0!important;background-color:transparent;}
  .project-image-row{height:calc(var(--story-height) - var(--story-top) - var(--story-bottom));align-items:center;}
  .project-image-row>.media-frame{height:100%;max-height:100%;aspect-ratio:auto;background-color:transparent!important;}
  .project-image-row>.media-frame img{position:absolute!important;inset:0;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;}
 }
}
@media(max-width:767px){
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-cover{
  >.project-images{width:100%;margin:0;padding-block:0!important;background-color:transparent;}
  .project-image-row{height:calc(var(--story-height) - var(--story-top) - var(--story-bottom));align-items:center;}
  .project-image-row>.media-frame{height:100%;max-height:100%;aspect-ratio:auto;background-color:transparent!important;}
  .project-image-row>.media-frame img{position:absolute!important;inset:0;width:100%;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;}
 }
}

/* The opaque Stack panel owns its grain. Transparent inner frames must not
   paint additional noise layers over the same black surface. */
@media(min-width:768px){
 .mew-site .project-story-group:is([data-story-device="both"],[data-story-device="desktop"])>.project-story-cover :is(.project-images,.media-frame){background-color:transparent!important;background-image:none!important;}
}
@media(max-width:767px){
 .mew-site .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-cover :is(.project-images,.media-frame){background-color:transparent!important;background-image:none!important;}
}
/* Project results share the sentence-title typography, with a larger counter. */
.project-metrics{position:relative;isolation:isolate;box-sizing:border-box;padding-block:var(--metrics-top,80px) var(--metrics-bottom,120px);color:#f7f7f7;background-image:var(--grain-texture,none);background-size:var(--grain-size,256px) var(--grain-size,256px);background-position:var(--grain-position,0px 0px);background-blend-mode:var(--grain-blend,normal);}
.project-metrics-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:0;}
.project-metric{display:flex;align-items:center;justify-content:space-between;gap:20px;min-width:0;}
.project-metric-label{order:2;flex:1;text-align:right;white-space:pre-line;line-height:1.08;}
.project-metric-number{opacity:clamp(0,calc(var(--metrics-progress,1) * 6),1);order:1;margin:0;flex:none;font-size:calc(1em * var(--metrics-number-scale,2.6));line-height:1;letter-spacing:-.065em;font-variant-numeric:tabular-nums;}
.project-metric-number-ink{position:relative;display:inline-block;isolation:isolate;}
.project-metric-bar{position:absolute;z-index:-1;inset:12% -.025em 6%;background:var(--metrics-bar,#bf1919);transform:scaleX(var(--metrics-progress,1));transform-origin:left;}
.project-metric-value{opacity:clamp(.12,calc(var(--metrics-progress,1) * 4),1);}
.project-metric-number-ink:not(:has([data-metric-value])) .project-metric-bar{display:none;}
@media(min-width:768px){
 .project-metrics{container-type:inline-size;}
 /* Size each pair to its actual contents. Keep one shared inner gap, then
    distribute the remaining space equally between complete pairs. */
 .mew-site .project-metrics-list{display:flex;justify-content:space-between;font-size:min(var(--type-fluid),1.8cqw);gap:2cqw;}
 .project-metric{display:flex;flex:none;flex-direction:row;justify-content:flex-start;gap:1cqw;}
 .project-metric-number{width:auto;}
 .project-metric-number-ink{display:inline-block;width:auto;}
 .project-metric-bar{left:0;right:0;}
 .project-metric-label{flex:none;width:max-content;white-space:pre;text-align:right;}

}
@media(max-width:767px){
 .project-metrics{order:1;z-index:2;min-height:100dvh;padding-block:max(96px,env(safe-area-inset-top)) max(64px,env(safe-area-inset-bottom));display:flex;align-items:stretch;scroll-snap-align:start;scroll-snap-stop:normal;}
 .project-metrics[data-snap-visited="true"]{scroll-snap-align:none;}
 .project-metrics-list{width:100%;display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:24px;}
 .project-metric{flex-direction:column;justify-content:center;align-items:center;gap:8px;text-align:center;}
 .project-metric-number{font-size:calc(1em * var(--metrics-mobile-number-scale,2.6));}
 .project-metric-label{flex:none;text-align:center;}
}
@media(max-width:767px) and (max-height:650px){.project-metrics{padding-block:80px 36px;}.project-metrics-list{gap:16px;}.project-metric-number{font-size:calc(1em * min(var(--metrics-mobile-number-scale,2.6),2));}}
.project-metric-reserve{visibility:hidden;}
.project-metric-value{position:absolute;inset:0;text-align:left;white-space:nowrap;}
@media(max-width:767px){.mew-site[data-project="true"] main>.project-metrics,.mew-site[data-project="true"] main>[data-puck-dropzone]>:has(>.project-metrics){order:3;}}

/* Optional mobile cover-first layout retains the screen and page inset.
   The cover scrolls away normally before the Intro. Desktop is unchanged. */
@media(max-width:767px){
 .mew-site[data-project="true"] main:has([data-mobile-cover-first="true"]) .project-cover-snap{order:0;}
 .mew-site[data-project="true"] main[data-project-cover-layout] [data-mobile-cover-first="true"],
 .mew-site[data-project="true"] main[data-project-cover-layout] [data-puck-component]:has(>[data-mobile-cover-first="true"]){order:0;}
 .mew-site[data-project="true"] main:has(>.project-cover-snap)>[data-mobile-cover-first="true"]{position:relative;top:auto;}
 .mew-site[data-project="true"] [data-mobile-cover-first="true"]{padding-inline:var(--page-pad);}
}

/* Intro flows normally into the work. Only its entry is a mobile snap target. */
@media(max-width:767px){
 .mew-site[data-project="true"] .project-intro-group{
  position:relative;top:auto;z-index:1;
  scroll-snap-align:start;scroll-snap-stop:normal;
  background-color:var(--project-intro-background,var(--site-bg,#040404));
  background-image:var(--grain-texture,none);background-size:var(--grain-size,256px) var(--grain-size,256px);
  background-position:var(--grain-position,0px 0px);background-blend-mode:var(--grain-blend,normal);
 }
 .mew-site[data-project="true"] .project-intro-group[data-snap-visited="true"]{scroll-snap-align:none;}
 .mew-site[data-project="true"] [data-project-cover="true"] img{cursor:pointer;}
}

/* Existing mobile chapters catch a fast swipe once, then release on departure. */
@media(max-width:767px){
 .project-story-group:is([data-story-device="both"],[data-story-device="mobile"])>.project-story-anchor{scroll-snap-stop:always;}
 .project-story-anchor[data-snap-visited="true"]{scroll-snap-stop:normal;}
}

/* Round the visible image, including contain-fit artwork with a different aspect ratio. */
.project-coverflow[data-rounded-images="true"] .coverflow-card>picture{display:flex;width:100%;height:100%;align-items:center;justify-content:center;}
.project-coverflow[data-rounded-images="true"] .coverflow-card img{width:auto;height:auto;max-width:100%;max-height:100%;border-radius:var(--coverflow-image-radius,0px);}

.project-metric-value[data-metric-final]{opacity:calc(clamp(.12,calc(var(--metrics-progress,1) * 4),1) * var(--metric-format-opacity,1));}

@media(min-width:768px){
 .project-metrics:has([data-metric-final]) .project-metric{flex:0 1 auto;}
 .project-metrics:has([data-metric-final]) .project-metric-label{flex:0 1 auto;min-width:0;white-space:pre-line;}
}

/* Keep whole words together while letters rise independently. Font and spacing inherit. */
.metric-split-word{display:inline-block;white-space:nowrap;}
.metric-split-char{display:inline-block;}

/* Vertical flows keep page scrolling available in the surrounding black space. */
.project-coverflow[data-coverflow-axis="vertical"][data-coverflow-mode="flow"] .coverflow-card{touch-action:pan-x pinch-zoom;}
.project-coverflow[data-coverflow-axis="vertical"] .coverflow-controls .direction-arrow{width:30px;height:44px;}
/* The studio is one editable page with three independently addressable screens. */
.studio-section{box-sizing:border-box;min-height:100svh;padding:120px var(--pad-desktop,42px) 60px;display:flex;flex-direction:column;justify-content:center;color:var(--site-fg,#f7f7f7);}
.mew-site .studio-section-title{margin:0;white-space:pre;line-height:.95;}
.studio-statement{margin:0;text-align:justify;}
.studio-section-services{display:flex;justify-content:flex-start;gap:clamp(64px,8svh,104px);}
.studio-section-about{justify-content:flex-end;padding-bottom:clamp(80px,12svh,160px);}
.mew-site .studio-section-services .studio-groups{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(48px,7svh,88px) 64px;}
.studio-section-services .studio-group:nth-child(odd){text-align:left;}
.studio-section-services .studio-group:nth-child(even){text-align:right;}
.studio-groups{display:flex;flex-direction:column;gap:32px;min-width:0;}
.studio-group-label{font-weight:400;}
.studio-group-value{font-weight:700;}
.studio-group-value a{color:inherit;text-decoration:none;text-underline-offset:.12em;text-decoration-thickness:.055em;}
.studio-group-value a:hover,.studio-group-value a:focus-visible{text-decoration:underline;}
.studio-section-contact{text-align:center;gap:64px;}
.studio-section-contact .studio-groups{gap:32px;}
@media(max-width:767px){
 .studio-section{padding:112px var(--pad-mobile,21px) 64px;min-height:100svh;}
 .studio-statement{text-align:left;}
 .studio-section-services{display:flex;gap:48px;align-items:stretch;}
 .studio-section-contact{gap:48px;}
 .studio-group-value{overflow-wrap:anywhere;}
}


@media(min-width:1200px) and (max-height:1000px){
 .studio-section-services{padding-top:104px;padding-bottom:20px;}

 .studio-section-contact{padding-top:100px;padding-bottom:30px;gap:48px;}
}
/* Studio screens settle gently without sticky layers or scroll interception. */
html:has(.mew-site[data-studio-page="true"]){scroll-snap-type:y proximity;}
.studio-section{scroll-snap-align:start;scroll-snap-stop:normal;}

.mew-site[data-studio-page="true"] .project-reveal-word{opacity:1;color:color-mix(in srgb,currentColor calc(var(--project-word-opacity,.15) * 100%),#777);transition:color 160ms linear;}
.mew-site .studio-group-value a{transition:color 180ms ease;}
.mew-site .studio-group-value a:is(:hover,:active,:focus-visible){color:#bf1919;text-decoration:underline;}
.mew-site .studio-group-value a:is(:hover,:active,:focus-visible) .project-reveal-word{color:inherit;}
.landing-intro[data-highlight-mode="plain"] [data-highlight-word]{color:color-mix(in srgb,var(--highlight-ink,#ded3d3) calc(var(--plain-highlight-progress,1) * 100%),#777);}
@media(prefers-reduced-motion:reduce){html:has(.mew-site[data-studio-page="true"]){scroll-snap-type:none;}}

@media(max-width:767px){
 .studio-section-about{padding-bottom:max(64px,10svh);}
 .mew-site .studio-section-services .studio-groups{grid-template-columns:minmax(0,1fr);gap:32px;}
 .studio-section-services .studio-group:nth-child(n){text-align:left;}
}
/* Center each complete content group within its screen, with equal vertical insets. */
.studio-section-services,.studio-section-contact{
 justify-content:center;
 padding-block:clamp(80px,10svh,120px);
}
/* Use the visible mobile viewport, including changes to browser chrome. */
@media(max-width:767px){
 .studio-section{min-height:100dvh;scroll-margin-top:0;}
 .studio-section-services,.studio-section-contact{padding-block:max(96px,env(safe-area-inset-top)) max(96px,env(safe-area-inset-bottom));}
 .studio-section-about{padding-bottom:max(96px,12dvh,env(safe-area-inset-bottom));}
 .mew-site[data-project="true"] [data-project-intro-fill="true"]{
  min-height:max(0px,calc(100dvh - var(--intro-preceding-height,0px)));
  padding-bottom:max(96px,env(safe-area-inset-bottom));
 }
}
/* Short phones retain black breathing room without clipping the last service. */
@media(max-width:767px) and (max-height:740px){
 .studio-section-services,.studio-section-contact{gap:24px;}
 .mew-site .studio-section-services .studio-groups,.studio-section-contact .studio-groups{gap:16px;font-size:min(var(--type-mobile),clamp(16px,2.55dvh,18px));}
 .mew-site .studio-section-title{font-size:min(var(--type-mobile),clamp(32px,5.1dvh,36px));}
}
