/* Building: video-first players in the user-supplied wide-opening camera frames. */
.chapter[data-page=building]{background:#f5f6f7;color:#4a5058}
[data-page=building] .chapter-nav,[data-page=building] .chapter-footer{border-color:#7d89931c;color:#7e8994}
[data-page=building] .chapter-footer button,[data-page=building] #chapter-number{color:#778593}
[data-page=building] .section-layout{width:min(1400px,88%);min-height:calc(100svh - 173px)}
[data-page=building] .chapter-intro{display:none}
[data-page=building] .chapter-body{display:block;padding:0}
.building-studio{padding:27px 0 25px}
.building-intro{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:18px}
.building-intro h1{margin:0;font-size:clamp(21px,2.1vw,31px);font-weight:400;letter-spacing:-.04em;outline:none}
.building-count{font-size:9px;letter-spacing:.16em;color:#96a0a8;white-space:nowrap}
.building-gallery{display:grid;grid-template-columns:1.15fr 1fr;gap:7%;align-items:center}
.building-preview{min-width:0;outline-offset:10px;width:100%;justify-self:center}
.building-media-stage{position:relative;height:clamp(440px,calc(100svh - 265px),780px);overflow:hidden}
.building-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transform-origin:50% 50%;z-index:1}
.building-media.is-current{z-index:2}
.building-media[hidden],.building-play-overlay[hidden],.building-video-error[hidden]{display:none!important}
.building-player{position:relative;height:auto;width:min(100%,calc(clamp(440px,calc(100svh - 265px),780px) * var(--video-ratio)));max-width:100%;aspect-ratio:var(--video-ratio);padding:5px;border:1px solid #c9cdd1;border-radius:15px;background:linear-gradient(120deg,#fdfefe,#c8cdd1 45%,#eff1f2);box-shadow:0 5px 15px #46556412;box-sizing:border-box}
.building-player-screen{position:relative;width:100%;height:100%;overflow:hidden;border-radius:10px;background:#0b0c0e}
.building-player-screen video{display:block;position:relative;width:100%;height:100%;object-fit:contain;background:#0b0c0e}
/* Keep supplied PNGs unchanged; crop only the empty outer margins in CSS. */
.building-player--framed{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
.building-player-frame{position:absolute;z-index:2;left:0;top:-12.46246%;width:100%;height:auto;max-width:none;pointer-events:none;user-select:none}
.building-player--framed .building-player-screen{position:absolute;z-index:1;left:10.30818%;top:9.00901%;width:71.41339%;height:85.21021%;border-radius:5px}
.building-player--dark .building-player-frame{top:-17.88618%}
.building-player--dark .building-player-screen{left:12.96599%;top:8.94309%;width:74.07014%;height:87.23577%;border-radius:8px}
.building-play-overlay{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:grid;place-items:center;width:50px;height:50px;border:1px solid #ffffff66;border-radius:50%;background:#25292d99;color:#f5f6f7;box-shadow:0 2px 12px #0002;backdrop-filter:blur(8px);cursor:pointer;padding:0!important;transition:background .2s,scale .2s}
.building-play-overlay svg{display:block;width:23px;height:23px;transform:translateX(-1px);pointer-events:none}
.building-play-overlay:hover{background:#25292dbb;scale:1.06}
.building-play-overlay:focus-visible{outline:3px solid #7c9cbd;outline-offset:5px}
.building-video-error{position:absolute;inset:35% 8% auto;margin:0;padding:15px;background:#f3f5f7;color:#5b6671;font-size:12px;line-height:1.6;text-align:center}
.building-video-error a{display:block;text-decoration:underline}
.building-video-placeholder{width:100%;height:100%;position:relative;padding:15% 8%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;box-sizing:border-box;color:#a5b9b1;background:linear-gradient(150deg,#172d27,#1e3730 60%,#11221d)}
.building-frame-label{font-size:8px;letter-spacing:.13em;text-align:center}
.building-frame-number{font-size:clamp(66px,8vw,110px);font-weight:200;line-height:1;letter-spacing:-.09em;color:#a7bcb0}
.building-frame-status{font-size:10px;color:inherit;opacity:.85;text-align:center}
.building-preview-caption{display:flex;justify-content:space-between;gap:12px;padding:12px 4% 0;font-size:9px;color:#8a98a4;letter-spacing:.035em}
.building-current-duration{font-variant-numeric:tabular-nums;font-size:8px;letter-spacing:.065em;white-space:nowrap}
.building-projects{min-width:0;padding:10px 0 20px}
.building-selection-hint{font-size:11px;color:#939da7;letter-spacing:.02em;margin:0 0 42px 4%}
.building-project-list{display:flex;flex-direction:column;align-items:stretch;gap:25px}
.building-project{display:flex;align-items:baseline;position:relative;gap:14px;padding:10px 0!important;color:#a2abb5;text-align:left;background:none;border:none;cursor:pointer;outline-offset:8px;transition:color .5s,transform .65s cubic-bezier(.22,.75,.17,1)}
.building-project:nth-child(2){margin-left:7%}
.building-project:nth-child(3){margin-left:1%}
.building-project-index{font-size:9px;letter-spacing:.04em;align-self:center;flex-shrink:0;color:#a7b0b9}
.building-project-name{font-size:clamp(28px,3.5vw,59px);font-weight:400;letter-spacing:-.055em;line-height:1.15;white-space:normal}
.building-project.is-selected{color:#586e80;transform:translateX(9px)}
.building-project.is-selected .building-project-name{font-style:italic}
.building-interaction-note{font-size:10px;color:#939da7;letter-spacing:.02em;margin:46px 0 0 4%}
.building-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1000px){.building-gallery{gap:5%}.building-project-name{font-size:clamp(27px,4vw,44px)}.building-project{gap:10px}.building-selection-hint{margin-bottom:25px}.building-project-list{gap:20px}}
@media(max-width:700px){[data-page=building] .section-layout{width:88%}.building-studio{padding-top:26px}.building-intro{display:block;padding-bottom:22px}.building-intro h1{font-size:26px}.building-count{display:block;margin-top:12px;font-size:8px}.building-gallery{display:flex;flex-direction:column;align-items:stretch;gap:29px}.building-preview{width:100%;min-width:0;align-self:center}.building-media-stage{height:min(68svh,620px);min-height:390px}.building-player{width:min(100%,calc(max(390px,min(68svh,620px)) * var(--video-ratio)))}.building-preview-caption{padding-top:9px;font-size:9px}.building-projects{padding:0 0 10px}.building-selection-hint{display:none}.building-project-list{gap:10px}.building-project{padding:8px 0!important;gap:13px}.building-project-name{font-size:clamp(28px,7.6vw,42px)}.building-project.is-selected{transform:translateX(5px)}.building-project:nth-child(2){margin-left:5%}.building-interaction-note{margin-top:25px;font-size:9px}.building-frame-number{font-size:75px}.building-play-overlay{width:48px;height:48px}}
@media(prefers-reduced-motion:reduce){.building-project,.building-play-overlay{transition:none}.building-project.is-selected{transform:none}}
[data-page=building] button:focus-visible,[data-page=building] [tabindex]:focus-visible{outline-color:#93a6bb}

/* EdgeSeeker uses a product window rather than a video placeholder. */
.building-football{width:min(100%,590px);border:1px solid #dce2de;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 12px 35px #213c2c0d;color:#193b2d}
.edge-browser{height:38px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;background:#fcfdfc;border-bottom:1px solid #e7ece9;font-size:10px;color:#7d8f85}
.edge-browser-dots{font-size:8px;letter-spacing:4px;color:#c5ceca}
.edge-pitch{position:relative;overflow:hidden;padding:30px 30px 24px;background:#143e31;color:#f2f9dc;isolation:isolate}
.edge-overline{position:relative;font-size:9px;letter-spacing:.15em;color:#b9d7a7}
.edge-pitch h2{position:relative;font-size:clamp(31px,3.8vw,54px);font-weight:500;line-height:1.06;letter-spacing:-.055em;margin:22px 0 13px;z-index:1}
.edge-pitch p{position:relative;font-size:13px;line-height:1.7;margin:0;color:#bfcec4;z-index:1}
.edge-pitch-lines{position:absolute;inset:17px -60px 17px 60%;border:1px solid #94be802b;transform:rotate(-16deg);z-index:-1}
.edge-pitch-lines:before{content:'';position:absolute;top:50%;left:0;width:100%;border-top:1px solid #94be8038}
.edge-pitch-lines:after{content:'';position:absolute;top:50%;left:50%;width:96px;height:96px;border:1px solid #94be8038;border-radius:50%;transform:translate(-50%,-50%)}
.edge-pitch-lines i{position:absolute;inset:0 28% 77%;border:1px solid #94be8038;border-top:0}
.edge-ball{position:absolute;right:24px;top:95px;font-size:69px;line-height:1;filter:drop-shadow(0 8px 8px #0004);transform:rotate(-15deg)}
.edge-tags{position:relative;display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}
.edge-tags span{border:1px solid #bad3a64d;border-radius:20px;padding:6px 9px;font-size:9px;color:#d2e2c5}
.edge-product-snapshot{padding:18px 20px 0;background:#fcfdfd}
.edge-snapshot-label{display:flex;justify-content:space-between;gap:8px;font-size:8px;letter-spacing:.11em;color:#5a7265;margin-bottom:12px}
.edge-snapshot-label span{font-size:9px;letter-spacing:0;color:#939e98}
.edge-screenshot{position:relative;aspect-ratio:560/261.125;overflow:hidden;border:1px solid #e7ebe9;border-radius:9px;background:#fff}
.edge-screenshot svg{display:block;width:100%;height:auto;overflow:hidden}
.edge-visit{display:flex;justify-content:space-between;align-items:center;margin:16px 20px 18px;padding:12px 14px;background:#edf3e9;border-radius:8px;font-size:12px;text-decoration:none;color:#214f38;font-weight:500;transition:background .2s}
.edge-visit:hover{background:#deebd6}
.edge-visit:focus-visible{outline:3px solid #4e8b63;outline-offset:3px}
@media(max-width:700px){.edge-pitch{padding:22px 20px 20px}.edge-pitch h2{font-size:34px;margin-top:20px}.edge-pitch p{font-size:11px}.edge-ball{font-size:47px;right:15px;top:91px}.edge-overline{font-size:8px}.edge-tags{margin-top:19px}.edge-tags span{font-size:8px}.edge-product-snapshot{padding:14px 14px 0}.edge-visit{margin:12px 14px 14px}.edge-browser{height:32px;padding:0 14px}.edge-snapshot-label{font-size:7px}}
.building-media-stage:has(.building-media.is-current .building-football){height:auto;min-height:0}
.building-media-stage:has(.building-media.is-current .building-football) .building-media.is-current{position:relative}
