/* Signature scenes: local enhancement, complete readable copy at rest. */
.bco-scene-intro{max-width:650px;margin-top:22px;font-size:clamp(17px,1.2vw,21px);line-height:1.65;color:var(--ink-60)}
.on-ink .bco-scene-intro{color:rgba(255,255,255,.72)}
.bco-process{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(48px,7vw,110px);align-items:start;margin-top:52px;position:relative}
.bco-process-stage{margin:0;min-width:0;position:sticky;top:120px;width:100%;align-self:start}
.bco-process.is-pinned .bco-process-stage{position:relative;top:auto}
.bco-process-images{position:relative;aspect-ratio:1.5;max-height:calc(100svh - 300px);overflow:hidden;background:#171717}
.bco-process-images img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.bco-process-images img[hidden]{display:none}
.bco-process-images img,.bco-material-images img{transition:none!important}
.bco-process-stage figcaption{margin-top:19px;font-size:12px;line-height:1.65;color:rgba(255,255,255,.84)}
.bco-process-stage figcaption small{display:block;margin-top:7px;max-width:420px;font-size:11px;color:rgba(255,255,255,.62)}
.bco-process-nav{display:flex;gap:14px;margin-top:24px;flex-wrap:wrap}
.bco-process-nav a{display:grid;place-items:center;min-width:44px;min-height:44px;color:rgba(255,255,255,.6);text-decoration:none;border-bottom:1px solid rgba(255,255,255,.25);font-family:var(--font-body);font-size:12px}
.bco-process-nav a[aria-current]{color:#fff;border-color:var(--crimson)}
.bco-process-nav a:focus-visible,.bco-scene-text-button:focus-visible,.bco-material-choices button:focus-visible,.bco-material-modes button:focus-visible,.bco-beam-steps button:focus-visible{outline:2px solid var(--crimson);outline-offset:5px}
.bco-process-steps{list-style:none;padding:0;margin:0;min-width:0}
.bco-process-steps li{min-height:270px;padding:20px 0 38px;border-top:1px solid rgba(255,255,255,.2);scroll-margin-top:130px}
.bco-process-steps li:last-child{min-height:240px;padding-bottom:0}
.bco-process-steps .idx{font-family:var(--font-body);font-size:12px;color:rgba(255,255,255,.6);letter-spacing:.14em}
.bco-process-steps h3{font-family:var(--font-display);font-weight:400;font-size:clamp(30px,3vw,44px);margin:12px 0 17px;color:#fff}
.bco-process-steps p{font-size:17px;line-height:1.65;max-width:440px;color:rgba(255,255,255,.82)}
.bco-process-steps .bco-process-question{font-size:13px;color:rgba(255,255,255,.58);margin-top:15px}
.bco-process-mobile{display:none}
.bco-material-story{padding-bottom:clamp(50px,6vw,80px)}
.bco-material-choices{display:flex;gap:28px;flex-wrap:wrap;margin:36px 0 24px}
.bco-material-choices[hidden],.bco-material-modes[hidden],.bco-scene-text-button[hidden]{display:none!important}
.bco-material-choices button,.bco-material-modes button{font:500 14px var(--font-body);background:none;color:var(--ink);border:0;border-bottom:1px solid var(--ink-14);min-height:44px;padding:8px 0;cursor:pointer}
.bco-material-choices button[aria-pressed=true],.bco-material-modes button[aria-pressed=true]{border-color:var(--crimson);color:var(--crimson)}
.bco-material-panel{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,84px);align-items:center;margin-top:36px}
.bco-material-panel[hidden]{display:none!important}
.bco-material-images{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0;background:var(--ink-06)}
.bco-material-images img{display:block;width:100%;height:auto;object-fit:cover;min-width:0}
.bco-material-story.is-enhanced .bco-material-images{position:relative;display:block;aspect-ratio:1.1;overflow:hidden}
.bco-material-story.is-enhanced .bco-material-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bco-material-copy .eyebrow{font-size:11px;margin-bottom:20px}
.bco-material-copy h3{font-family:var(--font-display);font-weight:400;font-size:clamp(34px,4vw,52px);line-height:1.1}
.bco-material-copy>p:not(.eyebrow){font-size:17px;line-height:1.65;color:var(--ink-60);margin-top:22px;max-width:430px}
.bco-material-modes{display:flex;gap:26px;margin-top:24px;flex-wrap:wrap}
.bco-material-modes button{font-size:12px}
.bco-material-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-top:34px}
.bco-scene-text-button{display:inline-flex;align-items:center;gap:12px;max-width:100%;min-height:44px;padding:8px 0;background:none;border:0;border-bottom:1px solid currentColor;font:500 12px/1.6 var(--font-body);letter-spacing:.03em;color:var(--ink);text-decoration:none;cursor:pointer;text-align:left}
.bco-scene-text-button span{margin-left:auto}
.on-ink .bco-scene-text-button{color:#fff}
.bco-material-note{font-size:12px;color:var(--ink-60);line-height:1.7;margin-top:24px;max-width:720px}
.bco-collection-title{display:block;font:500 clamp(12px,1vw,15px)/1.5 var(--font-body);padding-top:15px;color:var(--ink)}
.bco-beam-steps{list-style:none;padding:0;margin:30px 0 20px}
.bco-beam-steps li{padding:20px 0;border-top:1px solid rgba(255,255,255,.2)}
.bco-beam-steps h3{margin:0}
.bco-beam-steps button{display:flex;align-items:baseline;gap:16px;width:100%;min-height:44px;padding:0;background:none;border:0;color:rgba(255,255,255,.78);font:400 clamp(20px,1.8vw,28px)/1.4 var(--font-display);text-align:left;cursor:pointer}
.bco-beam-steps button[aria-pressed=true]{color:#fff}
.bco-beam-steps button span{font:500 11px var(--font-body);letter-spacing:.1em;color:rgba(255,255,255,.6)}
.bco-beam-steps button[aria-pressed=true] span{color:#ff7379}
.bco-beam-steps p{font-size:15px;line-height:1.65;margin-top:9px;color:rgba(255,255,255,.7)}
.bco-beam-caption{padding-top:25px;text-align:center;font-size:14px;color:#fff;line-height:1.6}
.bco-beam-caption small{display:block;color:rgba(255,255,255,.6);font-size:11px;margin-top:8px}
@media(max-width:1099px),(max-height:759px){.bco-process{grid-template-columns:1fr;gap:30px}.bco-process-stage{position:static;max-width:680px}.bco-process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.bco-process-steps li{min-height:0!important}.bco-process-steps p{font-size:16px}.bco-process-nav{display:none}.bco-process-mobile{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;margin-bottom:22px}.bco-process-stage{display:none}.bco-process-steps li:last-child{padding-bottom:0}}
@media(max-width:700px){.bco-process{margin-top:32px}.bco-process-steps{grid-template-columns:1fr;gap:28px}.bco-process-steps li{padding:20px 0 10px}.bco-process-steps h3{font-family:var(--font-display);font-size:33px}.bco-material-panel{grid-template-columns:1fr;gap:26px;margin-top:24px}.bco-material-copy h3{font-family:var(--font-display);font-size:36px}.bco-material-copy>p:not(.eyebrow){font-size:16px}.bco-material-story.is-enhanced .bco-material-images{aspect-ratio:1.15}.bco-material-choices{margin-top:24px;gap:24px}.bco-material-actions{margin-top:24px}.bco-scene-intro{font-size:17px}.bco-beam-steps button{font-family:var(--font-body);font-size:20px}}
.bco-process.is-static{grid-template-columns:1fr;gap:30px}
.bco-process.is-static .bco-process-stage{display:none}
.bco-process.is-static .bco-process-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.bco-process.is-static .bco-process-steps li{min-height:0}
.bco-process.is-static .bco-process-mobile{display:block;width:100%;height:auto;aspect-ratio:1.5;object-fit:cover;margin-bottom:22px}
.on-ink .bco-process-nav a:focus-visible,.on-ink .bco-scene-text-button:focus-visible,.on-ink .bco-beam-steps button:focus-visible{outline-color:#fff}
@media(max-width:700px){.bco-process.is-static .bco-process-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.bco-process-stage{position:static}.bco-material-story *,.bco-process *,.bco-beam-scene *{scroll-behavior:auto!important}}
@media print{.bco-process{display:block}.bco-process-stage,.bco-process-nav,.bco-material-choices,.bco-material-modes,.bco-beam-scene [data-beam-replay]{display:none!important}.bco-process-steps{display:block}.bco-process-steps li{min-height:0}.bco-material-panel[hidden]{display:grid!important}.bco-material-story.is-enhanced .bco-material-images{display:grid;grid-template-columns:1fr 1fr;aspect-ratio:auto}.bco-material-story.is-enhanced .bco-material-images img{position:static;opacity:1!important;height:auto}}

.bco-material-story.is-enhanced .bco-material-images img[data-material-image="room"]{object-fit:contain;background:var(--paper)}

.bco-process-source{font-size:12px;line-height:1.65;color:rgba(255,255,255,.62);margin-top:28px;max-width:620px}

/* Numbered editorial sections share the real Didot italic face on every ground. */
.diff h3,.on-ink .diff h3,.rail h3,.on-ink .rail h3,.bco-process-steps h3,.bco-material-copy h3,.bco-beam-steps button{font-family:var(--font-display);font-style:italic;font-weight:400;letter-spacing:0}
.diff h3{font-size:clamp(27px,2.05vw,37px);line-height:1.2}
.bco-beam-steps button{font-size:clamp(25px,2vw,32px);line-height:1.25}
.bco-beam-steps button span{font-style:normal;flex:none}
.bco-beam-steps button[aria-pressed=true]{text-decoration:none}
.bco-beam-steps li{position:relative}
.bco-beam-steps li::after{content:"";position:absolute;top:-1px;left:0;height:1px;width:100%;background:#c75e63;transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.bco-beam-steps li:has(button[aria-pressed=true])::after{transform:scaleX(1)}
/* Quotes belong to the image plane; only the photography moves beneath them. */
.band-quote::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.54) 32%,rgba(0,0,0,.6) 72%,rgba(0,0,0,.24))}
.band-quote .bco-band-quote{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:clamp(24px,6vw,90px);color:#fff;text-align:center}
.bco-band-quote blockquote{margin:0;max-width:27ch;font:italic 400 clamp(28px,4.4vw,68px)/1.15 var(--font-display);letter-spacing:-.02em;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.2)}
.bco-band-quote cite{font:400 12px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;font-style:normal}
.bco-band-quote cite a{color:inherit;text-decoration:none;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.45)}
.bco-band-quote cite a:hover{border-color:#fff}
.bco-band-quote cite a:focus-visible{outline:2px solid #fff;outline-offset:6px}
/* Matching gallery mats: one aperture and consistent inset, complete originals. */
#view-design-build .cat-media,#view-design-build .concept-card figure{padding:clamp(16px,1.65vw,26px);background:#eae8e3}
#view-design-build .cat-media[data-slot] img,#view-design-build .concept-card img{box-sizing:border-box;background:#f8f7f4;border:1px solid rgba(10,10,10,.12);padding:8px;object-fit:contain;object-position:center;transform:none;border-radius:0}
/* B.E.A.M. as an editorial folio: paper planes, a typographic reveal, fine rules. */
.bco-beam-scene .beam-viz{max-width:640px;margin:0;width:100%;padding:28px 28px 0 0;align-self:center}
.bm-folio{position:relative;aspect-ratio:1.05;isolation:isolate;color:#151513;background:#eae7e0}
.bm-folio-layer{position:absolute;inset:0;border:1px solid rgba(255,255,255,.38);z-index:-1;pointer-events:none}
.bm-folio-header{position:absolute;top:8%;left:8%;right:8%;display:flex;justify-content:space-between;gap:12px;font:500 10px/1.5 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:#68665f}
.bm-folio-header span:last-child{letter-spacing:.04em;font-weight:400}
.bm-folio-panel{position:absolute;inset:22% 8% 18%;display:flex;flex-direction:column;justify-content:space-between;gap:24px;opacity:0;visibility:hidden}
.bm-folio-panel[data-beam-panel="0"]{opacity:1;visibility:visible}
.bm-folio-title{margin:0;font:italic 400 clamp(48px,6vw,92px)/1.08 var(--font-display);letter-spacing:-.035em;color:#1a1916}
.bm-folio-lines{display:grid;gap:16px;font:400 clamp(12px,1vw,15px)/1.5 var(--font-body);color:#56544f}
.bm-folio-lines>span{position:relative;padding-top:11px}
.bm-folio-rule{position:absolute;display:block;top:0;left:0;height:1px;width:100%;background:#a9a59d;transform-origin:left}
.bm-folio-grid{grid-template-columns:1fr 1fr;column-gap:24px}
.bm-folio-connection{position:relative;padding:25px 0;font:400 clamp(16px,1.5vw,21px)/1.5 var(--font-body);max-width:22ch;color:#56544f}
.bm-folio-connection .bm-folio-rule:last-child{top:auto;bottom:0}
.bm-folio-progress{position:absolute;bottom:8%;left:8%;right:8%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bm-folio-progress i{height:2px;background:#d2cec5;overflow:hidden}
.bm-folio-progress span{display:block;width:100%;height:100%;background:var(--crimson);transform:scaleX(0);transform-origin:left}
.bco-beam-scene .bco-beam-caption{padding:22px 0 0;text-align:left;color:rgba(255,255,255,.64);font-size:12px;letter-spacing:.03em}
@media(max-width:700px){
 .bco-beam-steps button{font-family:var(--font-display);font-size:28px}
 .bco-beam-scene .beam-viz{max-width:560px;padding:22px 22px 0 0}
 .bm-folio{aspect-ratio:.94}
 .bm-folio-title{font-size:clamp(48px,11vw,68px)}
 .bm-folio-header{font-size:9px;letter-spacing:.08em}
 .bm-folio-header span:last-child{font-size:9px}
 .bm-folio-panel{inset:22% 8% 20%;gap:16px}
 .bm-folio-lines{gap:10px;font-size:12px}
 .bm-folio-lines>span{padding-top:8px}
 .bm-folio-connection{font-size:16px;padding:16px 0}
 .band-quote .bco-band-quote{gap:20px;padding:24px}
 .bco-band-quote blockquote{font-size:clamp(26px,5.6vw,38px);line-height:1.13}
 .bco-band-quote cite{font-size:10px;letter-spacing:.12em}
}
@media(prefers-reduced-motion:reduce){.bco-beam-steps li::after{transition:none}}
@media print{.band-quote::after{display:none}.band-quote .bco-band-quote{position:static;color:#111;padding:24px}.bco-band-quote blockquote{text-shadow:none}.bco-band-quote cite a{border-color:#777}.bm-folio-layer{display:none}}
