/* Portfolio V112 - editorial clarity and scroll-edge navigation, 2026-10-30.
   Custom web interpretation, not Apple's native Liquid Glass material. */

/* A. IA - a one-glance explanation without artificial equal-height spacer gaps. */
.sober-home #ia .aiv12-intro { margin-bottom: 28px; align-items: end; }
.sober-home #ia .aiv12-intro > p:last-child { max-width: 24ch; font-weight: 550; color: #3c5172; font-size: clamp(17px,1.5vw,21px); line-height: 1.35; }
.aiv12-grid, .aiv12-grid * { box-sizing: border-box; }
.aiv12-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); align-items: stretch; gap: 16px; }
.aiv12-card { min-width:0; display:flex; flex-direction:column; gap:0; border:1px solid #dbe4f1; background:#fff; border-radius:21px; padding:clamp(19px,2.3vw,29px); box-shadow:0 16px 39px rgba(30,51,88,.065); }
.aiv12-top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:12px; }
.aiv12-step { font:750 10px/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.095em; color:#2e5aa2; }
.aiv12-icon { flex:none; width:55px; height:55px; display:grid; place-items:center; border:1px solid #dce5f4; border-radius:16px; background:linear-gradient(142deg,#edf3ff,#f8faff); color:#315db2; }
.aiv12-icon svg { width:27px; height:27px; }
.aiv12-card h3 { font:400 clamp(32px,3vw,42px)/1.02 Georgia,'Times New Roman',serif; color:#1c3050; letter-spacing:-.045em; margin:0 0 10px; }
.aiv12-desc { font:400 14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; color:#52637e; margin:0; max-width:37ch; }
.aiv12-flow { display:grid; grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr); align-items:center; gap:8px; margin:22px 0 20px; border:1px solid #e0e8f4; border-radius:14px; background:linear-gradient(128deg,#f9fbff,#f0f4fc); padding:14px 12px; min-height:75px; }
.aiv12-flow span { color:#244267; text-align:center; font:700 12px/1.3 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
.aiv12-flow svg { display:block; width:25px;height:25px; color:#7694c5; }
.aiv12-roles { margin-top:auto; display:grid; grid-template-columns:1fr 1fr; gap:10px; padding-top:17px; border-top:1px solid #e4eaf3; }
.aiv12-roles>div { min-width:0; }
.aiv12-roles span { display:block; margin-bottom:7px; font:750 9px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; letter-spacing:.11em; color:#627c9f; }
.aiv12-roles div:last-child span { color:#217257; }
.aiv12-roles strong { display:block; color:#2b425d; font:600 12px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; }
@media(max-width:1050px){ .aiv12-grid { grid-template-columns:1fr; } .aiv12-card { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); column-gap:24px; } .aiv12-top,.aiv12-card h3,.aiv12-desc { grid-column:1; } .aiv12-flow {grid-column:2; grid-row:1/4; align-self:center; margin:0;} .aiv12-roles { grid-column:1/-1; margin-top:18px;} }
@media(max-width:700px){ .sober-home #ia .aiv12-intro > p:last-child {max-width:32ch; font-size:16px;} .aiv12-card { display:flex; padding:20px; } .aiv12-card h3 { font-size:36px; } .aiv12-top {margin-bottom:12px;} .aiv12-icon {width:50px;height:50px;} .aiv12-flow { margin:17px 0 14px; } .aiv12-roles{margin-top:0;} }

/* B. Story ends - editorial next step instead of an interruptive CTA banner. */
html.has-js .sober-home .story-next-panel--inline,
html.has-js:not(.gn93-reading) .sober-home .story-next-panel--inline,
.sober-home .story-next-panel--inline {
  display:flex !important; align-items:center; justify-content:space-between;
  gap:20px 40px; padding:24px 0 32px; width:min(1110px,calc(100% - 2*clamp(24px,6vw,90px)));
  margin:0 auto 24px; border:0; border-top:1px solid color-mix(in srgb,var(--story-end-ink,#fff) 26%,transparent);
  border-radius:0; background:transparent; box-shadow:none; color:var(--story-end-ink,#fff);
}
.sober-home .story-next-panel--inline .story-next-copy span{font:700 10px/1.4 ui-monospace,Menlo,monospace; letter-spacing:.11em; color:var(--story-end-muted,#d8e5ed); margin-bottom:5px}
.sober-home .story-next-panel--inline .story-next-copy strong{font:400 clamp(23px,2.5vw,33px)/1.1 Georgia,serif; color:var(--story-end-ink,#fff); letter-spacing:-.035em}
.sober-home .story-next-panel--inline .sober-case-link { background:transparent!important; color:var(--story-end-ink,#fff)!important; font-weight:650; padding:10px 0; min-height:44px; border-radius:0; border-bottom:1px solid currentColor; box-shadow:none; white-space:nowrap; }
.sober-home .story-next-panel--inline .sober-case-link:hover { opacity:.8; }
.sober-home .story-next-panel--inline .sober-case-link:focus-visible{ outline:3px solid currentColor; outline-offset:4px; }
.sober-home .story-next-panel--inline.story-next-panel--mh { --story-end-bg:#192e49; --story-end-ink:#ecf1fa; --story-end-muted:#bfcadb; }
.sober-home .story-next-panel--inline.story-next-panel--mh .sober-case-link{color:#f5f9ff!important;}
/* Existing upfront index and direct study links remain available; story-only CTAs move to the footer. */
.sober-home .has-project-brief > .project-brief .project-brief-link { display:none; }
@media(max-width:720px){html.has-js .sober-home .story-next-panel--inline,.sober-home .story-next-panel--inline{align-items:flex-start; flex-direction:column; padding:22px 0 25px; gap:11px;width:calc(100% - 44px);} .sober-home .story-next-panel--inline .story-next-copy strong{font-size:26px;} }

/* C. Progress indicators align with the story content's leading edge. */
@media(min-width:801px){
 .sober-home .story-navigation>.client-story-position { left:clamp(26px,4vw,78px); }
 .sober-home #interface-en-contexte .sober-scene-controls .c103-control-row { padding-left:clamp(10px,2.4vw,45px); }
}
@media(max-width:800px){
 .sober-home .story-navigation>.client-story-position {left:22px;}
 .sober-home #interface-en-contexte .sober-scene-controls .c103-control-row{padding-left:6px;}
}

/* D. Malakoff - research framing, traceable evidence and a concise journey wireflow. */
.mh2-case .mhv12-research {margin:0 auto; padding:clamp(38px,5vw,72px) 0 clamp(44px,5vw,76px);}
.mhv12-research-header{display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); column-gap:clamp(25px,5vw,72px); align-items:end;}
.mhv12-research-header .mh2-label{grid-column:1/-1; margin-bottom:14px;}
.mhv12-research-header h2{max-width:17ch; margin:0; color:#59382f; font:400 clamp(34px,4.1vw,61px)/1.08 Georgia,serif; letter-spacing:-.045em;}
.mhv12-research-header>p:last-child{margin:0; max-width:54ch; color:#695a55; font:400 16px/1.7 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-friction-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px;margin:38px 0 32px;}
.mhv12-friction-map article{display:flex;flex-direction:column;gap:0;padding:22px 24px; background:linear-gradient(150deg,#fff9f6,#fff); border:1px solid #eadbd6;border-radius:18px;box-shadow:0 11px 26px rgba(113,52,36,.045);}
.mhv12-friction-map article>span{color:#b24c38;font:750 10px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.1em;}
.mhv12-friction-map h3{font:400 clamp(24px,2.5vw,35px)/1.1 Georgia,serif;letter-spacing:-.03em;color:#553329;margin:12px 0 10px;}
.mhv12-friction-map p{font:400 14px/1.55 -apple-system,BlinkMacSystemFont,Arial,sans-serif;color:#695b57;margin:0;}
.mhv12-friction-map article>div{margin-top:18px;padding-top:15px;border-top:1px solid #eee0dc;display:grid;gap:5px;}
.mhv12-friction-map b{color:#b44c3b;font:750 9px/1.3 ui-monospace,Menlo,monospace;letter-spacing:.09em;text-transform:uppercase;}
.mhv12-friction-map strong{color:#643a30;font:600 13px/1.45 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-flow {border:1px solid #e8dbd5;background:#fbf7f5;padding:clamp(19px,3vw,34px);border-radius:20px;}
.mhv12-flow-heading{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:end;margin-bottom:20px;}
.mhv12-flow-heading>span{grid-column:1/-1;color:#b24d3d;font:750 10px/1.4 ui-monospace,Menlo,monospace;letter-spacing:.1em;}
.mhv12-flow-heading h3{margin:0;color:#56372d;font:400 clamp(24px,2.8vw,39px)/1.13 Georgia,serif;letter-spacing:-.032em;}
.mhv12-flow-heading p{margin:0;color:#776761;font:400 12px/1.5 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-flow-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.mhv12-flow-track>div{position:relative;min-width:0;padding:16px;background:#fff;border:1px solid #e7d8d1;border-radius:12px;}
.mhv12-flow-track>div:not(:last-child)::after{content:'›';position:absolute;top:50%;right:-15px;transform:translateY(-50%);width:18px;height:18px;display:grid;place-items:center;z-index:1;background:#b64d3d;color:white;border-radius:100%;font-size:20px;line-height:1;}
.mhv12-flow-track small{display:block;color:#b54e3f;font:700 11px/1.4 ui-monospace,Menlo,monospace;margin-bottom:13px;}
.mhv12-flow-track strong{display:block;color:#543c33;font:700 14px/1.4 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-flow-track span{display:block;margin-top:8px;color:#796b65;font:400 12px/1.45 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-proofbar{display:flex;align-items:center;justify-content:center;gap:clamp(20px,5vw,70px);margin-top:24px;padding-top:24px;border-top:1px solid #eee0db;}
.mhv12-proofbar span{display:flex;align-items:baseline;gap:9px;color:#675c57;font:500 12px/1.5 -apple-system,BlinkMacSystemFont,Arial,sans-serif;}
.mhv12-proofbar strong{font:400 35px/1 Georgia,serif;color:#8d3a2f;letter-spacing:-.04em;}
.mh2-case .mh2-index {padding-bottom:36px;}
/* Screens stay visible, but no giant gallery or 'new tab' visual target. */
.mh2-case .mh2-shot-viewport{height:clamp(340px,41vw,620px);overflow:hidden;background:#f7f8fa;}
.mh2-case .mh2-shot-viewport img{width:100%;height:auto;display:block;object-fit:cover;object-position:top center;}
.mh2-case .mh2-shot--mobile .mh2-shot-viewport{height:clamp(410px,45vw,620px);background:#faf8f6;}
.mh2-case .mh2-shot--mobile .mh2-shot-viewport img{width:min(100%,430px);margin-inline:auto;}
.mh2-case .mh2-media-support .mh2-shot-viewport{height:clamp(310px,31vw,430px);}
.mh2-case .mh2-shot figcaption small{display:none;}
@media(max-width:1380px){.mh2-case .mhv12-research{margin-inline:clamp(22px,4.2vw,60px);}}
@media(max-width:900px){.mhv12-research-header{display:block}.mhv12-research-header h2{max-width:20ch;margin-bottom:17px}.mhv12-friction-map{gap:10px}.mhv12-friction-map article{padding:18px}.mhv12-friction-map h3{font-size:25px}.mhv12-flow-heading{display:block}.mhv12-flow-heading p{margin-top:8px}}
@media(max-width:640px){.mhv12-friction-map{grid-template-columns:1fr;gap:10px;margin:25px 0}.mhv12-friction-map article{padding:19px}.mhv12-friction-map h3{font-size:28px}.mhv12-flow-track{grid-template-columns:1fr 1fr;gap:12px}.mhv12-flow-track>div:nth-child(2)::after{display:none}.mhv12-flow-heading h3{font-size:28px}.mhv12-proofbar{gap:11px;flex-wrap:wrap;justify-content:space-between}.mhv12-proofbar span{min-width:42%;gap:7px}.mhv12-proofbar strong{font-size:30px}.mh2-case .mh2-shot-viewport{height:390px}.mh2-case .mh2-shot--mobile .mh2-shot-viewport{height:480px}}

/* E. Apple HIG-informed web approximation of a floating navigation material. */
body:is(.sober-home,.sober-case) .site-header .header-inner::before{
  transition:background .30s ease,box-shadow .30s ease,border-color .30s ease,border-radius .30s ease,filter .30s ease;
}
body:is(.sober-home,.sober-case) .site-header.is-v112-scrolled .header-inner::before{
  border-color:rgba(255,255,255,.72);
  background:linear-gradient(110deg,rgba(255,255,255,.93),rgba(246,248,253,.88) 54%,rgba(255,255,255,.94));
  box-shadow:0 14px 38px rgba(17,31,51,.19),inset 0 1px 0 rgba(255,255,255,.96),0 0 0 1px rgba(64,87,120,.05);
  -webkit-backdrop-filter:blur(22px) saturate(150%);backdrop-filter:blur(22px) saturate(150%);
}
body:is(.sober-home,.sober-case) .site-header.is-v112-moving-down .header-inner::before{border-radius:19px;filter:saturate(1.04)}
body:is(.sober-home,.sober-case) .site-header.is-v112-moving-up .header-inner::before{border-radius:22px;}
body:is(.sober-home,.sober-case) .site-header.is-v112-scrolled::after{content:'';position:absolute;z-index:-1;left:0;right:0;top:100%;height:14px;pointer-events:none;background:linear-gradient(to bottom,rgba(232,238,246,.16),transparent);-webkit-mask-image:linear-gradient(to bottom,#000,transparent);mask-image:linear-gradient(to bottom,#000,transparent);}
@media(max-width:800px){body:is(.sober-home,.sober-case) .site-header.is-v112-moving-down .header-inner::before{border-radius:18px}}
@media(prefers-reduced-motion:reduce){body:is(.sober-home,.sober-case) .site-header .header-inner::before{transition:none!important;}}
html:is(.motion-reduced,.gn93-reading) body:is(.sober-home,.sober-case) .site-header .header-inner::before{transition:none!important;}
@media(prefers-reduced-transparency:reduce){body:is(.sober-home,.sober-case) .site-header .header-inner::before,body:is(.sober-home,.sober-case) .site-header.is-v112-scrolled .header-inner::before{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}}
@media(forced-colors:active){body:is(.sober-home,.sober-case) .site-header.is-v112-scrolled .header-inner::before{background:Canvas;border:1px solid CanvasText;box-shadow:none;}}
/* Precision pass: constrain the research frame inside narrow viewports. */
@media(max-width:1380px){
  .mh2-case .mhv12-research{width:calc(100% - 2*clamp(22px,4.2vw,60px));margin-inline:auto;}
}
/* Keep the owner's brand name together on the home header, as on case-study pages. */
@media(max-width:480px){
  body.sober-home .site-header .brand > span{width:auto;max-width:none;white-space:nowrap;font-size:11px;line-height:1.2;}
  body.sober-home .site-header .brand{flex:0 0 auto;}
  body.sober-home .site-header .desktop-nav{flex:1 1 83px;min-width:0;}
}
@media(max-width:360px){
  body.sober-home .site-header .brand > span{font-size:10px;}
  body.sober-home .site-header .desktop-nav{flex-basis:70px;}
}
