/* Brandbook 7.2; shared by static pages and the live application shell. */
html:root[data-theme] body.cinematicPage[data-page] .topbar .brand{--brand-art-width:244px;width:244px!important;min-width:244px!important;gap:0!important}
html:root[data-theme] body.cinematicPage[data-page] .topbar .brand .brandMark{width:244px!important;height:46px!important;min-height:46px!important}
html:root[data-theme] body.cinematicPage[data-page] .topbar .brand .brandMark img{width:100%!important;height:100%!important;object-fit:contain}
html:root[data-theme] body.cinematicPage[data-page] .topbar .brand.isDepartmentBrand{--brand-art-width:264px!important;width:264px!important;min-width:264px!important}
html:root[data-theme] body.cinematicPage[data-page] .topbar .brand.isDepartmentBrand .brandMark{width:264px!important;height:82px!important}
html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows>a{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:12px!important;padding:24px!important;min-height:252px!important;background:var(--surface)!important;box-shadow:none!important;overflow:hidden;cursor:pointer}
html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows .directionArtwork{display:block!important;width:140px;height:140px;object-fit:contain;align-self:center;opacity:.88;transition:transform 200ms cubic-bezier(.23,1,.32,1),opacity 180ms ease}
html:root[data-theme="light"] .directionArtwork{filter:invert(1)}
html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows h3{font-size:26px!important}
html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows p{font-size:14px!important;line-height:1.5!important}
html:root[data-theme] body.cinematicPage[data-page] .projectCard{cursor:pointer}
html:root[data-theme] body.cinematicPage[data-page] .projectCard figure img{transition:transform 250ms cubic-bezier(.23,1,.32,1)!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] a.projectCard:is(:hover,:focus-visible) :is(h3,.textLink){color:#fff!important;text-decoration:none!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] a.projectCard:is(:hover,:focus-visible) .projectCardBody{background:transparent!important}
.projectFilters{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:0 0 28px;padding:0 0 20px;border-bottom:1px solid var(--border)}
.projectFilterFormats{display:flex;flex-wrap:wrap;gap:6px;flex:1}
.projectFilterFormats button{padding:9px 15px;min-height:42px;border:1px solid transparent;border-radius:5px;background:transparent;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:14px;transition:background-color 160ms ease,color 160ms ease}
.projectFilterFormats button[aria-pressed="true"]{background:var(--surface);border-color:var(--border);color:var(--text-primary)}
.projectYearLabel{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text-secondary)}
.projectYearLabel select{min-height:42px;max-width:155px;padding:8px 30px 8px 12px;background:var(--surface);color:var(--text-primary);border:1px solid var(--border);border-radius:5px;font:inherit}
.projectFilterCount{color:var(--text-secondary);font-size:12px;min-width:50px;text-align:right;font-variant-numeric:tabular-nums}
.projectFilterEmpty{padding:36px 0;color:var(--text-secondary)}
html:root[data-theme] body.cinematicPage[data-page] .projectCard[hidden],.projectFilterEmpty[hidden]{display:none!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .toolForm[data-tool-form="concept"] .conceptChat{align-self:start!important;min-height:0!important;padding:16px!important;background:var(--surface)!important;gap:14px!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .toolForm[data-tool-form="concept"] .conceptChatThread{max-height:210px!important;gap:10px!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .toolForm[data-tool-form="concept"] .conceptRefinement{flex:0 0 auto!important;gap:10px!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .conceptRefinement>label{color:var(--text-primary)!important;font-size:15px!important;font-weight:600}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .toolForm[data-tool-form="concept"] .conceptRefinement textarea{flex:none!important;min-height:100px!important;height:112px!important;max-height:200px!important;padding:12px 14px!important;border:1px solid var(--field-border,var(--border))!important;border-radius:6px;background:var(--background-primary)!important;box-shadow:none!important;color:var(--text-primary)!important;caret-color:#315cff;font-size:15px!important;line-height:1.6!important;resize:vertical}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .conceptRefinement textarea:focus{border-color:#315cff!important;outline:2px solid #315cff;outline-offset:2px}
.conceptRefinement textarea::placeholder{color:var(--text-secondary);opacity:1}
.conceptComposeHint{margin:0!important;color:var(--text-secondary);font-size:12px!important;line-height:1.5!important}
html:root[data-theme] body.cinematicPage[data-page] .conceptChatMessage{padding:12px!important;font-size:14px!important;line-height:1.6!important}
html:root[data-theme] body.cinematicPage[data-page] .siteFamilyNav.siteFamilyLogos{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:20px;padding:28px 0 0}
html:root[data-theme] body.cinematicPage[data-page] .siteFamilyNav.siteFamilyLogos a{display:grid;grid-template-rows:82px auto;align-content:center;justify-items:center;gap:16px;min-height:156px;padding:20px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)!important;text-align:center;text-decoration:none!important}
.siteFamilyLogos .familyLogoSlot{display:grid;place-items:center;width:100%;height:82px}
.siteFamilyLogos .familyLogoSlot img{width:264px;max-width:100%;height:82px;object-fit:contain;object-position:center top}
.siteFamilyLogos .family-main .familyLogoSlot img{width:calc(264px * 1014.4 / 664)}
.siteFamilyLogos a>span:last-child{font-size:13px!important;line-height:20px!important;color:var(--text-secondary)}
@media (hover:hover) and (pointer:fine){
 html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows>a:hover .directionArtwork{transform:translateY(-3px) scale(1.035);opacity:1}
 html:root[data-theme] body.cinematicPage[data-page] .projectCard:hover figure img{transform:scale(1.035)!important}
 .projectFilterFormats button:hover{color:var(--text-primary);background:var(--surface)}
 html:root[data-theme] body.cinematicPage[data-page] .siteFamilyNav.siteFamilyLogos a:hover{border-color:#315cff!important;background:var(--surface)!important}
 .siteFamilyLogos a:hover>span:last-child{color:#6c8aff!important}
}
@media(max-width:1100px){html:root[data-theme] body.cinematicPage[data-page] .siteFamilyNav.siteFamilyLogos{grid-template-columns:1fr;max-width:520px;margin-inline:auto}}
@media(max-width:760px){
 html:root[data-theme] body.cinematicPage[data-page] .topbar .brand,html:root[data-theme] body.cinematicPage[data-page] .topbar .brand.isDepartmentBrand{--brand-art-width:54px!important;width:58px!important;min-width:58px!important}
 html:root[data-theme] body.cinematicPage[data-page] .topbar .brand .brandMark,html:root[data-theme] body.cinematicPage[data-page] .topbar .brand.isDepartmentBrand .brandMark{width:54px!important;height:40px!important;min-height:40px!important}
 html:root[data-theme] body.cinematicPage[data-page] .topbar .brand .brandMark img{content:url('assets/brand/techrezim-monogram.svg')}
 html:root[data-theme="dark"] body.cinematicPage[data-page] .topbar .brand .brandMark img{filter:invert(1)!important}
 html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows>a{padding:18px!important;min-height:244px!important;gap:10px!important}
 html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows .directionArtwork{width:112px;height:112px}
 html:root[data-theme] body.cinematicPage[data-page="home"] .directionRows h3{font-size:22px!important}
 .projectFilters{gap:14px}.projectFilterFormats{flex-basis:100%;gap:4px}.projectFilterFormats button{font-size:13px;padding:8px 12px}.projectFilterCount{margin-left:auto}
}
@media(prefers-reduced-motion:reduce){.directionArtwork,.projectCard figure img,.projectFilterFormats button{transition:none!important;transform:none!important}}

/* One input affordance, with the real native caret taking over on focus. */
.conceptComposerInput{position:relative;width:100%}
.conceptComposerInput textarea{display:block}
html:root[data-theme] body.cinematicPage[data-page] .conceptIdleCaret{position:absolute;left:13px;top:15px;width:2px;height:18px;border-radius:1px;background:#6e8aff;pointer-events:none;animation:concept-caret-pulse 1.2s ease-in-out infinite!important}
.conceptComposerInput textarea:focus+.conceptIdleCaret,.conceptComposerInput textarea:not(:placeholder-shown)+.conceptIdleCaret{display:none}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page] .toolForm[data-tool-form="concept"] .conceptComposerInput textarea{padding-left:19px!important}
html:root[data-theme] body.cinematicPage[data-page] .conceptApply{align-self:flex-end;min-width:166px;margin-top:6px!important}
html:root[data-theme] body.cinematicPage[data-page] .conceptApply[hidden]{display:none!important}
@keyframes concept-caret-pulse{0%,40%,100%{opacity:1}65%,80%{opacity:.12}}
@media(prefers-reduced-motion:reduce){html:root[data-theme] body.cinematicPage[data-page] .conceptIdleCaret{animation:none!important;opacity:1}}
/* Clear the old flex alignment; center the complete grid track, not its contents alone. */
html:root[data-theme] body.cinematicPage[data-page] .siteFamilyNav.siteFamilyLogos a{grid-template-columns:minmax(0,1fr);justify-content:stretch;align-items:center}

/* Archive photography: preserve the complete frame and give captions their own space. */
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveIntro dl{margin-top:26px}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveWide{margin:0;padding:0 clamp(18px,4.2vw,72px)}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveWide img{display:block;width:100%;height:auto;filter:none}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveGallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;margin-top:36px}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveGallery figure{min-height:0;background:transparent;overflow:visible}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveGallery img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;transform:none;filter:none}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] :is(.caseArchiveWide,.caseArchiveGallery) figcaption{position:static;margin:12px 0 0;font-family:inherit;font-size:14px;line-height:1.5;text-transform:none;color:var(--muted,#a7a9b0);text-shadow:none}
html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveGallery figcaption span{opacity:.55;margin-right:12px}
@media(max-width:760px){
 html:root[data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveGallery{grid-template-columns:1fr;gap:28px}
}
/* A project cover is evidence, not a cropped decorative backdrop. */
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero{display:flex!important;flex-direction:column;align-items:stretch!important;height:auto!important;min-height:0!important;max-height:none!important;padding:0!important;overflow:visible}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero>.caseHeroCopy{order:0;position:relative!important;padding:24px var(--rz-page-pad)!important;background:transparent!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero>.caseHeroCopy :is(h1,p){color:var(--text-primary)!important;background:transparent!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero>img{order:1;display:block;position:relative!important;inset:auto!important;width:calc(100% - 2 * var(--rz-page-pad))!important;max-width:1200px!important;height:auto!important;margin-inline:auto;object-fit:contain!important;filter:none!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero>.caseHeroShade{display:none!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] :is(.caseArchiveWide,.caseArchiveGallery) figcaption{color:var(--text-secondary)!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveHero>img{aspect-ratio:auto!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] main>.caseArchiveIntro{gap:24px!important;padding-block:32px!important}
html:root[data-rezim-system][data-theme] body.cinematicPage[data-page="project-detail"] .caseArchiveIntro dl{margin:0!important}
