/* Services pages: one theme-aware extension of the existing blog/work system. */
.sv-page{
  --sv-paper:var(--pg-bg);--sv-ink:var(--pg-fg);--sv-muted:var(--pg-fg-2);
  --sv-line:var(--pg-line);--sv-panel:var(--pg-card);--sv-accent:var(--orange);
  --sv-accent-lg:var(--sv-accent); /* large-text cut — brighter in light mode (3:1 AA) */
  --sv-form:var(--bg);--sv-field:var(--bg-2)
}
[data-theme="light"] .sv-page{--sv-accent:var(--orange-d);--sv-accent-lg:var(--orange-lg);--sv-form:#fff;--sv-field:var(--paper)}
.sv-page .bl-kicker{color:var(--sv-accent)}
.sv-page .bl-kicker::before{background:var(--sv-accent)}
.sv-page .btn:not(.btn-talk){background:var(--orange);color:#fff}
.sv-shell{padding-top:128px;padding-bottom:0}
.sv2-topline{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sv2-back,.sv-textlink{display:inline-flex;align-items:center;gap:10px;font-weight:600;line-height:1.2}
.sv2-back{font-family:'IBM Plex Mono',monospace;font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sv-muted)}
.sv2-back:hover,.sv-textlink:hover{color:var(--sv-accent)}
.sv-textlink span{font-size:1.1em;transition:transform .2s ease}
.sv-textlink:hover span{transform:translate(3px,-2px)}
.sv2-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:32px}
.sv2-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}
.sv2-section-head h2,.sv-team-line h2{font-weight:700;font-size:clamp(2.125rem,5vw,4rem);letter-spacing:-.03em;line-height:1;margin-top:16px}
.sv2-section-head>p{max-width:38ch;font-size:1.125rem;line-height:1.55;color:var(--sv-muted);margin-bottom:5px}

/* The showreel IS the header: a full-bleed cinematic band that bleeds up UNDER the fixed nav
   (both services pages open this way, so the shell's top padding is killed on each).
   Everything inside sits on video, so the ink is forced light in both themes. */
body[data-page^="service"] .sv-shell{padding-top:0}
.sv3-hero{position:relative;width:100vw;margin-left:calc(50% - 50vw);height:clamp(620px,92vh,940px);overflow:hidden;background:var(--black)}
.sv3-hero>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv3-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,14,.45),transparent 32%),linear-gradient(10deg,rgba(10,10,14,.86) 8%,rgba(10,10,14,.38) 44%,transparent 66%)}
.sv3-inner{position:relative;z-index:2;height:100%;max-width:1400px;margin:0 auto;padding:122px var(--pad) 48px;display:flex;flex-direction:column;justify-content:space-between}
/* the unscrolled nav floats on the video: force its ink light in light mode too
   (once scrolled, blog.css's light frost takes over and the normal ink returns) */
[data-theme="light"] body[data-page^="service"] header:not(.scrolled) .logo .lb,
[data-theme="light"] body[data-page^="service"] header:not(.scrolled) .logo .lw{fill:#fff}
[data-theme="light"] body[data-page^="service"] header:not(.scrolled) .navlinks{color:#fff}
[data-theme="light"] body[data-page^="service"] header:not(.scrolled) .burger span{background:#fff}
.sv3-hero .bl-kicker{color:#fff}
.sv3-hero .bl-kicker::before{background:var(--orange)}
.sv3-hero .bl-theme-toggle{color:#fff;border-color:rgba(255,255,255,.4);background:rgba(10,10,14,.35)}
.sv3-hero .bl-theme-toggle:hover{border-color:#fff;color:#fff}
.sv3-hero .sv2-back{color:rgba(255,255,255,.78)}
.sv3-hero .sv2-back:hover{color:#fff}
/* the digital hero carries its kicker inside the copy block (the topline holds the back link) */
.sv3-copy .bl-kicker{margin-bottom:30px}
.sv3-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:44px}
.sv3-copy h1{font-weight:800;font-size:clamp(3.5rem,6.5vw,6rem);letter-spacing:-.045em;line-height:.92;margin:0 0 28px;color:#fff}
.sv3-copy h1 span{color:var(--orange)}
.sv3-copy>p{max-width:48ch;font-size:clamp(1.0625rem,1.55vw,1.3125rem);line-height:1.5;color:rgba(255,255,255,.85)}
.sv3-hero .sv-textlink{color:#fff}
.sv3-hero .sv-textlink:hover{color:var(--orange)}
.sv3-tag{display:flex;align-items:center;gap:16px;padding-bottom:8px;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.75);white-space:nowrap}
.sv3-sound{cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:#fff;background:rgba(10,10,14,.4);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:8px 16px;transition:border-color .2s,background .2s,color .2s}
.sv3-sound:hover{border-color:#fff}
.sv3-sound[aria-pressed="true"]{background:var(--orange);border-color:var(--orange);color:#fff}

/* The capability grids are intentionally the page's main graphic device. */
.sv2-services{padding:clamp(85px,10vw,135px) 0}
.sv2-service-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--sv-line)}
.sv2-service{position:relative;display:grid;grid-template-columns:50px 1fr;grid-template-rows:auto auto;column-gap:18px;min-height:175px;padding:28px 38px 30px 0;border-bottom:1px solid var(--sv-line);color:var(--sv-ink);transition:background .25s,padding .25s,color .25s}
.sv2-service:nth-child(odd){border-right:1px solid var(--sv-line)}
.sv2-service:nth-child(even){padding-left:38px}
.sv2-service>span{grid-row:1/4;font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.08em;color:var(--sv-muted);padding-top:7px}
/* each service carries a small icon in its own accent (--acc/--acc-aa per cell) */
.sv2-ic{grid-column:2;width:18px;height:18px;margin-bottom:14px;color:var(--acc,var(--sv-accent))}
[data-theme="light"] .sv-page .sv2-ic{color:var(--acc-aa,var(--sv-accent))}
/* the inverted hover flips the background lightness, so the icon flips to its other cut */
.sv-page .sv2-service.is-link:hover .sv2-ic{color:var(--acc-aa,var(--sv-accent))}
[data-theme="light"] .sv-page .sv2-service.is-link:hover .sv2-ic{color:var(--acc,var(--sv-accent))}
.sv2-service h3{font-weight:700;font-size:clamp(1.55rem,2.3vw,2.25rem);letter-spacing:-.025em;margin-bottom:10px}
.sv2-service p{max-width:39ch;color:var(--sv-muted);line-height:1.5}
.sv2-service i{position:absolute;right:26px;top:28px;font-style:normal;font-size:1.35rem;opacity:0;transform:translate(-4px,4px);transition:.2s}
.sv2-service.is-link:hover{background:var(--sv-ink);color:var(--sv-paper);padding-left:24px}
.sv2-service:nth-child(even).is-link:hover{padding-left:58px}
.sv2-service.is-link:hover p,.sv2-service.is-link:hover>span{color:color-mix(in srgb,var(--sv-paper) 68%,transparent)}
.sv2-service.is-link:hover i{opacity:1;transform:none}
/* no hover on touch: linked cells must show their arrow all the time */
@media(hover:none){.sv2-service.is-link i{opacity:1;transform:none}}
/* non-link cells get a quieter hover: accent index + a line sweeping the bottom rule */
.sv2-service::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sv-accent-lg);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.sv2-service:hover::after{transform:scaleX(1)}
.sv2-service:not(.is-link):hover{background:color-mix(in srgb,var(--sv-panel) 55%,transparent)}
.sv2-service:not(.is-link):hover>span{color:var(--sv-accent)}

/* One team: the whole studio drifts past on a full-bleed ticker (faces filled by services.js). */
.sv-team-line{padding:clamp(44px,6vw,68px) 0 0;border-top:1px solid var(--sv-line);border-bottom:1px solid var(--sv-line)}
.sv-team-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}
.sv-team-line h2{font-size:clamp(1.75rem,3.4vw,2.75rem);margin-top:12px}
.sv-team-line p{color:var(--sv-muted);margin-top:10px;max-width:52ch}
.sv-ticker{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;padding:clamp(26px,3.5vw,40px) 0 46px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.sv-ticker-track{display:flex;gap:16px;width:max-content;animation:sv-ticker 75s linear infinite}
.sv-ticker:hover .sv-ticker-track{animation-play-state:paused}
@keyframes sv-ticker{to{transform:translateX(-50%)}}
/* the .face structure comes from main.css (homepage team wall); re-colour it for this theme */
.sv-ticker .face{width:68px;height:68px}
/* faces in full colour — main.css greys them for the homepage wall, but here they ARE the point */
.sv-ticker .face img{border-color:var(--sv-line);filter:none}
.sv-ticker{--chip-acc:var(--sv-accent)} /* ring + pill follow the section accent (chip contract, main.css) */
/* the proof shot: one candid team photo (assets/team/) between the head and the credit ticker —
   the photo carries the mood, the roundels carry the names. Large-plate radius, no keyline */
.sv-team-photo{margin:clamp(30px,4vw,48px) 0 0;aspect-ratio:21/9;border-radius:18px;overflow:hidden;background:var(--sv-panel)}
.sv-team-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:700px){.sv-team-photo{aspect-ratio:16/10}}

/* One 2×2 for work + blog: two cards down each side, both sides trailers for their own pages. */
.sv-duo{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(44px,6vw,84px);padding:clamp(90px,11vw,145px) 0}
.sv-duo-col{display:flex;flex-direction:column;gap:clamp(36px,4.5vw,54px)}
.sv-duo-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:1px solid var(--sv-line)}
.sv-duo-head h2{font-weight:700;font-size:clamp(1.7rem,2.7vw,2.5rem);letter-spacing:-.03em;line-height:1;margin-top:14px}
.sv-duo-head .sv-textlink{white-space:nowrap;margin-bottom:5px}
.sv-card{display:block;color:var(--sv-ink)}
.sv-card .bl-rowmeta{flex-direction:row;align-items:center;gap:14px}
.sv-card h3{font-weight:700;font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.025em;line-height:1.12;margin-top:12px;transition:color .2s}
.sv-card:hover h3{color:var(--sv-accent-lg)}
.sv-card-media{display:block;overflow:hidden;aspect-ratio:16/10;border-radius:4px;background:var(--sv-panel);margin-bottom:18px}
.sv-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.sv-card:hover .sv-card-media img{transform:scale(1.04)}
.sv-card .bl-excerpt{margin-top:10px;color:var(--sv-muted);line-height:1.5}
/* blog cards carry their category colour on hover instead of the house orange */
.sv-post:hover h3{color:var(--acc,var(--sv-accent))}
[data-theme="light"] .sv-page .sv-post:hover h3{color:var(--acc-lg,var(--acc-aa,var(--sv-accent-lg)))}
/* under each feature: a compact keyline list of the rest */
.sv-duo-list{display:flex;flex-direction:column;margin-top:-6px}
.sv-mini{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:22px;row-gap:6px;align-items:center;padding:17px 0;border-bottom:1px solid var(--sv-line);color:var(--sv-ink)}
.sv-mini:first-child{border-top:1px solid var(--sv-line)}
.sv-mini-meta{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--sv-muted)}
/* any accented row (work client or blog category) colours its lead word and hover the same way */
.sv-mini-meta b{font-weight:600;color:var(--acc,var(--sv-ink));margin-right:10px}
[data-theme="light"] .sv-page .sv-mini .sv-mini-meta b{color:var(--acc-aa,var(--sv-ink))}
.sv-mini-title{font-weight:700;font-size:clamp(1.05rem,1.35vw,1.25rem);letter-spacing:-.015em;line-height:1.2;transition:color .2s}
.sv-mini svg{grid-row:1/3;grid-column:2;width:18px;height:18px;color:var(--sv-muted);transition:transform .2s,color .2s}
.sv-mini:hover .sv-mini-title{color:var(--acc,var(--sv-accent))}
[data-theme="light"] .sv-page .sv-mini:hover .sv-mini-title{color:var(--acc-aa,var(--sv-accent))}
.sv-mini:hover svg{color:var(--acc,var(--sv-accent));transform:translateX(4px)}
[data-theme="light"] .sv-page .sv-mini:hover svg{color:var(--acc-aa,var(--sv-accent))}
.digi-acc-head:focus-visible,.sv-mini:focus-visible,.sv-card:focus-visible,.sv2-back:focus-visible{outline:2px solid var(--sv-accent);outline-offset:3px}

.sv-client-section{padding:0 0 clamp(20px,4vw,48px)}
.sv-client-section .sv2-section-head{margin-bottom:44px}
.sv-client-section .client-grid{border-color:var(--sv-line)}
.sv-client-section .client-cell{border-color:var(--sv-line)}
.sv-client-section .client-cell:hover{background:var(--sv-panel)}
.sv-client-section .client-word{color:color-mix(in srgb,var(--sv-ink) 52%,transparent)}
.sv-client-section .client-cell:hover .client-word{color:var(--sv-ink)}
/* the logo sources are white cuts (main.css assumes a dark bg), so light mode
   inverts them to ink; hover stays mono here — grayscale(0) would return them to white */
[data-theme="light"] .sv-page .client-cell img{filter:grayscale(1) invert(1);opacity:.52}
[data-theme="light"] .sv-page .client-cell:hover img{filter:grayscale(1) invert(1);opacity:.85}

/* Digital/strategy: the team head adopts the offerings' 33/66 grid so the credentials
   strip fills the same column as the accordion above it — head copy top-left in the rail,
   stats four-across. (The landing's team head carries a note, not stats: it keeps the flex.) */
.sv-team-head:has(.digi-team-stats){display:grid;grid-template-columns:1fr 2fr;column-gap:clamp(44px,6vw,84px);align-items:start}
.digi-team-stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--sv-line)}
.digi-team-stats>div{padding:22px 24px 20px;transition:background .25s}
.digi-team-stats>div:hover{background:var(--sv-panel)}
.digi-team-stats>div+div{border-left:1px solid var(--sv-line)}
.digi-team-stats strong{display:block;font-size:clamp(1.5rem,2.2vw,2rem);font-weight:700;letter-spacing:-.025em}
.digi-team-stats span{display:block;font-family:'IBM Plex Mono',monospace;font-size:.625rem;text-transform:uppercase;letter-spacing:.06em;color:var(--sv-muted);margin-top:5px;max-width:20ch}
/* Offerings: 33/66 split — sticky section head left, accordion keylines right
   (unfold in place instead of nested sub-pages). */
.digi-offer{display:grid;grid-template-columns:1fr 2fr;column-gap:clamp(44px,6vw,84px);align-items:start;padding:clamp(90px,11vw,145px) 0}
.digi-offer-head{position:sticky;top:118px}
.digi-offer-head h2{font-weight:700;font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.03em;line-height:1.02;margin-top:16px}
.digi-offer-head p{margin-top:18px;max-width:32ch;font-size:1.125rem;line-height:1.55;color:var(--sv-muted)}
/* the CTA label follows the open offering (swapped by services.js); the arrow stays put */
.digi-offer-cta{margin-top:30px}
.digi-offer-cta span{display:inline-block;transition:opacity .18s ease,transform .18s ease}
.digi-offer-cta span.swap{opacity:0;transform:translateY(5px)}
.digi-offer-cta i{display:inline-block;font-style:normal;margin-left:6px;transition:transform .2s ease}
.digi-offer-cta:hover i{transform:translateX(4px)}
.digi-acc{border-top:1px solid var(--sv-line)}
.digi-acc-item{position:relative;border-bottom:1px solid var(--sv-line);--bleed:clamp(16px,2vw,26px)}
/* open marker: a soft panel lift that bleeds past the keylines (same tint vocabulary as
   the stats block and client cells); the landing grid's accent sweep stays hover-only */
.digi-acc-item::before{content:"";position:absolute;inset:0 calc(-1*var(--bleed));background:var(--pg-card);border:1px solid var(--sv-line);border-radius:4px;opacity:0;transition:opacity .3s;z-index:-1}
/* light mode lifts to a true white card (the form treatment), so it needs a soft shadow
   to read against the near-white paper; dark keeps the panel tint — there is no "white" there */
[data-theme="light"] .sv-page .digi-acc-item::before{background:var(--sv-form);box-shadow:0 18px 44px -26px rgba(23,23,28,.22)}
.digi-acc-item.open::before{opacity:1}
.digi-acc-item::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--sv-accent-lg);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.digi-acc-item:not(.open):hover::after{transform:scaleX(1)}
.digi-acc-h{margin:0}
.digi-acc-head{display:grid;grid-template-columns:54px 1fr auto 34px;align-items:center;column-gap:22px;width:100%;padding:25px 0;background:none;border:0;color:var(--sv-ink);text-align:left;cursor:pointer;font:inherit}
/* each offering's icon sits small and permanently in its own accent (--acc per item) */
.digi-ic{display:block;width:18px;height:18px;color:var(--acc,var(--sv-muted))}
[data-theme="light"] .sv-page .digi-ic{color:var(--acc-aa,var(--sv-muted))}
.digi-acc-name{display:block;font-weight:700;font-size:clamp(1.4rem,2vw,1.85rem);letter-spacing:-.025em;line-height:1.1;transition:color .2s}
.digi-acc-head:hover .digi-acc-name{color:var(--sv-accent-lg)}
.digi-acc-sub{display:block;font-weight:400;color:var(--sv-muted);margin-top:5px;line-height:1.4}
.digi-acc-idx{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;letter-spacing:.08em;color:var(--sv-muted)}
/* the plus: two bars in a keyline roundel; the vertical bar folds away when open */
.digi-acc-x{position:relative;width:34px;height:34px;border:1px solid var(--sv-line);border-radius:999px;color:var(--sv-muted);transition:border-color .25s,color .25s}
.digi-acc-head:hover .digi-acc-x{border-color:var(--sv-accent-lg);color:var(--sv-accent-lg)}
.digi-acc-x::before,.digi-acc-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:currentColor;transform:translate(-50%,-50%);transition:transform .35s ease}
.digi-acc-x::after{transform:translate(-50%,-50%) rotate(90deg)}
.digi-acc-item.open .digi-acc-x::after{transform:translate(-50%,-50%) rotate(0deg)}
/* the open roundel picks up its offering's accent, echoing the icon */
.digi-acc-item.open .digi-acc-x{border-color:currentColor;color:var(--acc,var(--sv-accent-lg))}
[data-theme="light"] .sv-page .digi-acc-item.open .digi-acc-x{color:var(--acc-aa,var(--sv-accent-lg))}
.digi-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.2,.7,.2,1)}
.digi-acc-item.open .digi-acc-panel{grid-template-rows:1fr}
.digi-acc-panel>div{overflow:hidden;min-height:0}
.digi-acc-body{display:grid;grid-template-columns:54px 1fr;column-gap:22px;padding:2px 0 36px}
.digi-acc-body>*{grid-column:2}
.digi-acc-body p{max-width:64ch;font-size:1.125rem;line-height:1.55;color:var(--sv-muted)}
.digi-acc-body p+p{margin-top:14px}
.digi-acc-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px;padding:0;list-style:none}
.digi-acc-list li{font-family:'IBM Plex Mono',monospace;font-size:.6875rem;text-transform:uppercase;letter-spacing:.07em;color:var(--sv-muted);border:1px solid var(--sv-line);border-radius:999px;padding:8px 14px}

/* Reuse the homepage form structure, but let it participate in this page's theme. */
.sv-contact{width:100vw;margin:clamp(90px,11vw,145px) 0 0 calc(50% - 50vw);background:var(--sv-panel);border-top:1px solid var(--sv-line);color:var(--sv-ink)}
.sv-contact .wrap{max-width:1400px}
.sv-contact .eyebrow,.sv-contact .fc-step{color:var(--sv-accent)}
.sv-contact .lead,.sv-contact .form-note,.sv-contact .form-success p{color:var(--sv-muted)}
.sv-contact .contact-detail a{color:var(--sv-accent)}
.sv-contact .fly-ring text{fill:var(--sv-ink)}
.sv-contact .form-card,.sv-contact .form-success{background:var(--sv-form);color:var(--sv-ink);border-color:var(--sv-line);box-shadow:0 44px 100px -55px rgba(0,0,0,.55)}
.sv-contact .field label,.sv-contact .pill-label{color:var(--sv-ink)}
.sv-contact .field input,.sv-contact .field textarea{background:var(--sv-field);color:var(--sv-ink);border-color:var(--sv-line)}
.sv-contact .field input::placeholder,.sv-contact .field textarea::placeholder{color:var(--sv-muted);opacity:.78}
.sv-contact .field input:focus,.sv-contact .field textarea:focus{background:var(--sv-form);border-color:var(--orange);box-shadow:0 0 0 3px rgba(255,90,31,.15)}
.sv-contact .budget-pills label{color:var(--sv-muted);border-color:var(--sv-line)}
.sv-contact .budget-pills label:hover{color:var(--sv-ink);border-color:var(--sv-ink)}
.sv-contact .budget-pills input:checked+label{background:var(--sv-ink);border-color:var(--sv-ink);color:var(--sv-paper)}

@media(max-width:1050px){
  .sv-team-head{flex-direction:column;align-items:flex-start}
  .sv-team-head:has(.digi-team-stats){grid-template-columns:1fr;row-gap:40px}
  .digi-team-stats{grid-template-columns:1fr 1fr}
  .digi-team-stats>div:nth-child(3){border-left:0}
  .digi-team-stats>div:nth-child(n+3){border-top:1px solid var(--sv-line)}
}
@media(max-width:800px){
  .sv-shell{padding-top:110px}.sv2-section-head{align-items:flex-start;flex-direction:column}
  .sv2-service-grid{grid-template-columns:1fr}
  .sv-duo{grid-template-columns:1fr;row-gap:74px}
  .sv2-service:nth-child(odd){border-right:0}.sv2-service:nth-child(even){padding-left:0}.sv2-service:nth-child(even).is-link:hover{padding-left:24px}
  .digi-offer{grid-template-columns:1fr;row-gap:44px}
  .digi-offer-head{position:static}
}
@media(max-width:600px){
  .sv-shell{padding-top:94px}.sv3-copy h1{font-size:clamp(3.3rem,16vw,4.4rem);margin:0 0 22px}
  .sv3-copy .bl-kicker{margin-bottom:22px}
  .sv3-hero{height:min(92vh,740px)}.sv3-inner{padding-top:108px;padding-bottom:30px}
  .sv3-foot{flex-direction:column;align-items:flex-start;gap:28px}.sv3-tag{padding-bottom:0}
  .sv2-service{grid-template-columns:36px 1fr;column-gap:9px;min-height:150px;padding-right:4px}.sv2-service h3{font-size:1.6rem}.sv2-service p{font-size:.9375rem}
  .sv-ticker .face{width:56px;height:56px}
  .sv-client-section .client-grid{grid-template-columns:repeat(2,1fr)}
  .digi-team-stats>div{padding:14px 16px}
  .digi-acc-head{grid-template-columns:40px 1fr auto;column-gap:12px;padding:21px 0}
  .digi-acc-idx{display:none}
  .digi-acc-body{grid-template-columns:1fr;padding-bottom:30px}.digi-acc-body>*{grid-column:1}
  .sv-contact{margin-top:90px}
}
@media(prefers-reduced-motion:reduce){.sv-card-media img{transition:none}.sv-ticker-track{animation:none}.sv2-service::after{transition:none}.digi-acc-panel,.digi-acc-x::before,.digi-acc-x::after,.digi-acc-item::before,.digi-acc-item::after{transition:none}}
