/* Near-edge content at every width. Hero gutters remain separate. */
#main-content > .section-shell { width:calc(100% - 2 * var(--card-gutter,12px)); max-width:none; margin-inline:auto; }
#main-content .stories-grid,#main-content .video-grid,#main-content .lower-grid { min-height:0; align-items:start; }
[data-scaled-card] { display:block !important; min-height:0 !important; }
.card-composition { position:relative; transform-origin:top left; overflow:hidden; min-height:0; }
#main-content .card-composition > .slot-image,
#main-content .card-composition > picture[data-mq-picture] > .slot-image { position:absolute; inset:0; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; }
#main-content .card-composition .card-body { position:absolute; inset:0; display:flex; flex-direction:column; align-items:flex-start; min-height:0; width:auto; padding:12.48px 16px 11.52px; background:linear-gradient(90deg,rgba(4,6,7,.92),rgba(4,6,7,.66) 55%,transparent 78%); }
#main-content .card-composition .card-category,#main-content .card-composition .video-row-label { margin:0 0 7.2px; font-size:9.44px; line-height:1.15; letter-spacing:.015em; }
#main-content .card-composition h3 { margin:0; max-width:19ch; font-weight:500; letter-spacing:-.025em; line-height:1.08; }
#main-content .story-card .card-composition h3 { font-size:16.96px; }
#main-content .lower-card .card-composition h3 { font-size:14.08px; max-width:17ch; }
#main-content .card-composition .card-body > p:not(.card-category) { max-width:28ch; margin:5.6px 0 0; font-size:10.56px; line-height:1.25; color:#d2d4d5; }
#main-content .lower-card .card-composition .card-body > p:not(.card-category) { max-width:25ch; }
#main-content .card-composition .card-link { display:inline; min-height:0; min-width:0; margin-top:auto; font-size:10.08px; color:var(--cim-orange); }
#main-content .card-composition .card-link::after { margin-left:7.2px; font-size:14.4px; }
#main-content .card-composition .video-overlay { position:absolute; inset:auto 0 0; width:auto; min-height:0; padding:12px 13.6px 10.4px; background:linear-gradient(transparent,rgba(3,5,6,.95) 34%); }
#main-content .video-card-featured .card-composition .video-overlay { inset:34.4px auto auto 139.2px; width:288px; padding:0; background:none; }
#main-content .video-card .card-composition h3 { font-size:12.96px; }
#main-content .video-card-featured .card-composition h3 { font-size:16.8px; }
#main-content .card-composition .video-description { max-width:25ch; margin:6.08px 0 0; font-size:10.4px; line-height:1.25; }
#main-content .card-composition .video-duration { margin-top:5.76px; font-size:9.44px; }
#main-content .card-composition .video-row-label { position:absolute; top:12.48px; left:16px; padding:0; background:none; }
#main-content .card-composition .play-button { position:absolute; top:32px; left:16px; width:44px; height:44px; background:rgba(5,7,8,.58); }
#main-content .video-card-featured .card-composition .play-button { top:50.4px; left:40.8px; width:52px; height:52px; }
/* Phones keep an accessible vertical reading order, at any orientation/width. */
[data-cim-layout-mode="mobile"] #main-content .stories-grid,
[data-cim-layout-mode="mobile"] #main-content .video-grid,
[data-cim-layout-mode="mobile"] #main-content .lower-grid { grid-template-columns:minmax(0,1fr); }
[data-cim-layout-mode="mobile"] #main-content .story-card:last-child,
[data-cim-layout-mode="mobile"] #main-content .video-card-featured { grid-column:auto; }
.builder-device-tabs { display:flex; width:100%; gap:6px; }
.builder-device-tabs button { flex:1; min-height:40px; border:1px solid #49616c; background:#172126; color:#eef8fb; cursor:pointer; }
.builder-device-tabs [aria-pressed="true"] { border-color:#5cd2ff; background:#234653; }
.builder-panel__header { flex-wrap:wrap; }
.builder-devices { order:-2; }
.builder-order { order:-1; padding:12px 0; border-bottom:1px solid #49616c; }
.builder-order h3 { margin:8px 0; color:#5cd2ff; font-size:14px; }
.builder-order p { font-size:12px; color:#b0c6d0; line-height:1.5; }
.builder-order ol { list-style:none; padding:0; }
.builder-order li { display:flex; gap:6px; align-items:center; margin:6px 0; }
.builder-order li span { flex:1; }
.builder-order button { min-width:36px; min-height:36px; background:#172126; color:#eef8fb; border:1px solid #49616c; cursor:pointer; }
.builder-order button:disabled { opacity:.35; cursor:default; }
[data-cim-layout-mode="mobile"] #main-content .slot-image { aspect-ratio:16 / 10; }
