/* Scoped service-page layout; attach after contrast.css. */
body.premium-detail{--detail-surface:#102033;--detail-edge:#3b6278;font-size:16px;line-height:1.65}
.premium-detail main>.wrap,.premium-detail main>section.wrap{width:min(1180px,calc(100% - 64px));max-width:1180px;padding-left:0;padding-right:0}
.premium-detail main :is(section,article,div,figure,aside){min-width:0}
.premium-detail main p{font-size:16px;line-height:1.65}
.premium-detail main h2{font-size:clamp(28px,3vw,40px);line-height:1.13;letter-spacing:-.035em}
.premium-detail main h3{font-size:23px;line-height:1.2;letter-spacing:-.025em}
.premium-detail .page-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);grid-template-rows:auto auto auto auto;column-gap:48px;row-gap:16px;padding:30px 0 44px;border-bottom:1px solid #36556d}
.premium-detail .page-hero .breadcrumbs{grid-column:1/-1;grid-row:1;margin:0 0 10px;font-size:13px}
.premium-detail .page-hero>.eyebrow{grid-column:1;grid-row:2;align-self:end;font-size:11px;letter-spacing:.13em}
.premium-detail .page-hero h1{grid-column:1;grid-row:3;font-size:clamp(34px,4vw,54px);line-height:1.06;letter-spacing:-.045em;margin:0;max-width:680px}
.premium-detail .page-hero .intro{grid-column:1;grid-row:4;margin:0;max-width:650px;font-size:16px;align-self:start}
.premium-detail .page-hero .hero-photo{grid-column:2;grid-row:2/5;align-self:center;width:100%;height:300px;max-height:340px;aspect-ratio:auto;margin:0;border:1px solid #3b6278;border-radius:16px;box-shadow:0 18px 36px #0004;overflow:hidden}
.premium-detail .page-hero .hero-photo img{width:100%;height:100%;object-fit:contain}
.premium-detail section.block{padding:40px 0}
.premium-detail .section-head{display:block;margin:0 0 26px;max-width:900px}
.premium-detail .section-head .eyebrow{display:block;margin:0 0 12px;padding:0}
.premium-detail .section-head p{margin-top:16px;max-width:780px}
/* Replace the permanent side rail with a compact horizontal introduction. */
.premium-detail .detail-layout{display:flex;flex-direction:column;gap:26px}
.premium-detail .detail-layout>aside{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.3fr) auto;align-items:center;gap:24px;padding:22px 26px;border:1px solid #3b6278;border-radius:12px;background:#0e1c2c}
.premium-detail .detail-layout>aside p{margin:0;font-size:14px}
.premium-detail .detail-layout>aside>.eyebrow{font-size:11px;line-height:1.6}
.premium-detail .detail-layout>aside .pill{max-width:260px;text-align:center}
.premium-detail .detail-content{width:100%}
.premium-detail .detail-content>p{max-width:900px;margin:0 0 24px;font-size:17px}
.premium-detail :is(.service-grid,.capability-grid){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:26px 0}
.premium-detail :is(.service,.kiosk-system,.obelisk-copy){position:relative;border:1px solid var(--detail-edge);border-radius:14px;padding:25px;background:var(--detail-surface);box-shadow:0 10px 24px #0002}
.premium-detail :is(.service,.kiosk-system,.obelisk-copy)::before,.premium-detail :is(.service,.kiosk-system,.obelisk-copy)::after{content:'';position:absolute;width:13px;height:13px;border-color:#80cbd1;border-style:solid;pointer-events:none;opacity:.8}
.premium-detail :is(.service,.kiosk-system,.obelisk-copy)::before{left:9px;top:9px;border-width:1px 0 0 1px;border-radius:3px 0 0}
.premium-detail :is(.service,.kiosk-system,.obelisk-copy)::after{right:9px;bottom:9px;border-width:0 1px 1px 0;border-radius:0 0 3px}
.premium-detail .service h3,.premium-detail .kiosk-system h3{font-size:23px;margin:0 0 12px}
.premium-detail .service p,.premium-detail .kiosk-system p{font-size:16px;line-height:1.65}
.premium-detail .service .text-link{display:inline-block;margin-top:14px}
/* Existing contrast.css marks card backgrounds important. */
.premium-detail .service:hover,.premium-detail .kiosk-system:hover{background:color-mix(in srgb,var(--detail-surface) 90%,white 10%)!important}
.premium-detail .kiosk-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.premium-detail .kiosk-system .system-photo{height:225px;margin:0 0 20px;border-radius:8px;background:#091423}
.premium-detail .kiosk-system .system-photo img{object-fit:contain}
.premium-detail .obelisk-copy{margin-top:24px;padding:28px}
.premium-detail .obelisk-copy h3{font-size:27px;margin:12px 0}
.premium-detail .obelisk-copy p{margin-bottom:20px}
.premium-detail .section-photo{width:100%;max-width:760px;height:280px;aspect-ratio:auto;margin:0 0 26px;border:1px solid #3b6278;border-radius:12px;overflow:hidden}
.premium-detail .section-photo img{width:100%;height:100%;object-fit:contain}
.premium-detail .expanded-copy{margin:28px 0 0;padding:26px 0 0;border-top:1px solid #36556d}
.premium-detail .expanded-copy h3{margin:0 0 14px}
.premium-detail .expanded-copy>p,.premium-detail .expanded-copy>ul{max-width:900px}
.premium-detail .details-list{margin:28px 0 0;border:1px solid #3b6278;border-radius:12px;padding:0 24px;background:#0b1929}
.premium-detail .details-list details{padding:18px 0;border-color:#36556d}
.premium-detail .details-list details:last-child{border-bottom:0}
.premium-detail .details-list summary{font-size:17px;line-height:1.5;letter-spacing:-.01em}
.premium-detail .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.premium-detail .photo-tile button{height:210px;aspect-ratio:auto;border-radius:10px;overflow:hidden}
.premium-detail .photo-tile img{object-fit:contain}
.premium-detail .photo-tile figcaption{font-size:14px;padding:12px 0 8px}
.premium-detail .photo-tile.poster button{height:280px}
.premium-detail .related-video{margin-top:28px;padding-top:26px}
.premium-detail .video-frame{max-width:760px;overflow:hidden;border:1px solid #3b6278;border-radius:12px}
.premium-detail .cta-image{width:min(760px,calc(100% - 64px));height:230px;aspect-ratio:auto;margin:18px auto 28px;border:1px solid #3b6278;border-radius:12px}
.premium-detail .cta-image img{object-fit:contain}
.premium-detail .cta{width:min(1180px,calc(100% - 64px));margin:12px auto 48px;padding:30px;grid-template-columns:1fr 1fr;gap:30px;border:1px solid #3b6278;border-radius:16px}
.premium-detail .cta h2{font-size:clamp(28px,3vw,38px);line-height:1.13}
.premium-detail .cta p{font-size:16px;line-height:1.65;margin-bottom:18px}
.premium-detail .text-link{font-size:15px}
@media(max-width:1000px){
 .premium-detail .page-hero{column-gap:28px;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .premium-detail .page-hero .hero-photo{height:260px}
 .premium-detail .kiosk-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}
 .premium-detail .detail-layout>aside{grid-template-columns:1fr 1.4fr}
 .premium-detail .detail-layout>aside .pill{grid-column:1/-1;justify-self:start}
}
@media(max-width:760px){
 .premium-detail main>.wrap,.premium-detail main>section.wrap{width:calc(100% - 36px)}
 .premium-detail .page-hero{grid-template-columns:minmax(0,1fr);gap:15px;padding:22px 0 30px}
 .premium-detail .page-hero>.eyebrow,.premium-detail .page-hero h1,.premium-detail .page-hero .intro{grid-column:1;grid-row:auto}
 .premium-detail .page-hero .hero-photo{grid-column:1;grid-row:5;height:240px;max-height:none;margin-top:7px}
 .premium-detail .page-hero h1{font-size:clamp(32px,7.5vw,44px)}
 .premium-detail section.block{padding:30px 0}
 .premium-detail .detail-layout>aside{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:21px}
 .premium-detail :is(.service-grid,.capability-grid,.kiosk-catalog){grid-template-columns:minmax(0,1fr);gap:16px}
 .premium-detail :is(.service,.kiosk-system,.obelisk-copy){padding:23px}
 .premium-detail .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .premium-detail .photo-tile button{height:170px}
 .premium-detail .photo-tile.poster button{height:240px}
 .premium-detail .section-photo{height:230px}
 .premium-detail .cta{width:calc(100% - 36px);grid-template-columns:1fr;padding:24px;gap:20px;margin-bottom:32px}
 .premium-detail .cta-image{width:calc(100% - 36px);height:210px}
}
@media(max-width:420px){.premium-detail .photo-grid{grid-template-columns:minmax(0,1fr)}.premium-detail .photo-tile button{height:210px}.premium-detail .page-hero .hero-photo{height:210px}}
