.work-page { background: #0a001e; }
@view-transition { navigation: auto; }
#top-nav { view-transition-name: global-navigation; }
main { view-transition-name: page-content; }
::view-transition-old(page-content) { animation: page-out .18s ease both; }
::view-transition-new(page-content) { animation: page-in .28s ease both; }
.page-loading main { pointer-events: none; }
.work-hero { position: relative; overflow: hidden; padding: 9rem 0 8rem; background: radial-gradient(circle at 78% 20%, rgba(0, 249, 255, .13), transparent 29%), radial-gradient(circle at 14% 82%, rgba(119, 42, 255, .2), transparent 35%); }
.work-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(45, 174, 255, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(45, 174, 255, .09) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to bottom, #000, transparent); }
.work-hero h1, .detail-hero h1 { max-width: 1050px; font-size: clamp(3rem, 7vw, 6.8rem); line-height: .95; letter-spacing: -.025em; }
.work-hero h1 em { color: var(--road-cyan); font-style: normal; }
.work-hero > .container-xl > p:last-child { max-width: 720px; margin-top: 2rem; color: #c3c9db; font-size: 1.25rem; }
.portfolio { background: linear-gradient(180deg, #0a001e, #11042d); }
.portfolio-feature { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 540px; overflow: hidden; border: 1px solid var(--road-border); border-radius: 24px; background: rgba(255,255,255,.025); }
.portfolio-visual { position: relative; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at center, rgba(0,249,255,.22), transparent 50%), linear-gradient(140deg, #162851, #100529); }
.portfolio-visual:before { content: ""; position: absolute; width: 78%; height: 120%; border: 2px solid rgba(0,249,255,.28); border-radius: 50%; transform: perspective(600px) rotateX(66deg); box-shadow: 0 0 35px rgba(0,249,255,.15); }
.portfolio-visual:after { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(0,249,255,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(0,249,255,.08) 1px, transparent 1px); background-size: 38px 38px; }
.portfolio-visual i { z-index: 1; color: var(--road-cyan); font-size: 7rem; text-shadow: 0 0 40px rgba(0,249,255,.65); }.portfolio-visual span { position: absolute; z-index: 1; bottom: 2rem; left: 2rem; color: var(--road-green); font: .72rem monospace; letter-spacing: .15em; }
.portfolio-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,5rem); }.portfolio-copy p:not(.eyebrow) { color: var(--road-muted); font-size: 1.05rem; }.capability-list { margin: 1rem 0 2rem; padding: 0; list-style: none; }.capability-list li { padding: .65rem 0; border-bottom: 1px solid var(--road-border); }.capability-list li:before { content: "+"; margin-right: .8rem; color: var(--road-cyan); }
.text-link, .portfolio-card a { color: var(--road-cyan); text-decoration: none; font-weight: 600; }.text-link i, .portfolio-card a i { margin-left: .5rem; transition: transform .2s; }.text-link:hover i, .portfolio-card a:hover i { transform: translateX(5px); }
.portfolio-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; margin-top: 1.25rem; }.portfolio-card { overflow: hidden; border: 1px solid var(--road-border); border-radius: 18px; background: rgba(255,255,255,.025); }.card-image { height: 240px; overflow: hidden; background: #12072b; }.card-image img { width: 100%; height: 100%; object-fit: cover; opacity: .7; transition: transform .5s, opacity .5s; }.portfolio-card:hover img { transform: scale(1.05); opacity: .9; }.card-copy { padding: 1.7rem; }.card-copy > span { color: var(--road-green); font: .68rem monospace; letter-spacing: .12em; }.card-copy h3 { margin: .7rem 0; }.card-copy p { min-height: 100px; color: var(--road-muted); }
.proof-section { background: #0c0222; }.proof-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--road-border); border: 1px solid var(--road-border); border-radius: 18px; overflow: hidden; }.proof-grid > div { min-height: 170px; padding: 1.6rem; background: #10062b; }.proof-grid i { display: block; margin-bottom: 1.3rem; color: var(--road-cyan); font-size: 1.4rem; }.proof-grid strong, .proof-grid span { display: block; }.proof-grid span { margin-top: .4rem; color: var(--road-muted); font-size: .86rem; }
.dropdown-menu-dark { padding: .55rem; border: 1px solid var(--road-border); border-radius: 12px; background: rgba(10,0,30,.98); box-shadow: 0 18px 40px rgba(0,0,0,.45); }.dropdown-item { padding: .65rem .9rem; border-radius: 7px; font-size: .88rem; }.dropdown-item.active, .dropdown-item:active, .dropdown-item:hover { color: #fff; background: rgba(0,249,255,.12); }
.detail-hero { padding: 7rem 0; background: radial-gradient(circle at 85% 30%, rgba(0,249,255,.13), transparent 34%), #0d0224; }.detail-hero h1 { font-size: clamp(3rem,6vw,5.7rem); }.detail-hero p:not(.eyebrow) { max-width: 650px; color: #c3c9db; font-size: 1.16rem; }.detail-image { width: 100%; max-height: 520px; object-fit: cover; border: 1px solid var(--road-border); border-radius: 22px; box-shadow: 0 30px 70px rgba(0,0,0,.4); opacity: .82; }.device-stage { position: relative; display: grid; place-items: center; min-height: 520px; border: 1px solid var(--road-border); border-radius: 22px; background: radial-gradient(circle, rgba(0,249,255,.17), transparent 48%), #10052a; }.device-stage img { max-width: 70%; max-height: 430px; filter: drop-shadow(0 30px 32px rgba(0,0,0,.55)); }.device-stage span { position: absolute; bottom: 1.4rem; color: var(--road-green); font: .68rem monospace; letter-spacing: .12em; }
.detail-points article { display: grid; grid-template-columns: 55px 1fr; gap: 1rem; padding: 1.5rem 0; border-bottom: 1px solid var(--road-border); }.detail-points article:first-child { padding-top: 0; }.detail-points i { color: var(--road-cyan); font-size: 1.5rem; }.detail-points h3 { font-size: 1.35rem; }.detail-points p { margin: 0; color: var(--road-muted); }
.transfer-section { background: linear-gradient(135deg,#13052f,#080019); }.transfer-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; margin-top: 3rem; overflow: hidden; border: 1px solid var(--road-border); border-radius: 16px; background: var(--road-border); }.transfer-grid span { padding: 1.5rem; background: #10062a; }.transfer-grid span:before { content: "✓"; margin-right: .8rem; color: var(--road-green); }.capability-note { margin-top: 1.5rem; color: var(--road-muted); font-size: .85rem; }
.next-work { padding: 4rem 0; background: #0a001e; }.next-work a { display: grid; grid-template-columns: 1fr auto; color: #fff; text-decoration: none; }.next-work span { grid-column: 1; color: var(--road-cyan); font: .7rem monospace; letter-spacing: .14em; text-transform: uppercase; }.next-work strong { grid-column: 1; margin-top: .35rem; font: clamp(2rem,4vw,3.5rem) "Righteous", sans-serif; }.next-work i { grid-column: 2; grid-row: 1/3; align-self: center; color: var(--road-cyan); font-size: 2rem; }
@media(max-width:991px){.portfolio-feature{grid-template-columns:1fr}.portfolio-visual{min-height:400px}.portfolio-grid{grid-template-columns:1fr 1fr}.card-copy p{min-height:0}.detail-hero{padding:5rem 0}}
@media(max-width:575px){.work-hero{padding:6rem 0}.portfolio-grid,.proof-grid,.transfer-grid{grid-template-columns:1fr}.portfolio-visual{min-height:320px}.portfolio-visual i{font-size:5rem}}
@keyframes page-out { to { opacity: 0; transform: translateY(8px); } }
@keyframes page-in { from { opacity: 0; transform: translateY(10px); } }
@media(prefers-reduced-motion:reduce){::view-transition-old(page-content),::view-transition-new(page-content){animation:none}}

.project-showcases { display:flex; flex-direction:column; }
.project-showcases .airport-showcase { order:1; }
.project-showcases .road-ai-showcase { order:2; }
.project-showcases .hospitality-showcase { order:3; }
.road-ai-showcase { position: relative; overflow: hidden; color: #fff; background: radial-gradient(circle at 82% 8%,rgba(0,249,255,.11),transparent 27%),linear-gradient(180deg,#0a001e,#10042b 52%,#080019); }
.road-ai-showcase:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.22; background-image:linear-gradient(rgba(0,249,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(0,249,255,.055) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 72%); }
.road-ai-showcase .container-xl { position:relative; }
.road-ai-intro { max-width:900px; margin:0 auto 5rem; text-align:center; }
.road-ai-intro .title { margin:.75rem 0 1.25rem; }
.road-ai-intro .lead { color:#bfc7da; }
.road-ai-row { scroll-margin-top:100px; margin-bottom:clamp(4.5rem,9vw,9rem); }
.road-ai-chart-row { overflow:hidden; border:1px solid rgba(126,221,255,.2); border-radius:26px; background:#090019; box-shadow:0 35px 90px rgba(0,0,0,.34); }
.road-ai-chart-row img { display:block; width:100%; height:auto; }
.road-ai-split { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.road-ai-reverse { grid-template-columns:minmax(320px,.65fr) minmax(0,1.35fr); }
.road-ai-reverse .road-ai-media { order:2; }.road-ai-reverse .road-ai-copy { order:1; }
.road-ai-media { position:relative; isolation:isolate; overflow:hidden; border:1px solid rgba(126,221,255,.25); border-radius:24px; background:#07051a; box-shadow:0 30px 75px rgba(0,0,0,.38),0 0 45px rgba(0,249,255,.07); }
.road-ai-media img { display:block; width:100%; height:auto; transition:transform .7s ease; }
.road-ai-media:hover img { transform:scale(1.025); }
.road-ai-copy h3,.road-ai-platform-copy h3 { margin:.7rem 0 1.2rem; font-size:clamp(2rem,3.5vw,3.5rem); line-height:1.05; }
.road-ai-copy > p:not(.case-kicker),.road-ai-platform-copy > p:not(.case-kicker) { color:#b7c0d4; font-size:1.04rem; line-height:1.75; }
.road-ai-copy ul { margin:1.6rem 0 0; padding:0; list-style:none; }
.road-ai-copy li { padding:.75rem 0; border-bottom:1px solid rgba(126,221,255,.14); color:#d7deed; font-size:.9rem; }
.road-ai-copy li:before { content:"+"; margin-right:.75rem; color:#28ffce; }
.road-ai-tags { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.6rem; }
.road-ai-tags span { padding:.5rem .75rem; border:1px solid rgba(0,249,255,.24); border-radius:99px; color:#cfffff; background:rgba(0,249,255,.06); font-size:.75rem; }
.road-ai-platform { margin-bottom:2rem; }
.road-ai-platform-copy { max-width:760px; margin-bottom:3rem; }
.ui-page-tabs { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem; margin:-1rem 0 1.4rem; }
.ui-page-tabs button { padding:.58rem .9rem; border:1px solid rgba(126,221,255,.22); border-radius:99px; color:#aeb9ce; background:rgba(255,255,255,.035); font:700 .72rem monospace; letter-spacing:.04em; transition:color .25s,border-color .25s,background .25s; }
.ui-page-tabs button:hover,.ui-page-tabs button:focus-visible { color:#fff; border-color:rgba(0,249,255,.6); outline:none; }
.ui-page-tabs button.is-active { color:#071426; border-color:#28ffce; background:#28ffce; }
.ui-page-spread { position:relative; height:clamp(360px,45vw,620px); perspective:1800px; }
.ui-page { position:absolute; top:7%; left:50%; width:min(70%,980px); aspect-ratio:1672/941; margin:0; overflow:hidden; border:1px solid rgba(126,221,255,.35); border-radius:18px; background:#0b1025; box-shadow:0 35px 80px rgba(0,0,0,.55); transform-origin:center bottom; cursor:pointer; outline:none; transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .4s,opacity .4s,border-color .3s; }
.ui-page:focus-visible { border-color:#00f9ff; box-shadow:0 0 0 3px rgba(0,249,255,.22),0 35px 80px rgba(0,0,0,.55); }
.ui-page img { display:block; width:100%; height:100%; object-fit:contain; }
.ui-page figcaption,.ui-page-caption { position:absolute; left:1rem; bottom:1rem; padding:.42rem .7rem; border:1px solid rgba(0,249,255,.3); border-radius:99px; color:#dfffff; background:rgba(7,8,25,.82); backdrop-filter:blur(8px); font:.68rem monospace; letter-spacing:.08em; text-transform:uppercase; }
.ui-page-one { z-index:4; transform:translateX(-50%) scale(.97); }
.ui-page-two { z-index:3; transform:translateX(-58%) rotateY(5deg) rotateZ(-2deg) scale(.91); filter:brightness(.77); }
.ui-page-three { z-index:2; transform:translateX(-64%) rotateY(9deg) rotateZ(-4deg) scale(.84); filter:brightness(.65); }
.ui-page-four { z-index:1; transform:translateX(-36%) rotateY(-8deg) rotateZ(3deg) scale(.84); filter:brightness(.68); }
.ui-page.is-active { z-index:6; transform:translateX(-50%) rotateY(0) rotateZ(0) scale(.97); filter:brightness(1); border-color:rgba(0,249,255,.7); }
.ui-page img { transform:none; }
.ui-page-spread:hover .ui-page-one { transform:translateX(-50%) scale(.94); }
.ui-page-spread:hover .ui-page-two { transform:translateX(-69%) rotateY(9deg) rotateZ(-4deg) scale(.82); filter:brightness(.82); }
.ui-page-spread:hover .ui-page-three { transform:translateX(-82%) rotateY(14deg) rotateZ(-7deg) scale(.7); filter:brightness(.72); }
.ui-page-spread:hover .ui-page-four { transform:translateX(-18%) rotateY(-12deg) rotateZ(5deg) scale(.76); filter:brightness(.76); }
.ui-page-spread:hover .ui-page.is-active { transform:translateX(-50%) rotateY(0) rotateZ(0) scale(.97); filter:brightness(1); }
.ui-page-spread.is-single { perspective:1800px; }
.ui-page-switch { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.ui-page-spread.is-single .ui-page { visibility:visible; opacity:.62; pointer-events:none; }
#road-ai-view-1:checked ~ .ui-page-one,#road-ai-view-2:checked ~ .ui-page-two,#road-ai-view-3:checked ~ .ui-page-three,#road-ai-view-4:checked ~ .ui-page-four { z-index:6; visibility:visible; opacity:1; pointer-events:auto; filter:brightness(1)!important; transform:translateX(-50%) rotateY(0) rotateZ(0) scale(.97)!important; }
#road-ai-view-1:checked ~ .ui-page-one:hover,#road-ai-view-2:checked ~ .ui-page-two:hover,#road-ai-view-3:checked ~ .ui-page-three:hover,#road-ai-view-4:checked ~ .ui-page-four:hover { transform:translateX(-50%) scale(.985)!important; }
@media(max-width:991px){.road-ai-split,.road-ai-reverse{grid-template-columns:1fr}.road-ai-reverse .road-ai-media,.road-ai-reverse .road-ai-copy{order:initial}.road-ai-copy{max-width:720px}.ui-page{width:78%}}
@media(max-width:575px){.road-ai-intro{margin-bottom:3rem}.road-ai-row{margin-bottom:4rem}.road-ai-chart-row{border-radius:14px}.road-ai-media{border-radius:16px}.ui-page-tabs{justify-content:flex-start}.ui-page-spread{height:260px}.ui-page{width:88%}}
@media(prefers-reduced-motion:reduce){.ui-page{transition:none}}

.airport-showcase { position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 12% 12%,rgba(44,121,255,.15),transparent 28%),radial-gradient(circle at 88% 62%,rgba(0,249,255,.09),transparent 30%),linear-gradient(180deg,#080019,#0c0624 55%,#080019); }
.airport-showcase:before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.18; background-image:linear-gradient(rgba(0,249,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,249,255,.06) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to bottom,#000,transparent 70%); }
.airport-showcase .container-xl { position:relative; }
.airport-intro { max-width:920px; margin:0 auto 5rem; text-align:center; }
.airport-intro .title { margin:.75rem 0 1.25rem; }
.airport-intro .lead { color:#bdc7dc; }
.airport-deployment { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:center; gap:clamp(2rem,5vw,5rem); margin-bottom:clamp(5rem,9vw,9rem); }
.airport-photo { position:relative; min-height:520px; overflow:hidden; background:#070817; }
.airport-photo img { width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.airport-photo:hover img { transform:scale(1.025); }
.airport-photo > span { position:absolute; left:1.4rem; bottom:1.4rem; z-index:4; padding:.55rem .8rem; border:1px solid rgba(0,249,255,.38); border-radius:99px; color:#e9ffff; background:rgba(5,8,24,.82); backdrop-filter:blur(8px); font:.68rem monospace; letter-spacing:.08em; transition:opacity .25s ease; }
.airport-photo > span i,.patrol-header b i { display:inline-block; width:7px; height:7px; margin-right:.45rem; border-radius:50%; background:#28ffce; box-shadow:0 0 10px #28ffce; }
.inline-project-video { position:absolute; inset:0; z-index:2; width:100%; height:100%; object-fit:contain; background:#030510; opacity:0; pointer-events:none; transition:opacity .25s ease; }
.inline-video-play { position:absolute; top:50%; left:50%; z-index:5; width:82px; height:82px; padding:0; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(4,9,28,.68); box-shadow:0 0 0 10px rgba(0,249,255,.08),0 12px 35px rgba(0,0,0,.4); backdrop-filter:blur(8px); transform:translate(-50%,-50%); transition:transform .2s ease,background .2s ease,opacity .2s ease; }
.inline-video-play:before { content:""; position:absolute; top:50%; left:53%; border-top:13px solid transparent; border-bottom:13px solid transparent; border-left:20px solid #fff; transform:translate(-50%,-50%); }
.inline-video-play:hover,.inline-video-play:focus-visible { background:rgba(0,249,255,.28); transform:translate(-50%,-50%) scale(1.06); }
.inline-video-play:focus-visible { outline:2px solid #28ffce; outline-offset:5px; }
[data-inline-video].is-playing .inline-project-video { opacity:1; pointer-events:auto; }
[data-inline-video].is-playing .inline-video-poster,[data-inline-video].is-playing .inline-video-play,.airport-photo.is-playing > span { opacity:0; pointer-events:none; }
.airport-deployment .airport-photo { min-height:480px; border:1px solid rgba(126,221,255,.25); border-radius:24px; box-shadow:0 30px 75px rgba(0,0,0,.4); }
.airport-deployment-copy { display:flex; flex-direction:column; justify-content:center; padding:0; }
.airport-deployment-copy h3,.airport-copy h3 { margin:.7rem 0 1.15rem; font-size:clamp(2rem,3.5vw,3.45rem); line-height:1.04; }
.airport-deployment-copy > p:not(.case-kicker),.airport-copy > p:not(.case-kicker) { color:#b7c0d4; font-size:1.02rem; line-height:1.72; }
.airport-proof { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:1.7rem 0; overflow:hidden; border:1px solid rgba(126,221,255,.17); border-radius:12px; background:rgba(126,221,255,.17); }
.airport-proof span { padding:1rem; color:#929db5; background:#0b0921; font-size:.7rem; }
.airport-proof strong { display:block; margin-bottom:.3rem; color:#fff; font-size:.95rem; }
.airport-links { display:flex; flex-wrap:wrap; gap:1.2rem; }
.airport-links a { color:#00f9ff; text-decoration:none; font-size:.82rem; font-weight:600; }
.airport-links a:hover { color:#28ffce; }
.airport-row { scroll-margin-top:100px; margin-bottom:clamp(5rem,9vw,9rem); }
.airport-split { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.airport-equipment { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); align-items:center; gap:clamp(2rem,5vw,5rem); }
.airport-equipment-heading { grid-column:2; grid-row:1; max-width:520px; margin:0; }
.airport-equipment-heading .case-kicker { margin:0; }
.airport-equipment-heading h3 { margin:.7rem 0 1.15rem; font-size:clamp(2rem,3.5vw,3.45rem); line-height:1.04; }
.airport-equipment-heading > p:last-child { max-width:420px; margin:0; color:#aeb8ce; font-size:1rem; line-height:1.65; }
.airport-equipment-media { position:relative; display:grid; grid-column:1; grid-row:1; place-items:center; height:480px; overflow:hidden; border:1px solid rgba(126,221,255,.25); border-radius:24px; background:#050615; box-shadow:0 30px 75px rgba(0,0,0,.4),0 0 45px rgba(0,249,255,.07); }
.airport-equipment-media img { display:block; width:100%; height:100%; object-fit:contain; transition:transform .75s ease; }
.airport-equipment-media:hover img { transform:scale(1.018); }
.airport-equipment-label { position:absolute; left:85%; z-index:2; width:13%; padding:.7rem .65rem .7rem .8rem; border-left:1px solid #28ffce; color:#fff; background:linear-gradient(90deg,rgba(5,11,30,.88),rgba(5,11,30,.48)); backdrop-filter:blur(5px); transition:transform .35s ease,border-color .35s ease; }
.airport-equipment-label:before { content:""; position:absolute; top:50%; right:100%; width:clamp(24px,3vw,48px); border-top:1px solid rgba(40,255,206,.7); }
.airport-equipment-label span { display:block; margin-bottom:.35rem; color:#28ffce; font:.58rem monospace; letter-spacing:.12em; }
.airport-equipment-label strong { display:block; color:#eefcff; font-size:clamp(.62rem,.82vw,.82rem); font-weight:600; line-height:1.35; }
.airport-equipment-label-display { top:13%; }
.airport-equipment-label-vision { top:43%; }
.airport-equipment-label-chassis { top:74%; }
.airport-equipment-media:hover .airport-equipment-label { transform:translateX(-3px); border-color:#00f9ff; }
.airport-reverse { grid-template-columns:minmax(330px,.75fr) minmax(0,1.25fr); }
.airport-reverse > :first-child { order:2; }
.airport-reverse > :last-child { order:1; }
.airport-field-photo { min-height:480px; border:1px solid rgba(126,221,255,.25); border-radius:24px; box-shadow:0 30px 75px rgba(0,0,0,.4); }
.airport-field-photo img { opacity:.8; }
.airport-vision-overlay { position:absolute; inset:0; pointer-events:none; }
.airport-vision-overlay span { position:absolute; padding:.35rem .55rem; border:1px solid #00f9ff; color:#eaffff; background:rgba(5,12,28,.8); font:.6rem monospace; }
.airport-vision-overlay span:nth-child(1) { left:53%; top:37%; }.airport-vision-overlay span:nth-child(2) { right:10%; top:57%; }.airport-vision-overlay span:nth-child(3) { left:44%; bottom:13%; }
.airport-copy ul { margin:1.5rem 0 0; padding:0; list-style:none; }
.airport-copy li { padding:.72rem 0; border-bottom:1px solid rgba(126,221,255,.14); color:#d5dced; font-size:.88rem; }
.airport-copy li:before { content:"+"; margin-right:.75rem; color:#28ffce; }
.airport-patrol-ui { overflow:hidden; border:1px solid rgba(126,221,255,.3); border-radius:24px; background:linear-gradient(150deg,#101a38,#08061c); box-shadow:0 30px 80px rgba(0,0,0,.44),0 0 45px rgba(0,249,255,.07); }
.patrol-header { display:flex; align-items:center; gap:.75rem; padding:1rem 1.25rem; border-bottom:1px solid rgba(126,221,255,.18); color:#e7ecf7; font:.7rem monospace; letter-spacing:.1em; }
.patrol-header b { margin-left:auto; color:#28ffce; font-size:.65rem; }
.patrol-map { position:relative; height:360px; overflow:hidden; background-image:linear-gradient(rgba(0,249,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,249,255,.06) 1px,transparent 1px); background-size:42px 42px; }
.patrol-track { position:absolute; inset:16% 12%; border:3px dashed #167bf3; border-radius:42% 26% 38% 24%; transform:rotate(-5deg); box-shadow:0 0 25px rgba(22,123,243,.18); }
.patrol-point { position:absolute; display:grid; place-items:center; width:34px; height:34px; border:1px solid #28ffce; border-radius:50%; color:#071426; background:#28ffce; font:.62rem monospace; box-shadow:0 0 18px rgba(40,255,206,.4); }.point-a{left:15%;top:52%}.point-b{left:38%;top:18%}.point-c{right:20%;top:30%}.point-d{right:29%;bottom:15%}
.patrol-robot { position:absolute; left:52%; top:52%; display:grid; place-items:center; width:54px; height:54px; border:1px solid #00f9ff; border-radius:50%; color:#fff; background:#0d2852; font-size:1.5rem; box-shadow:0 0 28px rgba(0,249,255,.42); }
.patrol-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; border-top:1px solid rgba(126,221,255,.18); background:rgba(126,221,255,.18); }.patrol-stats span { padding:1rem; color:#909db3; background:#0b0d25; font-size:.68rem; }.patrol-stats strong { display:block; color:#fff; font-size:.9rem; }
@media(max-width:991px){.airport-deployment,.airport-equipment,.airport-split,.airport-reverse{grid-template-columns:1fr}.airport-reverse>:first-child,.airport-reverse>:last-child{order:initial}.airport-photo{min-height:430px}.airport-equipment-heading{grid-column:1;grid-row:2;max-width:720px}.airport-equipment-media{grid-column:1;grid-row:1;height:auto;aspect-ratio:16/9}.airport-equipment-heading>p:last-child{max-width:560px}}
@media(max-width:575px){.airport-intro{margin-bottom:3rem}.airport-photo,.airport-deployment .airport-photo{min-height:330px}.inline-video-play{width:66px;height:66px}.inline-video-play:before{border-top-width:10px;border-bottom-width:10px;border-left-width:16px}.airport-proof{grid-template-columns:1fr}.airport-patrol-ui{border-radius:16px}.patrol-map{height:280px}.patrol-stats{grid-template-columns:1fr}.patrol-stats span{display:flex;justify-content:space-between}.airport-equipment-media{border-radius:16px}.airport-equipment-label{left:81%;width:18%;padding:.35rem .25rem .35rem .45rem}.airport-equipment-label:before{width:18px}.airport-equipment-label span{margin:0;font-size:.42rem}.airport-equipment-label strong{display:none}}

.hospitality-showcase { padding:clamp(4rem,8vw,7rem) 0; color:#fff; background:#080019; }
.hospitality-card { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); align-items:stretch; max-width:1120px; margin:0 auto; overflow:hidden; border:1px solid rgba(126,221,255,.22); border-radius:22px; background:#0d0822; box-shadow:0 24px 65px rgba(0,0,0,.34); scroll-margin-top:100px; }
.hospitality-media { min-height:320px; overflow:hidden; background:#090715; }
.hospitality-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .65s ease,opacity .65s ease; }
.hospitality-card:hover .hospitality-media img { transform:scale(1.025); opacity:.92; }
.hospitality-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,4.5vw,4rem); }
.hospitality-copy h2 { margin:.65rem 0 1rem; font-size:clamp(2rem,3.6vw,3.5rem); line-height:1.05; }
.hospitality-copy > p:not(.case-kicker) { max-width:650px; margin:0; color:#b9c2d6; font-size:1rem; line-height:1.72; }
.hospitality-capabilities { display:flex; flex-wrap:wrap; gap:.55rem; margin-top:1.5rem; }
.hospitality-capabilities span { padding:.48rem .72rem; border:1px solid rgba(0,249,255,.24); border-radius:99px; color:#cfffff; background:rgba(0,249,255,.05); font-size:.74rem; }
@media(max-width:767px){.hospitality-card{grid-template-columns:1fr}.hospitality-media{min-height:280px;max-height:380px}.hospitality-copy{padding:2rem}.hospitality-copy h2{font-size:2.25rem}}

.case-studies-section { position: relative; color: #fff; background: radial-gradient(circle at 75% 8%, rgba(0,249,255,.1), transparent 25%), linear-gradient(180deg,#0a001e,#12042f 55%,#0a001e); }
.case-studies-section .title { margin-bottom: 1.25rem; }
.case-eyebrow, .case-kicker { color: #28ffce; font: .72rem monospace; letter-spacing: .15em; text-transform: uppercase; }
.case-feature { overflow: hidden; margin: 4rem 0 1.25rem; border: 1px solid rgba(126,221,255,.25); border-radius: 24px; background: rgba(255,255,255,.025); box-shadow: 0 30px 80px rgba(0,0,0,.34); scroll-margin-top: 105px; }
.case-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem,5vw,4.5rem); }
.case-copy h2 { margin: .7rem 0 1.25rem; font-size: clamp(2rem,4vw,3.8rem); }
.case-copy > p:not(.case-kicker):not(.case-note) { color: #bdc5d9; font-size: 1.05rem; }
.case-visual { display: grid; place-items: center; min-height: 560px; padding: clamp(1.3rem,4vw,3rem); background: radial-gradient(circle,rgba(0,249,255,.18),transparent 55%),#0b0822; }
.road-console { width: 100%; overflow: hidden; border: 1px solid rgba(0,249,255,.35); border-radius: 18px; background: #0e0c20; box-shadow: 0 25px 70px rgba(0,0,0,.55),0 0 40px rgba(0,249,255,.1); }
.console-status { display: flex; justify-content: space-between; padding: .9rem 1rem; border-bottom: 1px solid rgba(126,221,255,.2); color: #dae5fa; font: .68rem monospace; letter-spacing: .1em; }
.console-status b { color: #28ffce; }.console-status i { display: inline-block; width: 6px; height: 6px; margin-right: .35rem; border-radius: 50%; background: #28ffce; box-shadow: 0 0 9px #28ffce; }
.console-scene { position: relative; height: 340px; overflow: hidden; background: linear-gradient(#302858 0 35%,#211b34 35% 41%,#14141d 41%); }
.console-road { position: absolute; left: -15%; right: -15%; bottom: -42%; height: 100%; transform: perspective(420px) rotateX(43deg); border-top: 2px solid #4e4e60; background: linear-gradient(90deg,#111119,#272735 50%,#111119); }
.console-road:before,.console-road:after { content: ""; position: absolute; top: 0; bottom: 0; width: 3px; background: repeating-linear-gradient(#eeeed8 0 35px,transparent 35px 68px); }.console-road:before { left: 30%; }.console-road:after { right: 30%; }
.detect-box { position: absolute; z-index: 2; padding: .35rem .5rem; border: 1px solid #00f9ff; color: #00f9ff; font: .66rem monospace; box-shadow: 0 0 14px rgba(0,249,255,.2); }.detect-box b { margin-left: .45rem; color: #28ffce; }.detect-pothole { left: 48%; bottom: 20%; width: 130px; height: 70px; }.detect-crack { left: 15%; bottom: 34%; width: 155px; height: 55px; }
.console-scan { position: absolute; z-index: 1; left: 0; right: 0; height: 1px; background: #00f9ff; box-shadow: 0 0 12px #00f9ff; animation: case-scan 4s linear infinite; }
.console-metrics { display: grid; grid-template-columns: repeat(3,1fr); }.console-metrics span { padding: 1rem; border-right: 1px solid rgba(126,221,255,.2); color: #fff; font: .78rem monospace; }.console-metrics span:last-child { border: 0; }.console-metrics small { display: block; color: #7f89a4; font-size: .58rem; }
.case-pipeline { display: grid; grid-template-columns: repeat(3,1fr); gap: .55rem; margin: 1.2rem 0; }.case-pipeline span { padding: .65rem; border: 1px solid rgba(126,221,255,.18); border-radius: 8px; color: #d9e3f7; font-size: .75rem; }.case-pipeline i { margin-right: .35rem; color: #00f9ff; }
.case-points { padding: 0; list-style: none; }.case-points li { padding: .65rem 0; border-bottom: 1px solid rgba(126,221,255,.15); color: #d4daea; font-size: .9rem; }.case-points li:before { content: "+"; margin-right: .65rem; color: #28ffce; }.case-note { margin: 1rem 0 0; color: #7f89a4; font-size: .72rem; }
.case-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.25rem; }.case-card { overflow: hidden; border: 1px solid rgba(126,221,255,.2); border-radius: 18px; background: rgba(255,255,255,.025); scroll-margin-top: 105px; }.case-card-image { height: 230px; overflow: hidden; background: #0e0826; }.case-card-image img { width: 100%; height: 100%; object-fit: cover; opacity: .72; transition: transform .5s,opacity .5s; }.case-card:hover img { transform: scale(1.05); opacity: .9; }.case-card-image.device-image { display: grid; place-items: center; background: radial-gradient(circle,rgba(0,249,255,.14),transparent 55%),#0e0826; }.case-card-image.device-image img { width: auto; max-width: 78%; object-fit: contain; }.case-card-copy { padding: 1.6rem; }.case-card h3 { min-height: 64px; margin: .6rem 0; font-size: 1.35rem; }.case-card-copy > p:not(.case-kicker) { min-height: 105px; color: #aeb6cc; font-size: .9rem; }
.case-tags { display: flex; flex-wrap: wrap; gap: .4rem; }.case-tags span { padding: .35rem .55rem; border-radius: 20px; color: #00f9ff; background: rgba(0,249,255,.08); font-size: .68rem; }
.case-foundation { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 1.25rem; overflow: hidden; border: 1px solid rgba(126,221,255,.2); border-radius: 16px; }.case-foundation div { padding: 1.35rem; border-right: 1px solid rgba(126,221,255,.2); background: rgba(255,255,255,.025); }.case-foundation div:last-child { border: 0; }.case-foundation i { display: block; margin-bottom: .8rem; color: #00f9ff; font-size: 1.25rem; }.case-foundation strong,.case-foundation span { display: block; }.case-foundation span { margin-top: .25rem; color: #8f98b0; font-size: .72rem; }
@keyframes case-scan { from { top: 0; } to { top: 100%; } }
@media(max-width:991px){.case-grid{grid-template-columns:1fr 1fr}.case-foundation{grid-template-columns:1fr 1fr}.case-foundation div:nth-child(2){border-right:0}.case-foundation div:nth-child(-n+2){border-bottom:1px solid rgba(126,221,255,.2)}.case-visual{min-height:460px}}
@media(max-width:575px){.case-grid,.case-foundation{grid-template-columns:1fr}.case-foundation div{border-right:0;border-bottom:1px solid rgba(126,221,255,.2)}.console-scene{height:280px}.case-pipeline{grid-template-columns:1fr 1fr}.case-card h3,.case-card-copy>p:not(.case-kicker){min-height:0}}
