/* Conference author revisions: comparison, finalized maps and three new scenes. */
.comparison{width:100%;max-width:1000px}
.comparison .wipe{max-height:none;aspect-ratio:5/4}
.wipe-control{display:flex;align-items:center;gap:16px;padding:14px 0 0;color:var(--muted);font-size:16px}
.wipe-control input{position:static;opacity:1;flex:1;width:auto;height:18px;margin:0;accent-color:var(--accent);cursor:ew-resize}
.wipe-line{background:var(--accent);width:3px}
.wipe-line:after{background:var(--accent);color:var(--bg)}
.wipe-labels{font-size:15px}
.thermal-marks,.rgb-marks{position:absolute;inset:0;pointer-events:none}
.comparison svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.comparison svg polygon{stroke-width:3;vector-effect:non-scaling-stroke}
.challenge-visual .comparison{width:min(100%,calc((100vh - 375px)*1.25))}
.challenge-layout .comparison-source{font-size:13px;margin-top:0!important;opacity:.8}
.split .comparison{width:min(100%,calc((100vh - 440px)*1.25))}
.split .comparison .wipe{width:100%}
.map-toolbar{gap:12px}
.map-legend{flex-wrap:wrap;gap:8px 18px;line-height:1.4;min-height:28px}
.map-legend>span{white-space:nowrap;font-size:14px}
.map-legend i{width:9px;height:9px;border-radius:50%}
.finding-marker{cursor:pointer}
.finding-marker polygon{stroke-width:2;vector-effect:non-scaling-stroke}
.finding-marker circle{stroke:var(--bg);stroke-width:2;vector-effect:non-scaling-stroke}
.finding-marker text{font:bold 60px Aero,Arial,sans-serif;fill:var(--bg);pointer-events:none}
.finding-marker.selected circle{stroke:white;stroke-width:3}
.completed-priority{display:flex;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--line);margin:18px 0}
.completed-priority strong{font-size:48px;line-height:1;color:var(--accent)}
.completed-priority span{font-size:17px;color:var(--muted);line-height:1.5}
.park-scale-layout{display:grid;grid-template-columns:.85fr 1.35fr;gap:56px;height:calc(100% - 110px);align-items:center}
.one-image{display:flex;align-items:center;gap:24px;margin:8px 0 24px}
.one-image strong{font-size:112px;line-height:1;color:var(--accent)}
.one-image span{font-size:25px;line-height:1.4;color:var(--muted)}
.park-scale-copy>p{font-size:23px;line-height:1.55;color:var(--muted);max-width:560px;margin:18px 0}
.park-scale-copy>p strong{color:var(--fg)}
.scale-message{font-size:22px;line-height:1.5;color:var(--accent);border-left:2px solid var(--accent);padding-left:18px;margin:28px 0}
.park-scale-copy .row{gap:12px}
.park-scale-copy button{font-size:17px;padding:12px 15px}
.park-scale-visual{display:flex;flex-direction:column;height:100%;min-height:0}
.scale-viewport{position:relative;flex:1;min-height:0;background:#092237;overflow:hidden;border:1px solid var(--line)}
.scale-layer{position:absolute;inset:0;background-repeat:no-repeat;transition:background-size 1.7s cubic-bezier(.2,.6,.25,1),background-position 1.7s cubic-bezier(.2,.6,.25,1)}
.scale-layer>svg{position:absolute;transition:left 1.7s cubic-bezier(.2,.6,.25,1),top 1.7s cubic-bezier(.2,.6,.25,1),width 1.7s cubic-bezier(.2,.6,.25,1),height 1.7s cubic-bezier(.2,.6,.25,1)}
.park-scale-visual>.fine{margin:12px 0 0;font-size:15px}
.results-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:36px}
.result-card{position:relative;text-align:left;padding:0 0 24px;border:0;border-bottom:1px solid var(--line);background:transparent;min-width:0;color:var(--fg)}
button.result-card:hover{background:transparent;border-color:var(--accent)}
.result-card>img,.earth-preview,.ortho-previews,.report-thumbnail{width:100%;height:320px;object-fit:contain;background:#12354f;margin:0 0 22px;display:block;overflow:hidden}
.result-card>img{background:#fff}
.result-number{display:block;font-family:var(--mono);font-size:15px;color:var(--accent);margin-bottom:10px}
.result-card strong{display:block;font-size:24px;line-height:1.3;margin-bottom:12px}
.result-card>span:last-child,.result-card>small,.earth-card>span:not(.result-number){display:block;color:var(--muted);font-size:17px;line-height:1.5}
.earth-preview{position:relative}
.earth-preview>img:first-child{width:100%;height:100%;object-fit:cover;opacity:.7}
.earth-preview .demo-qr{position:absolute;bottom:14px;right:14px;width:128px;height:128px;object-fit:contain;box-shadow:0 0 0 5px #fff}
.earth-card>small{font-size:13px;margin-top:10px;color:var(--accent)}
.ortho-previews{display:grid;grid-template-rows:1fr 1fr;gap:4px;background:#092237}
.ortho-previews img{width:100%;height:158px;object-fit:contain}
.results-message{font-size:25px;line-height:1.5;margin:38px 0;color:var(--muted);border-left:2px solid var(--accent);padding-left:20px}
.results-bottom{display:flex;gap:32px;align-items:center;justify-content:space-between;margin-top:28px}
.results-bottom .results-message{margin:0;max-width:780px;font-size:22px}
.results-bottom button{font-size:16px;padding:10px 14px}
.result-preview{width:min(1300px,90vw);max-height:92vh;padding:24px 32px}
.preview-top{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px}
.preview-top h2{font-size:28px;margin:0}
.preview-top button{font-size:24px;padding:4px 12px}
.result-preview>img{display:block;width:100%;height:68vh;object-fit:contain;background:#092237}
.result-preview>.fine{margin:10px 0 0}
.industry-intro-scene{padding-bottom:160px}
.industry-art{position:absolute;inset:0 0 0 48%;overflow:hidden}
.industry-art img{height:100%;width:100%;object-fit:cover;opacity:.48}
.industry-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--bg),transparent 50%),linear-gradient(0deg,var(--bg),transparent 45%)}
.industry-copy{position:relative;z-index:1;max-width:1000px}
.industry-copy .scene-title{font-size:64px}
.industry-copy .lead{max-width:900px}
.industry-directions{display:grid;grid-template-columns:1fr 1fr;gap:32px;max-width:940px;margin-top:38px}
.industry-directions>div{border-top:1px solid var(--line);padding-top:16px}
.industry-directions span{font:15px var(--mono);color:var(--accent);display:block;margin-bottom:12px}
.industry-directions strong{display:block;font-size:25px;line-height:1.3}
.industry-directions p{color:var(--muted);font-size:21px;line-height:1.5}
.industry-promise{font-size:30px;color:var(--accent);font-weight:bold;margin-top:30px}
.partnership{position:absolute;bottom:32px;left:64px;right:64px;z-index:1;border-top:1px solid var(--line);padding-top:20px;display:flex;align-items:center;gap:48px}
.partnership>span{font:16px var(--mono);letter-spacing:2px;color:var(--accent)}
.partnership>div{display:flex;align-items:center;gap:24px}
.partnership img{background:#fff;border:8px solid white;object-fit:contain;width:252px;height:78px}
.partnership img:last-child{width:168px;height:82px}
.partnership>div>span{font-size:30px;color:var(--muted)}
.company-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;padding:40px 0 32px;border-bottom:1px solid var(--line)}
.company-metrics strong{font-size:clamp(42px,4.2vw,76px);letter-spacing:-3px;color:var(--accent);white-space:nowrap;display:block}
.company-metrics small{font-size:.48em;letter-spacing:0}
.company-metrics p{font-size:21px;line-height:1.5;margin:12px 0 0;color:var(--muted)}
.company-metrics p span{font-size:16px}
.company-directions{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin-top:36px}
.company-directions h3{font-size:30px;margin:16px 0}
.company-directions p{font-size:24px;line-height:1.55;color:var(--muted);max-width:670px;margin:0}
@media(max-width:1500px){
  .park-scale-layout{gap:32px;height:calc(100% - 90px)}
  .park-scale-copy>p{font-size:20px;margin:14px 0}
  .one-image strong{font-size:90px}.one-image span{font-size:22px}
  .scale-message{font-size:19px;margin:20px 0}
  .results-grid{gap:16px;margin-top:25px}.result-card strong{font-size:20px}.result-card>span:last-child,.earth-card>span:not(.result-number){font-size:15px}
  .result-card>img,.earth-preview,.ortho-previews,.report-thumbnail{height:260px}.ortho-previews img{height:128px}.earth-preview .demo-qr{width:96px;height:96px}
  .results-message{font-size:22px;margin-top:26px}
  .industry-copy .scene-title{font-size:49px}.industry-directions{gap:24px;margin-top:24px;max-width:800px}.industry-directions strong{font-size:22px}.industry-directions p{font-size:18px}
  .partnership{left:40px;right:40px;gap:32px;bottom:24px;padding-top:16px}.partnership img{width:210px;height:68px}.partnership img:last-child{width:140px;height:68px}
  .company-metrics{gap:24px;padding:28px 0}.company-metrics p{font-size:18px}.company-metrics p span{font-size:14px}.company-directions{gap:40px;margin-top:26px}.company-directions h3{font-size:26px}.company-directions p{font-size:21px}
}
@media(max-height:850px){
  .challenge-visual .comparison{width:min(100%,calc((100vh - 340px)*1.25))}
  .wipe-control{padding-top:10px;font-size:14px}
  .split .comparison{width:min(100%,calc((100vh - 390px)*1.25))}
  .park-scale-layout{height:calc(100% - 90px);gap:32px}.one-image{margin:0 0 16px}.one-image strong{font-size:82px}.one-image span{font-size:21px}.park-scale-copy>p{font-size:20px;margin:12px 0}.scale-message{font-size:18px;margin:18px 0}.park-scale-copy button{font-size:15px;padding:10px 12px}
  .results-grid{margin-top:22px}.result-card>img,.earth-preview,.ortho-previews,.report-thumbnail{height:230px;margin-bottom:16px}.ortho-previews img{height:113px}.result-card strong{font-size:20px}.result-card>span:last-child,.earth-card>span:not(.result-number){font-size:15px}.results-message{font-size:20px;margin-top:22px}
  .industry-copy .scene-title{font-size:46px}.industry-copy .lead{font-size:21px}.industry-directions{margin-top:20px;gap:24px;max-width:820px}.industry-directions strong{font-size:22px}.industry-directions p{font-size:18px;margin:12px 0}.industry-promise{font-size:25px;margin:16px 0}.partnership{bottom:22px;padding-top:14px}.partnership img{height:64px}.partnership img:last-child{height:64px}
  .company-metrics{padding:24px 0;gap:28px}.company-metrics strong{font-size:clamp(42px,4.1vw,64px)}.company-metrics p{font-size:18px}.company-directions{margin-top:24px}.company-directions h3{font-size:25px;margin:13px 0}.company-directions p{font-size:21px}
}
@media(max-height:760px){
  .result-card>img,.earth-preview,.ortho-previews,.report-thumbnail{height:190px}.ortho-previews img{height:93px}.result-card strong{font-size:18px}.result-card{padding-bottom:16px}.earth-preview .demo-qr{width:78px;height:78px}.results-message{font-size:18px}
  .industry-copy .scene-title{font-size:40px}.industry-copy .lead{font-size:19px}.industry-directions{margin-top:12px}.industry-directions strong{font-size:20px}.industry-directions p{font-size:16px}.industry-promise{font-size:22px}.partnership>span{font-size:13px}.partnership img{width:180px;height:58px}.partnership img:last-child{width:122px;height:58px}
  .company-metrics{padding:16px 0}.company-metrics strong{font-size:44px}.company-metrics p{font-size:16px}.company-directions{margin-top:22px}.company-directions h3{font-size:24px}.company-directions p{font-size:19px}.company-directions .evidence-tag{font-size:13px}
  .park-scale-copy>p{font-size:18px}.one-image strong{font-size:70px}.scale-message{font-size:16px}.park-scale-copy button{font-size:14px}
}
.challenge-visual .comparison{width:min(100%,calc((100vh - 340px)*1.18))}
.inspection-scene .comparison{width:min(100%,calc((100vh - 480px)*1.18))}
.example-evidence-scene .reason-layout{height:calc(100% - 110px)}
.example-evidence-scene .reason-visual .image-wrap{width:min(100%,calc((100vh - 540px)*1.18));max-height:none}
.example-evidence-scene .reason-visual>.fine{margin:10px 0}
.example-evidence-scene .image-caption{top:8px;left:8px;font-size:12px;padding:4px 8px}
.capture .scale-layer,.capture .scale-layer>svg{transition:none}
@media(max-height:850px){
  .example-evidence-scene .reason-visual .image-wrap{width:min(100%,calc((100vh - 490px)*1.18))}
  .inspection-scene .comparison{width:min(100%,calc((100vh - 405px)*1.18))}
  .inspection-scene .pipeline-step{font-size:16px;padding-top:4px;padding-bottom:6px}
  .inspection-scene .pipeline-play{margin-top:10px}
  .inspection-scene .column>.fine{font-size:14px;margin:12px 0}
  .inspection-scene .subtle{font-size:17px;padding-top:6px;padding-bottom:6px}
}

/* Larger defect photos and a scrollable report excerpt. */
.map-detail .map-image-preview{display:block;padding:0;border:1px solid var(--line);width:100%;aspect-ratio:5/4;max-height:none}
.map-image-preview .preview-hint{position:absolute;right:12px;bottom:12px;font-size:14px;background:#0c2940e6;padding:7px 10px;color:var(--accent)}
.report-card .report-thumbnail{overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff;cursor:zoom-in}
.report-thumbnail img{display:block;width:100%;height:auto;max-width:none}
.preview-scroll{height:68vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#fff}
.preview-scroll img{display:block;width:100%;height:auto}
.cover-details{grid-template-columns:.85fr .85fr 1.4fr}
@media(max-width:1500px){.cover-details{gap:24px;grid-template-columns:.85fr .85fr 1.4fr}.cover-speaker strong{font-size:24px}.cover-event strong{font-size:20px}}
@media(max-width:1100px){.cover-speaker strong{font-size:21px}.cover-event strong{font-size:18px}.cover-speaker>span,.cover-event p{font-size:16px}}

/* Demo is driven by the stage controls and has its own full-height embedded canvas. */
.twin-scene .scene-title{font-size:clamp(27px,2.5vw,44px);max-width:65%;margin-bottom:8px}.twin-scene .eyebrow{margin-bottom:8px}.twin-caption{font-size:17px;max-width:100%;margin:0}.twin-stats{margin-top:10px;font-size:13px;gap:22px}.twin-stats strong{font-size:23px}.twin-toolbar{top:30px;right:40px;gap:6px}.twin-toolbar button,.twin-toolbar a{font-size:13px;padding:8px 10px}.twin-commands{top:166px;left:40px;right:40px;gap:7px;flex-wrap:wrap}.twin-commands button{font-size:14px;padding:8px 12px}.twin-dock{top:286px;bottom:135px;left:40px;right:40px}.twin-safety{font-size:12px;bottom:12px;gap:15px}.twin-safety span:last-child{max-width:75%}@media(min-width:1501px){.twin-dock{top:326px;bottom:160px;left:64px;right:64px}.twin-commands{top:180px;left:64px;right:64px}.twin-commands button{font-size:17px}.twin-caption{font-size:20px}.twin-stats{font-size:16px}.twin-safety{font-size:15px}}@media(max-height:700px){.twin-scene{padding-top:20px}.twin-scene .scene-title{font-size:28px}.twin-stats{display:none}.twin-commands{top:115px}.twin-dock{top:230px;bottom:120px}}
