/* Offline interaction visibility and office placeholders; source layout/cascade retained. */
html { scroll-padding-top:var(--header-h); }
.is-live,.works__fig,.together-v3__fig { opacity:1!important; transform:none!important; }
.hero-full__media { transition:opacity 700ms ease; }
.hero-frame-current { opacity:1; } .hero-frame-next { opacity:0; }
.hero-full__media.is-hidden-frame { opacity:0; } .hero-full__media.is-shown-frame { opacity:1; }
.office-slot { display:flex; align-items:center; justify-content:center; min-height:160px; height:100%; padding:24px; border:1px solid var(--line); background:var(--bg-2); color:var(--muted); text-align:center; font-family:var(--font-text); font-size:var(--fs-small); }
.s2-tile>.office-slot { aspect-ratio:3/2; min-height:240px; }
.materials__plate { display:flex; align-items:center; justify-content:center; background:var(--bg-2); color:var(--muted); }
.reference-label { display:block; font-family:var(--font-text); font-weight:400; font-size:var(--fs-caption); }
.dw4-sheet--pending { display:flex; padding:20px; justify-content:center; align-items:center; background:var(--bg-2); border:1px solid var(--line); min-height:180px; }
.dw4-sheet--pending small { display:block; color:var(--muted); margin-top:12px; }
.dw4-docs { min-width:0; }.dw4-copy { min-width:0; }
.site-header__logo { display:block; width:auto; height:40px; }.footer-logo { height:184px; width:auto; max-width:100%; }
.site-header__contacts { gap:16px; }.site-header__contacts>a { white-space:nowrap; }
.site-menu { max-height:calc(100dvh - var(--header-h)); overflow:auto; }
.site-map__cell .office-slot { min-height:180px; }
.lead__media .office-slot { min-height:100%; }
.office-viewer img { object-fit:contain; }.office-viewer::backdrop { background:rgba(0,0,0,.7); }
button:disabled,input:disabled { opacity:1; cursor:default; }
#lead-dialog:not([open]),#office-viewer:not([open]) { display:none!important; }
#comparison-order .slide__figure>.office-slot { min-height:450px; }
#comparison-process .process-roadmap__table-wrap { max-width:100%; overflow:auto; }
@media(max-width:768px){
 #comparison-process .process-roadmap__mobile,#comparison-process .process-roadmap__mrole { display:block; }
 .s2-tile>.office-slot { min-height:140px; } .footer-logo { height:auto; width:206.4px; }
 .site-header__contacts>a { display:none; }.site-header__contacts .btn { padding-inline:12px; font-size:11px; }
 #comparison-order .slide__figure>.office-slot { min-height:220px; }
}
@media(prefers-reduced-motion:reduce){.hero-full__media { transition:none; }}
/* Integration fixes measured by actual text Range; same source card models. */
#comparison-interiors .interiors-consolidated-grid .office-slot { position:absolute; inset:0; width:100%; min-height:0; aspect-ratio:auto; padding:12px; }
.slide__step { min-width:0; }.slide__step-text { overflow-wrap:anywhere; }
.slide6__montage { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; grid-template-rows:auto!important; gap:8px!important; height:auto!important; overflow:visible!important; }
.slide6__photo { position:relative!important; aspect-ratio:3/2; width:auto!important; height:auto!important; min-width:0; overflow:hidden; }
.slide6__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.slide6__caption { position:absolute; left:12px!important; right:12px!important; bottom:12px!important; top:auto!important; width:auto!important; max-width:none!important; font-size:var(--fs-small)!important; color:#fff; text-shadow:0 1px 6px #000; }
@media(max-width:768px){#comparison-process .slide__process { grid-template-columns:repeat(2,minmax(0,1fr))!important; }.slide__step-text{width:auto!important;max-width:100%!important;}.slide6__caption { font-size:11px!important;bottom:6px!important;left:6px!important;right:6px!important; }}
/* Source app header DOM restored; source offline process has no generated timing grid. */
#comparison-process .slide__process { grid-auto-flow:row!important; grid-template-rows:auto!important; grid-auto-rows:max-content!important; grid-template-columns:repeat(7,minmax(0,1fr))!important; height:auto!important; min-height:0!important; align-content:start!important; }
#comparison-process .slide__step { align-content:start!important; height:auto!important; min-height:0!important; grid-template-columns:minmax(0,1fr)!important; }
@media(max-width:768px){#comparison-process .slide__process { grid-template-columns:repeat(2,minmax(0,1fr))!important; }.site-header__line { display:none!important; }}
/* Accepted common lilac button tokens; preserve source button typography/geometry. */
:root[data-theme="light"] #works [data-open-lead="works"] { --accent:#6b3f74; --accent-2:#895195; --accent-ink:#f3efe8; --accent-2-ink:#f3efe8; }

/* Shared zero/lilac CTA tokens; source-specific red/modal accents replaced only in sandbox. */
:root[data-type="zero"][data-accent="lilac"] .cta__submit, :root[data-type="zero"][data-accent="lilac"] #lead-dialog .btn--fill { background:#6b3f74; color:#f3efe8; --accent:#6b3f74; --accent-2:#895195; }
