/* Compact service row, with a modest increase in type size and contrast. */
.services{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;margin-top:48px;padding-block:32px 34px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.service-card{min-width:0}
.services .service-card h3{font-size:19px;font-weight:400;line-height:1.4;letter-spacing:-.02em;margin:0 0 10px;color:var(--gold)}
.services .service-card p{font-size:14px;line-height:1.75;color:#c3b5ce;max-width:290px;margin:0}
.stage-icon{width:64px;height:64px}

/* Preview video never receives clicks: the whole card remains a native post link. */
.project-image>.project-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .25s;background:#160d24}
.project.is-previewing .project-preview{opacity:1}
.preview-hint{position:absolute;left:17px;bottom:17px;font-size:10px;letter-spacing:.05em;padding:5px 9px;color:var(--ivory);background:rgba(16,9,24,.72);pointer-events:none}
.project.is-previewing .preview-hint{opacity:0}
.view-frame{z-index:1}
.project[data-external-post] .view-frame{opacity:1}

/* Silent opening reel with a discreet pause control. */
.hero-reel-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-reel-layer{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .5s}
.hero-reel-layer.is-ready{opacity:1}
.hero-reel-layer>video{display:block;width:100%;height:100%;object-fit:cover}
#hero-reel>.hero-image-shade{z-index:1;pointer-events:none}
#hero-reel .hero-copy{z-index:2}
.hero-reel-label{position:absolute;z-index:3;bottom:31px;left:max(48px,calc((100vw - 1440px)/2));font-size:12px;letter-spacing:.09em;margin:0}
.reel-controls{position:absolute;z-index:4;right:max(48px,calc((100vw - 1440px)/2));bottom:22px;display:flex;gap:9px}
.reel-controls button{border:1px solid rgba(243,238,229,.35);padding:9px 13px;background:rgba(22,13,36,.75);font-size:11px;cursor:pointer;min-height:40px}
.reel-controls button:hover{background:var(--purple)}
.reel-controls button[hidden]{display:none}
.reel-status{position:absolute;right:0;bottom:51px;width:max-content;max-width:calc(100vw - 40px);font-size:11px;background:var(--plum);padding:6px 10px;margin:0}
.reel-status:empty{display:none}

/* A shallow, browsable strip keeps every supplied still under the reel. */
.stills-section{padding-top:30px;padding-bottom:30px;border-bottom:1px solid var(--line)}
.stills-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}
.stills-heading h2{font:400 12px/1.4 var(--sans);letter-spacing:.03em;margin:0;color:var(--lilac)}
.stills-navigation{display:flex;align-items:center;gap:22px}
.stills-navigation[hidden]{display:none}
.stills-counter{font-size:10px;color:var(--lilac);letter-spacing:.06em}
.stills-navigation .carousel-controls button{width:32px;height:32px;font-size:15px;background:transparent}
.stills-navigation .carousel-controls button:hover{background:var(--purple)}
.stills-viewport{position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.stills-viewport::-webkit-scrollbar{display:none}
.stills-track{display:flex;gap:16px}
.still-card{flex:0 0 calc((100% - 32px)/3);min-width:0;scroll-snap-align:start}
.still-image{position:relative;aspect-ratio:16/9;max-height:230px;overflow:hidden;background:#281d34}
.still-image img{position:absolute;left:50%;top:50%;width:100%;height:calc(100% * var(--frame-zoom,1));max-width:none;object-fit:cover;transform:translate(-50%,-50%);transition:transform .5s}
.still-card:hover .still-image img{transform:translate(-50%,-50%) scale(1.025)}
.still-card:focus-visible{outline-offset:-2px}
.still-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-top:10px;font-size:10px;letter-spacing:.05em;color:var(--lilac)}
.still-caption>span{color:var(--gold);font-size:13px}
@media(max-width:900px){.still-card{flex-basis:calc((100% - 16px)/2)}}
@media(max-width:600px){.stills-section{padding-block:22px}.stills-heading{margin-bottom:12px}.stills-navigation{gap:13px}.stills-counter{font-size:9px}.stills-heading h2{font-size:11px}.still-card{flex-basis:80%}.still-image{max-height:190px}.still-caption{font-size:9px}.stills-navigation .carousel-controls button{width:30px;height:30px}.stills-navigation .carousel-controls .carousel-toggle{font-size:12px}}

@media(max-width:1100px){.services{gap:25px}.services .service-card h3{font-size:18px}.hero-reel-label{left:36px}.reel-controls{right:36px}}
@media(max-width:900px){.stage-icon{width:52px;height:52px}}
@media(max-width:800px){.services{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 35px;margin-top:34px}.hero-reel-label{left:24px}.reel-controls{right:24px}}
@media(max-width:600px){.services{margin-top:30px;padding-block:27px 29px;gap:25px 22px}.services .service-card h3{font-size:17px;margin-bottom:9px}.services .service-card p{font-size:13px;line-height:1.7}.stage-icon{width:48px;height:48px}.hero-reel-label{left:20px;bottom:31px;font-size:10px}.reel-controls{right:20px;bottom:22px;gap:6px}.reel-controls button{padding:8px 10px;font-size:10px}.preview-hint{left:12px;bottom:12px;font-size:9px}}
@media(hover:none),(pointer:coarse){.preview-hint{display:none}}
@media(prefers-reduced-motion:reduce){.preview-hint{display:none}}
@media print{.service-card{break-inside:avoid}.services .service-card h3{color:var(--plum)}.services .service-card p{color:#5e5367}.preview-hint,.reel-controls,.stills-section{display:none}.hero-reel-layer video{display:none}}
