/* Service-page system: shared CGS shell, deliberate brand energy, readable long-form content. */
.service-page{--svc-brand:linear-gradient(115deg,#EC1C28,#F37721);--svc-ink:#0b0c0e;background:var(--svc-ink);color:#f5f3ee;overflow-x:clip}.service-page main{display:block}.svc-wrap{width:min(1400px,100% - 2*var(--gutter));margin-inline:auto}.svc-hero{position:relative;isolation:isolate;min-height:min(900px,100svh);padding:calc(var(--nav-height,100px) + 65px) 0 85px;display:flex;align-items:center;overflow:hidden}.svc-hero-art{position:absolute;inset:0;z-index:-2;background:#08090b;overflow:hidden}.svc-hero-art img{width:100%;height:115%;object-fit:cover;object-position:70% center;opacity:.85;transform:translateY(var(--parallax,0px));will-change:transform}.svc-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#08090bf5 0%,#08090bd9 30%,#08090b22 75%),linear-gradient(0deg,#0b0c0e,transparent 22%)}.svc-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;font-size:12px;color:#c6c6c9;margin-bottom:38px}.svc-breadcrumb a:hover{color:#F37721}.svc-kicker{display:block;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#F37721;margin-bottom:22px}.svc-hero h1{max-width:880px;font-size:clamp(45px,6.7vw,100px);line-height:1.02;letter-spacing:-.055em;text-wrap:balance;margin-bottom:30px}.svc-gradient{background:var(--svc-brand);-webkit-background-clip:text;background-clip:text;color:transparent;padding:.05em .055em .13em;margin:-.05em -.055em -.13em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.svc-hero .svc-intro{font-size:clamp(17px,1.6vw,21px);max-width:620px;color:#dfdfe2;line-height:1.65}.svc-actions{display:flex;flex-wrap:wrap;gap:15px;margin-top:32px}.svc-button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 25px;border-radius:60px;min-height:58px;background:var(--svc-brand);color:#080808;font-size:12px;font-weight:800;letter-spacing:.025em;transition:transform .25s,box-shadow .25s}.svc-button:hover{transform:translateY(-3px);box-shadow:0 8px 40px #ec1c2830}.svc-button.secondary{background:linear-gradient(120deg,#303235,#151619);color:white;border:1px solid #ffffff38}.svc-proofline{margin-top:34px;font-size:12px;letter-spacing:.04em;color:#cacacd}.svc-ticker{overflow:hidden;border-block:1px solid #ffffff24;background:#101114;padding:18px 0;color:#F37721;font-weight:900;font-size:clamp(16px,2vw,26px);letter-spacing:.04em}.svc-ticker-track{display:flex;width:max-content;animation:svc-ticker 32s linear infinite}.svc-ticker span{padding-right:55px;white-space:nowrap}.svc-section{padding:100px 0}.svc-section h2,.svc-final h2{font-size:clamp(34px,4.6vw,66px);line-height:1.06;letter-spacing:-.045em;text-wrap:balance}.svc-section h3{font-size:23px;line-height:1.2;letter-spacing:-.025em}.svc-section p{color:#c4c5cb;line-height:1.75}.svc-definition{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.svc-definition p{font-size:clamp(20px,2.2vw,29px);line-height:1.6;max-width:850px;color:#f0f0f2}.svc-section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:end;margin-bottom:46px}.svc-section-head p{max-width:560px}.svc-light{background:#f5f3ee;color:#151619}.svc-light p{color:#4a4c52}.svc-light .svc-kicker{color:#bf3015}.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.svc-card{position:relative;padding:32px;border:1px solid #ffffff26;background:linear-gradient(145deg,#191b1e,#101114);border-radius:14px;transition:transform .3s,border-color .3s}.svc-card:hover{transform:translateY(-5px);border-color:#F37721}.svc-card p{margin-top:16px}.svc-card .svc-icon{width:44px;height:44px;display:block;color:#F37721;margin-bottom:30px}.svc-card .svc-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.svc-deliverables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 45px}.svc-deliverable{padding:30px 0;border-top:1px solid #15161930;display:grid;grid-template-columns:45px 1fr;gap:12px}.svc-deliverable .svc-num{color:#bf3015;font-weight:800;font-size:13px;padding-top:5px}.svc-deliverable p{margin-top:12px}.svc-process{counter-reset:step;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin-top:46px}.svc-step{padding-top:25px;border-top:1px solid #ffffff33}.svc-step:before{counter-increment:step;content:'0' counter(step);display:block;font-family:Nunito,Arial,sans-serif;font-size:42px;color:#F37721;font-weight:900;margin-bottom:25px}.svc-step h3{font-size:21px}.svc-step p{margin-top:15px}.svc-why{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.svc-photo{position:relative;aspect-ratio:1.15;overflow:hidden;border-radius:16px}.svc-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.8)}.svc-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#EC1C2838,transparent 60%)}.svc-why p{margin-top:24px}.svc-checklist{list-style:none;padding:0;margin:28px 0 0}.svc-checklist li{padding:15px 0 15px 30px;border-top:1px solid #ffffff22;position:relative;color:#e2e2e5}.svc-checklist li:before{content:'↗';position:absolute;left:0;color:#F37721}.svc-fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.svc-metrics{display:flex;flex-direction:column;gap:12px;margin-top:25px}.svc-metric{padding:20px 23px;background:linear-gradient(120deg,#ffffff0b,#ffffff03);border-left:3px solid #F37721;font-weight:700;font-size:18px}.svc-note{font-size:13px;margin-top:20px}.svc-research{background:linear-gradient(120deg,#15191d,#101114);border:1px solid #ffffff25;padding:35px;border-radius:14px;display:grid;grid-template-columns:.65fr 1.35fr;gap:45px}.svc-research h3{font-size:29px;margin-top:15px}.svc-source{padding:20px 0;border-bottom:1px solid #ffffff22}.svc-source:first-child{padding-top:0}.svc-source a{font-size:17px;font-weight:700;color:#f5f3ee;text-decoration:underline;text-decoration-color:#F37721;text-underline-offset:5px}.svc-source p{font-size:14px;margin-top:12px}.svc-related a{display:block}.svc-related .svc-card h3{margin:20px 0}.svc-faq{max-width:1000px;margin:45px auto 0}.svc-faq details{border-top:1px solid #ffffff30;padding:24px 0}.svc-faq details:last-child{border-bottom:1px solid #ffffff30}.svc-faq summary{font-size:clamp(18px,2vw,23px);font-weight:700;list-style:none;cursor:pointer;display:flex;gap:30px;justify-content:space-between}.svc-faq summary::-webkit-details-marker{display:none}.svc-faq summary:after{content:'+';color:#F37721;font-size:26px;flex-shrink:0}.svc-faq details[open] summary:after{content:'−'}.svc-faq details p{padding:22px 45px 4px 0;max-width:900px}.svc-final{text-align:center;padding:90px var(--gutter);background:radial-gradient(ellipse at 50% 100%,#ec1c2826,transparent 65%),#101114;border-block:1px solid #ffffff22}.svc-final h2{max-width:900px;margin:auto}.svc-final p{margin:25px auto 0;max-width:680px;color:#c4c5cb}.svc-final .svc-actions{justify-content:center}.svc-reveal{opacity:1;transform:none}.svc-motion .svc-reveal{opacity:0;transform:translateY(25px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}.svc-motion .svc-reveal.is-visible{opacity:1;transform:translateY(0)}.svc-progress{position:fixed;z-index:85;top:0;left:0;width:0;height:3px;background:var(--svc-brand);pointer-events:none}.svc-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:50px}.svc-directory a{padding:28px;border:1px solid #ffffff26;border-radius:12px;background:linear-gradient(120deg,#1b1d21,#101114)}.svc-directory h2{font-size:26px;line-height:1.2}.svc-directory p{margin-top:15px;font-size:15px}.svc-directory a:hover{border-color:#F37721}.svc-hub .svc-hero{min-height:600px}.svc-hero .svc-wrap{position:relative;z-index:1}
@keyframes svc-ticker{to{transform:translateX(-50%)}}@media(min-width:1600px){.svc-hero h1{max-width:1000px}}@media(max-width:1000px){.svc-hero h1{max-width:720px;font-size:clamp(46px,7.5vw,80px)}.svc-section-head{gap:35px}.svc-process{grid-template-columns:repeat(2,1fr)}.svc-why{gap:35px}.svc-definition{gap:35px}.svc-card{padding:25px}.svc-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.svc-hero{min-height:780px;padding-top:calc(var(--nav-height,85px) + 40px);padding-bottom:55px}.svc-hero h1{font-size:clamp(40px,10vw,65px)}.svc-hero-art img{object-position:64% center;opacity:.55}.svc-hero:after{background:linear-gradient(90deg,#08090be8,#08090b77),linear-gradient(0deg,#0b0c0e,transparent 40%)}.svc-breadcrumb{margin-bottom:25px;font-size:11px}.svc-section{padding:65px 0}.svc-definition,.svc-section-head,.svc-why,.svc-fit-grid,.svc-research{grid-template-columns:1fr;gap:30px}.svc-grid,.svc-directory{grid-template-columns:1fr}.svc-deliverables{grid-template-columns:1fr}.svc-process{gap:25px 20px}.svc-step h3{font-size:20px}.svc-photo{aspect-ratio:1.4}.svc-research{padding:25px}.svc-actions{gap:12px}.svc-button{max-width:100%;font-size:11px;padding:17px 20px}.svc-final{padding-block:65px}.svc-hero .svc-intro{font-size:17px}.svc-proofline{max-width:300px}.svc-kicker{line-height:1.8}.svc-hub .svc-hero{min-height:650px}}@media(prefers-reduced-motion:reduce){.svc-ticker-track{animation:none}.svc-motion .svc-reveal{opacity:1;transform:none;transition:none}.svc-hero-art img{transform:none!important;will-change:auto}.svc-card,.svc-button{transition:none}html{scroll-behavior:auto}}
.svc-ticker{position:relative;padding-right:150px}.svc-motion-toggle{position:absolute;right:var(--gutter);top:50%;transform:translateY(-50%);padding:8px 12px;border:1px solid #ffffff50;border-radius:20px;background:linear-gradient(120deg,#25272a,#101114);color:#fff;font-size:11px;z-index:1}.svc-paused .svc-ticker-track{animation-play-state:paused}.svc-paused .svc-hero-art img{transform:none!important}.svc-paused .svc-reveal{transition:none}.svc-motion-toggle:hover{border-color:#F37721}@media(prefers-reduced-motion:reduce){.svc-motion-toggle{display:none}}


/* CGS signature 3D service hero system */
.service-page:not(.svc-hub) .svc-hero-art{background:radial-gradient(ellipse at 76% 52%,rgba(243,119,33,.2),transparent 42%),radial-gradient(ellipse at 88% 42%,rgba(220,35,116,.13),transparent 45%),radial-gradient(ellipse at 90% 66%,rgba(37,177,211,.11),transparent 48%),#08090b}
.service-page:not(.svc-hub) .svc-hero-art .svc-hero-background{position:absolute;inset:0;width:100%;height:115%;max-width:none;object-fit:cover;object-position:70% center;opacity:.35;transform:translateY(var(--parallax,0px));will-change:transform}
.service-page:not(.svc-hub) .svc-hero-visual{position:absolute;z-index:0;top:50%;right:clamp(24px,4.5vw,90px);left:auto;bottom:auto;width:min(48vw,760px);height:min(86vh,820px);max-width:none;object-fit:contain;object-position:center;opacity:1;transform:translateY(calc(-50% + var(--parallax,0px)));filter:drop-shadow(0 28px 62px rgba(0,0,0,.35));will-change:transform;pointer-events:none}
.service-page:not(.svc-hub) .svc-hero:after{background:linear-gradient(90deg,rgba(8,9,11,.62) 0%,rgba(8,9,11,.46) 35%,rgba(8,9,11,.18) 65%,rgba(8,9,11,.04) 100%),linear-gradient(0deg,rgba(11,12,14,.55) 0%,transparent 30%)}
.service-page:not(.svc-hub) .svc-hero h1{max-width:680px}
.service-page:not(.svc-hub) .svc-hero .svc-intro{max-width:560px}
.service-page.svc-paused .svc-hero-background{transform:none!important}
.service-page.svc-paused .svc-hero-visual{transform:translateY(-50%)!important}
@media(max-width:1000px){.service-page:not(.svc-hub) .svc-hero-art .svc-hero-background{object-position:64% center;opacity:.35}.service-page:not(.svc-hub) .svc-hero-visual{right:-3vw;width:46vw;height:72vh}.service-page:not(.svc-hub) .svc-hero h1{max-width:52vw}.service-page:not(.svc-hub) .svc-hero:after{background:linear-gradient(90deg,rgba(8,9,11,.66) 0%,rgba(8,9,11,.48) 45%,rgba(8,9,11,.18) 78%,rgba(8,9,11,.08) 100%),linear-gradient(0deg,rgba(11,12,14,.62) 0%,transparent 34%)}}
@media(max-width:700px){.service-page:not(.svc-hub) .svc-hero-art .svc-hero-background{object-position:64% center;opacity:.35}.service-page:not(.svc-hub) .svc-hero-visual{top:44%;right:-14vw;width:68vw;height:48vh;opacity:.9;transform:translateY(-20%)}.service-page:not(.svc-hub) .svc-hero:after{background:linear-gradient(90deg,rgba(8,9,11,.76) 0%,rgba(8,9,11,.56) 52%,rgba(8,9,11,.24) 100%),linear-gradient(0deg,rgba(11,12,14,.6) 0%,transparent 76%)}.service-page:not(.svc-hub) .svc-hero h1{max-width:100%}}
@media(prefers-reduced-motion:reduce){.service-page:not(.svc-hub) .svc-hero-art .svc-hero-background{transform:none!important;will-change:auto}.service-page:not(.svc-hub) .svc-hero-visual{transform:translateY(-50%)!important;will-change:auto}}

/* Branding hero headline is composed as two deliberate lines. */
.service-page.svc-branding-creative .svc-hero h1{max-width:820px}
@media(max-width:1000px){.service-page.svc-branding-creative .svc-hero h1{max-width:min(820px,74vw)}}
@media(max-width:700px){.service-page.svc-branding-creative .svc-hero h1{max-width:100%}}

/* Solution heroes: background-only artwork at 45%, with readable foreground copy. */
.service-page:not(.svc-hub) .svc-hero-art{opacity:.45}
.service-page:not(.svc-hub) .svc-hero-art .svc-hero-background{opacity:1}
