.case-mo-page {
  --mo-dark: #171512;
  --mo-ink: #22211f;
  --mo-paper: #f3eee6;
  --mo-paper-2: #e9e0d5;
  --mo-peach: #d69a66;
  --mo-line: rgba(34, 33, 31, 0.15);
  background: var(--mo-dark);
  color: #f6f0e8;
}

.case-mo-page .site-header { --header-fg: #f6f0e8; }
.case-mo-page .site-header .wordmark,
.case-mo-page .desktop-nav a,
.case-mo-page .language-toggle { color: #f6f0e8; }
.case-mo-page .header-contact { background: #f6f0e8; color: var(--mo-dark); }
.case-mo-page .site-footer { background: var(--mo-dark); color: #f6f0e8; }
.mo-case { overflow: clip; }
.mo-sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }

.mo-cover { position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:var(--mo-dark); }
.mo-cover::after { content:"";position:absolute;z-index:1;inset:auto 0 0;height:28%;background:linear-gradient(to top,rgba(23,21,18,.92),transparent);pointer-events:none; }
.mo-meta { position:absolute;z-index:5;top:clamp(88px,10vh,120px);left:var(--pad);right:var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;font-size:clamp(11px,1.05vw,18px);line-height:1;letter-spacing:0;text-transform:uppercase;color:#f6f0e8; }
.mo-meta a { color:inherit;text-decoration:none; }
.mo-meta-year { justify-self:end; }
.mo-shv { justify-self:center;font-size:1.35em;font-weight:750;letter-spacing:-.06em; }
.mo-meta sup { position:relative;top:-.4em;margin-left:.13em;font-size:.35em;letter-spacing:0; }
.mo-cover-mark { position:absolute;z-index:0;top:9%;right:3%;height:68%;width:auto;opacity:.3; }
.mo-cover-house { position:absolute;z-index:2;left:43%;bottom:-1px;width:min(82vw,1320px);max-width:none;height:auto;animation:mo-house-in 1.2s .18s cubic-bezier(.16,1,.3,1) both; }
.mo-cover-copy { position:absolute;z-index:4;left:var(--pad);top:clamp(190px,27vh,300px);width:min(38vw,590px); }
.mo-cover-copy p { margin:0 0 14px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--mo-peach); }
.mo-cover-wordmark { display:block;width:100%;height:auto;margin:0 0 clamp(26px,4vh,46px);animation:mo-wordmark-in 1s .08s cubic-bezier(.16,1,.3,1) both; }
.mo-cover-copy strong { display:block;max-width:25ch;font-size:clamp(18px,1.7vw,25px);line-height:1.3;font-weight:400;color:#fff; }
.mo-cover-link { display:inline-flex;align-items:center;gap:11px;margin-top:28px;padding-bottom:6px;color:#f6f0e8;text-decoration:none;border-bottom:1px solid rgba(246,240,232,.48);font-size:14px;transition:color .2s,border-color .2s; }.mo-cover-link:hover,.mo-cover-link:focus-visible { color:var(--mo-peach);border-color:var(--mo-peach);outline:0; }
.mo-back,.mo-scroll { position:absolute;z-index:5;bottom:28px;font-size:13px;text-decoration:none;color:rgba(246,240,232,.68); }
.mo-back { left:var(--pad); }
.mo-scroll { right:var(--pad);display:inline-flex;gap:12px;align-items:center;color:#fff; }
.mo-back:hover,.mo-scroll:hover { color:var(--mo-peach); }
@keyframes mo-wordmark-in { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:none} }
@keyframes mo-house-in { from{opacity:0;transform:translateY(72px) scale(.98)} to{opacity:1;transform:none} }

.mo-story { background:var(--mo-paper);color:var(--mo-ink); }
.mo-briefs { display:grid;grid-template-columns:1fr 1fr;padding:clamp(72px,9vw,130px) var(--pad) 0; }
.mo-brief { position:relative;display:grid;grid-template-columns:48px 1fr;gap:clamp(22px,4vw,64px);min-height:360px;padding:clamp(32px,4vw,58px);border:1px solid var(--mo-line); }
.mo-brief + .mo-brief { border-left:0; }
.mo-brief--accent { background:var(--mo-peach);border-color:var(--mo-peach); }
.mo-index,.mo-marker span { font-size:12px;letter-spacing:.12em; }
.mo-brief-copy { align-self:center;max-width:520px; }
.mo-brief-copy p { margin:0;font-size:clamp(17px,1.65vw,23px);line-height:1.48;letter-spacing:-.02em; }
.mo-brief-copy p + p { margin-top:24px;color:rgba(34,33,31,.62); }
.mo-brief small { position:absolute;right:24px;bottom:22px;font-size:11px;letter-spacing:.13em;text-transform:uppercase; }

.mo-scope { padding:clamp(100px,13vw,180px) var(--pad); }
.mo-section-head { display:grid;grid-template-columns:minmax(160px,.5fr) minmax(0,1.5fr);gap:40px;align-items:start;margin-bottom:70px; }
.mo-marker { display:flex;gap:14px;align-items:baseline;text-transform:uppercase; }
.mo-marker small { font-size:10px;letter-spacing:.13em;color:rgba(34,33,31,.5); }
.mo-section-head h2,.mo-journey-head h2,.mo-outcome-copy h2,.mo-cta h2 { margin:0;font-size:clamp(44px,7vw,98px);font-weight:400;letter-spacing:-.055em;line-height:.96; }
.mo-section-head h2 em,.mo-journey-head h2 em,.mo-outcome-copy h2 em,.mo-cta h2 em { font-family:"Cormorant Infant",Georgia,serif;font-weight:500;font-style:normal;color:var(--mo-peach);letter-spacing:-.035em; }
.mo-scope-grid { display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mo-line);border-left:1px solid var(--mo-line); }
.mo-scope-grid article { position:relative;min-height:190px;padding:24px 52px 28px 24px;border-right:1px solid var(--mo-line);border-bottom:1px solid var(--mo-line);transition:background .25s ease,color .25s ease; }
.mo-scope-grid article:hover { background:var(--mo-peach); }
.mo-scope-grid span { font-size:11px;letter-spacing:.1em;color:rgba(34,33,31,.48); }
.mo-scope-grid p { margin:54px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.25; }
.mo-scope-grid i { position:absolute;right:22px;bottom:22px;font-style:normal; }

.mo-journey { padding:clamp(90px,11vw,160px) 0 0;background:#fff; }
.mo-journey-head { padding:0 var(--pad);display:grid;grid-template-columns:minmax(150px,.45fr) minmax(0,1.15fr) minmax(250px,.55fr);gap:36px;align-items:end;margin-bottom:clamp(90px,12vw,170px); }
.mo-journey-head h2 { font-size:clamp(48px,7.2vw,104px); }
.mo-journey-head > p { margin:0;font-size:17px;line-height:1.55;color:rgba(34,33,31,.62); }
.mo-step { position:relative;padding:0 var(--pad) clamp(110px,14vw,200px); }
.mo-step-copy { display:grid;grid-template-columns:60px minmax(220px,.55fr) minmax(280px,.8fr);gap:24px;align-items:start;padding:0 0 38px;border-top:1px solid var(--mo-line); }
.mo-step-copy > span { padding-top:22px;font-size:11px;letter-spacing:.1em;color:var(--mo-peach); }
.mo-step-copy h3 { margin:0;padding-top:16px;font-size:clamp(30px,4.6vw,68px);font-weight:400;letter-spacing:-.045em;line-height:1; }
.mo-step-copy p { margin:0;padding-top:20px;font-size:17px;line-height:1.55;color:rgba(34,33,31,.64); }
.mo-screen,.mo-wide-photo,.mo-place-main,.mo-gallery figure,.mo-outcome-screen { margin:0;overflow:hidden;background:#ddd5ca; }
.mo-screen img,.mo-wide-photo img,.mo-place-main img,.mo-gallery img,.mo-outcome-screen img { display:block;width:100%;height:auto; }
.mo-screen { box-shadow:0 30px 80px rgba(36,30,24,.12); }
.mo-interface-scene { position:relative;display:grid;place-items:center;min-height:0;aspect-ratio:16/10;padding:clamp(24px,3.5vw,54px);overflow:hidden;isolation:isolate;background:#e8e0d5; }
.mo-interface-screen { position:relative;z-index:1;width:100%;margin:0;overflow:hidden;background:#cfc6b9;box-shadow:0 28px 70px rgba(40,32,23,.2);will-change:transform,opacity; }
.mo-interface-screen img { display:block;width:100%;height:auto; }
[data-mo-scene] .mo-interface-screen { opacity:0;transform:translate3d(0,64px,0) scale(.975); }
[data-mo-scene].is-playing .mo-interface-screen { animation:mo-screen-enter 1.05s cubic-bezier(.16,1,.3,1) .08s both; }
[data-mo-scene].is-settled .mo-interface-screen { opacity:1;transform:none;animation:none; }
@keyframes mo-screen-enter { from{opacity:0;transform:translate3d(0,64px,0) scale(.975)} to{opacity:1;transform:none} }
.mo-place-grid { display:grid;grid-template-columns:1.7fr .75fr;background:var(--mo-dark); }
.mo-place-main img { height:100%;object-fit:cover; }
.mo-facts { display:grid;color:#fff; }
.mo-facts article { display:flex;flex-direction:column;justify-content:space-between;padding:28px;border-bottom:1px solid rgba(255,255,255,.16); }
.mo-facts article:last-child { border-bottom:0; }
.mo-facts strong { font-family:"Cormorant Infant",Georgia,serif;font-size:clamp(52px,7vw,92px);font-weight:400;color:var(--mo-peach);line-height:.8; }
.mo-facts span { max-width:16ch;font-size:14px;line-height:1.35;color:rgba(255,255,255,.68); }
.mo-step--architecture { background:var(--mo-paper-2);padding-top:clamp(80px,10vw,140px); }
.mo-wide-photo img { height:clamp(320px,48vw,650px);object-fit:cover; }
.mo-screen--inset { width:76%;margin:48px auto 0;position:relative;z-index:2;border:10px solid var(--mo-paper-2); }
.mo-catalog-scene { position:relative;min-height:clamp(500px,66vw,900px);display:grid;place-items:center;overflow:hidden;background:var(--mo-dark); }
.mo-catalog-scene > .mo-interface-scene { z-index:1;width:100%;height:auto;min-height:0;background:#211f1c; }
.mo-catalog-scene .mo-interface-screen { box-shadow:0 28px 80px rgba(0,0,0,.42); }
.mo-gallery { display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:1fr 1fr;gap:12px;min-height:720px; }
.mo-gallery-a { grid-row:1 / span 2; }
.mo-gallery img { width:100%;height:100%;object-fit:cover; }

/* Alternating editorial rhythm: each chapter gets its own composition. */
.mo-journey-head { grid-template-columns:minmax(110px,.25fr) minmax(0,1.35fr) minmax(250px,.5fr);align-items:center;margin-bottom:clamp(72px,9vw,120px); }
.mo-journey-head h2 { max-width:12ch;font-size:clamp(48px,6.4vw,92px); }
.mo-journey-head > p { max-width:30rem;justify-self:end; }

.mo-step--atmosphere { display:grid;grid-template-columns:minmax(280px,.42fr) minmax(0,1.58fr);gap:clamp(36px,5vw,80px);align-items:center;padding-top:clamp(80px,9vw,130px);padding-bottom:clamp(80px,9vw,130px);background:var(--mo-dark);color:#f6f0e8; }
.mo-step--atmosphere .mo-step-copy,
.mo-step--place .mo-step-copy,
.mo-step--architecture .mo-step-copy,
.mo-step--tour .mo-step-copy,
.mo-catalog-scene .mo-step-copy { display:block;padding:0;border:0; }
.mo-step--atmosphere .mo-step-copy > span,
.mo-step--place .mo-step-copy > span,
.mo-step--architecture .mo-step-copy > span,
.mo-step--tour .mo-step-copy > span,
.mo-catalog-scene .mo-step-copy > span { display:block;padding:0 0 24px; }
.mo-step--atmosphere .mo-step-copy h3,
.mo-step--place .mo-step-copy h3,
.mo-step--architecture .mo-step-copy h3,
.mo-step--tour .mo-step-copy h3,
.mo-catalog-scene .mo-step-copy h3 { padding:0;font-size:clamp(42px,5vw,72px); }
.mo-step--atmosphere .mo-step-copy p,
.mo-step--place .mo-step-copy p,
.mo-step--architecture .mo-step-copy p,
.mo-step--tour .mo-step-copy p,
.mo-catalog-scene .mo-step-copy p { padding:0;margin-top:28px; }
.mo-step--atmosphere .mo-step-copy p { color:rgba(246,240,232,.62); }
.mo-step--atmosphere .mo-step-copy h3 { font-size:clamp(42px,4.25vw,58px); }
.mo-step--atmosphere .mo-interface-scene { width:calc(100% + var(--pad)); }

.mo-step--place { display:grid;grid-template-columns:minmax(240px,.43fr) minmax(0,1.57fr);gap:clamp(38px,6vw,100px);align-items:start;padding-top:clamp(120px,14vw,200px);background:#fff; }
.mo-step--place .mo-step-copy { position:sticky;top:130px; }
.mo-step--place .mo-step-copy::before,
.mo-step--architecture .mo-step-copy::before,
.mo-step--tour .mo-step-copy::before { content:"";display:block;width:100%;height:1px;margin-bottom:24px;background:var(--mo-line); }
.mo-step--place .mo-place-grid { grid-template-columns:1fr; }
.mo-step--place .mo-place-main { aspect-ratio:1.35/1; }
.mo-step--place .mo-facts { grid-template-columns:repeat(3,1fr);min-height:220px; }
.mo-step--place .mo-facts article { min-height:170px;border-right:1px solid rgba(255,255,255,.16);border-bottom:0; }
.mo-step--place .mo-facts article:last-child { border-right:0; }

.mo-step--architecture { display:grid;grid-template-columns:minmax(250px,.48fr) minmax(0,1.52fr);column-gap:clamp(38px,6vw,100px);align-items:start;padding-top:clamp(110px,13vw,180px); }
.mo-step--architecture .mo-step-copy { grid-column:1;align-self:start;margin-top:clamp(30px,6vw,90px); }
.mo-step--architecture .mo-wide-photo { grid-column:2; }
.mo-step--architecture .mo-screen--inset { grid-column:1 / -1;width:72%;margin:48px auto 0;border:10px solid var(--mo-paper-2); }

.mo-step--catalog { padding-left:0;padding-right:0;background:#fff; }
.mo-catalog-scene { display:grid;grid-template-columns:minmax(260px,.38fr) minmax(0,1.62fr);gap:clamp(30px,4vw,70px);place-items:stretch;align-items:center;min-height:clamp(680px,68vw,980px);padding:clamp(70px,8vw,120px) 0 clamp(70px,8vw,120px) var(--pad); }
.mo-catalog-scene .mo-step-copy { position:relative;z-index:3;color:#fff; }
.mo-catalog-scene .mo-step-copy p { color:rgba(255,255,255,.64); }
.mo-catalog-scene > .mo-interface-scene { align-self:center; }

.mo-step--tour { display:grid;grid-template-columns:minmax(240px,.42fr) minmax(0,1.58fr);gap:clamp(38px,6vw,100px);align-items:center;padding-top:clamp(100px,12vw,170px);background:var(--mo-paper); }
.mo-step--tour .mo-gallery { min-height:clamp(620px,67vw,900px);grid-template-columns:1.35fr .65fr;gap:10px; }
.mo-step--tour .mo-gallery-a img { object-position:center; }

.mo-outcome { grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(40px,6vw,100px);background:#fff; }
.mo-outcome-copy { grid-column:2;grid-row:1; }
.mo-outcome-screen { grid-column:1;grid-row:1;width:calc(100% + var(--pad));margin-left:calc(var(--pad) * -1);transform:none;box-shadow:0 30px 80px rgba(36,30,24,.16); }
.mo-outcome-copy h2 em { color:var(--mo-peach); }
.mo-cta { display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:40px;align-items:end; }
.mo-cta > p { grid-column:1 / -1; }
.mo-cta button { align-self:end;margin:0 0 6px; }

.mo-outcome { display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:clamp(36px,6vw,96px);align-items:center;padding:clamp(100px,12vw,180px) var(--pad);background:var(--mo-peach); }
.mo-outcome-copy h2 { margin:38px 0 28px;font-size:clamp(46px,6.6vw,94px); }
.mo-outcome-copy h2 em { color:#fff4ea; }
.mo-outcome-copy > p { margin:0;max-width:36rem;font-size:18px;line-height:1.55;color:rgba(34,33,31,.67); }
.mo-live-link { display:inline-flex;gap:16px;margin-top:36px;padding-bottom:6px;color:inherit;text-decoration:none;border-bottom:1px solid rgba(34,33,31,.45);font-size:15px; }
.mo-outcome-screen { box-shadow:0 30px 80px rgba(77,50,28,.24);transform:rotate(1.5deg); }

.mo-cta { padding:clamp(110px,14vw,200px) var(--pad);background:var(--mo-dark);color:#f6f0e8; }
.mo-cta > p { margin:0 0 26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,240,232,.5); }
.mo-cta h2 { max-width:12ch; }
.mo-cta h2 em { color:var(--mo-peach); }
.mo-cta button { display:inline-flex;align-items:center;gap:34px;margin-top:50px;padding:17px 22px;border:1px solid rgba(246,240,232,.3);background:transparent;color:#fff;font:inherit;font-size:15px;cursor:pointer;transition:border-color .2s,color .2s; }
.mo-cta button:hover { border-color:var(--mo-peach);color:var(--mo-peach); }

/* Photo-led case story: no stacked mockups, no tilted screens. */
.mo-atmosphere-photo,.mo-catalog-screen { margin:0;overflow:hidden; }
.mo-atmosphere-photo img,.mo-catalog-screen img { display:block;width:100%;height:100%;object-fit:cover; }
.mo-step--atmosphere { grid-template-columns:minmax(260px,.4fr) minmax(0,1.6fr);padding-right:0;gap:clamp(36px,5vw,80px); }
.mo-step--atmosphere .mo-atmosphere-photo { align-self:stretch;min-height:clamp(420px,52vw,760px); }
.mo-step--atmosphere .mo-atmosphere-photo img { object-position:center; }

.mo-step--place { padding-bottom:clamp(110px,14vw,200px); }
.mo-step--architecture { grid-template-columns:minmax(260px,.42fr) minmax(0,1.58fr);padding-bottom:clamp(110px,14vw,200px); }
.mo-step--architecture .mo-wide-photo { margin:0; }
.mo-step--architecture .mo-wide-photo img { height:clamp(360px,45vw,680px); }
.mo-screen--inset { display:none; }

.mo-step--catalog { padding-bottom:0; }
.mo-catalog-scene { display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1.58fr);gap:clamp(44px,7vw,120px);align-items:center;min-height:clamp(600px,58vw,820px);padding:clamp(90px,10vw,150px) var(--pad); }
.mo-catalog-screen { width:100%;background:#0f0e0d;border:1px solid rgba(246,240,232,.18);box-shadow:none; }
.mo-catalog-screen img { height:auto;object-fit:initial; }

.mo-step--tour { align-items:start;padding-bottom:clamp(110px,14vw,200px); }
.mo-step--tour .mo-gallery { display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1px;min-height:0;background:var(--mo-paper-2); }
.mo-step--tour .mo-gallery-a { grid-column:1 / -1;grid-row:auto;aspect-ratio:2/1; }
.mo-step--tour .mo-gallery-b,.mo-step--tour .mo-gallery-c { aspect-ratio:1.15/1; }
.mo-step--tour .mo-gallery figure { margin:0;background:#ddd5ca; }

.mo-outcome { grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:clamp(40px,6vw,100px);background:#fff; }
.mo-outcome-copy { grid-column:2;grid-row:1; }
.mo-outcome-copy h2 em { color:var(--mo-peach); }
.mo-outcome-screen { grid-column:1;grid-row:1;width:calc(100% + var(--pad));margin-left:calc(var(--pad) * -1);transform:none;box-shadow:none; }

/* Live project fragments: actual interactive states, not browser screenshots. */
.mo-catalog-screen { display:none; }
.mo-picker { width:100%;overflow:hidden;border:1px solid rgba(246,240,232,.2);background:#211f1c;color:#f6f0e8; }
.mo-picker > header,.mo-picker > footer { display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px;border-bottom:1px solid rgba(246,240,232,.16);font-size:11px;letter-spacing:.08em;text-transform:uppercase; }
.mo-picker > header small { color:rgba(246,240,232,.48);font-size:10px; }
.mo-picker-stage { position:relative;aspect-ratio:1.6/1;overflow:hidden;background:#302e29; }
.mo-picker-stage::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,18,.18),transparent 48%,rgba(23,21,18,.1));pointer-events:none; }
.mo-picker-stage > img { display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.94);transform:scale(1.06);transition:transform 1.5s cubic-bezier(.16,1,.3,1); }
.mo-picker.is-active .mo-picker-stage > img { transform:scale(1); }
.mo-picker-pins { position:absolute;z-index:1;inset:0; }
.mo-picker-pins button { position:absolute;width:34px;height:34px;padding:0;border:1px solid rgba(246,240,232,.7);border-radius:50%;background:rgba(23,21,18,.48);color:#fff;font:11px/1 Inter,Arial,sans-serif;cursor:pointer;opacity:0;transform:translateY(14px) scale(.8);transition:background .25s,color .25s,transform .25s,opacity .5s; }
.mo-picker.is-active .mo-picker-pins button { opacity:1;transform:none; }
.mo-picker.is-active .mo-picker-pins button:nth-child(1) { transition-delay:.18s; }
.mo-picker.is-active .mo-picker-pins button:nth-child(2) { transition-delay:.3s; }
.mo-picker.is-active .mo-picker-pins button:nth-child(3) { transition-delay:.42s; }
.mo-picker.is-active .mo-picker-pins button:nth-child(4) { transition-delay:.54s; }
.mo-picker-pins button:nth-child(1) { left:21%;top:58%; }
.mo-picker-pins button:nth-child(2) { left:43%;top:46%; }
.mo-picker-pins button:nth-child(3) { left:65%;top:55%; }
.mo-picker-pins button:nth-child(4) { left:81%;top:39%; }
.mo-picker-pins button:hover,.mo-picker-pins button:focus-visible,.mo-picker-pins button.is-selected { background:var(--mo-peach);color:var(--mo-dark);outline:0;transform:scale(1.12); }
.mo-picker > footer { min-height:92px;align-items:end;border-bottom:0;text-transform:none;letter-spacing:0; }
.mo-picker > footer > div { display:grid;gap:5px; }
.mo-picker > footer small { color:rgba(246,240,232,.46);font-size:10px;letter-spacing:.08em;text-transform:uppercase; }
.mo-picker > footer strong { font-size:22px;font-weight:400;letter-spacing:-.04em; }
.mo-picker > footer p { margin:0 0 3px auto;max-width:15ch;color:rgba(246,240,232,.67);font-size:13px;line-height:1.35;text-align:right; }

.mo-live-gallery { grid-column:1;grid-row:1;width:calc(100% + var(--pad));margin-left:calc(var(--pad) * -1);overflow:hidden;background:var(--mo-dark);color:#f6f0e8; }
.mo-live-gallery-slides { position:relative;aspect-ratio:1.25/1;overflow:hidden; }
.mo-live-gallery figure { position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.04);transition:opacity .7s ease,transform 1.1s cubic-bezier(.16,1,.3,1); }
.mo-live-gallery figure.is-active { z-index:1;opacity:1;transform:none; }
.mo-live-gallery img { display:block;width:100%;height:100%;object-fit:cover; }
.mo-live-gallery footer { position:relative;z-index:2;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;padding:18px var(--pad);border-top:1px solid rgba(246,240,232,.16); }
.mo-live-gallery footer span { color:var(--mo-peach);font-size:11px;letter-spacing:.08em; }
.mo-live-gallery footer p { margin:0;color:rgba(246,240,232,.58);font-size:13px; }
.mo-live-gallery footer div { display:flex;gap:6px; }
.mo-live-gallery button { width:34px;height:34px;border:1px solid rgba(246,240,232,.3);background:transparent;color:#fff;font:18px/1 Arial,sans-serif;cursor:pointer;transition:background .2s,color .2s; }
.mo-live-gallery button:hover,.mo-live-gallery button:focus-visible { background:#f6f0e8;color:var(--mo-dark);outline:0; }

/* Film sequence: the case unfolds as full compositions, never as a left-text/right-image template. */
.mo-film { background:var(--mo-dark);color:#f6f0e8; }
.mo-film-chapter { position:relative;overflow:hidden;min-height:clamp(680px,82vw,980px); }
.mo-film-chapter > figure { margin:0; }
.mo-film-chapter > figure img { display:block;width:100%;height:100%;object-fit:cover; }
.mo-film-chapter--intro,.mo-film-chapter--architecture { display:grid;place-items:stretch; }
.mo-film-chapter--intro > figure,.mo-film-chapter--architecture > figure { grid-area:1/1; }
.mo-film-chapter--intro > figure::after,.mo-film-chapter--architecture > figure::after { content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(17,16,14,.82) 0%,rgba(17,16,14,.28) 48%,rgba(17,16,14,.06) 100%); }
.mo-film-chapter--intro > figure,.mo-film-chapter--architecture > figure { position:relative;overflow:hidden; }
.mo-film-chapter--intro > figure img,.mo-film-chapter--architecture > figure img { transform:scale(1.08);transition:transform 1.6s cubic-bezier(.16,1,.3,1); }
.mo-film-chapter.is-active > figure img { transform:none; }
.mo-film-caption { position:relative;z-index:1;grid-area:1/1;align-self:end;width:min(520px,39vw);padding:0 var(--pad) clamp(48px,5.5vw,82px);opacity:0;transform:translateY(36px);transition:opacity .8s .18s ease,transform .8s .18s cubic-bezier(.16,1,.3,1); }
.mo-film-caption,.mo-film-chapter > header,.mo-outcome-copy,.mo-brief-copy { min-width:0;max-width:100%; }
.mo-film-chapter.is-active .mo-film-caption { opacity:1;transform:none; }
.mo-film-caption > span,.mo-film-chapter > header > span { display:block;color:var(--mo-peach);font-size:11px;letter-spacing:.1em;text-transform:uppercase; }
.mo-film-caption h3,.mo-film-chapter > header h3 { margin:20px 0 18px;font-size:clamp(46px,5.1vw,78px);font-weight:400;letter-spacing:-.055em;line-height:.94;text-wrap:balance; }
.mo-film-caption h3,.mo-film-chapter > header h3,.mo-outcome-copy h2,.mo-brief-copy p { max-inline-size:100%;overflow-wrap:anywhere;hyphens:auto; }
.mo-film-caption h3 em,.mo-film-chapter > header h3 em { font-family:"Cormorant Infant",Georgia,serif;font-weight:500;font-style:normal;color:var(--mo-peach); }
.mo-film-caption p { margin:0;max-width:28rem;color:rgba(246,240,232,.72);font-size:clamp(14px,1.2vw,16px);line-height:1.45; }
.mo-film-caption p + p { margin-top:14px; }
.mo-project-link { display:inline-flex;gap:10px;align-items:center;margin-top:26px;padding-bottom:6px;color:#f6f0e8;text-decoration:none;border-bottom:1px solid rgba(246,240,232,.52);font-size:14px;transition:color .2s,border-color .2s; }
.mo-project-link:hover,.mo-project-link:focus-visible { color:var(--mo-peach);border-color:var(--mo-peach);outline:0; }.mo-project-link b { font-weight:400; }
.mo-film-chapter--intro .mo-film-caption { width:min(680px,54vw); }
.mo-film-chapter--intro .mo-film-caption h3 { font-size:clamp(38px,4.4vw,66px);line-height:.96; }

.mo-film-chapter--place { padding:clamp(70px,9vw,140px) var(--pad) 0;background:#f2eee7;color:var(--mo-ink); }
.mo-film-chapter--place > header { display:flex;align-items:start;justify-content:space-between;gap:50px;margin-bottom:clamp(45px,7vw,96px); }
.mo-film-chapter--place > header > span { color:var(--mo-peach); }
.mo-film-chapter--place > header p { max-width:29rem;margin:0;color:rgba(34,33,31,.64);font-size:17px;line-height:1.5; }
.mo-film-chapter--place figure { max-width:calc(100% - 11vw);margin-left:auto;overflow:hidden; }
.mo-film-chapter--place figure img { aspect-ratio:1.72/1;object-fit:cover;transform:scale(1.07);transition:transform 1.4s cubic-bezier(.16,1,.3,1); }
.mo-film-chapter--place.is-active figure img { transform:none; }
.mo-film-facts { display:grid;grid-template-columns:repeat(3,1fr);max-width:calc(100% - 11vw);margin-left:auto;background:var(--mo-dark);color:#f6f0e8; }
.mo-film-facts article { display:flex;justify-content:space-between;align-items:end;gap:18px;min-height:150px;padding:26px;border-right:1px solid rgba(246,240,232,.16);opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .55s cubic-bezier(.16,1,.3,1); }
.mo-film-facts article:last-child { border-right:0; }
.mo-film-chapter.is-active .mo-film-facts article { opacity:1;transform:none; }
.mo-film-chapter.is-active .mo-film-facts article:nth-child(2) { transition-delay:.12s; }.mo-film-chapter.is-active .mo-film-facts article:nth-child(3) { transition-delay:.24s; }
.mo-film-facts strong { color:var(--mo-peach);font-family:"Cormorant Infant",Georgia,serif;font-size:clamp(56px,7vw,94px);font-weight:400;line-height:.8; }
.mo-film-facts span { max-width:13ch;color:rgba(246,240,232,.65);font-size:13px;line-height:1.35; }

.mo-film-chapter--comfort { padding:clamp(90px,11vw,170px) var(--pad);background:#f2eee7;color:var(--mo-ink); }
.mo-film-chapter--comfort > header { display:grid;grid-template-columns:minmax(220px,.4fr) minmax(0,1.6fr);gap:50px;align-items:start;margin-bottom:clamp(58px,8vw,112px); }
.mo-film-chapter--comfort > header > span { color:var(--mo-peach); }
.mo-film-chapter--comfort > header h3 { margin:0; }
.mo-comfort-layout { display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);gap:clamp(40px,6vw,100px);align-items:start; }
.mo-comfort-layout > figure { position:sticky;top:120px;margin:0;overflow:hidden;background:#ded6ca; }
.mo-comfort-layout > figure img { display:block;width:100%;aspect-ratio:.95/1;object-fit:cover;transform:scale(1.06);transition:transform 1.35s cubic-bezier(.16,1,.3,1); }
.mo-film-chapter--comfort.is-active .mo-comfort-layout > figure img { transform:none; }
.mo-comfort-list { border-top:1px solid var(--mo-line); }
.mo-comfort-list details { border-bottom:1px solid var(--mo-line); }
.mo-comfort-list summary { display:grid;grid-template-columns:42px minmax(0,1fr) 22px;gap:16px;align-items:center;padding:24px 0;list-style:none;cursor:pointer; }
.mo-comfort-list summary::-webkit-details-marker { display:none; }
.mo-comfort-list summary span { color:var(--mo-peach);font-size:11px;letter-spacing:.08em; }.mo-comfort-list summary h4 { margin:0;font-size:clamp(19px,2vw,29px);font-weight:400;letter-spacing:-.035em;line-height:1.1; }.mo-comfort-list summary i { font-size:22px;font-style:normal;text-align:right;transition:transform .3s ease; }.mo-comfort-list details[open] summary i { transform:rotate(45deg); }
.mo-comfort-list details > div { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:30px;padding:0 0 26px 58px; }.mo-comfort-list p { max-width:39rem;margin:0;color:rgba(34,33,31,.65);font-size:15px;line-height:1.5; }.mo-comfort-list a { align-self:end;color:inherit;text-decoration:none;white-space:nowrap;font-size:13px;border-bottom:1px solid rgba(34,33,31,.42);padding-bottom:5px; }.mo-comfort-list a b { font-weight:400;margin-left:8px; }

.mo-film-chapter--architecture { display:block;min-height:0;padding:clamp(100px,12vw,180px) var(--pad) 0;background:#f2eee7;color:var(--mo-ink); }.mo-film-chapter--architecture > header { display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1.65fr);gap:40px;align-items:start;max-width:1100px;margin:0 0 clamp(60px,8vw,120px); }.mo-film-chapter--architecture > header > span { color:var(--mo-peach);padding-top:10px; }.mo-film-chapter--architecture > header h3 { grid-column:2;margin:0;max-width:13ch;font-size:clamp(48px,5.6vw,82px);line-height:.94;overflow-wrap:normal;hyphens:none; }.mo-film-chapter--architecture > header p { grid-column:2;margin:30px 0 0;max-width:34rem;color:rgba(34,33,31,.63);font-size:17px;line-height:1.5; }.mo-film-chapter--architecture > figure { overflow:hidden;margin:0 calc(var(--pad) * -1); }.mo-film-chapter--architecture > figure img { display:block;width:100%;height:clamp(420px,58vw,860px);object-fit:cover;object-position:center;transform:scale(1.05);transition:transform 1.35s cubic-bezier(.16,1,.3,1); }.mo-film-chapter--architecture.is-active > figure img { transform:none; }
.mo-film-chapter--picker { display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1.58fr);gap:clamp(44px,7vw,120px);align-items:center;min-height:clamp(620px,62vw,860px);padding:clamp(80px,10vw,150px) var(--pad);background:#171512; }
.mo-film-chapter--picker > header { align-self:center;min-width:0;overflow:hidden; }.mo-film-chapter--picker > header h3 { max-width:7.5ch;font-size:clamp(42px,4.15vw,62px);line-height:.96; }.mo-film-chapter--picker .mo-picker { opacity:0;transform:translateY(32px);transition:opacity .8s .2s ease,transform .8s .2s cubic-bezier(.16,1,.3,1); }.mo-film-chapter--picker.is-active .mo-picker { opacity:1;transform:none; }
.mo-film-chapter--tour { display:grid;grid-template-columns:minmax(300px,.48fr) minmax(0,1.52fr);gap:clamp(44px,7vw,120px);align-items:start;padding:clamp(100px,12vw,180px) var(--pad);background:#fff;color:var(--mo-ink); }
.mo-film-chapter--tour > header { position:sticky;top:130px;min-width:0;overflow:hidden; }.mo-film-chapter--tour > header h3 { max-width:none;font-size:clamp(38px,3.6vw,54px);line-height:.98;white-space:nowrap;overflow-wrap:normal;hyphens:none; }.mo-film-chapter--tour > header p { margin:28px 0 0;max-width:25rem;color:rgba(34,33,31,.62);font-size:17px;line-height:1.5; }.mo-film-chapter--tour .mo-gallery { min-height:clamp(600px,62vw,860px);opacity:0;transform:translateY(32px);transition:opacity .8s .15s ease,transform .8s .15s cubic-bezier(.16,1,.3,1); }.mo-film-chapter--tour.is-active .mo-gallery { opacity:1;transform:none; }
[data-mo-reveal] { opacity:0;transform:translateY(22px);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1); }
[data-mo-reveal].is-visible { opacity:1;transform:none; }

@media (max-width:1100px) {
  .mo-cover-copy { top:clamp(175px,24vh,240px);width:min(42vw,500px); }
  .mo-cover-house { left:40%;width:92vw; }
  .mo-briefs,.mo-outcome { grid-template-columns:1fr; }
  .mo-brief + .mo-brief { border-left:1px solid var(--mo-line);border-top:0; }
  .mo-section-head,.mo-journey-head { grid-template-columns:1fr; }
  .mo-journey-head > p { max-width:38rem;justify-self:start; }
  .mo-scope-grid { grid-template-columns:repeat(2,1fr); }
  .mo-step-copy { grid-template-columns:44px .7fr 1fr; }
  .mo-outcome-copy { grid-column:1;grid-row:auto; }
  .mo-outcome-screen { grid-column:1;grid-row:auto;width:80%;margin-left:0;justify-self:end; }
}

@media (max-width:760px) {
  .mo-cover { min-height:820px; }
  .mo-meta { top:96px;font-size:10px; }
  .mo-cover-mark { top:18%;right:-20%;height:48%;opacity:.22; }
  .mo-cover-copy { top:148px;left:18px;width:calc(100% - 36px);max-width:430px; }
  .mo-cover-wordmark { width:min(86vw,430px);margin-bottom:24px; }
  .mo-cover-copy strong { font-size:18px; }
  .mo-cover-house { width:225vw;left:-58%;bottom:28px; }
  .mo-back { display:none; }
  .mo-brief { grid-template-columns:32px 1fr;min-height:320px;padding:30px 22px; }
  .mo-brief-copy p { font-size:18px; }
  .mo-scope-grid { grid-template-columns:1fr; }
  .mo-scope-grid article { min-height:155px; }
  .mo-step { padding-left:18px;padding-right:18px;padding-bottom:100px; }
  .mo-step-copy { grid-template-columns:38px 1fr; }
  .mo-step-copy p { grid-column:2; }
  .mo-step--atmosphere,.mo-step--place,.mo-step--architecture,.mo-step--tour { display:block; }
  .mo-step--atmosphere,.mo-step--tour { padding-top:78px; }
  .mo-step--atmosphere .mo-step-copy,
  .mo-step--place .mo-step-copy,
  .mo-step--architecture .mo-step-copy,
  .mo-step--tour .mo-step-copy { margin:0 0 44px; }
  .mo-step--atmosphere { padding-right:18px; }
  .mo-step--atmosphere .mo-atmosphere-photo { min-height:0;aspect-ratio:16/10;width:calc(100% + 36px);margin-left:-18px; }
  .mo-step--place .mo-step-copy { position:static; }
  .mo-place-grid { grid-template-columns:1fr; }
  .mo-place-main img { height:65vw; }
  .mo-facts { grid-template-columns:repeat(3,1fr); }
  .mo-facts article { min-height:160px;border-bottom:0;border-right:1px solid rgba(255,255,255,.16);padding:18px 12px; }
  .mo-facts article:last-child { border-right:0; }
  .mo-facts strong { font-size:50px; }
  .mo-facts span { font-size:11px; }
  .mo-screen--inset,.mo-interface-scene { display:none; }
  .mo-catalog-scene { min-height:0; }
  .mo-step--architecture .mo-step-copy,.mo-step--architecture .mo-wide-photo { grid-column:auto; }
  .mo-step--architecture .mo-step-copy { margin-top:0; }
  .mo-step--catalog { padding-bottom:0; }
  .mo-catalog-scene { display:block;min-height:0;padding:78px 18px; }
  .mo-catalog-scene .mo-step-copy { margin:0 0 44px; }
  .mo-catalog-screen { width:calc(100% + 36px);margin-left:-18px;border-left:0;border-right:0; }
  .mo-picker { width:calc(100% + 36px);margin-left:-18px;border-left:0;border-right:0; }
  .mo-picker > header,.mo-picker > footer { padding-left:18px;padding-right:18px; }
  .mo-picker > footer { display:grid;grid-template-columns:1fr 1fr;align-items:end; }
  .mo-picker > footer p { grid-column:1 / -1;margin:8px 0 0;text-align:left; }
  .mo-gallery { grid-template-columns:1fr;grid-template-rows:auto;min-height:0; }
  .mo-gallery-a { grid-row:auto; }
  .mo-gallery figure { aspect-ratio:16/10; }
  .mo-step--tour .mo-gallery { grid-template-columns:1fr;gap:1px; }
  .mo-step--tour .mo-gallery-a { grid-column:auto;aspect-ratio:16/10; }
  .mo-step--tour .mo-gallery-b,.mo-step--tour .mo-gallery-c { aspect-ratio:16/10; }
  .mo-film-chapter { min-height:0; }
  .mo-film-chapter--intro { min-height:640px; }
  .mo-film-caption { width:auto;padding:0 18px 52px; }
  .mo-film-caption h3,.mo-film-chapter > header h3 { font-size:43px;line-height:.96; }
  .mo-film-caption p { font-size:15px; }
  .mo-film-chapter--architecture { display:block;min-height:0;padding:78px 18px 0; }
  .mo-film-chapter--architecture > header { display:block;margin:0 0 46px; }
  .mo-film-chapter--architecture > header > span { padding:0; }
  .mo-film-chapter--architecture > header h3 { margin:22px 0 0;max-width:100%;font-size:43px;line-height:.97;white-space:normal; }
  .mo-film-chapter--architecture > header p { margin:24px 0 0;font-size:15px; }
  .mo-film-chapter--architecture > figure { margin:0 -18px; }
  .mo-film-chapter--architecture > figure img { height:auto;min-height:360px; }
  .mo-film-chapter--intro .mo-film-caption { width:auto; }
  .mo-film-chapter--intro .mo-film-caption h3 { font-size:34px; }
  .mo-film-chapter--place { padding:64px 18px 0; }
  .mo-film-chapter--place > header { display:block;margin-bottom:38px; }
  .mo-film-chapter--place > header p { margin-top:22px;font-size:15px; }
  .mo-film-chapter--place figure,.mo-film-facts { max-width:none;margin-left:0; }
  .mo-film-chapter--place figure { width:calc(100% + 36px);margin-left:-18px; }
  .mo-film-facts { grid-template-columns:1fr 1fr; }
  .mo-film-facts article { min-height:110px;padding:18px;border-bottom:1px solid rgba(246,240,232,.16); }
  .mo-film-facts article:nth-child(2) { border-right:0; }.mo-film-facts article:nth-child(3) { grid-column:1 / -1;border-bottom:0; }
  .mo-film-facts strong { font-size:58px; }
  .mo-film-chapter--comfort { padding:78px 18px; }
  .mo-film-chapter--comfort > header { display:block;margin-bottom:44px; }
  .mo-film-chapter--comfort > header > span { margin-bottom:24px; }
  .mo-comfort-layout { display:block; }
  .mo-comfort-layout > figure { position:static;margin:0 0 34px; }
  .mo-comfort-layout > figure img { aspect-ratio:1.15/1; }
  .mo-comfort-list summary { grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;padding:19px 0; }
  .mo-comfort-list summary h4 { font-size:19px; }
  .mo-comfort-list details > div { display:block;padding:0 0 22px 44px; }
  .mo-comfort-list a { display:inline-block;margin-top:18px; }
  .mo-film-chapter--picker,.mo-film-chapter--tour { display:block;padding:78px 18px; }
  .mo-film-chapter--picker > header,.mo-film-chapter--tour > header { margin-bottom:44px; }
  .mo-film-chapter--tour > header { position:static; }.mo-film-chapter--tour > header p { font-size:15px; }
  .mo-film-chapter--tour .mo-gallery { min-height:0; }
  .mo-outcome { padding-left:18px;padding-right:18px; }
  .mo-outcome-copy { margin-bottom:46px; }
  .mo-outcome-screen { width:100%;margin-left:0;transform:none; }
  .mo-live-gallery { grid-column:auto;grid-row:auto;width:calc(100% + 36px);margin-left:-18px; }
  .mo-live-gallery footer { padding-left:18px;padding-right:18px; }
  .mo-cta { display:block; }
  .mo-cta button { margin-top:42px; }
}

@media (max-width:520px) {
  .mo-cover { min-height:740px; }
  .mo-cover-house { width:245vw;left:-70%;bottom:22px; }
  .mo-section-head h2,.mo-journey-head h2,.mo-outcome-copy h2,.mo-cta h2 { font-size:42px; }
  .mo-briefs { padding-left:0;padding-right:0; }
  .mo-facts,.mo-step--place .mo-facts { grid-template-columns:1fr; }
  .mo-facts article,.mo-step--place .mo-facts article { min-height:108px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16); }
  .mo-facts span { font-size:13px; }
}

@media (prefers-reduced-motion:reduce) {
  .mo-cover-wordmark,.mo-cover-house,[data-mo-reveal],[data-mo-scene] .mo-interface-screen,.mo-film-chapter * { animation:none!important;transition:none!important;opacity:1; }
  .mo-cover-house { transform:none; }
  [data-mo-scene] .mo-interface-screen { transform:none; }
  .mo-film-chapter * { transform:none!important; }
}
