/* BBS LM-R / An object in every dimension. */
:root { --lm-accent:#8a6334;--color-muted-rgb:91 85 77; }
html[data-theme="dark"] { --lm-accent:#c2a375;--color-muted-rgb:174 165 153; }
html { scroll-padding-top:124px; }
.case-study { --lm-line:rgb(var(--color-border-rgb));--lm-ink:rgb(var(--color-fg-rgb));font-family:var(--font-sans); }
.case-study * { min-width:0; }
.lm-shell { width:min(100%,1440px);margin-inline:auto;padding-inline:clamp(24px,5vw,80px); }
.lm-section { padding-block:clamp(70px,8vw,124px); }
.lm-eyebrow,.lm-mini-label,.lm-project-line,.lm-hero-foot,.lm-scope span,.lm-index,.lm-compare-tag,.lm-stage-label,.lm-mode-buttons,.lm-motion-foot,.lm-finale-foot { font-family:var(--font-mono);font-size:10px;line-height:1.6;letter-spacing:.09em;text-transform:uppercase; }
.lm-eyebrow { margin:0 0 24px;display:flex;align-items:center;gap:18px;color:rgb(var(--color-muted-rgb)); }
.lm-section-number { display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--lm-line);border-radius:50%;font-size:10px;letter-spacing:0;color:var(--lm-ink); }
.lm-heading { font-size:clamp(38px,4.8vw,72px);font-weight:500;line-height:1.025;letter-spacing:-.055em;margin:0;text-wrap:balance; }
.lm-copy { font-size:clamp(15px,1.15vw,17px);line-height:1.75;color:rgb(var(--color-muted-rgb));max-width:46ch;margin:0; }
.lm-copy+.lm-copy { margin-top:24px; }
.lm-copy-large { font-size:clamp(20px,2.2vw,30px);line-height:1.45;letter-spacing:-.026em;color:var(--lm-ink); }
.lm-mini-label { color:rgb(var(--color-muted-rgb)); }
.lm-inline-link { display:inline-flex;align-items:center;gap:24px;font-size:12px;padding-block:12px;border-bottom:1px solid currentColor; }
.lm-button { display:inline-flex;min-height:52px;align-items:center;justify-content:space-between;gap:36px;padding:16px 24px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-mono);font-size:11px;text-transform:uppercase;letter-spacing:.055em;line-height:1.5;transition:background .25s,color .25s,transform .25s; }
.lm-button-solid { background:var(--lm-ink);border-color:var(--lm-ink);color:rgb(var(--color-bg-rgb)); }
.lm-button:hover { transform:translateY(-3px); }.lm-button-solid:hover { background:var(--lm-accent);border-color:var(--lm-accent);color:#fff; }
.case-study a:focus-visible,.case-study button:focus-visible,.case-study input:focus-visible { outline:2px solid var(--lm-accent);outline-offset:5px; }
.lm-hero { padding-top:30px; }
.lm-project-line { display:flex;justify-content:space-between;gap:24px;border-bottom:1px solid var(--lm-line);padding-bottom:18px;color:rgb(var(--color-muted-rgb)); }
.lm-hero-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:36px;padding-top:42px;align-items:center; }
.lm-hero-copy { position:relative;z-index:1;padding:16px 0; }
.lm-brand-name { font-size:20px;font-weight:600;letter-spacing:-.02em;margin:0 0 8px; }
.lm-hero h1 { font-size:clamp(90px,11.5vw,166px);line-height:.8;letter-spacing:-.075em;font-weight:600;margin:0 0 40px;white-space:nowrap; }
.lm-title-dot { color:var(--lm-accent); }
.lm-hero-title { font-size:clamp(34px,3.7vw,54px);line-height:1.04;letter-spacing:-.055em;margin:0 0 24px;max-width:14ch; }
.lm-hero .lm-copy { max-width:34ch; }.lm-hero .lm-button { margin-top:32px; }
.lm-hero-figure { margin:0;position:relative;min-height:640px;align-self:stretch;background:#080808;overflow:hidden; }
.lm-hero-figure>img { width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:51% center; }
.lm-hero-figure figcaption { position:absolute;inset:auto 24px 20px;display:flex;justify-content:space-between;gap:24px;color:#ddd8cf;font-family:var(--font-mono);font-size:9px;letter-spacing:.09em;text-transform:uppercase; }
.lm-crosshair { position:absolute;font-size:22px;font-weight:300;color:#a8a297;opacity:.6; }.lm-crosshair-a { top:14px;left:20px; }.lm-crosshair-b { right:20px;bottom:46px; }
.lm-hero-foot { display:flex;justify-content:space-between;gap:24px;padding-block:24px;color:rgb(var(--color-muted-rgb)); }.lm-hero-foot p { margin:0; }
.lm-index { position:sticky;top:64px;z-index:35;border-block:1px solid var(--lm-line);background:rgb(var(--color-bg-rgb)/.97);backdrop-filter:blur(12px); }
.lm-index>.lm-shell { display:flex;align-items:center;gap:44px;position:relative;min-height:58px; }
.lm-index-heading { font-size:9px;color:rgb(var(--color-muted-rgb));white-space:nowrap; }
.lm-index-links { display:flex;justify-content:space-between;gap:24px;flex:1;overflow:auto;scrollbar-width:none; }
.lm-index-links a { display:inline-flex;align-items:center;gap:8px;padding-block:19px;white-space:nowrap;font-family:var(--font-sans);font-size:12px;text-transform:none;letter-spacing:0; }
.lm-index-links a>span { font-family:var(--font-mono);font-size:9px;color:rgb(var(--color-muted-rgb)); }
.lm-index-links a[aria-current="location"] { color:var(--lm-accent); }.lm-index-links a[aria-current="location"]>span { color:inherit; }
.lm-index-progress { position:absolute;left:0;bottom:-1px;height:2px;background:var(--lm-accent);width:calc(var(--progress,0)*100%);transition:width .2s linear; }
.lm-brief-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.lm-pullquote { font-size:clamp(44px,5.5vw,82px);line-height:.98;font-weight:500;letter-spacing:-.06em;margin:0;position:relative; }
.lm-accent-mark { display:block;margin-top:32px;font-size:54px;color:var(--lm-accent);font-weight:300; }
.lm-brief .lm-inline-link { margin-top:20px; }
.lm-scope { display:grid;grid-template-columns:repeat(3,1fr);margin-top:56px;border-top:1px solid var(--lm-line); }
.lm-scope div { padding:24px 24px 0;border-right:1px solid var(--lm-line); }.lm-scope div:first-child { padding-left:0; }.lm-scope div:last-child { border:0; }.lm-scope span { color:rgb(var(--color-muted-rgb)); }.lm-scope p { font-size:17px;letter-spacing:-.015em;margin:12px 0 0; }
.lm-structure { border-top:1px solid var(--lm-line);padding-top:80px; }
.lm-structure-head { display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:44px; }.lm-structure-note { max-width:390px; }.lm-structure-note>.lm-mini-label { display:block;margin-bottom:16px; }
.lm-compare-visual { position:relative;aspect-ratio:16/9;background:#080808;overflow:hidden; }
.lm-compare-visual>img,.lm-wire-layer img { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
.lm-wire-layer { position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--split)) 0 0);background:#080808; }
.lm-compare-line { position:absolute;top:0;bottom:0;left:var(--split);width:1px;background:#d9d2c5;pointer-events:none; }
.lm-compare-line span { position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:1px solid #d9d2c5;border-radius:50%;display:grid;place-items:center;background:#10100e;color:#f1eadd;font-size:19px; }
.lm-compare-tag { position:absolute;top:22px;color:#f0eade;font-size:9px;background:#08080899;padding:6px 10px; }.lm-compare-tag-a { left:18px; }.lm-compare-tag-b { right:18px; }
.lm-compare-controls { display:flex;align-items:center;gap:28px;border-bottom:1px solid var(--lm-line);padding:20px 0; }.lm-compare-controls label { font-size:12px;white-space:nowrap; }.lm-compare-controls input { flex:1;accent-color:var(--lm-accent);min-height:24px;cursor:ew-resize; }.lm-compare-controls output { font-family:var(--font-mono);font-size:11px;width:36px; }
.lm-evidence-caption { display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:18px; }.lm-evidence-caption p { font-size:12px;color:rgb(var(--color-muted-rgb));margin:0;line-height:1.6; }
.lm-surface { background:#151410;color:#f0ece3;--lm-line:#39352e;--lm-ink:#f0ece3; }
.lm-surface .lm-copy,.lm-surface .lm-eyebrow,.lm-surface .lm-mini-label { color:#b1a89a; }
.lm-surface-head { display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:32px;align-items:start;margin-bottom:48px; }.lm-surface-head .lm-eyebrow { margin-top:8px; }.lm-surface-head .lm-heading { font-size:clamp(38px,4.2vw,64px); }.lm-surface-head .lm-copy { font-size:15px;margin-top:8px; }
.lm-macro-grid { display:grid;grid-template-columns:1.1fr 1fr;gap:44px;align-items:start; }.lm-macro { margin:0; }.lm-macro img { width:100%;object-fit:cover;background:#080808; }.lm-macro-gold img { aspect-ratio:.85;object-position:35% center; }.lm-macro-project img { aspect-ratio:2.05;object-position:50% 45%; }.lm-macro-barrel img { aspect-ratio:1.8; }.lm-macro-stack { display:grid;gap:44px;padding-top:0; }
.lm-macro-feature { margin-top:44px; } .lm-macro-feature img { width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center; }
.lm-macro figcaption { display:flex;flex-direction:column;gap:18px;padding-top:20px; }.lm-macro h3 { font-size:23px;line-height:1.15;font-weight:500;letter-spacing:-.035em;margin:10px 0 0; }.lm-macro p { font-size:13px;color:#b1a89a;line-height:1.65;max-width:36ch;margin:12px 0 0; }
.lm-concept-label,.lm-render-label { display:inline-block;align-self:start;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:#c9b18c;border-top:1px solid #60523e;padding-top:8px; }.lm-render-label { color:#b1a89a;border-color:#39352e; }
.lm-art-note { display:flex;gap:18px;max-width:620px;margin-top:48px;color:#ada393; }.lm-art-note>span { font-size:24px; }.lm-art-note p { font-size:12px;line-height:1.7;margin:0; }
.lm-motion { padding-bottom:72px; }
.lm-motion-head { display:grid;grid-template-columns:1.25fr .75fr;gap:64px;align-items:end;margin-bottom:44px; }.lm-motion-head .lm-heading { font-size:clamp(38px,4.3vw,64px); }
.lm-motion-shell { background:#181715;color:#eee9df; }
.lm-motion-stage { height:clamp(360px,42vw,600px);position:relative;background:radial-gradient(ellipse at 50% 80%,#302c26,#151411 70%);overflow:hidden; }
#caseMotionRoot { position:absolute;inset:0;z-index:2; }
.lm-motion-poster { position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent;z-index:3;transition:opacity .5s; }
.lm-play-overlay { position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#0003;color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.05em; }
.lm-play-icon { width:64px;height:64px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center;padding-left:3px;background:#12110fcc;backdrop-filter:blur(8px);transition:transform .2s; }.lm-play-overlay:hover .lm-play-icon { transform:scale(1.08); }
.lm-stage-label { position:absolute;z-index:5;left:24px;right:24px;top:22px;display:flex;justify-content:space-between;gap:20px;color:#bdb4a5;font-size:9px;pointer-events:none; }
.lm-motion-stage.is-live .lm-motion-poster { opacity:0;pointer-events:none; }.lm-motion-stage.is-live .lm-play-overlay { display:none; }.lm-motion-stage.is-failed .lm-play-overlay { display:none; }
.lm-motion-controls { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 24px;border-top:1px solid #39352e; }
.lm-mode-buttons { display:flex;align-items:center;gap:12px;flex-wrap:wrap; }.lm-mode-buttons button { font-size:10px;padding:10px 14px;border:1px solid #4d473e;color:#bdb4a5;min-height:40px; }.lm-mode-buttons button[aria-pressed="true"] { background:#efe9dd;color:#1a1814;border-color:#efe9dd; }.lm-mode-buttons button:disabled { opacity:.5;cursor:wait; }
#caseMotionStatus { font-family:var(--font-mono);font-size:10px;color:#bdb4a5;margin:0;line-height:1.5;max-width:32ch; }
.lm-motion-foot { display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding-top:20px; }.lm-motion-foot .lm-inline-link { text-transform:none;letter-spacing:0; }
.lm-delivery { padding-top:60px; }
.lm-delivery-grid { display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:start; }.lm-delivery-grid .lm-copy { margin-top:28px; }.lm-measure-note { font-size:11px;color:rgb(var(--color-muted-rgb));line-height:1.65;max-width:45ch;margin-top:24px; }
.lm-metrics { padding-top:6px; }.lm-metric-row { border-top:1px solid var(--lm-line);padding:22px 0 24px; }.lm-metric-row>div:first-child { display:flex;justify-content:space-between;align-items:baseline;gap:24px; }.lm-metric-row p { font-size:56px;font-weight:500;line-height:1;margin:0 0 20px;letter-spacing:-.055em;white-space:nowrap; }.lm-metric-row small { font-family:var(--font-mono);font-size:11px;letter-spacing:0;margin-left:10px; }.lm-bar-track { height:8px;background:rgb(var(--color-soft-rgb)); }.lm-bar-track span { height:100%;display:block;background:var(--lm-accent); }.lm-metric-row:first-child .lm-bar-track span { background:var(--lm-ink); }
.lm-metric-result { display:flex;gap:30px;align-items:center;margin-top:18px; }.lm-metric-result strong { font-size:clamp(80px,9vw,136px);font-weight:500;line-height:.9;letter-spacing:-.08em;color:var(--lm-accent); }.lm-metric-result p { font-size:15px;line-height:1.5;color:rgb(var(--color-muted-rgb));margin:0; }
.lm-delivery-notes { display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px; }.lm-delivery-notes>div { position:relative;padding-top:20px;border-top:1px solid var(--lm-line); }.lm-delivery-notes span { font-family:var(--font-mono);font-size:10px;color:var(--lm-accent); }.lm-delivery-notes h3 { font-size:17px;line-height:1.3;font-weight:500;letter-spacing:-.02em;margin:18px 0 10px; }.lm-delivery-notes p { font-size:13px;line-height:1.7;color:rgb(var(--color-muted-rgb));max-width:36ch;margin:0; }
.lm-devices { background:rgb(var(--color-soft-rgb)/.5); }
.lm-devices-grid { display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:center; }.lm-devices .lm-copy { margin-top:28px; }
.lm-phone-figure { margin:0;position:relative;display:grid;place-items:center;padding:24px 0 0; }.lm-phone-figure img { position:relative;z-index:1;width:auto;height:470px;max-width:90%;object-fit:contain;filter:drop-shadow(0 24px 25px #0003); }.lm-phone-figure figcaption { margin-top:32px;font-family:var(--font-mono);font-size:9px;letter-spacing:.055em;color:rgb(var(--color-muted-rgb));text-align:center;z-index:1; }.lm-device-outline { position:absolute;width:84%;aspect-ratio:1;border:1px solid rgb(var(--color-border-rgb));border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%); }.lm-device-outline:before,.lm-device-outline:after { content:"";position:absolute;background:rgb(var(--color-border-rgb));left:50%;top:-12%;bottom:-12%;width:1px; }.lm-device-outline:after { top:50%;left:-12%;right:-12%;height:1px;width:auto; }
.lm-device-facts { margin-top:30px; }.lm-device-facts p { display:flex;justify-content:space-between;align-items:baseline;gap:20px;border-top:1px solid var(--lm-line);padding-top:16px;margin:16px 0 0;font-size:12px;line-height:1.6; }.lm-device-facts span { color:rgb(var(--color-muted-rgb)); }.lm-device-facts b { font-weight:500;text-align:right; }
.lm-experience { border-top:1px solid var(--lm-line); }
.lm-experience-top { display:flex;justify-content:space-between;gap:24px;align-items:center; }.lm-experience-top .lm-eyebrow { margin:0; }.lm-experience-grid { display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:center;margin-top:44px; }.lm-display { font-size:clamp(60px,7vw,108px);font-weight:500;line-height:.91;letter-spacing:-.065em;margin:0; }.lm-experience-copy .lm-button { margin-top:32px; }.lm-viewer-features { display:flex;gap:24px;margin-top:24px;font-family:var(--font-mono);font-size:10px;color:rgb(var(--color-muted-rgb)); }.lm-viewer-features span+span:before { content:"/";margin-right:24px; }
.lm-finale { background:#090909;color:#eee9df;padding-top:64px;overflow:hidden; }
.lm-finale-title .lm-eyebrow { justify-content:center;color:#ad9f8a;margin:0 0 24px; }.lm-finale-title h2 { font-size:clamp(88px,16vw,240px);font-weight:500;line-height:.82;letter-spacing:-.075em;text-align:center;margin:0; }
.lm-finale-scene { position:relative;margin-top:24px; }.lm-finale-scene>img { display:block;width:100%;height:auto; }.lm-finale-overlay { position:absolute;inset:0;display:flex;align-items:center; }.lm-finale-overlay>div { max-width:35%; }.lm-finale-overlay p { font-size:clamp(20px,2.6vw,38px);letter-spacing:-.035em;line-height:1.2;margin:0 0 32px; }.lm-finale-overlay .lm-button { color:#eee9df;border-color:#88775f; }
.lm-finale-foot { display:flex;justify-content:space-between;gap:24px;padding-block:24px 30px;border-top:1px solid #27231e;color:#a89b89;font-size:9px; }.lm-finale-foot a { color:#eee9df; }
@media(max-width:1100px) {
 .lm-hero-grid { gap:28px; }.lm-hero-figure { min-height:600px; }.lm-hero h1 { font-size:11vw; }.lm-index>.lm-shell { gap:28px; }.lm-index-links { gap:24px; }.lm-brief-grid,.lm-delivery-grid,.lm-experience-grid { gap:48px; }.lm-surface-head { grid-template-columns:1fr 1.6fr; }.lm-surface-head .lm-copy { grid-column:2; }.lm-macro-grid { gap:28px; }.lm-macro-stack { padding-top:0;gap:28px; }.lm-macro-feature { margin-top:28px; }.lm-metric-row p { font-size:44px; }.lm-devices-grid { gap:48px; }
}
@media(max-width:900px) {
 .lm-project-author { display:none; }.lm-hero-grid { grid-template-columns:1fr 1fr; }.lm-hero h1 { font-size:11.5vw; }.lm-hero-figure { min-height:560px; }.lm-hero-title { font-size:36px; }.lm-hero .lm-copy { font-size:14px; }.lm-hero .lm-button { padding-inline:16px;gap:18px;font-size:10px; }.lm-index-heading { display:none; }.lm-index-links { justify-content:flex-start;gap:28px; }.lm-structure-head { gap:36px; }.lm-motion-head { grid-template-columns:1fr;gap:24px; }.lm-motion-head .lm-copy { max-width:60ch; }.lm-delivery-grid { grid-template-columns:1fr;gap:40px; }.lm-metrics { max-width:640px; }.lm-devices-grid { grid-template-columns:.8fr 1.2fr;gap:36px; }.lm-phone-figure img { height:390px; }.lm-experience-grid { grid-template-columns:1fr 1fr;gap:40px; }.lm-finale-overlay .lm-button { font-size:9px;gap:16px;padding-inline:16px; }
}
@media(max-width:700px) {
 html { scroll-padding-top:112px; }.header-inner { padding-inline:16px;gap:8px; }.brand { font-size:14px;gap:8px;white-space:nowrap; }.brand img { width:26px;height:26px; }.header-controls { gap:6px; }.lang-btn { min-width:30px;padding-inline:8px; }.mobile-menu-btn { width:30px;height:30px; }
 .lm-shell { padding-inline:24px; }.lm-section { padding-block:64px; }.lm-heading { font-size:39px; }.lm-copy { font-size:15px; }.lm-copy-large { font-size:23px; }.lm-eyebrow { font-size:9px;gap:12px;margin-bottom:22px; }
 .lm-hero { padding-top:20px; }.lm-project-line { gap:20px;font-size:8px;align-items:start; }.lm-project-line>span:nth-child(2) { text-align:right;max-width:16ch; }
 .lm-hero-grid { grid-template-columns:1fr;gap:28px;padding-top:30px; }.lm-hero-copy { padding:0; }.lm-brand-name { font-size:16px; }.lm-hero h1 { font-size:clamp(96px,26vw,154px);margin-bottom:26px; }.lm-hero-title { font-size:38px;max-width:100%; }.lm-hero-title { max-width:16ch; }.lm-hero .lm-copy { font-size:15px;max-width:35ch; }.lm-hero .lm-button { font-size:10px;margin-top:26px;padding:15px 20px;gap:28px; }
 .lm-hero-figure { min-height:0;aspect-ratio:1.05; }.lm-hero-figure figcaption { inset:auto 16px 16px;font-size:8px; }.lm-hero-foot { display:grid;grid-template-columns:1fr auto;gap:8px 20px;font-size:8px; }.lm-hero-foot p:nth-child(2) { grid-column:1; }.lm-hero-foot a { grid-column:2;grid-row:1/3;align-self:center;text-align:right;max-width:14ch; }
 .lm-index { top:56px; }.lm-index>.lm-shell { min-height:50px;padding-inline:24px; }.lm-index-links { gap:24px; }.lm-index-links a { padding-block:16px;font-size:11px; }
 .lm-brief-grid { grid-template-columns:1fr;gap:30px; }.lm-pullquote { font-size:50px; }.lm-accent-mark { display:inline-block;font-size:44px;margin:0 0 0 16px; }.lm-scope { margin-top:36px;grid-template-columns:1fr; }.lm-scope div,.lm-scope div:first-child { display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:16px 0;border-right:0;border-bottom:1px solid var(--lm-line); }.lm-scope p { margin:0;font-size:14px;text-align:right; }.lm-scope span { font-size:9px; }
 .lm-structure-head { display:grid;gap:24px;margin-bottom:28px; }.lm-structure-note { max-width:100%; }.lm-structure-note .lm-mini-label { display:none; }.lm-compare-visual { aspect-ratio:1.2; }.lm-compare-visual>img,.lm-wire-layer img { object-fit:cover; }.lm-compare-tag { top:14px;font-size:8px; }.lm-compare-tag-a { left:10px; }.lm-compare-tag-b { right:10px; }.lm-compare-line span { width:32px;height:32px;font-size:17px; }.lm-compare-controls { flex-wrap:wrap;gap:12px;padding:16px 0; }.lm-compare-controls label { width:100%;font-size:11px; }.lm-evidence-caption { flex-direction:column;gap:10px; }.lm-evidence-caption p { font-size:11px; }
 .lm-surface-head { grid-template-columns:1fr;gap:0;margin-bottom:32px; }.lm-surface-head .lm-copy { grid-column:auto;margin-top:24px; }.lm-surface-head .lm-heading { font-size:42px; }.lm-surface-head .lm-eyebrow { margin-top:0; }.lm-macro-grid { grid-template-columns:1fr;gap:36px; }.lm-macro-stack { padding-top:0;gap:36px; }.lm-macro-feature { margin-top:36px; }.lm-macro-gold img { aspect-ratio:1.15; }.lm-macro-project img,.lm-macro-barrel img { aspect-ratio:1.4; }.lm-macro figcaption { gap:14px;padding-top:16px; }.lm-art-note { margin-top:32px; }
 .lm-motion-head { gap:24px;margin-bottom:28px; }.lm-motion-head .lm-heading { font-size:38px; }.lm-motion-stage { height:380px; }.lm-motion-poster { object-fit:cover; }.lm-stage-label { left:16px;right:16px;top:16px;font-size:8px; }.lm-stage-label>span:nth-child(2) { max-width:14ch;text-align:right; }.lm-play-overlay { font-size:10px; }
 .lm-motion-controls { flex-direction:column;align-items:start;gap:14px;padding:16px; }.lm-mode-buttons { gap:8px; }.lm-mode-buttons button { font-size:9px;padding:9px 10px; }.lm-motion-foot { flex-direction:column;gap:8px; }.lm-motion-foot .lm-mini-label { font-size:9px; }
 .lm-delivery-grid { gap:32px; }.lm-delivery-grid .lm-copy { margin-top:24px; }.lm-metric-row p { font-size:46px; }.lm-metric-row .lm-mini-label { font-size:9px; }.lm-metric-result { gap:22px; }.lm-metric-result strong { font-size:90px; }.lm-metric-result p { font-size:13px; }.lm-delivery-notes { grid-template-columns:1fr;gap:24px;margin-top:40px; }.lm-delivery-notes h3 { display:inline;margin-left:16px;font-size:16px; }.lm-delivery-notes p { margin-top:12px;max-width:100%; }
 .lm-devices-grid { grid-template-columns:1fr;gap:40px; }.lm-phone-figure { order:2;max-width:400px;width:100%;margin-inline:auto; }.lm-phone-figure img { height:400px; }.lm-device-facts p { font-size:11px; }.lm-device-facts b { max-width:14ch; }
 .lm-experience-top { flex-direction:column;align-items:start;gap:16px; }.lm-experience-top>.lm-mini-label { display:none; }.lm-experience-grid { grid-template-columns:1fr;gap:32px;margin-top:30px; }.lm-display { font-size:76px; }.lm-experience-copy .lm-copy-large { font-size:23px; }.lm-experience-copy .lm-button { gap:20px;font-size:10px;padding-inline:18px; }
 .lm-finale { padding-top:48px; }.lm-finale-title .lm-eyebrow { font-size:8px; }.lm-finale-title h2 { font-size:clamp(76px,21vw,130px); }.lm-finale-scene { margin-top:30px; }.lm-finale-scene>img { height:370px;object-fit:cover;object-position:76% center; }.lm-finale-overlay { position:static;display:block;padding-block:28px 40px; }.lm-finale-overlay>div { max-width:100%; }.lm-finale-overlay p { font-size:26px;margin-bottom:24px; }.lm-finale-overlay .lm-button { font-size:10px;gap:32px;padding:16px 22px; }.lm-finale-foot { flex-direction:column;gap:14px;font-size:8px; }
}
@media(max-width:360px) { .lm-shell { padding-inline:20px; }.lm-heading { font-size:34px; }.lm-hero-title { font-size:34px; }.lm-hero h1 { font-size:94px; }.lm-metric-row p { font-size:38px; }.lm-mode-buttons button { font-size:8px;padding-inline:8px; }.lm-display { font-size:66px; }.lm-motion-stage { height:330px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.case-study *, .case-study *:before,.case-study *:after { transition:none!important; } }

main.case-study { overflow:clip; }
.lm-index-links a { flex-shrink:0; }

.lm-compare-visual { touch-action:pan-y;cursor:ew-resize;user-select:none; }
.lm-compare-visual img { pointer-events:none; }
.lm-compare-line { width:44px;transform:translateX(-50%);background:linear-gradient(to right,transparent calc(50% - .5px),#d9d2c5 calc(50% - .5px),#d9d2c5 calc(50% + .5px),transparent calc(50% + .5px));pointer-events:auto;cursor:ew-resize;touch-action:none; }
.lm-compare-line span { top:47.7%;width:48px;height:48px;box-shadow:0 2px 18px #0008; }
.lm-compare-line:focus-visible { outline:none; }.lm-compare-line:focus-visible span { outline:3px solid var(--lm-accent);outline-offset:4px; }
.lm-compare-visual.is-dragging { cursor:grabbing; }.lm-compare-visual.is-dragging .lm-compare-line span { background:#b49160;color:#080808; }
.lm-compare-instruction { font-size:12px;flex:1; }.lm-compare-controls { justify-content:space-between; }

.lm-motion-controls { display:grid;grid-template-columns:1fr auto;gap:20px 30px;padding:26px; }
.lm-motion-control-title { grid-column:1/-1; }.lm-motion-control-title p { margin:6px 0 0;color:#bdb4a5;font-size:13px;line-height:1.6; }
.lm-mode-buttons { gap:10px; }.lm-mode-buttons button { display:flex;align-items:center;gap:12px;padding:14px 18px;min-height:68px;text-align:left;letter-spacing:0;text-transform:none; }
.lm-mode-buttons button>span:first-child { font-size:22px; }.lm-mode-buttons strong { display:block;font-family:var(--font-sans);font-size:13px;font-weight:500; }.lm-mode-buttons small { display:block;font-size:9px;line-height:1.6;margin-top:4px;opacity:.75; }
.lm-mode-buttons button:hover { border-color:#d1b17e; }.lm-mode-buttons button[data-motion-action="play"] { border-color:#a98959;color:#ead1a9; }
@media(max-width:900px) { .lm-motion-controls { grid-template-columns:1fr; } #caseMotionStatus { max-width:none; } }
@media(max-width:700px) { .lm-motion-controls { padding:20px;gap:16px; }.lm-mode-buttons { display:grid;grid-template-columns:1fr 1fr;width:100%; }.lm-mode-buttons button { padding:12px;gap:9px; }.lm-mode-buttons button[data-motion-action="play"] { grid-column:1/-1;justify-content:center; }.lm-mode-buttons strong { font-size:12px; } }
.lm-motion-control-title .lm-mini-label { color:#bdb4a5; }

@media(max-width:600px) { .lm-motion-stage { height:480px; } }

.lm-iphone { position:relative;width:260px;padding:7px;border-radius:43px;background:linear-gradient(120deg,#b6b5b1,#3e3e3d 18%,#aaa9a5 44%,#292929 70%,#a5a39e);box-shadow:0 35px 50px #0003,0 5px 8px #0003,inset 0 0 0 1px #e1dfda;transform:rotate(-5deg); }
.lm-iphone:before { content:'';position:absolute;left:-3px;top:100px;width:3px;height:48px;border-radius:2px;background:#64635f;box-shadow:0 64px #64635f; }.lm-iphone:after { content:'';position:absolute;right:-3px;top:144px;width:3px;height:64px;border-radius:2px;background:#64635f; }
.lm-iphone-screen { position:relative;border:5px solid #101010;border-radius:36px;overflow:hidden;background:#efeee9;padding-top:28px;padding-bottom:16px; }
.lm-phone-figure .lm-iphone img { display:block;width:100%;height:auto;max-width:none;filter:none; }
.lm-iphone-status { height:28px;position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:0 17px;color:#171717;font-size:8px;font-weight:600; }.lm-iphone-status i { position:absolute;top:5px;left:50%;transform:translateX(-50%);width:72px;height:20px;background:#080808;border-radius:14px; }.lm-iphone-home { position:absolute;bottom:6px;left:50%;transform:translateX(-50%);width:80px;height:3px;border-radius:3px;background:#222; }
.lm-phone-figure figcaption { margin-top:40px; }
@media(max-width:700px) { .lm-iphone { width:240px;transform:rotate(-3deg); } }


/* full-width cinematic case hero + taller live-assembly stage */
.lm-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-height:min(860px,calc(100svh - 64px));
  padding-top:30px;
  color:#f4f3ef;
  background:#090a0a;
}
.lm-hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:url('/BBS_LM-3-Cin.png') center center / cover no-repeat;
  filter:saturate(.92) contrast(1.02);
  transition:filter .55s var(--theme-ease);
}
.lm-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,8,8,.97) 0%,rgba(7,8,8,.91) 17%,rgba(7,8,8,.56) 32%,rgba(7,8,8,.12) 51%,rgba(7,8,8,.05) 72%,rgba(7,8,8,.32) 100%),
    linear-gradient(0deg,rgba(7,8,8,.90) 0%,transparent 25%,transparent 72%,rgba(7,8,8,.15) 100%);
  transition:background .55s var(--theme-ease);
}
.lm-hero>.lm-shell{
  position:relative;
  z-index:2;
  min-height:min(830px,calc(100svh - 94px));
  display:flex;
  flex-direction:column;
}
.lm-hero-grid{
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,520px) 1fr;
  align-items:center;
  flex:1;
  gap:36px;
  padding-top:42px;
}
.lm-hero-copy{position:relative;z-index:2;padding:16px 0;}
.lm-hero-figure{display:none;}
.lm-hero-figure figcaption,.lm-hero .lm-crosshair{display:none;}
.lm-hero .lm-project-line{color:rgba(255,255,255,.62);border-color:rgba(255,255,255,.18);}
.lm-hero .lm-brand-name,.lm-hero h1,.lm-hero-title{color:#f6f5f1;}
.lm-hero .lm-copy{color:rgba(255,255,255,.72);}
.lm-hero .lm-button-solid{background:#f4f2ed;border-color:#f4f2ed;color:#111;}
.lm-hero .lm-button-solid:hover{background:#fff;border-color:#fff;color:#111;}
.lm-hero .lm-hero-foot{color:rgba(255,255,255,.62);}
.lm-hero .lm-hero-foot a{color:#f4f3ef;}
[data-theme="light"] .lm-hero{background:#e8e6e1;color:#171717;}
[data-theme="light"] .lm-hero::after{
  background:
    linear-gradient(90deg,rgba(238,236,231,.98) 0%,rgba(238,236,231,.94) 17%,rgba(238,236,231,.70) 32%,rgba(238,236,231,.16) 52%,rgba(238,236,231,.04) 73%,rgba(238,236,231,.18) 100%),
    linear-gradient(0deg,rgba(232,230,225,.76) 0%,transparent 27%,transparent 74%,rgba(232,230,225,.12) 100%);
}
[data-theme="light"] .lm-hero::before{filter:saturate(.78) contrast(.96) brightness(1.04);}
[data-theme="light"] .lm-hero .lm-project-line{color:rgba(20,20,20,.62);border-color:rgba(20,20,20,.18);}
[data-theme="light"] .lm-hero .lm-brand-name,[data-theme="light"] .lm-hero h1,[data-theme="light"] .lm-hero-title{color:#151515;}
[data-theme="light"] .lm-hero .lm-copy{color:rgba(20,20,20,.66);}
[data-theme="light"] .lm-hero .lm-button-solid{background:#171717;border-color:#171717;color:#f5f3ee;}
[data-theme="light"] .lm-hero .lm-button-solid:hover{background:#000;border-color:#000;color:#fff;}
[data-theme="light"] .lm-hero .lm-hero-foot{color:rgba(20,20,20,.58);}
[data-theme="light"] .lm-hero .lm-hero-foot a{color:#171717;}

/* Taller viewport for the live assembly. Camera/orbit are intentionally unchanged. */
.lm-motion-stage{height:clamp(520px,55vw,760px);}
@media(max-width:700px){
  .lm-hero{min-height:auto;padding-top:20px;}
  .lm-hero>.lm-shell{min-height:760px;}
  .lm-hero-grid{grid-template-columns:1fr;align-items:center;padding-top:30px;}
  .lm-motion-stage{height:clamp(500px,125vw,650px);}
}
@media(max-width:360px){.lm-motion-stage{height:500px;}}


/* production parity with the main-page header + work hero */
.site-header{
  position:fixed;top:0;left:0;right:0;z-index:50;
  border-bottom:1px solid rgb(var(--color-border-rgb));
  background:rgba(10,10,10,.36);
  backdrop-filter:blur(10px) saturate(135%);
  -webkit-backdrop-filter:blur(10px) saturate(135%);
  transition:background-color .55s var(--theme-ease),border-color .55s var(--theme-ease);
  overflow:visible;
}
[data-theme="light"] .site-header{background:rgba(242,239,232,.39)}
.header-inner{
  max-width:1800px;margin:0 auto;padding:0 1.5rem;height:3.5rem;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;overflow:visible;
}
@media(min-width:768px){.header-inner{height:4rem;padding:0 3rem}}
.brand{display:flex;align-items:center;gap:.625rem;font-weight:700;letter-spacing:-.05em;font-size:1.125rem;line-height:1.75rem}
.brand img{width:2rem;height:2rem;object-fit:contain}.header-logo{transition:opacity .35s var(--theme-ease)}
@media(min-width:768px){.brand img{width:2.25rem;height:2.25rem}}
.header-logo--light{display:none!important}[data-theme="light"] .header-logo--dark{display:none!important}[data-theme="light"] .header-logo--light{display:block!important}
.main-nav{position:relative;display:none;align-items:center;gap:.15rem;overflow:visible;font-family:var(--font-mono);font-size:.75rem;line-height:1rem;text-transform:uppercase;letter-spacing:.05em}
@media(min-width:1024px){.main-nav{display:flex}}
.main-nav a{position:relative;z-index:1;padding:.35rem .75rem;border-radius:9999px;color:rgb(var(--color-fg-rgb)/.7);transition:color .067s linear,transform .067s linear;white-space:nowrap}
.main-nav a:hover{color:rgb(var(--color-fg-rgb));transform:scale(1.08)}
.header-controls{position:relative;display:flex;align-items:center;gap:.75rem}@media(min-width:768px){.header-controls{gap:1rem}}
.theme-toggle-btn{position:relative;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:9999px;overflow:hidden;background:transparent;color:rgb(var(--color-fg-rgb)/.7);transition:color .067s linear,transform .067s linear}
.theme-toggle-btn:hover{background:transparent;color:rgb(var(--color-fg-rgb));transform:scale(1.1)}
.theme-toggle-btn:active{transform:scale(.94)}
.theme-toggle-btn svg{position:absolute;transition:opacity .45s var(--theme-ease),transform .55s cubic-bezier(.34,1.4,.64,1);transform-origin:center}
.theme-toggle-btn .theme-icon-sun{opacity:1;transform:rotate(0) scale(1)}.theme-toggle-btn .theme-icon-moon{opacity:0;transform:rotate(-90deg) scale(.4)}
[data-theme="light"] .theme-toggle-btn .theme-icon-sun{opacity:0;transform:rotate(90deg) scale(.4)}[data-theme="light"] .theme-toggle-btn .theme-icon-moon{opacity:1;transform:rotate(0) scale(1)}
.lang-track{position:relative;display:flex;gap:4px;padding:4px;border-radius:9999px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);overflow:hidden}
[data-theme="light"] .lang-track{background:rgba(255,255,255,.45);border-color:rgba(0,0,0,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 1px 2px rgba(0,0,0,.04)}
.lang-pill{position:absolute;top:4px;left:0;height:calc(100% - 8px);border-radius:9999px;background:rgb(var(--color-fg-rgb));pointer-events:none;z-index:0;will-change:transform,width,border-radius;transition:none;box-shadow:0 1px 6px rgba(0,0,0,.18)}
.lang-btn{position:relative;z-index:1;min-width:2.4rem;padding:.25rem .75rem;text-align:center;font-family:var(--font-mono);font-size:.75rem;line-height:1rem;border-radius:9999px;background:transparent!important;color:rgb(var(--color-fg-rgb)/.7);cursor:pointer;transition:color .067s linear,transform .067s linear;display:inline-flex;align-items:center;justify-content:center}
.lang-btn:hover{color:rgb(var(--color-fg-rgb))!important;transform:scale(1.1);background:transparent!important}.lang-btn.active{background:transparent!important;color:rgb(var(--color-bg-rgb))!important;transform:none}.lang-btn.active:hover{color:rgb(var(--color-bg-rgb))!important;transform:scale(1.1)}
.mobile-menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:34px;height:34px;border-radius:9999px;background:rgb(var(--color-fg-rgb)/.06);border:0;transition:background-color .3s ease}
.mobile-menu-btn:hover{background:rgb(var(--color-fg-rgb)/.12)}.mobile-menu-btn .bar{display:block;width:16px;height:1.5px;background:rgb(var(--color-fg-rgb));border-radius:2px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s ease}.mobile-menu-btn.open .bar:nth-child(1){transform:translateY(6.5px) rotate(45deg)}.mobile-menu-btn.open .bar:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-menu-btn.open .bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
@media(min-width:1024px){.mobile-menu-btn{display:none}}
.mobile-menu-panel{position:fixed;top:56px;left:0;right:0;max-height:0;opacity:0;overflow:hidden;pointer-events:none;background:rgb(var(--color-bg-rgb)/.98);backdrop-filter:blur(20px) saturate(170%);-webkit-backdrop-filter:blur(20px) saturate(170%);border-bottom:1px solid rgb(var(--color-border-rgb));transition:max-height .5s cubic-bezier(.16,1,.3,1),opacity .35s ease,border-color .55s var(--theme-ease),background-color .55s var(--theme-ease);z-index:45}
@media(min-width:768px){.mobile-menu-panel{top:64px}}@media(min-width:1024px){.mobile-menu-panel{display:none}}.mobile-menu-panel.open{max-height:420px;opacity:1;pointer-events:auto}.mobile-menu-nav{display:flex;flex-direction:column;padding:.5rem 1.5rem 1.5rem;font-family:var(--font-mono);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.mobile-menu-nav a{padding:.9rem 0;border-bottom:1px solid rgb(var(--color-border-rgb));color:rgb(var(--color-fg-rgb)/.75);transition:color .25s ease}.mobile-menu-nav a:last-of-type{border-bottom:0}.mobile-menu-nav a:active{color:rgb(var(--color-fg-rgb))}

/* Same first-screen scale as Selected Works on the main page. Header + hero = one viewport. */
main.cs-main{padding-top:4rem}
.lm-hero{height:calc(100svh - 64px);min-height:680px;padding-top:0}
.lm-hero::before{background-position:center center}
.lm-hero>.lm-shell{height:100%;min-height:0}
.lm-hero-grid{min-height:0}
@media(max-width:767px){main.cs-main{padding-top:3.5rem}.lm-hero{height:760px;min-height:720px;padding-top:0}.lm-hero>.lm-shell{height:100%;min-height:0}.lm-hero::before{background-position:62% center}}

/* Main-page language transition: no jump/flash between EN and DE. */
html.page-fade{background-color:rgb(var(--color-bg-rgb));scroll-behavior:auto!important}
html.page-fade body{opacity:0!important;transition:opacity .32s ease!important;background-color:rgb(var(--color-bg-rgb))!important}
html.page-fade body,html.page-fade body *{transition-property:opacity,transform,max-height,filter,width,height!important}
html.page-enter body{opacity:0}html.page-enter.page-ready body{opacity:1;transition:opacity .4s ease}

/* photoreal scroll sequence preview */
#caseMotionRoot{background:transparent;display:grid;place-items:center;}
.lm-motion-sequence{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center center;background:transparent;user-select:none;-webkit-user-drag:none;}

/* flicker-free sequence buffers */
#caseMotionRoot{position:absolute;inset:0;overflow:hidden;background:transparent;}
.lm-motion-sequence-buffer{transition:none!important;will-change:opacity;backface-visibility:hidden;transform:translateZ(0);}


/* CSS-built iPad + iPhone device composition; real project screenshot inside both displays */
.lm-device-pair{min-height:570px;display:block;perspective:1200px;padding-top:34px}
.lm-device-pair:before{content:"";position:absolute;left:7%;right:4%;bottom:68px;height:42px;background:radial-gradient(ellipse at center,rgba(0,0,0,.26),rgba(0,0,0,0) 72%);filter:blur(12px);pointer-events:none}
.lm-device-pair .lm-ipad{position:absolute;z-index:1;width:min(430px,82%);aspect-ratio:3/4;left:50%;top:22px;transform:translateX(-42%) rotate(4.5deg) rotateY(-8deg);transform-style:preserve-3d;padding:8px;border-radius:28px;background:linear-gradient(128deg,#d0cfcb 0%,#4a4a49 13%,#aaa9a5 38%,#272727 70%,#aaa8a2 100%);box-shadow:0 42px 75px rgba(0,0,0,.28),0 8px 16px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.62)}
.lm-device-pair .lm-ipad:before{content:"";position:absolute;inset:2px;border-radius:26px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.58),inset 0 0 12px rgba(255,255,255,.1);pointer-events:none}
.lm-ipad-screen{position:absolute;inset:8px;overflow:hidden;border:7px solid #0d0d0d;border-radius:21px;background:#efeee9}
.lm-device-pair .lm-ipad-screen img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 4%;filter:none}
.lm-ipad-camera{position:absolute;z-index:3;width:5px;height:5px;left:50%;top:12px;transform:translateX(-50%);border-radius:50%;background:#171717;box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.lm-device-pair .lm-iphone{position:absolute;z-index:3;width:220px;left:2%;bottom:78px;transform:rotate(-6deg) rotateY(8deg);box-shadow:0 38px 58px rgba(0,0,0,.34),0 7px 12px rgba(0,0,0,.24),inset 0 0 0 1px #e1dfda}
.lm-device-pair figcaption{position:absolute;left:0;right:0;bottom:8px;margin:0}
@media(max-width:900px){.lm-device-pair{min-height:500px}.lm-device-pair .lm-ipad{width:min(365px,84%)}.lm-device-pair .lm-iphone{width:185px;bottom:72px}}
@media(max-width:700px){.lm-phone-figure.lm-device-pair{max-width:430px;min-height:480px}.lm-device-pair .lm-ipad{width:min(330px,82%);left:53%;top:18px;transform:translateX(-42%) rotate(3.5deg) rotateY(-6deg)}.lm-device-pair .lm-iphone{width:165px;left:3%;bottom:64px;transform:rotate(-5deg) rotateY(7deg)}.lm-device-pair figcaption{bottom:4px}}
@media(max-width:390px){.lm-phone-figure.lm-device-pair{min-height:430px}.lm-device-pair .lm-ipad{width:285px}.lm-device-pair .lm-iphone{width:145px;bottom:58px}}

/* device shells refined against iPhone 14 Pro / iPad Pro proportions.
   Thin silver hardware edge + thin black display bezel; screen area is intentionally maximized. */
.lm-iphone{
  padding:3px;
  border-radius:39px;
  background:linear-gradient(118deg,#fbfbf8 0%,#d9d9d5 12%,#f5f4ef 31%,#aaa9a5 55%,#f7f6f1 76%,#c4c3bf 100%);
  box-shadow:0 35px 50px #0003,0 5px 8px #0003,inset 0 0 0 1px rgba(255,255,255,.95),inset 0 0 0 2px rgba(80,80,78,.28);
}
.lm-iphone:before{left:-2px;width:2px;background:#d0cfca;box-shadow:0 64px #d0cfca}
.lm-iphone:after{right:-2px;width:2px;background:#d0cfca}
.lm-iphone-screen{
  border:2px solid #090909;
  border-radius:35px;
  padding-top:25px;
  padding-bottom:10px;
}
.lm-iphone-status{height:25px;padding:0 15px}
.lm-iphone-status i{top:5px;width:66px;height:18px;border-radius:12px}
.lm-iphone-home{bottom:4px;height:3px}

.lm-device-pair .lm-ipad{
  padding:3px;
  border-radius:23px;
  background:linear-gradient(128deg,#fafaf7 0%,#d7d7d3 13%,#f3f2ed 35%,#aaa9a5 65%,#f8f7f2 100%);
  box-shadow:0 42px 75px rgba(0,0,0,.28),0 8px 16px rgba(0,0,0,.2),inset 0 0 0 1px rgba(255,255,255,.92),inset 0 0 0 2px rgba(90,90,88,.2)
}
.lm-device-pair .lm-ipad:before{inset:1px;border-radius:22px;box-shadow:inset 0 0 0 1px rgba(70,70,68,.28);}
.lm-ipad-screen{
  inset:3px;
  border:3px solid #0a0a0a;
  border-radius:19px;
}
.lm-ipad-camera{width:4px;height:4px;top:6px;background:#0c0c0c}


/* aligned Surface grid, theme-aware real screenshots, finale type collision fix */
.lm-device-screen-dark{display:none!important}
html[data-theme="dark"] .lm-device-screen-light{display:none!important}
html[data-theme="dark"] .lm-device-screen-dark{display:block!important}
.lm-device-pair .lm-ipad-screen img,.lm-device-pair .lm-iphone-screen>img{transition:opacity .35s var(--theme-ease)}
.lm-finale-title h2{max-width:min(1500px,96vw);margin-inline:auto;text-wrap:balance}
html[lang="de"] .lm-finale-title h2{font-size:clamp(72px,12.4vw,184px);line-height:.88;letter-spacing:-.062em}
@media(max-width:700px){html[lang="de"] .lm-finale-title h2{font-size:clamp(58px,17vw,104px);line-height:.9;letter-spacing:-.055em}}

/* canvas-backed scroll sequence: one composited surface, no per-frame DOM image swaps. */
.lm-motion-sequence-canvas{display:block;contain:strict;will-change:auto;transform:none;backface-visibility:visible;}



/* deployment polish: exact Surface image alignment + integrated cinematic finale. */
@media (min-width:701px) {
  .lm-macro-grid{align-items:start}
  .lm-macro-gold>img{width:100%;height:auto;aspect-ratio:auto;object-fit:cover;object-position:35% center}
}
.lm-finale{background:#020705;padding-top:0;color:#eee9df}
.lm-finale-scene{position:relative;margin-top:0;background:#020705;isolation:isolate;overflow:hidden}
.lm-finale-scene>img{display:block;width:100%;height:auto;position:relative;z-index:0}
.lm-finale-scene:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(2,7,5,.86) 0%,rgba(2,7,5,.42) 24%,rgba(2,7,5,0) 52%),linear-gradient(0deg,rgba(2,7,5,.62) 0%,rgba(2,7,5,0) 30%)}
.lm-finale-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;padding-bottom:clamp(38px,5.4vw,86px)}
.lm-finale-overlay>div{max-width:min(44%,620px)}
.lm-finale-overlay .lm-eyebrow{color:#c6b69e;margin-bottom:18px}
.lm-finale-overlay h2{font-size:clamp(54px,7vw,112px);font-weight:500;line-height:.88;letter-spacing:-.065em;margin:0 0 clamp(20px,2.2vw,34px);text-wrap:balance;color:#f0ece4}
.lm-finale-overlay p{font-size:clamp(18px,1.8vw,28px);letter-spacing:-.03em;line-height:1.22;margin:0 0 26px;color:rgba(240,236,228,.78)}
.lm-finale-overlay .lm-button{color:#f0ece4;border-color:rgba(240,236,228,.42);background:rgba(2,7,5,.18);backdrop-filter:blur(8px)}
.lm-finale-foot{border-top:1px solid rgba(238,233,223,.16);background:#020705;color:#a89b89}
.lm-finale-foot a{color:#eee9df}
html[lang="de"] .lm-finale-overlay h2{font-size:clamp(50px,6.2vw,96px);line-height:.9;letter-spacing:-.058em}
@media(max-width:700px){
 .lm-finale{padding-top:0}
 .lm-finale-scene{margin-top:0}
 .lm-finale-scene>img{height:520px;object-fit:cover;object-position:68% center}
 .lm-finale-scene:after{background:linear-gradient(0deg,rgba(2,7,5,.9) 0%,rgba(2,7,5,.2) 56%,rgba(2,7,5,.04) 100%)}
 .lm-finale-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;padding-block:0 30px}
 .lm-finale-overlay>div{max-width:100%}
 .lm-finale-overlay h2,html[lang="de"] .lm-finale-overlay h2{font-size:clamp(48px,14vw,78px);line-height:.9;margin-bottom:20px}
 .lm-finale-overlay p{font-size:20px;margin-bottom:20px;max-width:18ch}
 .lm-finale-overlay .lm-button{font-size:9px;gap:18px;padding:13px 16px}
}


/* mobile production polish: main-header/footer parity, portrait sequence scale, finale legibility. */
@media (max-width:767px){
  /* Match the main page's compact two-line mobile identity. */
  .header-inner{padding-inline:16px;gap:8px}
  .brand{font-size:18px;line-height:.92;gap:10px;white-space:normal;min-width:0}
  .brand img{width:32px;height:32px;flex:0 0 32px}
  .brand span{display:block;width:70px;max-width:70px;line-height:.92}

  /* Footer is intentionally identical to the main page on mobile. */
  footer.site-footer{min-height:10.25rem}
  .site-footer .footer-inner{
    min-height:10.25rem;
    padding:1.35rem 1.25rem 1.1rem;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:.72rem;
    text-align:center;
  }
  .site-footer .footer-copy,
  .site-footer .footer-location,
  .site-footer .footer-center{
    justify-self:auto;
    align-self:auto;
    width:auto;
    padding:0;
    text-align:center;
  }
  .site-footer .footer-copy{order:1}
  .site-footer .footer-location{order:2}
  .site-footer .footer-center{order:3}
}

/* portrait phone sequence: enlarge the rendered wheel while preserving
   the complete rim throughout all 70 frames. Landscape remains unchanged. */
@media (max-width:700px) and (orientation:portrait){
  #caseMotionRoot{display:flex;align-items:center;justify-content:center}
  .lm-motion-sequence-canvas{
    inset:auto;
    position:relative;
    width:100%;
    height:auto;
    max-height:calc(100% - 72px);
    transform:none;
  }
  .lm-motion-poster{object-fit:contain;transform:none}
}

/* Mobile cinematic finale: keep typography on the image, but give the wheel and copy
   separate visual zones so neither competes with the other. Desktop is untouched. */
@media (max-width:700px){
  .lm-finale-scene>img{
    height:620px;
    object-fit:cover;
    object-position:72% center;
  }
  .lm-finale-scene:after{
    background:
      linear-gradient(0deg,#020705 0%,rgba(2,7,5,.96) 16%,rgba(2,7,5,.76) 38%,rgba(2,7,5,.20) 66%,rgba(2,7,5,.03) 100%),
      linear-gradient(90deg,rgba(2,7,5,.42) 0%,rgba(2,7,5,.08) 54%,rgba(2,7,5,0) 100%);
  }
  .lm-finale-overlay{
    position:absolute;
    inset:0;
    display:flex;
    align-items:flex-end;
    padding-block:0 24px;
  }
  .lm-finale-overlay>div{max-width:100%;padding-right:12px}
  .lm-finale-overlay .lm-eyebrow{
    margin:0 0 10px;
    max-width:30ch;
    font-size:8px;
    line-height:1.45;
  }
  .lm-finale-overlay h2,
  html[lang="de"] .lm-finale-overlay h2{
    max-width:8.2ch;
    margin:0 0 14px;
    font-size:clamp(40px,11.5vw,52px);
    line-height:.92;
    letter-spacing:-.055em;
  }
  .lm-finale-overlay p{
    max-width:22ch;
    margin:0 0 16px;
    font-size:16px;
    line-height:1.28;
    letter-spacing:-.02em;
  }
  .lm-finale-overlay .lm-button{
    min-height:44px;
    padding:12px 16px;
    gap:18px;
    font-size:9px;
  }
  .lm-finale-foot{padding-block:22px 26px}
}

/* iOS Safari stability: mobile device composition stays in a single 2D
   compositing plane; mobile phone uses the current real iPhone screenshots. */
.lm-device-screen-mobile{display:none!important}
@media(max-width:700px){
  .lm-device-pair{perspective:none;isolation:isolate;transform:none}
  .lm-device-pair .lm-ipad{
    z-index:1;
    transform:translateX(-42%) rotate(3.5deg);
    transform-style:flat;
    backface-visibility:visible;
  }
  .lm-device-pair .lm-iphone{
    z-index:3;
    transform:rotate(-5deg);
    transform-style:flat;
    backface-visibility:visible;
  }
  .lm-device-pair .lm-ipad-screen,
  .lm-device-pair .lm-iphone-screen{isolation:isolate}
  .lm-device-pair .lm-iphone-screen>.lm-device-screen-light,
  .lm-device-pair .lm-iphone-screen>.lm-device-screen-dark{display:none!important}
  .lm-device-pair .lm-iphone-screen>.lm-device-screen-mobile-light{display:block!important}
  html[data-theme="dark"] .lm-device-pair .lm-iphone-screen>.lm-device-screen-mobile-light{display:none!important}
  html[data-theme="dark"] .lm-device-pair .lm-iphone-screen>.lm-device-screen-mobile-dark{display:block!important}
}

/* tablet production fixes.
   Safari sticky needs no clipping ancestor around the chapter rail. */
main.case-study{overflow:visible}

/* Portrait tablets keep the 16:9 sequence undistorted inside the taller stage.
   Phone-specific crop/scale remains controlled by the <=700px rules below. */
@media (min-width:701px) and (max-width:1180px) and (orientation:portrait){
  #caseMotionRoot{
    position:absolute;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .lm-motion-sequence-canvas{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    max-width:100%;
    max-height:100%;
    aspect-ratio:16/9;
  }
  .lm-motion-poster{
    object-fit:contain;
    object-position:center center;
  }
}

/* v184: obsolete chapter navigation removed from studies */
.lm-index{display:none!important}
