/* Photographic case covers and a compact editorial project explorer.
   Client artwork and the existing project sections retain their own colours. */
body.case-editorial {
  --case-cover-ink:var(--world-ink);
  --case-cover-base:var(--world-base);
  --case-focus-bg:var(--world-ink);
  --case-focus-ink:var(--world-base);
  overflow-x:clip;
}
body.case-editorial::before { display:none; }
body.case-editorial #case { animation:none; }
body.case-editorial:has(.case-cover-image) {
  --case-cover-ink:#fff9f3;
  --case-cover-base:color-mix(in srgb,var(--world-surface) 58%,#090b0c);
}
body.case-editorial > .nav.wrap {
  position:absolute;
  top:0;
  left:50%;
  transform:translateX(-50%);
  z-index:15;
  height:102px;
  border:0!important;
  color:var(--case-cover-ink);
}
body.case-editorial .nav-links { gap:12px;font-size:12px; }
body.case-editorial .nav-links a { padding:10px 14px;border:0!important;text-decoration:none!important; }
body.case-editorial .nav-links .current { padding-bottom:10px;background:color-mix(in srgb,var(--case-cover-ink) 12%,transparent); }
body.case-editorial .nav-links .contact { color:var(--case-cover-base);background:var(--case-cover-ink);border-radius:3px;padding:12px 20px; }
body.case-editorial > main > .breadcrumb { display:none; }
body.case-editorial .case-cover {
  position:relative;
  isolation:isolate;
  min-height:680px;
  margin-inline:calc((min(1440px,100vw - 112px) - 100vw)/2);
  color:var(--case-cover-ink);
  background:var(--case-cover-base);
  overflow:hidden;
}
body.case-editorial .case-cover-image {
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:var(--cover-position,50% 38%);
  transform:scaleX(var(--cover-flip,1));
}
body.case-editorial .case-cover-shade {
  position:absolute;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:linear-gradient(180deg,#090b0c78 0%,#090b0c08 34%,#090b0c59 61%,var(--case-cover-base) 100%),linear-gradient(90deg,#090b0c8c 0%,#090b0c26 52%,#090b0c5c 100%);
}
body.case-editorial .case-cover:not(:has(.case-cover-image)) .case-cover-shade { background:radial-gradient(ellipse at 78% 25%,var(--world-glow),transparent 70%);opacity:.55; }
body.case-editorial .case-cover-inner.wrap { position:relative;display:flex;flex-direction:column;min-height:680px;padding-top:142px;padding-bottom:66px; }
body.case-editorial .case-cover-back { display:inline-flex;align-items:center;align-self:flex-start;min-height:44px;padding:10px 14px;gap:10px;font-size:11px;line-height:1.5;background:color-mix(in srgb,var(--case-cover-ink) 10%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:inherit; }
body.case-editorial .case-cover-content { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.85fr);align-items:end;gap:8%;margin-top:95px; }
body.case-editorial .case-cover-brand { min-width:0; }
body.case-editorial .case-cover-brand>.eyebrow { display:block;font-size:10px;line-height:1.7;letter-spacing:.13em;max-width:47ch;margin-bottom:23px;color:inherit; }
body.case-editorial .case-cover .parent-marks-heading { max-width:310px;margin-bottom:22px;gap:20px; }
body.case-editorial .case-cover .parent-marks-heading img { max-height:65px;height:65px; }
body.case-editorial .case-cover .brand-lockup { display:block;width:min(100%,calc(var(--lockup-width,440px) * 1.12));max-width:100%;margin:0;padding:var(--lockup-padding,0);background:var(--lockup-bg,transparent);font-size:0;line-height:0; }
body.case-editorial .case-cover .brand-lockup img { display:block;width:100%;height:auto;max-height:min(270px,calc(var(--lockup-height,200px) * 1.12));object-fit:contain;object-position:left center; }
body.case-editorial .case-cover-copy { min-width:0;padding-bottom:3px; }
body.case-editorial .case-cover-copy>p { font-size:15px;line-height:1.75;max-width:45ch;margin:0; }
body.case-editorial .case-cover .surface-tags { display:flex;flex-wrap:wrap;gap:7px;margin-top:25px; }
body.case-editorial .case-cover .surface-tags span { display:inline-block;border:0!important;padding:8px 11px;background:color-mix(in srgb,var(--case-cover-ink) 13%,transparent);color:inherit;font-size:9px;line-height:1.5;border-radius:2px; }
body.case-editorial .case-cover .recognition-list { margin:20px 0 0;padding:0;font-size:11px;line-height:1.7;color:inherit; }
body.case-editorial .case-cover-caption { display:block;max-width:70ch;margin-top:28px;font-size:9px;line-height:1.6;letter-spacing:.02em;opacity:.7; }
body.case-editorial[data-brand="fashion-fix"] { --cover-flip:-1;--cover-position:50% 40%;--cover-mobile-position:45% 30%; }
body.case-editorial[data-brand="fashion-fix"] .case-cover .brand-lockup img { filter:brightness(0) invert(1); }
body.case-editorial .case-explorer { display:grid;grid-template-columns:minmax(140px,.75fr) minmax(0,3.25fr);gap:35px;padding:54px 0 46px;align-items:center; }
body.case-editorial .case-explorer-intro { min-width:0; }
body.case-editorial .case-explorer-intro .eyebrow { margin:0 0 14px;font-size:9px;line-height:1.6;letter-spacing:.12em;opacity:.75; }
body.case-editorial .case-explorer-intro h2 { font-family:var(--site-font);font-size:25px;font-weight:600;line-height:1.15;letter-spacing:-.035em;margin:0 0 20px;max-width:9ch; }
body.case-editorial .case-explorer-intro>a { display:inline-flex;align-items:center;min-height:44px;padding:8px 0;gap:10px;font-size:11px;line-height:1.5;color:inherit; }
body.case-editorial .case-doors { display:grid;grid-template-columns:repeat(var(--door-count,4),minmax(0,1fr));gap:16px;min-width:0; }
body.case-editorial .case-door { position:relative;display:flex;flex-direction:column;min-width:0;isolation:isolate;overflow:hidden;border-radius:14px;color:#fff9f3; }
body.case-editorial .case-door::after { content:"";position:absolute;inset:36% 0 0;z-index:1;pointer-events:none;background:linear-gradient(180deg,transparent,#090b0c35 34%,#090b0cde 100%); }
body.case-editorial .case-door-art { display:flex;align-items:center;justify-content:center;height:230px;min-width:0;padding:22px 22px 68px;background:var(--door-surface,var(--world-surface));overflow:hidden; }
body.case-editorial .case-door-art>img { width:100%;height:100%;max-height:155px;object-fit:contain;transition:transform .4s ease,opacity .2s ease; }
body.case-editorial .case-door[data-kind="applications"] .case-door-art { padding:0; }
body.case-editorial .case-door[data-kind="applications"] .case-door-art>img { max-height:none;object-fit:cover; }
body.case-editorial .case-door[data-kind="credits"] .case-door-art { background:radial-gradient(ellipse at 50% 24%,#ffffff12,transparent 75%),color-mix(in srgb,var(--door-surface) 35%,#362b25);padding:28px 20px 54px; }
body.case-editorial .case-door[data-kind="credits"] .case-door-art>img { max-height:none;object-fit:contain;object-position:center;filter:none;transform:rotate(-13deg); }
body.case-editorial .case-door-monogram { display:block;font-size:clamp(35px,4vw,62px);font-weight:650;font-stretch:var(--w-display);line-height:1;letter-spacing:-.06em; }
body.case-editorial .case-door-copy { position:absolute;inset:auto 17px 19px;z-index:2;display:grid;grid-template-columns:15px minmax(0,1fr) 18px;align-items:baseline;gap:8px;padding:0;color:#fff9f3; }
body.case-editorial .case-door-number { font-size:9px;line-height:1.4;opacity:.72;font-variant-numeric:tabular-nums; }
body.case-editorial .case-door-copy strong { font-size:clamp(18px,1.45vw,22px);line-height:1.18;font-weight:600;letter-spacing:-.025em; }
body.case-editorial .case-door-copy>span:last-child { font-size:16px;text-align:right;line-height:1.3; }
body.case-editorial .case-sections { position:sticky;top:0;z-index:12;display:flex;flex-wrap:wrap;gap:7px;padding:12px 0;margin:0 0 42px;border:0!important;background:color-mix(in srgb,var(--world-base) 94%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px); }
body.case-editorial .case-sections a { display:inline-flex;align-items:center;min-height:44px;padding:10px 15px;background:color-mix(in srgb,var(--world-ink) 9%,var(--world-base));color:var(--world-ink);font-size:11px;line-height:1.5;opacity:1; }
body.case-editorial .case-sections a[aria-current] { background:var(--world-ink);color:var(--world-base); }
body.case-editorial .case-sections .case-collection { flex-basis:auto; }
body.case-editorial :is(.nav,.contact,.case-cover-back,.case-door,.case-sections,.case-ending,.evidence,.scene-disclosure,.experience-bar,.craft-deck,.craft-tabs,.craft-controls,.live-site,.surface-tags span,.artwork-viewer,.artwork-viewer button) { border:0!important; }
body.case-editorial :is(a,button,summary),body.case-editorial .case-next-project:hover .case-ending-title { text-decoration:none!important; }
body.case-editorial :is(a,button,summary):focus-visible { outline:none!important;background-color:var(--case-focus-bg)!important;color:var(--case-focus-ink)!important; }
body.case-editorial :is(.case-cover,.nav) :is(a,button):focus-visible { background:#fff8f1!important;color:#251e1b!important; }
body.case-editorial :is(.case-door,.artwork-link):focus-visible img { opacity:.58; }
body.case-editorial :is(section,div)[tabindex="-1"]:focus { outline:none!important; }
body.case-editorial .craft-controls button,body.case-editorial .artwork-viewer button { border:0!important;background:color-mix(in srgb,currentColor 14%,transparent); }
body.case-editorial .craft-tabs button { border:0!important; }
body.case-editorial .craft-tabs button[aria-selected="true"] { background:color-mix(in srgb,var(--world-ink) 16%,var(--world-base)); }
body.case-editorial .foot a { text-decoration:none!important; }
body.case-editorial .foot a[aria-current] { background:color-mix(in srgb,var(--world-ink) 9%,var(--world-base)); }
@media (hover:hover) and (pointer:fine) {
  body.case-editorial .case-door:hover .case-door-art>img { transform:scale(1.025); }
  body.case-editorial .case-door[data-kind="credits"]:hover .case-door-art>img { transform:rotate(-11deg) scale(1.025); }
  body.case-editorial :is(.case-explorer-intro>a,.case-sections a,.case-cross-link a,.section-door a,.foot a):hover { color:var(--world-base);background:var(--world-ink); }
  body.case-editorial :is(.nav-links a,.case-cover-back):hover { background:var(--case-cover-ink);color:var(--case-cover-base); }
}
@media (max-width:1100px) {
  body.case-editorial .case-cover-content { gap:5%;grid-template-columns:minmax(0,1fr) minmax(0,.9fr); }
  body.case-editorial .case-cover-copy>p { font-size:14px; }
  body.case-editorial .case-explorer { grid-template-columns:1fr;gap:25px;padding-top:40px; }
  body.case-editorial .case-explorer-intro { display:grid;grid-template-columns:1fr auto;column-gap:25px;align-items:end; }
  body.case-editorial .case-explorer-intro .eyebrow { grid-column:1/-1;margin-bottom:10px; }
  body.case-editorial .case-explorer-intro h2 { max-width:none;margin:0; }
  body.case-editorial .case-explorer-intro>a { margin:0;padding:0; }
  body.case-editorial .case-door-art { height:215px; }
}
@media (max-width:1000px) {
  body.case-editorial .case-cover { margin-inline:-32px;min-height:650px; }
  body.case-editorial .case-cover-inner.wrap { min-height:650px;padding-top:130px;padding-bottom:50px; }
  body.case-editorial .case-cover-content { margin-top:100px; }
}
@media (max-width:700px) {
  body.case-editorial > .nav.wrap { height:auto;min-height:110px;padding-block:18px;gap:13px;flex-wrap:wrap;align-content:center; }
  body.case-editorial .nav-links { width:100%;justify-content:space-between;gap:10px;font-size:11px; }
  body.case-editorial .nav-links a { padding:8px 10px;min-height:44px; }
  body.case-editorial .nav-links>a:first-child { display:inline-flex;padding-left:0; }
  body.case-editorial .nav-links .current { padding-bottom:8px; }
  body.case-editorial .nav-links .contact { padding:9px 12px; }
  body.case-editorial .case-cover { margin-inline:-20px;min-height:0; }
  body.case-editorial .case-cover-image { height:470px;object-position:var(--cover-mobile-position,50% 28%); }
  body.case-editorial .case-cover-shade { background:linear-gradient(180deg,#090b0c70 0,#090b0c0a 210px,#090b0c47 315px,var(--case-cover-base) 465px),linear-gradient(90deg,#090b0c3b,transparent 75%); }
  body.case-editorial .case-cover-inner.wrap { min-height:0;padding-top:144px;padding-bottom:35px; }
  body.case-editorial .case-cover-back { min-height:40px;padding:8px 12px;font-size:10px; }
  body.case-editorial .case-cover-content { display:block;margin-top:75px; }
  body.case-editorial .case-cover-brand>.eyebrow { font-size:9px;line-height:1.7;margin-bottom:18px;max-width:38ch; }
  body.case-editorial .case-cover .brand-lockup { width:min(100%,var(--lockup-width,380px));margin:0; }
  body.case-editorial .case-cover .brand-lockup img { max-height:min(var(--lockup-height,190px),190px); }
  body.case-editorial .case-cover .parent-marks-heading { max-width:240px;gap:15px;margin-bottom:20px; }
  body.case-editorial .case-cover .parent-marks-heading img { height:45px;max-height:45px; }
  body.case-editorial .case-cover-copy { margin-top:32px;padding-bottom:0; }
  body.case-editorial .case-cover-copy>p { max-width:48ch;font-size:13px;line-height:1.75; }
  body.case-editorial .case-cover .surface-tags { gap:6px;margin-top:22px; }
  body.case-editorial .case-cover .surface-tags span { padding:7px 9px;font-size:8px; }
  body.case-editorial .case-cover .recognition-list { font-size:10px;margin-top:18px; }
  body.case-editorial .case-cover-caption { font-size:8px;margin-top:24px;max-width:48ch; }
  body.case-editorial .case-explorer { padding:32px 0 30px;gap:23px; }
  body.case-editorial .case-explorer-intro { column-gap:15px; }
  body.case-editorial .case-explorer-intro h2 { font-size:24px;max-width:10ch; }
  body.case-editorial .case-explorer-intro>a { font-size:10px; }
  body.case-editorial .case-explorer-intro .eyebrow { font-size:8px; }
  body.case-editorial .case-doors { grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 13px; }
  body.case-editorial .case-door-art { height:180px;padding:18px 18px 55px; }
  body.case-editorial .case-door-art>img { max-height:114px; }
  body.case-editorial .case-door-monogram { font-size:48px; }
  body.case-editorial .case-door-copy { inset:auto 12px 15px;padding:0;gap:6px;grid-template-columns:11px minmax(0,1fr) 14px; }
  body.case-editorial .case-door-copy strong { font-size:16px; }
  body.case-editorial .case-door-number { font-size:8px; }
  body.case-editorial .case-sections { position:relative;gap:6px;padding:8px 0;margin-bottom:26px; }
  body.case-editorial .case-sections a { font-size:10px;padding:9px 12px; }
}
@media (max-width:360px) {
  body.case-editorial .case-door-art { height:175px;padding:15px 15px 55px; }
  body.case-editorial .case-door-art>img { max-height:100px; }
  body.case-editorial .case-door-copy strong { font-size:15px; }
  body.case-editorial .case-door-monogram { font-size:43px; }
  body.case-editorial .case-cover-content { margin-top:65px; }
  body.case-editorial .case-explorer-intro h2 { font-size:22px; }
}

/* Keep Fashion Fix's original models whole; the darker original wall becomes the copy field. */
body.case-editorial[data-brand="fashion-fix"] .case-cover-image {
  inset:112px auto 0 max(0px,calc((100vw - 1440px)/2 - 80px));
  width:auto;
  height:calc(100% - 112px);
  max-width:none;
  object-fit:contain;
  object-position:center;
}
body.case-editorial[data-brand="fashion-fix"] .case-cover-shade {
  background:linear-gradient(180deg,var(--case-cover-base) 0,transparent 155px),linear-gradient(0deg,var(--case-cover-base) 0,#11100e3b 33%,transparent 76%),linear-gradient(90deg,#11100e1a 0,transparent 40%,var(--case-cover-base) 79%);
}
/* Posters and brand books are complete, quiet exhibits, not photographic crops. */
body.case-editorial:has(.case-cover[data-cover-mode="artwork"]) {
  --case-cover-ink:var(--world-ink);
  --case-cover-base:var(--world-base);
}
body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-image {
  inset:162px 4% auto auto;
  width:46%;
  height:400px;
  object-fit:contain;
  object-position:center;
  transform:none;
}
body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-shade {
  background:radial-gradient(ellipse at 75% 50%,color-mix(in srgb,var(--world-surface) 48%,transparent),transparent 65%);
}
body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-content { grid-template-columns:1fr;gap:26px;width:44%;margin-top:50px; }
body.case-editorial .case-cover[data-cover-mode="artwork"] .brand-lockup img { max-height:190px; }
body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-copy>p { font-size:14px; }
body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-caption { max-width:44%; }
body.case-editorial .case-door:focus-visible { background:var(--world-ink)!important; }
body.case-editorial .case-door:focus-visible::after { background:linear-gradient(180deg,transparent,#090b0ce8); }
@media(max-width:1000px) and (min-width:701px) {
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-image { right:3%;width:45%;height:360px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-content { width:47%; }
}
@media(max-width:700px) {
  body.case-editorial[data-brand="fashion-fix"] .case-cover-image { inset:188px auto auto 0;width:auto;height:340px;max-width:none; }
  body.case-editorial[data-brand="fashion-fix"] .case-cover-shade { background:linear-gradient(180deg,var(--case-cover-base) 0,var(--case-cover-base) 165px,transparent 215px,#11100e26 340px,var(--case-cover-base) 535px),linear-gradient(90deg,#11100e12,transparent 75%); }
  body.case-editorial[data-brand="fashion-fix"] .case-cover-content { margin-top:100px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-image { inset:194px 20px auto;width:calc(100% - 40px);height:225px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-content { display:block;width:100%;margin-top:265px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .brand-lockup img { max-height:150px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-copy { margin-top:25px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-copy>p { font-size:13px; }
  body.case-editorial .case-cover[data-cover-mode="artwork"] .case-cover-caption { max-width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  body.case-editorial *,body.case-editorial *::before,body.case-editorial *::after { animation:none!important;transition:none!important; }
}

/* Full bleed follows the actual parent width, including compact case layouts. */
body.case-editorial .case-cover { width:100vw;margin-inline:calc(50% - 50vw); }

/* Quiet transitions let the photograph meet the surrounding colour without a hard edge. */
body.case-editorial[data-brand="fashion-fix"] .case-cover {
  background-image:linear-gradient(#17130fea,#17130fea),url("assets/worlds/fashion-editorial.webp");
  background-size:350% auto;
  background-position:left center;
}
body.case-editorial[data-brand="fashion-fix"] .case-cover-image {
  mask-image:linear-gradient(90deg,transparent,#000 15%,#000),linear-gradient(180deg,transparent,#000 25px,#000 calc(100% - 35px),transparent);
  mask-composite:intersect;
}
body.case-editorial .case-cover[data-cover-mode="minimal"],
body.case-editorial .case-cover[data-cover-mode="minimal"] .case-cover-inner.wrap { min-height:530px; }
@media(max-width:700px) {
  body.case-editorial .case-cover[data-cover-mode="minimal"],
  body.case-editorial .case-cover[data-cover-mode="minimal"] .case-cover-inner.wrap { min-height:0; }
  body.case-editorial .case-cover[data-cover-mode="minimal"] .case-cover-content { margin-top:52px; }
}
