:root{--navy:#07141d;--navy-2:#0d2732;--line:#2b4651;--paper:#edf0ee;--card:#fff;--ink:#17272e;--red:#f0323e;--gold:#e5b35a}
*{box-sizing:border-box}
html{background:var(--navy);scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.topbar{height:98px;display:grid;grid-template-columns:300px 1fr;align-items:center;gap:36px;padding:14px 28px;background:var(--navy);color:#fff;border-bottom:5px solid var(--red);position:sticky;top:0;z-index:1000}
.brand{color:inherit;text-decoration:none;display:grid;line-height:.88}
.brand span{font-size:28px;font-weight:300;letter-spacing:-1.5px}
.brand small{margin-top:7px;font-size:10px;font-weight:900;letter-spacing:2.5px}
.project-title{text-align:center}
.project-title>span,.eyebrow,.program-status span,.access-card span,.portal-card header span,.visit-summary span{font-size:.72rem;font-weight:900;letter-spacing:.14em}
.project-title>span{color:var(--red)}
.project-title h1{margin:5px 0 3px;font:400 1.42rem Georgia,"Times New Roman",serif}
.project-title p{margin:0;color:#aab8be;font-size:.78rem}
.project-heading-row{display:flex;justify-content:flex-end;align-items:center;gap:18px}
.project-switcher{display:flex;gap:6px;flex:0 0 auto}
.project-switcher a{border:1px solid #3c5661;padding:7px 11px;background:#071b25;color:#9eb0b8;font-size:.67rem;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}
.project-switcher a:hover,.project-switcher a:focus-visible{border-color:var(--red);color:#fff}
.project-switcher a.active{border-color:var(--red);background:var(--red);color:#fff}
.partner-brand{width:300px;color:#fff;text-decoration:none;display:grid;justify-items:start;gap:10px}
.partner-brand img{display:block;width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center}
.partner-brand span{font-size:.72rem;font-weight:850;letter-spacing:.22em;white-space:nowrap}
.shell{display:grid;grid-template-columns:210px minmax(0,1fr);min-height:calc(100vh - 98px)}
.sidebar{background:var(--navy-2);color:#fff;padding:24px 14px 18px;display:flex;flex-direction:column;position:sticky;top:98px;height:calc(100vh - 98px);z-index:900}
.nav-label{margin:0 12px 12px;color:var(--red);font-size:.7rem;font-weight:900;letter-spacing:.14em}
.sidebar nav{display:grid;gap:4px}
.nav-item{border:0;border-left:3px solid transparent;background:transparent;color:#b2c0c5;text-align:left;padding:13px 14px;font:750 .9rem inherit;cursor:pointer}
.nav-item:hover,.nav-item:focus-visible{background:#173541;color:#fff;outline:none}
.nav-item.active{border-left-color:var(--red);background:#f3f1eb;color:#17272e}
.access-card{margin-top:auto;border-top:1px solid #3a525c;padding:16px 12px;display:grid;gap:5px}
.access-card span{color:var(--red)}
.access-card b{font-size:.85rem}
.access-card small{color:#9aabb1}
.workspace{padding:28px clamp(20px,3vw,46px) 44px;min-width:0}
.workspace-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:22px}
.overview-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:6px 0 24px}
.overview-tile{min-height:220px;border:1px solid #36525e;border-top:6px solid var(--red);background:linear-gradient(145deg,#0a2430,#061923);color:#fff;padding:22px;text-align:left;display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;cursor:pointer;box-shadow:0 18px 40px #0003}
.overview-tile:hover,.overview-tile:focus-visible{outline:none;border-color:var(--red);transform:translateY(-3px);box-shadow:0 24px 48px #0005}
.overview-tile span{color:var(--red);font-size:.72rem;font-weight:950;letter-spacing:.16em}
.overview-tile b{font:650 1.45rem/1.1 Inter,ui-sans-serif,system-ui,sans-serif}
.overview-tile small{color:#9eb0b8;font-size:.8rem;line-height:1.5}
.overview-tile em{color:#fff;font-size:.68rem;font-style:normal;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body.overview-mode .dashboard-grid,body.overview-mode .project-disclaimer{display:none}
body:not(.overview-mode) .overview-tiles{display:none}
body.detail-mode .workspace-head{display:none}
body.detail-mode .dashboard-grid{grid-template-columns:1fr}
body.detail-mode .portal-card:not(.is-selected){display:none}
body.detail-mode .portal-card.is-selected{grid-column:1/-1}
body:not(.overview-mode) .property-details{display:none}
.eyebrow{margin:0 0 8px;color:var(--red)}
.workspace h2{margin:0;font:400 clamp(2rem,3.4vw,3.25rem)/1 Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.program-status{display:grid;grid-template-columns:10px auto;gap:3px 8px;align-items:center;padding:11px 14px;border:1px solid #cad2d3;background:#fff}
.program-status i{grid-row:1/3;width:9px;height:9px;border-radius:50%;background:var(--gold)}
.program-status span{font-size:.65rem;color:#58686f}
.program-status b{font-size:.8rem}
.visit-strip{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid #cbd3d4;background:#fff;margin-bottom:12px}
.visit{min-height:78px;border:0;border-right:1px solid #dbe0e1;background:#fff;text-align:left;padding:12px 14px;display:grid;grid-template-columns:28px 1fr;gap:3px 7px;cursor:pointer}
.visit:last-child{border-right:0}
.visit span{grid-row:1/3;color:#a9b4b8;font-size:.7rem;font-weight:900}
.visit b{font-size:.86rem}
.visit small{color:#8a999f}
.visit:hover,.visit:focus-visible{background:#f8f7f3;outline:none}
.visit.active{box-shadow:inset 0 -4px var(--red);background:#f8f7f3}
.visit.active span{color:var(--red)}
.visit-summary{display:grid;grid-template-columns:1.15fr 1.5fr .8fr;border:1px solid #cbd3d4;background:#dfe5e3;margin-bottom:16px}
.visit-summary>div{padding:10px 14px;border-right:1px solid #c4cdce;display:grid;gap:3px}
.visit-summary>div:last-child{border-right:0}
.visit-summary span{font-size:.62rem;color:#6c7b81}
.visit-summary b{font-size:.78rem}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.9fr);gap:16px}
.portal-card{border:1px solid #c7d0d2;background:var(--card);min-width:0;scroll-margin-top:116px;box-shadow:0 1px 0 rgba(8,25,33,.03)}
.portal-card header{height:62px;display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #dce1e2}
.portal-card header div{display:grid;gap:4px}
.portal-card header span{color:#6f7f85}
.portal-card h3{margin:0;font:400 1.2rem Georgia,"Times New Roman",serif}
.expand{width:38px;height:38px;border:1px solid #c9d1d3;background:#f4f5f3;color:#253941;font-size:1.15rem;cursor:pointer}
.expand:hover,.expand:focus-visible{border-color:var(--red);color:var(--red);outline:none}
.portal-card footer{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 13px;border-top:1px solid #e0e4e5;color:#6e7d83;font-size:.72rem}
.text-action{border:0;background:none;color:#c72b35;font-weight:850;cursor:pointer}
.map-wrap{height:360px;display:flex;flex-direction:column;overflow:hidden;background:#71806f}
.map-stage{position:relative;flex:1;min-height:0;overflow:hidden}
.map-stage #projectMap{width:100%;height:100%}
.pending-ribbon{position:absolute;z-index:500;top:14px;left:14px;max-width:290px;background:rgba(7,20,29,.92);color:#fff;border-left:4px solid var(--red);padding:10px 12px;display:grid;gap:3px}
.pending-ribbon b{font-size:.67rem;letter-spacing:.1em}
.pending-ribbon span{font-size:.68rem;color:#bac6ca}
.map-key{position:absolute;z-index:500;left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:7px 9px;font-size:.7rem;box-shadow:0 2px 8px #0003}
.map-key i{display:inline-block;width:18px;border-top:3px dashed var(--gold);margin-right:7px;vertical-align:middle}
.map-history-panel{display:none;position:relative;flex:0 0 auto;background:#edf0ef;border-top:1px solid #9eacb0;padding:11px 14px;gap:9px}
.portal-card.is-maximized .map-history-panel{display:grid}
.map-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.map-history-head>div{display:grid;gap:2px}
.map-history-head b{font-size:.68rem;letter-spacing:.11em;color:#263c45}
.map-history-head span{font-size:.65rem;color:#68797f}
.map-history-head>button{border:0;background:var(--red);color:#fff;padding:9px 13px;font-weight:850;font-size:.72rem;cursor:pointer}
.map-history-head>button:disabled{background:#a6b0b3;cursor:not-allowed}
.map-history-ribbon{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px}
.map-history-item{flex:0 0 166px;height:68px;border:2px solid transparent;background:#132832;color:#fff;padding:0;display:grid;grid-template-columns:70px 1fr;text-align:left;cursor:pointer;overflow:hidden}
.map-history-item.current{border-color:var(--red)}
.map-history-thumb{background:linear-gradient(145deg,#71806f,#263e47);background-size:cover;background-position:center;position:relative}
.map-history-thumb:after{content:"";position:absolute;inset:0;border:1px solid #ffffff24}
.map-history-copy{display:grid;align-content:center;gap:3px;padding:8px}
.map-history-copy b{font-size:.69rem}
.map-history-copy span{font-size:.58rem;color:#b8c5c9;line-height:1.25}
.map-history-empty{flex:0 0 200px;height:68px;border:1px dashed #98a7ab;background:#e2e7e6;color:#5f7076;display:grid;align-content:center;gap:2px;padding:9px 12px}
.map-history-empty b{font-size:.68rem;color:#334a53}.map-history-empty span{font-size:.6rem;line-height:1.3}
.map-compare-picker{position:absolute;z-index:910;inset:0;background:#edf0ef;padding:12px 14px;display:grid;grid-template-columns:1fr auto;gap:10px 16px;align-items:end}
.map-compare-picker[hidden]{display:none}
.map-compare-picker #mapCompareChoice{display:flex;gap:10px}
.map-compare-picker #mapCompareChoice[hidden]{display:none}
.map-compare-picker label{display:grid;gap:4px;font-size:.65rem;font-weight:850;color:#40565e}
.map-compare-picker select{min-width:180px;border:1px solid #9eacb0;background:#fff;padding:8px;color:var(--ink)}
.map-compare-picker p{margin:0;font-size:.72rem;color:#40565e;align-self:center}
.map-compare-picker>div:last-child{display:flex;gap:8px}
.map-compare-picker button{border:1px solid #a9b5b8;background:#fff;color:var(--ink);padding:9px 12px;font-weight:850;cursor:pointer}
.map-compare-picker button[type="submit"]{border-color:var(--red);background:var(--red);color:#fff}
.map-compare-view{position:absolute;z-index:850;inset:0;background:#07141d;overflow:hidden;touch-action:none;cursor:grab}
.map-compare-view.is-panning{cursor:grabbing}
.map-compare-view[hidden]{display:none}
.map-compare-view>img,.map-compare-reveal,.map-compare-reveal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:none}
.map-compare-view>img,.map-compare-reveal img{transition:transform .16s ease;transform-origin:50% 50%;pointer-events:none;user-select:none}
.map-compare-view.is-panning>img,.map-compare-view.is-panning .map-compare-reveal img{transition:none}
.map-compare-reveal{right:auto;width:50%;overflow:hidden}
.map-compare-reveal img{right:auto}
.map-compare-view.single .map-compare-reveal,.map-compare-view.single .map-compare-handle,.map-compare-view.single #mapCompareRightLabel{display:none}
.map-compare-handle{position:absolute;z-index:4;top:0;bottom:0;left:50%;width:44px;transform:translateX(-50%);border:0;border-left:3px solid #fff;border-right:3px solid #fff;background:transparent;cursor:ew-resize;padding:0}
.map-compare-handle span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff;font-weight:900;font-size:1.15rem;box-shadow:0 2px 10px #0008}
.map-compare-labels{position:absolute;z-index:3;left:14px;right:14px;top:14px;display:flex;justify-content:space-between;pointer-events:none}
.map-compare-labels b{background:rgba(7,20,29,.88);color:#fff;padding:7px 9px;font-size:.68rem}
.map-compare-zoom{position:absolute;z-index:7;right:14px;bottom:14px;display:grid;grid-template-columns:42px 42px 48px;background:#061923eF;border:1px solid #49636d;box-shadow:0 2px 9px #0007}
.map-compare-labels+.map-compare-zoom{top:auto}
.map-compare-zoom button{height:42px;border:0;border-right:1px solid #49636d;background:transparent;color:#fff;font-size:1.2rem;font-weight:850;cursor:pointer}
.map-compare-zoom button:last-child{border-right:0;font-size:.72rem;color:var(--gold)}
.map-compare-zoom button:hover,.map-compare-zoom button:focus-visible{background:var(--red);color:#fff;outline:none}
.map-compare-zoom button:disabled{opacity:.38;cursor:not-allowed;background:transparent}
.map-compare-exit{position:absolute;z-index:5;left:14px;bottom:14px;border:0;background:#fff;color:var(--ink);padding:9px 12px;font-weight:850;cursor:pointer}
.leaflet-control-zoom a{background:#0b202a!important;color:#fff!important;border-color:#29434e!important}
.map-stage .leaflet-control-zoom,.photo-map-panel .leaflet-control-zoom{margin-right:14px;margin-bottom:18px}
.map-stage.compare-active #projectMap .leaflet-control-container{visibility:hidden}
.leaflet-control-attribution{font-size:8px!important}
.model-workspace{height:360px;display:flex;flex-direction:column;overflow:hidden;background:#081821;color:#fff}
.model-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 45%,#45616c,#172f39 60%,#081821)}
.model-workspace model-viewer{width:100%;height:100%;background:transparent;--poster-color:transparent;cursor:grab}
.model-workspace model-viewer.measure-active{cursor:crosshair}
.model-toolbar{position:absolute;z-index:12;top:12px;left:12px;display:flex;background:rgba(7,20,29,.9);border:1px solid #516871;padding:4px}
.tool{border:0;border-right:1px solid #465c65;background:transparent;color:#c7d1d5;padding:8px 10px;font-weight:800;font-size:.72rem;cursor:pointer}
.tool:last-child{border-right:0}
.tool:hover,.tool:focus-visible,.tool.active{background:var(--red);color:#fff;outline:none}
.tool.quiet{color:#aebbc0}
.measure-result{position:absolute;z-index:12;left:12px;bottom:14px;max-width:330px;background:rgba(7,20,29,.92);border-left:4px solid var(--red);padding:9px 11px;display:grid;gap:3px;pointer-events:none}
.measure-result span{font-size:.59rem;letter-spacing:.13em;font-weight:900;color:var(--red)}
.measure-result b{font-size:.78rem}
.measure-result small{font-size:.61rem;color:#aebbc0}
.model-instruction{position:absolute;z-index:11;right:12px;bottom:14px;background:rgba(7,20,29,.84);border:1px solid #526a73;padding:8px 10px;font-size:.64rem;font-weight:800;letter-spacing:.06em}
.reference-flag{position:absolute;z-index:11;top:58px;left:12px;background:#f1eee7;color:#273a42;border-left:4px solid var(--gold);padding:7px 9px;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.model-loading{position:absolute;z-index:15;inset:50% auto auto 50%;transform:translate(-50%,-50%);background:rgba(7,20,29,.92);border:1px solid #526a73;padding:12px 16px;font-size:.72rem;font-weight:850;transition:opacity .2s}
.model-workspace.ready .model-loading{opacity:0;visibility:hidden}
.model-hotspot{display:none;width:17px;height:17px;border-radius:50%;border:3px solid #fff;background:var(--red);box-shadow:0 2px 6px #0009}
.model-hotspot.visible{display:block}
.model-hotspot.ground{background:var(--gold)}
.model-hotspot.point{background:#5fb7de}
.screen-marker{display:none;position:absolute;z-index:14;width:17px;height:17px;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #fff;background:var(--red);box-shadow:0 2px 6px #0009;pointer-events:none}
.screen-marker.visible{display:block}.screen-marker.ground{background:var(--gold)}.screen-marker.point{background:#5fb7de}
.measure-line{position:absolute;z-index:10;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.measure-line line{stroke:#fff;stroke-width:2;stroke-dasharray:5 5;filter:drop-shadow(0 1px 2px #000)}
.model-history-panel{display:none;flex:0 0 auto;background:#edf0ef;color:var(--ink);border-top:1px solid #9eacb0;padding:11px 14px;gap:9px}
.portal-card.is-maximized .model-history-panel{display:grid}
.model-history-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.model-history-head>div{display:grid;gap:2px}.model-history-head b{font-size:.68rem;letter-spacing:.11em;color:#263c45}.model-history-head span{font-size:.65rem;color:#68797f}
.model-history-ribbon{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px}
.model-history-item{flex:0 0 176px;height:68px;border:2px solid transparent;background:#132832;color:#fff;padding:0;display:grid;grid-template-columns:70px 1fr;text-align:left;cursor:pointer;overflow:hidden}
.model-history-item.current{border-color:var(--red)}
.model-history-thumb{background:linear-gradient(145deg,#607b85,#142a34);background-size:cover;background-position:center;position:relative;display:grid;place-items:center;font-size:.72rem;font-weight:900;letter-spacing:.12em;color:#d7e2e5}
.model-history-thumb:after{content:"";position:absolute;inset:0;border:1px solid #ffffff24}
.model-history-copy{display:grid;align-content:center;gap:3px;padding:8px}.model-history-copy b{font-size:.69rem}.model-history-copy span{font-size:.58rem;color:#b8c5c9;line-height:1.25}
.model-history-empty{flex:0 0 210px;height:68px;border:1px dashed #98a7ab;background:#e2e7e6;color:#5f7076;display:grid;align-content:center;gap:2px;padding:9px 12px}.model-history-empty b{font-size:.68rem;color:#334a53}.model-history-empty span{font-size:.6rem;line-height:1.3}
.photo-progress-card,.video-progress-card{grid-column:1/-1}
.photo-progress-workspace{height:430px;display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,2fr);grid-template-rows:minmax(0,1fr) auto;background:#dfe5e3;overflow:hidden}
.photo-compare-panel{grid-column:1;grid-row:1;padding:20px;background:#f7f8f6;border-right:1px solid #aebabc;display:flex;flex-direction:column;gap:10px;overflow:auto}
.photo-panel-kicker{color:var(--red);font-size:.65rem;font-weight:900;letter-spacing:.14em}
.photo-compare-panel h4{margin:0;font:400 1.45rem Georgia,"Times New Roman",serif}
.photo-compare-panel p{margin:0;color:#64757b;font-size:.78rem;line-height:1.45}
.photo-compare-frames{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px}
.photo-compare-frames>div{min-height:92px;padding:10px;background:linear-gradient(145deg,#233d48,#60747b);color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.photo-compare-frames span{font-size:.58rem;font-weight:900;letter-spacing:.12em;color:#e5b35a}
.photo-compare-frames b{font-size:.72rem}
.photo-compare-selectors{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.photo-compare-selectors label{display:grid;gap:4px;color:#52656c;font-size:.65rem;font-weight:850}
.photo-compare-selectors select{width:100%;border:1px solid #aebabc;background:#fff;padding:8px;color:var(--ink)}
.photo-compare-panel>button{border:0;background:var(--red);color:#fff;padding:11px 13px;font-weight:850;text-align:left;cursor:pointer}
.photo-compare-panel>button:disabled{background:#a7b1b3;cursor:not-allowed}
.photo-compare-panel>small{color:#6e7f85;font-size:.66rem;line-height:1.4}
.photo-map-panel{grid-column:2;grid-row:1;position:relative;min-height:0;background:#6b796b}
#photoProgressMap{width:100%;height:100%}
.photo-map-note{position:absolute;z-index:500;top:14px;left:14px;max-width:260px;background:rgba(7,20,29,.92);color:#fff;border-left:4px solid var(--red);padding:9px 11px;display:grid;gap:3px}
.photo-map-note b{font-size:.64rem;letter-spacing:.1em}.photo-map-note span{font-size:.66rem;color:#bac6ca}
.photo-map-key{position:absolute;z-index:500;left:14px;bottom:14px;background:rgba(255,255,255,.94);padding:8px 10px;font-size:.68rem;box-shadow:0 2px 8px #0003;display:grid;gap:5px}
.photo-map-key span{display:flex;align-items:center;gap:7px}
.photo-map-key i{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:50%;background:var(--red);border:2px solid #fff;box-shadow:0 0 0 1px #9d1f27}
.photo-map-key em{display:inline-block;flex:0 0 auto;width:18px;border-top:3px dashed var(--gold)}
.photo-point-marker{background:none;border:0}
.photo-point-marker span{position:relative;display:grid;place-items:center;border-radius:50%;background:#f0323e;color:#fff;border:3px solid #fff;box-shadow:0 2px 9px #0008;font-size:.56rem;font-weight:900}
.photo-point-marker.side span{width:26px;height:26px}
.photo-point-marker.corner span{width:34px;height:34px;background:var(--gold);color:#07141d;font-size:.62rem}
.photo-point-marker span>b{font:inherit}
.photo-point-marker span>i{position:absolute;inset:-10px;transform:rotate(var(--capture-bearing));pointer-events:none}
.photo-point-marker span>i:after{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);border-left:4px solid transparent;border-right:4px solid transparent;border-bottom:7px solid #fff;filter:drop-shadow(0 1px 1px #0008)}
.photo-point-marker.selected span{background:#07141d;box-shadow:0 0 0 4px rgba(229,179,90,.85),0 3px 10px #0008}
.photo-history-panel{grid-column:1/-1;grid-row:2;background:#edf0ef;border-top:1px solid #9eacb0;padding:11px 14px;display:grid;gap:9px}
.photo-history-panel[hidden]{display:none}
.photo-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.photo-history-head>div{display:grid;gap:2px}.photo-history-head b{font-size:.68rem;letter-spacing:.11em;color:#263c45}.photo-history-head span{font-size:.65rem;color:#68797f}
.photo-history-head>button{border:1px solid #aab6b9;background:#fff;color:var(--ink);padding:7px 10px;font-weight:800;cursor:pointer}
.photo-history-ribbon{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px}
.photo-visit-card{flex:1 0 145px;min-height:76px;border:1px solid #bac5c7;background:#fff;padding:9px;display:grid;grid-template-columns:38px 1fr;gap:4px 8px;text-align:left;color:var(--ink)}
.photo-visit-card i{grid-row:1/4;width:38px;height:38px;display:grid;place-items:center;background:#132832;color:#fff;font-style:normal;font-size:.6rem;font-weight:900}.photo-visit-card b{font-size:.7rem}.photo-visit-card span{font-size:.62rem;color:#68797f}.photo-visit-card small{font-size:.58rem;color:#9a722c;font-weight:850}
.video-progress-body{display:grid;gap:14px;padding:14px;background:#e5eae9}
.video-series{border:1px solid #b9c4c6;background:#fff;padding:12px;display:grid;grid-template-columns:minmax(240px,.85fr) minmax(0,1.45fr);grid-template-rows:auto minmax(150px,1fr);gap:10px 12px}
.video-series-head{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;align-items:end}.video-series-head>div{display:grid;gap:3px}.video-series-head span{color:var(--red);font-size:.62rem;font-weight:900;letter-spacing:.12em}.video-series-head b{font:400 1.05rem Georgia,"Times New Roman",serif}.video-series-head>small{color:#82632e;background:#f3e8d2;padding:5px 7px;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.video-stage{grid-column:1;grid-row:2;min-height:150px;background:radial-gradient(circle at 50% 42%,#415c67,#0b202a 70%);color:#fff;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden}.video-stage.orbit{background:radial-gradient(circle at 50% 42%,#637568,#172b32 70%)}.video-stage>span{font-size:2rem}.video-stage>div{position:absolute;left:12px;right:12px;bottom:12px;display:grid;gap:3px;text-align:left}.video-stage b{font-size:.76rem}.video-stage small{font-size:.62rem;color:#b9c6ca}
.video-visit-ribbon{grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(5,minmax(90px,1fr));gap:7px;min-width:0}.video-visit-ribbon button{border:1px solid #bac5c7;background:#f5f6f4;color:var(--ink);padding:10px 8px;display:grid;align-content:end;gap:4px;text-align:left}.video-visit-ribbon button.current{border:2px solid var(--red);background:#fff}.video-visit-ribbon b{font-size:.68rem}.video-visit-ribbon span{font-size:.62rem}.video-visit-ribbon small{font-size:.57rem;color:#7e8e93}.video-visit-ribbon button:disabled{opacity:.72}
.portal-card.is-maximized .photo-progress-workspace{height:auto;min-height:0}.portal-card.is-maximized .video-progress-body{overflow:auto}
.progress-card{grid-column:1/-1}
.progress-body{padding:18px}
.progress-track{display:grid;grid-template-columns:repeat(5,1fr);position:relative}
.progress-track:before{content:"";position:absolute;left:10%;right:10%;top:15px;height:2px;background:#d1d9da}
.milestone{position:relative;z-index:1;border:0;background:transparent;display:grid;justify-items:center;gap:5px;text-align:center;cursor:pointer}
.milestone i{width:16px;height:16px;border-radius:50%;border:4px solid #fff;background:#cbd4d6;box-shadow:0 0 0 1px #aebbc0}
.milestone b{font-size:.78rem}
.milestone small{font-size:.68rem;color:#7f8e94}
.milestone.current i{background:var(--red);box-shadow:0 0 0 1px var(--red)}
.milestone:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.repeatability-note{margin-top:18px;border-left:4px solid var(--red);background:#edf1ef;padding:12px 14px;display:flex;gap:10px;align-items:baseline}
.repeatability-note b{font:400 1rem Georgia,"Times New Roman",serif}
.repeatability-note span{color:#6b7b81;font-size:.78rem;line-height:1.45}
.media-card,.files-card{min-height:310px}
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;height:248px}
.media-placeholder{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:12px;color:#fff;background:#536c5a}
.media-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(2,12,17,.88))}
.media-placeholder.aerial{background:linear-gradient(145deg,#4a6f55,#9fa67a)}
.media-placeholder.detail{background:linear-gradient(135deg,#667f82,#ad8d6d)}
.media-placeholder.video{background:linear-gradient(135deg,#263f49,#6e8991)}
.media-placeholder span,.media-placeholder b,.media-placeholder i{position:relative;z-index:1}
.media-placeholder span{font-size:.6rem;letter-spacing:.1em;font-weight:900}
.media-placeholder b{font-size:.76rem;margin-top:4px}
.media-placeholder i{position:absolute;inset:0;display:grid;place-items:center;font-style:normal;font-size:1.8rem}
.file-list{padding:4px 14px}
.file-list>div{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #e0e5e5}
.file-list>div:last-child{border-bottom:0}
.file-list i{font-style:normal;color:var(--red);font-size:.65rem;font-weight:900}
.file-list span{display:grid;gap:2px}
.file-list b{font-size:.8rem}
.file-list small{color:#849298}
.file-list em{font-style:normal;color:#80612d;background:#f4ead5;padding:5px 7px;font-size:.58rem;font-weight:900;letter-spacing:.08em}
.project-disclaimer{margin:18px 0 0;color:#738288;font-size:.68rem;line-height:1.5}
.portal-card.is-maximized{position:fixed;z-index:3000;inset:12px;margin:0;display:flex;flex-direction:column;border-color:#50656d;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.portal-card.is-maximized header{flex:0 0 68px}
.portal-card.is-maximized .card-body{flex:1;min-height:0}
.portal-card.is-maximized .map-wrap,.portal-card.is-maximized .model-workspace{height:auto}
.portal-card.is-maximized footer{flex:0 0 46px}
.portal-card.is-maximized .media-grid{height:auto}
.portal-card.is-maximized .file-list{overflow:auto}
.portal-card.is-maximized .progress-body{display:grid;align-content:center}
.portal-card.is-maximized .expand{background:var(--red);border-color:var(--red);color:#fff}
.has-maximized{overflow:hidden}
.has-maximized:before{content:"";position:fixed;z-index:2999;inset:0;background:rgba(4,14,20,.78);backdrop-filter:blur(4px)}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:1fr}
.overview-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.progress-card{grid-column:auto}
.visit-summary{grid-template-columns:1fr 1fr}
.visit-summary>div:last-child{grid-column:1/-1;border-top:1px solid #c4cdce}
}
@media(max-width:850px){.topbar{grid-template-columns:1fr auto;position:relative;height:auto}
.project-title{text-align:left;grid-column:1/-1;grid-row:2}
.shell{grid-template-columns:1fr}
.sidebar{padding:8px;display:block;position:sticky;top:0;height:auto}
.sidebar nav{display:flex;overflow:auto}
.nav-item{white-space:nowrap}
.nav-label,.access-card{display:none}
.visit-strip{overflow-x:auto;grid-template-columns:repeat(5,minmax(150px,1fr))}
.workspace-head{align-items:flex-start;flex-direction:column}
.map-wrap,.model-workspace{height:420px}
.portal-card{scroll-margin-top:64px}
}
@media(max-width:620px){.workspace{padding:20px 12px 34px}
.project-title h1{font-size:1.2rem}
.program-status{width:100%}
.visit-summary{grid-template-columns:1fr}
.visit-summary>div{border-right:0;border-bottom:1px solid #c4cdce}
.visit-summary>div:last-child{grid-column:auto;border-bottom:0}
.map-wrap,.model-workspace{height:390px}
.model-toolbar{right:12px;overflow:auto}
.reference-flag{right:12px;top:56px}
.model-instruction{display:none}
.measure-result{right:12px;max-width:none}
.map-history-panel{padding:10px}
.model-history-panel{padding:10px}
.map-history-head{align-items:flex-start}
.map-history-item{flex-basis:150px}
.model-history-item{flex-basis:156px}
.map-compare-picker{grid-template-columns:1fr;overflow:auto}
.map-compare-picker #mapCompareChoice{display:grid}
.map-compare-picker select{min-width:0;width:100%}
.progress-track{grid-template-columns:1fr;gap:14px}
.progress-track:before{left:8px;top:10px;bottom:10px;width:2px;height:auto}
.milestone{grid-template-columns:24px 1fr;justify-items:start;text-align:left;column-gap:10px}
.milestone i{grid-row:1/3}
.repeatability-note{align-items:flex-start;flex-direction:column}
.media-grid{grid-template-columns:1fr;height:auto}
.media-placeholder{min-height:130px}
.portal-card.is-maximized{inset:0}
.portal-card.is-maximized footer{display:none}
.map-compare-zoom{right:10px;bottom:10px;grid-template-columns:40px 40px 46px}
.map-compare-zoom button{height:40px}
.map-compare-exit{left:10px;bottom:10px}
.map-stage .leaflet-control-zoom,.photo-map-panel .leaflet-control-zoom{margin-right:10px;margin-bottom:16px}
.map-key,.photo-map-key{left:10px;bottom:10px;max-width:calc(100% - 88px)}
.photo-point-marker.side span{width:22px;height:22px;font-size:.48rem;transform:translate(2px,2px)}
.photo-point-marker.corner span{width:28px;height:28px;font-size:.54rem;transform:translate(3px,3px)}
}

.portal-card header .card-actions{display:flex;gap:7px;align-items:center}
.share-trigger,.item-share{border:1px solid #c9d1d3;background:#fff;color:#253941;padding:9px 11px;font:800 .7rem inherit;cursor:pointer}
.share-trigger:hover,.share-trigger:focus-visible,.item-share:hover,.item-share:focus-visible{border-color:var(--red);color:var(--red);outline:none}
.item-share{position:absolute;z-index:3;top:9px;right:9px;border-color:#ffffff99;background:rgba(7,20,29,.82);color:#fff;backdrop-filter:blur(4px)}
.shareable-item{scroll-margin-top:120px}
.shared-target{outline:4px solid var(--gold);outline-offset:4px;animation:shared-pulse 1.1s ease 2}
@keyframes shared-pulse{50%{outline-color:var(--red);box-shadow:0 0 0 8px rgba(240,50,62,.18)}}
.share-dialog{width:min(620px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 28px));padding:0;border:1px solid #4e626b;background:#f7f8f6;color:var(--ink);box-shadow:0 28px 90px #0008}
.share-dialog::backdrop{background:rgba(4,14,20,.74);backdrop-filter:blur(5px)}
.share-sheet{display:grid}
.share-sheet>header{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;background:var(--navy);color:#fff;border-bottom:4px solid var(--red)}
.share-sheet>header div{display:grid;gap:4px}
.share-sheet>header span{color:var(--red);font-size:.68rem;font-weight:900;letter-spacing:.14em}
.share-sheet h2{margin:0;font:400 1.55rem Georgia,"Times New Roman",serif}
.share-sheet>header p{margin:0;color:#aebbc0;font-size:.78rem}
.share-close{align-self:start;width:38px;height:38px;border:1px solid #536872;background:#142d38;color:#fff;font-size:1.4rem;cursor:pointer}
.share-note{display:grid;gap:7px;padding:20px 24px 12px}
.share-note>span{font-size:.78rem;font-weight:850}
.share-note textarea{width:100%;resize:vertical;min-height:82px;padding:11px;border:1px solid #bec9cb;background:#fff;color:var(--ink);font:400 1rem/1.45 inherit}
.share-note textarea:focus,.share-retry:focus-visible{outline:2px solid var(--red);outline-offset:1px}
.share-capture{display:grid;gap:10px;padding:0 24px 16px}
.share-preview-frame{min-height:180px;border:1px solid #c5ced0;background:#e7ebea;display:grid;place-items:center;overflow:auto}
.share-preview-frame>div{display:grid;gap:5px;text-align:center;color:#526269;padding:22px}
.share-preview-frame>div[hidden]{display:none}
.share-preview-frame>div b{font-size:.86rem;color:var(--ink);animation:share-pulse 1.3s ease-in-out infinite}
.share-preview-frame>div span{font-size:.72rem}
.share-preview-frame img{display:block;width:100%;max-height:360px;object-fit:contain;background:#07141d}
.share-preview-frame img[hidden]{display:none}
.share-retry{justify-self:end;border:1px solid #aebbbf;background:#fff;color:var(--ink);padding:9px 13px;font-weight:800;cursor:pointer}
.share-retry[hidden]{display:none}
.share-model-image{display:block;width:100%;height:100%;object-fit:contain;background:#d8dedd}
.share-model-live{position:absolute;z-index:1;inset:0;background:transparent}
@keyframes share-pulse{50%{opacity:.45}}
.share-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 24px}
.share-options button{min-height:72px;border:1px solid #c7d0d2;background:#fff;color:var(--ink);padding:10px 8px;display:grid;align-content:center;gap:4px;text-align:left;cursor:pointer}
.share-options button:hover,.share-options button:focus-visible{border-color:var(--red);box-shadow:inset 0 -3px var(--red);outline:none}
.share-options button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;border-color:#c7d0d2}
.share-options b{font-size:.78rem}
.share-options small{color:#738288;font-size:.64rem}
.share-options .not-supported{display:none}
.share-access-note{margin:16px 24px 0;padding:10px 12px;border-left:4px solid var(--gold);background:#ece5d8;color:#5d513b;font-size:.75rem;line-height:1.45}
.share-feedback{min-height:34px;margin:0;padding:9px 24px 14px;color:#a6212a;font-size:.76rem;font-weight:800}
@media(max-width:620px){
  .overview-tiles{grid-template-columns:1fr}
  .overview-tile{min-height:175px}
  .portal-card header{height:auto;min-height:62px}
  .share-trigger{padding:9px}
  .share-sheet>header{padding:18px}
  .share-note{padding:18px 18px 10px}
  .share-capture{padding:0 18px 14px}
  .share-options{padding:0 18px;grid-template-columns:repeat(2,1fr)}
  .share-options button{min-height:62px}
  .share-access-note{margin:14px 18px 0}
  .share-feedback{padding:8px 18px 12px}
  .share-dialog{max-height:calc(100vh - 12px)}
}
@media(max-width:900px){
  .photo-progress-workspace{height:auto;grid-template-columns:1fr;grid-template-rows:auto 360px auto}
  .photo-compare-panel{grid-column:1;grid-row:1;border-right:0;border-bottom:1px solid #aebabc}
  .photo-map-panel{grid-column:1;grid-row:2}
  .photo-history-panel{grid-column:1;grid-row:3}
  .video-series{grid-template-columns:1fr;grid-template-rows:auto 210px auto}
  .video-stage{grid-column:1;grid-row:2}
  .video-visit-ribbon{grid-column:1;grid-row:3;overflow-x:auto;grid-template-columns:repeat(5,minmax(120px,1fr))}
}
@media(max-width:620px){
  .photo-compare-panel{padding:15px}
  .photo-compare-frames,.photo-compare-selectors{grid-template-columns:1fr}
  .photo-map-note{right:14px}
  .photo-history-panel{padding:10px}
  .video-progress-body{padding:9px}
  .video-series{padding:9px}
}
+
/* Pitch dashboard visual system */
:root{--navy:#03131c;--navy-2:#061b25;--line:#29444f;--paper:#03131c;--card:#071c26;--ink:#f4f7f8;--red:#ff3347;--gold:#edb950;--muted:#91a4ad}
body{background:radial-gradient(circle at 70% 0,#0b2531 0,#03131c 38%,#020d13 100%);color:var(--ink)}
.topbar{height:154px;grid-template-columns:minmax(280px,380px) 1fr;gap:48px;padding:18px 42px 20px;background:#03131cf2;border-bottom:7px solid var(--red);backdrop-filter:blur(12px)}
.brand{width:max-content;line-height:.82}
.brand span,.brand b{display:block;font-weight:250;letter-spacing:-2.2px}
.brand span{font-size:34px}
.brand b{font-size:36px;margin-top:6px}
.brand small{margin-top:18px;color:#fff;font-size:10px;font-weight:900;letter-spacing:3.1px}
.project-title{text-align:right;padding-right:14px}
.project-title>span{display:inline-block;border:1px solid var(--red);padding:7px 10px;color:#fff;font-size:.63rem}
.project-title h1{margin:12px 0 6px;font:650 1.75rem/1.05 Inter,ui-sans-serif,system-ui,sans-serif;letter-spacing:-.02em}
.project-title p{color:#93a7b0;font-size:.84rem;font-weight:650}
.shell{display:block;min-height:calc(100vh - 154px)}
.sidebar{height:78px;top:154px;padding:0 42px;display:block;background:#051924f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav-label,.access-card{display:none}
.sidebar nav{height:100%;display:grid;grid-template-columns:repeat(5,minmax(118px,1fr));gap:0;counter-reset:portal-nav}
.nav-item{counter-increment:portal-nav;position:relative;border:0;border-bottom:6px solid transparent;padding:0 16px 0 48px;color:#8fa1aa;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;font-weight:850;white-space:nowrap}
.nav-item:before{content:counter(portal-nav,decimal-leading-zero);position:absolute;left:15px;color:var(--red);font-size:.72rem;font-weight:900;letter-spacing:.12em}
.nav-item:hover,.nav-item:focus-visible{background:#0a2430;color:#fff}
.nav-item.active{border-left:0;border-bottom-color:var(--red);background:#0a2430;color:#fff}
.workspace{max-width:1800px;margin:0 auto;padding:34px clamp(22px,3vw,52px) 58px}
.workspace-head{padding:10px 0 2px;margin-bottom:24px}
.eyebrow{letter-spacing:.22em}
.workspace h2{font:600 clamp(2rem,3.4vw,3.45rem)/1.02 Georgia,"Times New Roman",serif;color:#fff}
.program-status{border:1px solid #405b66;background:#0a202a;color:#fff}
.program-status span{color:#9eb0b8}
.visit-strip{border-color:#2f4a55;background:#061a24}
.visit{background:#061a24;color:#fff;border-color:#29434e}
.visit:hover,.visit:focus-visible,.visit.active{background:#0c2834}
.visit small{color:#82969f}.visit span{color:#677d86}.visit.active{box-shadow:inset 0 -5px var(--red)}
.visit-summary{border-color:#2e4954;background:#0a202a}
.visit-summary>div{border-color:#29434e}.visit-summary span{color:#7f949d}.visit-summary b{color:#e9eef0}
.dashboard-grid{gap:20px}
.portal-card{border:1px solid #36525e;background:#071c26;box-shadow:0 18px 40px #0003}
.portal-card header{height:70px;padding:11px 16px;border-bottom:1px solid #294650;border-top:5px solid var(--red);background:#071b25}
.portal-card header span{color:#8ea1aa;letter-spacing:.16em}
.portal-card h3{color:#fff;font:650 1.25rem Inter,ui-sans-serif,system-ui,sans-serif}
.portal-card footer{border-color:#28434e;color:#8fa1aa;background:#061923}
.expand,.share-trigger,.item-share{border-color:#3d5964;background:#0a222d;color:#fff}
.expand:hover,.expand:focus-visible,.share-trigger:hover,.share-trigger:focus-visible{border-color:var(--red);background:#132f3a;color:#fff}
.text-action{color:var(--red)}
.pending-ribbon,.photo-map-note{background:#061923ed;border-left-color:var(--red)}
.map-key,.photo-map-key{background:#061923ed;color:#fff;border:1px solid #39545f}
.map-history-panel,.model-history-panel,.photo-history-panel{background:#061a24;color:#fff;border-color:#2d4954}
.map-history-head b,.model-history-head b,.photo-history-head b{color:#fff}
.map-history-head span,.model-history-head span,.photo-history-head span{color:#8ea1aa}
.map-history-empty,.model-history-empty{border-color:#44606b;background:#0a222d;color:#8fa2aa}
.map-history-empty b,.model-history-empty b{color:#dfe7ea}
.map-compare-picker{background:#071c26;color:#fff}
.map-compare-picker label,.map-compare-picker p{color:#a0b0b7}
.map-compare-picker select{border-color:#44616d;background:#0c2631;color:#fff}
.map-compare-picker button,.map-compare-exit{border-color:#49636d;background:#0a222d;color:#fff}
.model-history-item,.map-history-item{background:#0b2530}
.reference-flag{background:#061923ed;color:#fff;border-left-color:var(--gold)}
.photo-progress-workspace{background:#061a24}
.photo-compare-panel{background:#071c26;color:#fff;border-color:#304d58}
.photo-compare-panel h4{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700}
.photo-compare-panel p,.photo-compare-panel>small{color:#91a4ad}
.photo-compare-frames>div{background:linear-gradient(145deg,#0c2a36,#173b48);border:1px solid #38545f}
.photo-compare-selectors label{color:#9aacb4}
.photo-compare-selectors select{border-color:#3d5a66;background:#0a222d;color:#fff}
.photo-compare-panel>button:disabled{background:#203b46;color:#788d96}
.photo-point-marker.side span{background:var(--red);color:#fff;border-color:#fff;box-shadow:0 2px 9px #000b}
.photo-point-marker.corner span{background:var(--gold);color:#07141d;border-color:#fff;box-shadow:0 2px 9px #000b}
.photo-point-marker.selected span{background:var(--red);color:#fff;box-shadow:0 0 0 4px rgba(237,185,80,.9),0 3px 10px #000b}
.photo-history-head>button{border-color:#405e69;background:#0b2530;color:#fff}
.photo-visit-card{border-color:#37535f;background:#0a222d;color:#fff}
.photo-visit-card i{background:#0f313e;color:var(--gold)}
.photo-visit-card span{color:#91a4ad}.photo-visit-card small{color:var(--gold)}
.video-progress-body{background:#051923}
.video-series{border-color:#34515c;background:#081d27}
.video-series-head b{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:700;color:#fff}
.video-series-head>small{background:#2b271b;color:var(--gold)}
.video-visit-ribbon button{border-color:#34515c;background:#0a222d;color:#fff}
.video-visit-ribbon button.current{border-color:var(--red);background:#0d2934}
.video-visit-ribbon small{color:#8ea1aa}
.file-list>div{border-color:#233e49}.file-list small{color:#8ea1aa}.file-list em{background:#2b271b;color:var(--gold)}
.project-disclaimer{color:#768b94}
.share-dialog{border-color:#43606b;background:#071c26;color:#fff}
.share-sheet>header{background:#03131c}.share-note textarea{border-color:#405d68;background:#0a222d;color:#fff}
.share-preview-frame{border-color:#3e5a65;background:#041720}
.share-options button,.share-retry{border-color:#3d5964;background:#0a222d;color:#fff}
.share-options small{color:#91a4ad}
.share-access-note{background:#2a271c;color:#ddcda8}
.photo-progress-card,.video-progress-card{box-shadow:inset 0 1px #ffffff08,0 22px 50px #0003}
.portal-card.is-maximized{background:#061923;color:#fff;border-color:#3b5965}
.portal-card.is-maximized>header{background:#071b25!important;color:#fff;border-top:6px solid var(--red);border-bottom:1px solid #35515d}
.portal-card.is-maximized>header span{color:#91a4ad}
.portal-card.is-maximized>footer{background:#061923!important;color:#91a4ad;border-top:1px solid #35515d}
.portal-card.is-maximized .map-history-panel,.portal-card.is-maximized .model-history-panel,.portal-card.is-maximized .photo-history-panel{background:#081d27!important;color:#fff;border-top-color:#35515d}
.portal-card.is-maximized .map-history-empty,.portal-card.is-maximized .model-history-empty{background:#0b2530;color:#91a4ad;border-color:#46626d}
.portal-card.is-maximized .map-history-empty b,.portal-card.is-maximized .model-history-empty b{color:#fff}
.portal-card.is-maximized .share-trigger{background:#0a222d;color:#fff;border-color:#405d68}
.portal-card.is-maximized .share-trigger:hover,.portal-card.is-maximized .share-trigger:focus-visible{border-color:var(--red);background:#132f3a}

@media(max-width:1000px){
  .topbar{grid-template-columns:250px 1fr;padding-inline:24px;gap:28px}
  .partner-brand{width:250px}
  .partner-brand img{max-height:42px}
  .brand span{font-size:28px}.brand b{font-size:30px}.brand small{font-size:8px;letter-spacing:2.4px}
  .sidebar{padding-inline:16px}
  .sidebar nav{grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto}
}
@media(max-width:850px){
  .topbar{height:auto;min-height:142px;grid-template-columns:1fr auto;position:sticky;padding:18px 20px;border-bottom-width:5px}
  .project-title{grid-column:1/-1;grid-row:2;text-align:left;padding:0}
  .partner-brand{grid-column:1/-1;grid-row:1;width:min(300px,78vw)}
  .project-title>span{display:none}
  .project-title h1{margin-top:4px;font-size:1.25rem}
  .project-heading-row{justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px 12px}
  .shell{min-height:0}
  .sidebar{top:0;height:62px;padding:0 8px;position:sticky;display:block}
  .sidebar nav{display:flex}
  .nav-item{flex:0 0 auto;padding:0 16px 0 43px}
  .workspace{padding-top:24px}
}
@media(max-width:620px){
  .topbar{min-height:132px}
  .brand span{font-size:24px}.brand b{font-size:26px}.brand small{margin-top:12px;font-size:7px}
  .partner-brand{width:min(260px,78vw);gap:8px}
  .partner-brand span{font-size:.62rem}
  .project-title p{font-size:.72rem}
  .sidebar{top:132px;height:58px}
  .workspace{padding:18px 10px 38px}
  .portal-card header{padding:10px 11px}
  .portal-card h3{font-size:1rem}
  .share-trigger{font-size:0;width:36px}.share-trigger:after{content:"↗";font-size:1rem}
}

/* Pace showcase content uses the approved portal shell without recurring-visit UI. */
.pace-brand{display:grid;grid-template-columns:auto;gap:4px;align-content:center;text-decoration:none}
.pace-brand .pace-wordmark{color:#fff;font:800 clamp(1rem,1.8vw,1.45rem)/1.05 Arial,sans-serif;letter-spacing:.055em}
.pace-brand>span:last-child{color:#9fb0b8;font-size:.56rem;letter-spacing:.24em}
.property-details{display:grid;grid-template-columns:minmax(220px,1.15fr) repeat(3,minmax(180px,1fr));border:1px solid #36525e;background:#071c26;box-shadow:0 18px 40px #0003}
.property-details-head,.property-detail{min-height:118px;padding:20px 22px;display:grid;align-content:center;gap:5px}.property-detail{border-left:1px solid #294650}
.property-details span{color:#8ea1aa;font-size:.61rem;font-weight:900;letter-spacing:.16em}.property-details-head span{color:var(--red)}
.property-details h3{margin:0;color:#fff;font:650 1.3rem/1.1 Inter,ui-sans-serif,system-ui,sans-serif}.property-detail b{color:#fff;font:600 1rem/1.2 Georgia,serif}.property-detail small{color:#91a4ad;font-size:.68rem}
.campus-map-placeholder{height:100%;display:grid;place-content:center;justify-items:center;gap:8px;position:relative;overflow:hidden;background:radial-gradient(circle at 55% 42%,#274855 0 7%,transparent 7.5%),linear-gradient(145deg,#17343f,#061923 72%);color:#fff;text-align:center;padding:24px}
.campus-map-placeholder:before,.campus-map-placeholder:after{content:"";position:absolute;inset:12% 15%;border:1px solid rgba(255,255,255,.13);transform:rotate(-7deg)}
.campus-map-placeholder:after{inset:23% 28%;border-color:rgba(240,50,62,.55);transform:rotate(4deg)}
.campus-map-placeholder b,.campus-map-placeholder span{position:relative;z-index:1}.campus-map-placeholder b{font:600 1.25rem Georgia,serif}.campus-map-placeholder span{max-width:360px;color:#a9bbc2;font-size:.78rem}
.media-library{height:430px;padding:18px;background:#061a24;color:#fff;overflow:auto}
.media-library-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px}
.media-library-head span,.video-feature>span{color:var(--red);font-size:.6rem;font-weight:900;letter-spacing:.15em}.media-library-head h4{margin:4px 0 0;font:500 1.15rem Georgia,serif}
.media-filters{display:flex;flex-wrap:wrap;gap:6px}.media-filters button{border:1px solid #38535f;background:#0b2631;color:#aebdc3;padding:7px 10px;font-size:.62rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.media-filters button.active,.media-filters button:hover{background:var(--red);border-color:var(--red);color:#fff}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.media-item{min-height:132px;border:1px solid #35515d;background:linear-gradient(145deg,#173642,#0a2029);color:#fff;padding:15px;text-align:left;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;cursor:pointer;position:relative;overflow:hidden}.media-item:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 35%,rgba(240,50,62,.14));opacity:.7}.media-item>*{position:relative}.media-item.hero{grid-column:span 2}.media-item span{color:#ff6b73;font-size:.56rem;font-weight:900;letter-spacing:.13em}.media-item b{font:600 1rem Georgia,serif}.media-item small{color:#9eb0b8}.media-item:hover{border-color:var(--red);transform:translateY(-1px)}
.media-item[hidden]{display:none}
.video-library{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:14px}.video-feature{display:grid;grid-template-rows:auto 1fr;gap:8px}.video-placeholder{min-height:290px;border:1px solid #35515d;background:radial-gradient(circle at center,rgba(240,50,62,.18),transparent 28%),linear-gradient(145deg,#173642,#071922);display:grid;place-content:center;text-align:center;gap:8px}.video-placeholder i{font-style:normal;width:58px;height:58px;border-radius:50%;display:grid;place-content:center;margin:auto;background:var(--red);padding-left:4px}.video-placeholder b{font:600 1.2rem Georgia,serif}.video-placeholder small{color:#9eb0b8}.video-catalog{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start}.video-catalog button{min-height:96px;padding:12px;border:1px solid #35515d;background:#0b2530;color:#fff;text-align:left;display:grid;gap:3px;cursor:pointer}.video-catalog button:hover{border-color:var(--red)}.video-catalog span{color:var(--red);font-size:.58rem;font-weight:900;letter-spacing:.13em}.video-catalog b{font:600 .92rem Georgia,serif}.video-catalog small{color:#9eb0b8}
.portal-card.is-maximized .media-library{height:auto;min-height:0}
@media(max-width:900px){.property-details{grid-template-columns:repeat(2,minmax(0,1fr))}.property-detail{border-left:0;border-top:1px solid #294650}.property-detail:nth-child(2){border-left:1px solid #294650;border-top:0}.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.video-library{grid-template-columns:1fr}.media-library{height:auto}.media-library-head{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.pace-brand .pace-wordmark{font-size:1rem}.property-details{grid-template-columns:1fr}.property-detail,.property-detail:nth-child(2){border-left:0;border-top:1px solid #294650}.property-details-head,.property-detail{min-height:94px}.media-grid,.video-catalog{grid-template-columns:1fr}.media-item.hero{grid-column:auto}}
