/* Services page. Everything is scoped under .svc so it can't touch the rest of the site. */
.svc{--ink:#0A0A09; --paper:#FAFAF8; --muted:#B7B3AA; --dim:#8C887F; --faint:#5B5850; --line:rgba(250,250,248,.16); --orange:#C1502E;
    --display:'Oswald','Arial Narrow',Impact,sans-serif;
    --body:'Source Sans 3',system-ui,sans-serif;
    --gutter:clamp(36px,6vw,92px);
    color-scheme:dark;}
.svc,.svc *{box-sizing:border-box;}
.svc a{color:inherit;text-decoration:none;}
.svc button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-align:left;}
.svc .s-hero{position:relative;padding-block:clamp(28px,5vw,64px) clamp(36px,6vw,80px);max-width:980px;}
.svc .s-eyebrow{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange);}
.svc h1{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(48px,10vw,136px);line-height:.95;letter-spacing:-.01em;text-wrap:balance;}
.svc .s-tagline{margin:18px 0 0;font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:clamp(22px,2.6vw,28px);color:var(--muted);max-width:44ch;line-height:1.3;}
.svc .route{position:relative;}
.svc .panels{position:relative;}
.svc .road{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1;}
.svc .road .base{stroke:var(--line);stroke-width:2;stroke-dasharray:3 9;fill:none;}
.svc .road .lit{stroke:var(--orange);stroke-width:2.5;stroke-linecap:round;fill:none;}
.svc .road .stop{fill:var(--ink);stroke:var(--faint);stroke-width:2;transition:fill .35s,stroke .35s;}
.svc .road .stop.hit{fill:var(--orange);stroke:rgba(193,80,46,.4);stroke-width:9;}
.svc .cue{position:relative;margin-top:clamp(26px,5vw,44px);margin-bottom:64px;height:44px;}
.svc .cue-text{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);transition:opacity .4s;}
.svc .chev{position:absolute;left:calc(var(--gutter) / 2 - 6px);top:calc(50% + 22px);display:grid;gap:0;transition:opacity .4s;}
.svc .chev i{width:10px;height:10px;border-right:2px solid var(--orange);border-bottom:2px solid var(--orange);transform:rotate(45deg);margin-top:-5px;opacity:0;animation:cascade 1.6s ease-in-out infinite;}
.svc .chev i:nth-child(2){animation-delay:.2s;}
.svc .chev i:nth-child(3){animation-delay:.4s;}
@keyframes cascade{0%{opacity:0;transform:translateY(-4px) rotate(45deg);}35%{opacity:1;}70%,100%{opacity:0;transform:translateY(6px) rotate(45deg);}}
.svc .road .ping{fill:none;stroke:var(--orange);stroke-width:2;opacity:0;transform-box:fill-box;transform-origin:center;}
.svc .road.idle .ping{animation:ping 1.9s ease-out infinite;}
@keyframes ping{0%{opacity:.7;transform:scale(1);}100%{opacity:0;transform:scale(4.2);}}
.svc .road.idle .head{animation:idle 1.9s ease-in-out infinite;transform-box:fill-box;transform-origin:center;}
@keyframes idle{50%{transform:scale(1.35);}}
body.moved .svc .chev{opacity:0;}
.svc .road .stop.end{stroke:var(--faint);}
.svc .road .stop.end.hit{fill:var(--paper);stroke:rgba(250,250,248,.35);stroke-width:12;}
.svc .road.done .ping{stroke:var(--paper);animation:ping 2.2s ease-out infinite;}
.svc .road .head{fill:var(--paper);stroke:rgba(250,250,248,.28);stroke-width:10;}
.svc .s-panel{position:relative;min-height:clamp(500px,72vh,720px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;padding-left:var(--gutter);}
.svc .s-copy{grid-column:1 / 8;grid-row:1;position:relative;z-index:3;padding-block:40px;}
.svc .kick{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);}
.svc h2{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;font-size:clamp(46px,7.4vw,118px);line-height:.98;letter-spacing:-.005em;text-wrap:balance;text-shadow:0 2px 18px rgba(0,0,0,.5);}
.svc .phrase{margin:22px 0 16px;max-width:36ch;font-size:clamp(15px,1.25vw,18px);line-height:1.5;color:var(--paper);text-shadow:0 1px 14px rgba(0,0,0,.7);}
.svc .tags{display:flex;flex-wrap:wrap;gap:4px 0;max-width:54ch;}
.svc .tags span{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--orange);white-space:nowrap;}
.svc .tags span:not(:last-child)::after{content:'\2022';margin:0 .6em;font-size:1.15em;line-height:1;color:var(--orange);}
.svc .clip{grid-column:6 / 13;grid-row:1;position:relative;z-index:2;}
.svc .screen{position:relative;aspect-ratio:16/9;background:#141311;overflow:hidden;border-radius:22px;}
.svc .s-reel{position:absolute;inset:0;}
.svc .s-reel i{position:absolute;border-radius:50%;background:radial-gradient(closest-side,var(--c,#888),transparent);will-change:transform;animation:drift 9s ease-in-out infinite alternate;animation-play-state:paused;}
.svc .s-reel i:nth-child(1){width:70%;height:90%;left:-10%;top:-20%;}
.svc .s-reel i:nth-child(2){width:60%;height:70%;right:-12%;bottom:-24%;animation-duration:12s;animation-delay:-4s;}
.svc .s-reel::after{content:'';position:absolute;inset:0;opacity:.2;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");}
@keyframes drift{from{transform:translate(0,0) scale(1);}to{transform:translate(14%,10%) scale(1.22);}}
.svc .s-panel:nth-of-type(1) .s-reel{background:#2a1710;}
.svc .s-panel:nth-of-type(1) .s-reel i:nth-child(1){--c:#d44e27;}
.svc .s-panel:nth-of-type(1) .s-reel i:nth-child(2){--c:#7a1f0a;}
.svc .s-panel:nth-of-type(2) .s-reel{background:#0e1c24;}
.svc .s-panel:nth-of-type(2) .s-reel i:nth-child(1){--c:#1f6f8b;}
.svc .s-panel:nth-of-type(2) .s-reel i:nth-child(2){--c:#e8b04a;}
.svc .s-panel:nth-of-type(3) .s-reel{background:#1b1b1f;}
.svc .s-panel:nth-of-type(3) .s-reel i:nth-child(1){--c:#9a968d;}
.svc .s-panel:nth-of-type(3) .s-reel i:nth-child(2){--c:#3d3b36;}
.svc .s-panel:nth-of-type(4) .s-reel{background:#231433;}
.svc .s-panel:nth-of-type(4) .s-reel i:nth-child(1){--c:#a04bd0;}
.svc .s-panel:nth-of-type(4) .s-reel i:nth-child(2){--c:#e8579a;}
.svc .s-panel:nth-of-type(5) .s-reel{background:#10201a;}
.svc .s-panel:nth-of-type(5) .s-reel i:nth-child(1){--c:#3fae7a;}
.svc .s-panel:nth-of-type(5) .s-reel i:nth-child(2){--c:#e8d04a;}
.svc .s-live{position:absolute;right:14px;top:14px;display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--paper);text-shadow:0 1px 4px rgba(0,0,0,.6);z-index:2;}
.svc .s-live::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--orange);animation:pulse 1.3s ease-in-out infinite;animation-play-state:paused;}
@keyframes pulse{50%{opacity:.25;}}
html.js .svc .kick,html.js .svc .s-panel h2,html.js .svc .phrase,html.js .svc .tags{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
html.js .svc .clip{opacity:0;transform:translateY(14px) scale(.985);transition:opacity 1s ease .35s,transform 1s cubic-bezier(.2,.7,.2,1) .35s;}
html.js .svc .s-panel.in .kick{opacity:1;transform:none;transition-delay:0s;}
html.js .svc .s-panel.in h2{opacity:1;transform:none;transition-delay:.08s;}
html.js .svc .s-panel.in .phrase{opacity:1;transform:none;transition-delay:.2s;}
html.js .svc .s-panel.in .tags{opacity:1;transform:none;transition-delay:.3s;}
html.js .svc .s-panel.in .clip{opacity:1;transform:none;}
.svc .s-panel.in .s-reel i,.svc .s-panel.in .s-live::before{animation-play-state:running;}
html.js .svc .s-panel.in.out .s-copy,html.js .svc .s-panel.in.out .clip{opacity:.18;transition:opacity .5s ease;}
.svc .after{position:relative;padding-block:clamp(110px,16vw,230px) max(150px,28vh);padding-left:var(--gutter);}
.svc .after h2{margin:0;font-family:var(--display);font-weight:700;text-transform:uppercase;line-height:.95;letter-spacing:-.005em;text-wrap:balance;font-size:clamp(48px,10vw,136px);max-width:18ch;text-shadow:0 2px 18px rgba(0,0,0,.5);}
.svc .after p{margin:16px 0 26px;color:var(--muted);font-family:'Shileen',cursive;font-weight:normal;font-style:normal;font-size:clamp(22px,2.6vw,28px);line-height:1.3;max-width:46ch;}
.svc .after h2 em{font-style:normal;color:var(--orange);}
.svc .s-cta{display:inline-flex;align-items:center;gap:10px;padding:16px 28px;border:1px solid #C1502E;background:transparent;color:#FAFAF8;font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;}
.svc .s-cta:hover{background:#C1502E;color:#0A0A09;}
html.js .svc .after h2,html.js .svc .after p,html.js .svc .after .s-cta{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
html.js .svc .after .s-cta{display:inline-flex;}
html.js .svc .after.in h2{opacity:1;transform:none;transition-delay:.05s;}
html.js .svc .after.in p{opacity:1;transform:none;transition-delay:.2s;}
html.js .svc .after.in .s-cta{opacity:1;transform:none;transition:opacity .7s ease .32s,transform .7s cubic-bezier(.2,.7,.2,1) .32s,background .2s ease,color .2s ease;}
.svc .stops{will-change:opacity;position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(8px,2vw,28px);padding:14px clamp(16px,4.5vw,64px) calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(to top,rgba(10,10,9,.96),rgba(10,10,9,.72) 70%,rgba(10,10,9,0));opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .4s,transform .4s;}
.svc .stops.show{opacity:1;transform:none;pointer-events:auto;}
.svc .stops button{display:grid;gap:3px;padding-top:10px;position:relative;}
.svc .stops button::before{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--line);}
.svc .stops button::after{content:'';position:absolute;left:0;right:0;top:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .5s ease;}
.svc .stops button.on::after,.svc .stops button.done::after{transform:scaleX(1);}
.svc .stops b{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);transition:color .3s;}
.svc .stops small{font-size:11px;color:var(--faint);line-height:1.3;transition:color .3s;}
.svc .stops button.on b{color:var(--paper);}
.svc .stops button.on small{color:var(--muted);}
.svc .stops .short{display:none;}
.svc .stops button:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
@media (max-width:820px){.svc{--gutter:34px;}
.svc .s-panel{grid-template-columns:minmax(0,1fr);align-content:center;gap:22px;min-height:0;padding-block:30px 40px;}
.svc .clip{grid-column:1;grid-row:1;order:-1;margin-right:0;}
.svc .s-copy{grid-column:1;grid-row:2;padding-block:0;}
.svc h2{font-size:clamp(34px,10vw,56px);overflow-wrap:anywhere;}
.svc .after h2{font-size:clamp(44px,13vw,64px);}
.svc .stops small{display:none;}
.svc .stops b{font-size:9px;letter-spacing:0;white-space:nowrap;}
.svc .stops{gap:10px;}
.svc .stops .full{display:none;}
.svc .stops .short{display:inline;}

  }
@media (prefers-reduced-motion:reduce){html.js .svc .kick,html.js .svc .s-panel h2,html.js .svc .phrase,html.js .svc .tags,html.js .svc .clip{transition:none;transform:none;}
.svc .s-reel i,.svc .s-live::before,.svc .chev i,.svc .road.idle .ping,.svc .road.idle .head,.svc .road.done .ping{animation:none;}
.svc .chev i{opacity:1;}

  }


.svc{position:relative;margin:0;padding-inline:clamp(16px,4.5vw,64px);padding-top:clamp(20px,3vw,40px);color:var(--paper);font-family:var(--body);}
.svc::after{content:'';position:absolute;right:0;bottom:0;width:min(78vw,760px);aspect-ratio:1;background:url(../images/paint-splat.webp) right bottom/contain no-repeat;pointer-events:none;z-index:0;opacity:.95;}
.svc .s-hero,.svc .panels,.svc .after{z-index:1;}
.svc .s-hero{position:relative;}
.svc{overflow-x:clip;}
.svc video.s-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;background:#141311;}
.svc video.s-video.ready{opacity:1;}

.svc img.s-still{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .7s ease;transform-origin:50% 55%;}
.svc img.s-still.ready{opacity:1;}
.svc .s-panel.in img.s-still{animation:still-push 16s ease-out forwards;}
@keyframes still-push{from{transform:scale(1);}to{transform:scale(1.06);}}
@media (prefers-reduced-motion:reduce){.svc .s-panel.in img.s-still{animation:none;}}

.svc .s-reelbtn{display:inline-flex;align-items:center;gap:12px;margin-top:22px;padding:6px 20px 6px 6px;border:1.5px solid rgba(250,250,248,.28);border-radius:999px;background:rgba(10,10,9,.5);color:var(--paper);font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:border-color .25s,background .25s,transform .25s;}
.svc .s-reelbtn i{position:relative;flex:none;width:38px;height:38px;border-radius:50%;background:var(--orange);transition:transform .25s;}
.svc .s-reelbtn i::before{content:'';position:absolute;left:15px;top:11px;border-left:12px solid var(--paper);border-top:8px solid transparent;border-bottom:8px solid transparent;}
.svc .s-reelbtn:hover,.svc .s-reelbtn:focus-visible{border-color:var(--orange);background:rgba(193,80,46,.14);}
.svc .s-reelbtn:hover i{transform:scale(1.08);}
.svc .s-reelbtn:focus-visible{outline:2px solid var(--orange);outline-offset:3px;}
html.js .svc .s-reelbtn{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1),border-color .25s,background .25s;}
html.js .svc .s-panel.in .s-reelbtn{opacity:1;transform:none;transition-delay:.4s,.4s,0s,0s;}
html.js .svc .s-panel.in.out .s-reelbtn{opacity:.18;}
.svc .s-modal{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,56px);background:rgba(6,6,5,.92);}
.svc .s-modal.open{display:flex;animation:modal-in .3s ease;}
@keyframes modal-in{from{opacity:0;}to{opacity:1;}}
.svc .s-modal-box{width:min(100%,1180px,calc((100vh - 140px) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.6);}
.svc .s-modal-box iframe{width:100%;height:100%;border:0;display:block;}
.svc .s-modal-x{position:absolute;top:clamp(12px,2.4vw,28px);right:clamp(12px,2.4vw,32px);display:flex;align-items:center;gap:8px;color:var(--paper);font-family:var(--body);font-weight:700;font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:10px 4px;}
.svc .s-modal-x b{font-size:26px;line-height:1;font-weight:400;}
.svc .s-modal-x:hover{color:var(--orange);}
@media (prefers-reduced-motion:reduce){html.js .svc .s-reelbtn{transition:none;transform:none;} .svc .s-modal.open{animation:none;}}


/* ---- Services: highlighter labels ---- */
.svc .s-eyebrow,.svc .kick{display:inline-block;margin-left:-10px;padding:4px 12px 1px;font-family:var(--display,'Oswald'),'Arial Narrow',sans-serif;font-size:13px;font-weight:700;letter-spacing:.14em;color:#0A0A09;background:linear-gradient(100deg,rgba(193,80,46,0) 0,rgba(193,80,46,.95) 1.5%,rgba(193,80,46,.9) 97%,rgba(193,80,46,0) 100%);transform:rotate(-.8deg);}
