/* Service pages: the same visual language, with a complete path to a local enquiry. */
.cmg-service-page{--sp-line:#d1cde2;--sp-soft:#e4e6f5}
.cmg-service-page section[id]{scroll-margin-top:40px}
.cmg-service-page .detail-hero{padding-bottom:65px}
.sp-entry-bar{display:flex;gap:35px;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px;border-top:1px solid var(--sp-line);border-bottom:1px solid var(--sp-line)}
.sp-experience{display:flex;align-items:center;gap:20px;flex-shrink:0;color:#645a74;font-size:11px;line-height:1.5}
.sp-experience>span:first-child{font-size:12px}.sp-experience strong{font:600 30px 'Space Grotesk',sans-serif;letter-spacing:-.07em;color:#241b33;display:block}
.sp-jump-nav{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:12px}
.sp-jump-nav>span{font-size:9px;letter-spacing:.08em;margin-right:9px;color:#695b7d}
.sp-jump-nav a{display:inline-flex;align-items:center;min-height:44px;padding:10px 13px;text-decoration:none;border-radius:25px;transition:background .25s,color .25s}
.sp-jump-nav a:last-child{background:#241b33;color:#d1ff79}
.sp-jump-nav a:hover,.sp-jump-nav a:focus-visible{background:#ded8ef;color:#241b33}
.sp-jump-nav a:focus-visible,.sp-text-link:focus-visible,.sp-project a:focus-visible{outline:3px solid #8b5cdb;outline-offset:5px}
.cmg-service-page h2{font-size:clamp(38px,3.8vw,55px);line-height:1.08;letter-spacing:-.055em;font-weight:700}
.cmg-service-page .eyebrow{font-size:10px;letter-spacing:.1em}
.sp-challenge-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:90px}
.sp-challenge h2{margin-top:23px;margin-bottom:24px}
.sp-lead{font-size:17px;line-height:1.75;color:#645c6d;max-width:580px}
.sp-text-link{display:inline-flex;align-items:center;gap:20px;min-height:44px;font-size:13px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor;padding:5px 0}
.sp-challenge .sp-text-link{margin-top:22px}
.sp-pain-panel{position:relative;padding:32px 34px 24px;background:#241b33;color:#f6f2ff;border:1px solid #4d3b63;border-radius:24px;box-shadow:14px 14px 0 #dce0f1}
.sp-pain-panel .eyebrow{color:#d1ff79}
.sp-pain-panel ul{list-style:none;margin:21px 0 0;padding:0}
.sp-pain-panel li{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #ffffff26;font-size:16px;line-height:1.6}
.sp-pain-panel li>span{font:500 12px 'Space Grotesk',sans-serif;color:#b99bdc;padding-top:4px;flex-shrink:0}
.sp-pain-panel>p{font-size:12px;color:#d1ff79;line-height:1.6;margin:24px 0 0}
.cmg-service-page .sp-scope{background:#e3e6f5;border-top:1px solid #d2d6e7;border-bottom:1px solid #d2d6e7}
.sp-section-head{display:grid;grid-template-columns:1.3fr 1fr;align-items:end;gap:70px;margin-bottom:40px}
.sp-section-head h2{margin-top:21px;margin-bottom:0}
.sp-section-head>p{font-size:16px;line-height:1.75;color:#655c73;max-width:450px;margin:0}
.sp-section-head>.sp-text-link{justify-self:end;align-self:end}
.sp-capabilities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.sp-capability{position:relative;display:flex;flex-direction:column;overflow:hidden;padding:28px 28px 31px;background:#f8f8ff;border:1px solid #d5d1e4;border-radius:19px;min-width:0;transition:transform .4s,box-shadow .4s}
.sp-capability>b{font:600 62px/1 'Space Grotesk',sans-serif;letter-spacing:-.08em;color:#e0d7f5;-webkit-text-stroke:1px #8f70bf;margin-bottom:35px}
.sp-capability h3{font:600 27px/1.15 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:0 0 17px;max-width:280px}
.sp-capability p{font-size:15px;line-height:1.75;color:#655d70;margin:0 0 28px}
.sp-card-line{height:4px;width:48px;background:#8b5ad2;margin-top:auto;border-radius:3px;transition:width .45s}
.sp-capability:nth-child(2){background:#241b33;color:#f8f4ff;border-color:#48385d}.sp-capability:nth-child(2)>b{color:transparent;-webkit-text-stroke-color:#b1e65a}.sp-capability:nth-child(2)>p{color:#d5cce1}.sp-capability:nth-child(2) .sp-card-line{background:#c9fa60}
.sp-capability:hover{transform:translateY(-5px);box-shadow:0 16px 30px #30213e12}.sp-capability:hover .sp-card-line{width:100%}
.sp-scope-note{display:flex;justify-content:space-between;align-items:center;gap:40px;padding-top:35px;margin-top:33px;border-top:1px solid #c7c4d9}
.sp-scope-note>div{max-width:740px}.sp-scope-note h3{font:600 23px/1.2 'Space Grotesk',sans-serif;margin:10px 0 12px;letter-spacing:-.035em}.sp-scope-note p{font-size:14px;color:#655d70;line-height:1.7;margin:0}.sp-scope-note .btn{flex-shrink:0;font-size:12px}
.cmg-service-page .sp-proof{background:#241b33;color:#f7f3ff;position:relative}
.sp-proof .cmg-title{--cmg-title-ink:#f7f3ff;--cmg-title-a:#55d8ff;--cmg-title-b:#b99aff;--cmg-title-c:#ff8bd0}
.sp-proof .sp-section-head>p{color:#d0c5df}.sp-proof .eyebrow{color:#c9fa60}
.sp-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.sp-project{border:1px solid #69547680;border-radius:19px;overflow:hidden;background:#30233f;min-width:0;transition:translate .4s,border-color .4s;isolation:isolate}
.sp-project>a{display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.sp-project-visual{aspect-ratio:16/9;position:relative;background:#e6e1f0;overflow:hidden}
.sp-project-visual>.sp-project-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:top;margin:0;transition:scale .7s}
.sp-project-visual>.sp-project-concept{object-fit:contain;background:#241b33}
.sp-project-logo{display:flex;align-items:center;justify-content:center;position:absolute;left:20px;bottom:20px;width:145px;height:64px;padding:12px 16px;box-sizing:border-box;background:#fff;border:1px solid #ddd6e9;border-radius:9px;box-shadow:0 5px 16px #241b3312}
.sp-project-logo img{display:block;width:100%;height:100%;object-fit:contain;margin:0}
.sp-project-logo.sp-logo-dark{background:#241b33;border-color:#5b4970}
.sp-visual-caption{position:absolute;right:0;bottom:0;padding:7px 11px;background:#241b33df;color:#fff;font-size:9px;max-width:50%;text-align:right}
.sp-project-copy{padding:28px 28px 25px;display:flex;flex-direction:column;flex:1}
.sp-project-copy h3{font:600 31px/1.12 'Space Grotesk',sans-serif;letter-spacing:-.04em;margin:15px 0}
.sp-project-copy p{font-size:15px;line-height:1.75;color:#d3c9df;margin:0 0 25px}
.sp-project-more{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;border-top:1px solid #ffffff24;color:#d1ff79;font-size:12px;font-weight:600}
.sp-project:hover{translate:0 -5px;border-color:#ba93e0}.sp-project:hover .sp-project-photo{scale:1.035}
.sp-proof-bottom{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:27px;color:#cdc3dc;font-size:12px}.sp-proof-bottom .sp-text-link{color:#d1ff79}
.cmg-service-page .sp-method{background:#f6f7ff}
.sp-method .process{gap:30px}.sp-method .step{position:relative;padding:23px 22px 25px;border:1px solid #d4d1e3;border-radius:17px;background:#eef0fa}
.cmg-service-page .sp-method .step b{font-size:30px;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border:1px solid #beacd8;border-radius:50%;color:#6236de;line-height:1;background:#f7f5fc;margin:0 0 27px;letter-spacing:-.05em}
.sp-method .step h3{font-size:25px;line-height:1.2;margin:0 0 15px}.sp-method .step p{font-size:14px;color:#655d70;line-height:1.75;margin:0}
.cmg-service-page .sp-method .step.is-current b,.cmg-service-page .sp-method .step.is-complete b{background:#c9fa60;border-color:#a7d543;color:#241b33}
.sp-method-close{display:flex;align-items:center;justify-content:space-between;gap:26px;margin-top:35px;padding-top:26px;border-top:1px solid #d3cfe2}.sp-method-close p{font-size:16px;margin:0;color:#655d70}.sp-method-close .btn{font-size:12px}
.cmg-service-page .sp-faq{padding-top:90px;border-top:1px solid #d3d4e4}
.sp-faq-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:75px}.sp-faq h2{margin:23px 0}.sp-faq-grid>div>p{font-size:16px;color:#655d70;line-height:1.7}.sp-questions details{border:1px solid #d1ccdf;border-radius:13px;padding:0 20px;margin:0 0 12px;background:#f9f9ff}.sp-questions summary{font:600 19px/1.45 'Space Grotesk',sans-serif;letter-spacing:-.025em;padding:21px 0;cursor:pointer}.sp-questions details[open]{border-color:#a88acb;box-shadow:0 7px 20px #241b3305}.sp-questions details>p{font-size:14px;line-height:1.8;color:#655d70;padding-bottom:22px;margin:0}
.cmg-service-page .sp-reading{background:#e3e6f5;border-top:1px solid #d2d4e6}
.sp-reading .articles{counter-reset:sp-articles;gap:20px}.sp-reading-card{display:flex;flex-direction:column;counter-increment:sp-articles;background:#f8f8ff;border:1px solid #d1cde1;border-radius:15px;padding:25px;text-decoration:none;transition:translate .35s,border-color .35s;min-width:0}
.sp-reading-card::before{content:'IDEAS PARA TU NEGOCIO';font-size:9px;letter-spacing:.13em;color:#6d498e;margin-bottom:30px}
.sp-reading-card small{font-size:9px;color:#746382;letter-spacing:.09em}.sp-reading-card h3{font:600 22px/1.23 'Space Grotesk',sans-serif;letter-spacing:-.035em;margin:14px 0 18px}.sp-reading-card p{font-size:13px;line-height:1.75;color:#655d70;margin-top:auto}.sp-reading-card:hover{translate:0 -4px;border-color:#8a64b5}
.sp-connected{padding-top:30px;margin-top:33px;border-top:1px solid #c9c6db}.sp-connected .related-services{display:flex;gap:10px;flex-wrap:wrap;margin:17px 0 0}.sp-connected a{font-size:12px;display:inline-flex;align-items:center;gap:13px;min-height:44px;border:1px solid #bdb6cf;border-radius:25px;text-decoration:none;padding:10px 15px;transition:background .25s}.sp-connected a:hover{background:#f8f6ff}
.cmg-service-page .sp-service-contact h2{font-size:clamp(37px,3.8vw,52px);margin-top:23px;line-height:1.08}
.sp-contact-intro{font-size:17px;line-height:1.75;max-width:510px;margin:22px 0 0}
.sp-service-contact .direct-links{margin-top:28px;display:flex;align-items:flex-start;flex-direction:column;gap:12px}.sp-service-contact .direct-links>.eyebrow{font-size:9px}.sp-service-contact .direct-links a{font-size:15px;display:inline-flex;gap:15px;align-items:center;min-height:34px;text-decoration:none;border-bottom:1px solid #77734d}
.cmg-service-page .contact-form-shell{box-shadow:0 20px 55px #38421914}
@media(max-width:1150px){.sp-entry-bar{align-items:flex-start;gap:20px}.sp-jump-nav>span{display:none}.sp-challenge-grid{gap:50px}.sp-capability{padding:23px}.sp-capability h3{font-size:24px}.sp-faq-grid{gap:40px}.sp-section-head{gap:40px}.sp-scope-note{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.sp-entry-bar{flex-direction:column}.sp-experience{width:100%;justify-content:space-between}.sp-experience strong{display:inline;margin-left:6px}.sp-experience>span:last-child{text-align:right}.sp-jump-nav{width:100%;justify-content:space-between}.sp-capabilities{grid-template-columns:1fr}.sp-capability{display:grid;grid-template-columns:65px 1fr;gap:8px 24px;padding:27px}.sp-capability>b{grid-row:1/4;margin:0;font-size:50px}.sp-capability h3{max-width:none;margin:0;font-size:26px}.sp-capability p{margin:4px 0 14px}.sp-card-line{grid-column:2}.sp-challenge-grid{gap:35px}.sp-project-copy{padding:23px}.sp-faq-grid{grid-template-columns:1fr;gap:26px}.sp-method .process{grid-template-columns:1fr;gap:15px}.sp-method .step{padding:25px}.sp-method .step b{margin-bottom:20px}.sp-method-close{align-items:flex-start;flex-direction:column}.sp-reading .articles{grid-template-columns:1fr}.sp-reading-card::before{margin-bottom:18px}.sp-reading-card h3{font-size:24px}}
@media(max-width:650px){.cmg-service-page section[id]{scroll-margin-top:35px}.cmg-service-page h2{font-size:38px}.cmg-service-page .detail-hero{padding-bottom:42px}.sp-entry-bar{padding-top:18px;padding-bottom:18px;gap:18px}.sp-jump-nav{justify-content:flex-start;gap:3px}.sp-jump-nav a{font-size:11px;padding:9px 10px}.sp-experience{gap:12px;font-size:10px}.sp-experience strong{font-size:26px}.sp-challenge-grid,.sp-section-head,.sp-project-grid{grid-template-columns:1fr;gap:28px}.sp-section-head{margin-bottom:30px}.sp-section-head>.sp-text-link{justify-self:start}.sp-challenge h2{margin-top:20px}.sp-lead{font-size:16px}.sp-pain-panel{margin-right:7px;padding:27px 25px 24px;box-shadow:7px 7px 0 #dce0f1}.sp-pain-panel li{font-size:15px;gap:15px}.sp-capability{display:flex;padding:27px}.sp-capability>b{font-size:52px;margin-bottom:25px}.sp-capability h3{font-size:27px;margin-bottom:10px}.sp-capability p{font-size:14px;margin-bottom:25px}.sp-project-copy{padding:25px}.sp-project-copy h3{font-size:29px}.sp-project-copy p{font-size:14px}.sp-project-grid{gap:22px}.sp-project-logo{left:14px;bottom:16px;width:125px;height:55px;padding:10px 13px}.sp-visual-caption{font-size:8px;padding:5px 7px}.sp-proof-bottom{align-items:flex-start;flex-direction:column;gap:14px}.sp-method .step{padding:26px}.cmg-service-page .sp-faq{padding-top:65px}.sp-questions summary{font-size:18px}.sp-reading-card{padding:24px}.sp-connected a{font-size:11px}.sp-service-contact .direct-links a{font-size:14px}.cmg-service-page .sp-service-contact h2{font-size:40px}.sp-contact-intro{font-size:16px}}
@media(max-width:350px){.cmg-service-page h2,.cmg-service-page .sp-service-contact h2{font-size:33px}.sp-jump-nav a{font-size:10px;padding:8px}.sp-project-logo{width:100px}.sp-project-copy{padding:22px}.sp-project-copy h3{font-size:25px}.sp-pain-panel{padding:24px 21px}.sp-pain-panel li{font-size:14px}.sp-project-more{font-size:11px}}
@media(prefers-reduced-motion:reduce){.sp-capability,.sp-card-line,.sp-project,.sp-project-photo,.sp-reading-card,.sp-jump-nav a{transition:none!important}.sp-capability:hover,.sp-project:hover,.sp-reading-card:hover{transform:none;translate:none}.sp-project:hover .sp-project-photo{scale:1}}

/* Service heroes: artwork leads the composition without cropping the scene. */
.cmg-service-page .detail-hero .detail-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:55px}
.cmg-service-page .detail-hero h1{font-size:clamp(43px,4.2vw,62px)}
.cmg-service-page .detail-grid>.cmg-service-hero-art{position:relative;isolation:isolate;max-width:780px;width:100%}
.cmg-service-page .cmg-service-hero-art::before{content:'';position:absolute;inset:-9px 7px 8px -8px;border:1px solid #9cbb6060;border-radius:27px;background:linear-gradient(135deg,#c9fa6033,transparent 55%,#9669dc26);transform:rotate(-2deg);z-index:-1;pointer-events:none}
.cmg-service-page .cmg-service-hero-art .cmg-hero-scene{border-radius:25px;box-shadow:0 28px 55px #33224224;border-color:#8d71ad70}
@media(max-width:1050px){
.cmg-service-page .detail-hero .detail-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:'eyebrow' 'heading' 'art' 'intro' 'actions';gap:23px}
.cmg-service-page .detail-grid>div:first-child{display:contents}
.cmg-service-page .detail-grid>div:first-child>.eyebrow{grid-area:eyebrow;margin:0}
.cmg-service-page .detail-grid>div:first-child>h1{grid-area:heading;margin:0;max-width:850px;font-size:clamp(40px,6vw,62px)}
.cmg-service-page .detail-grid>div:first-child>p{grid-area:intro;margin:0;max-width:740px}
.cmg-service-page .detail-grid>div:first-child>.actions{grid-area:actions;margin-top:0}
.cmg-service-page .detail-grid>.cmg-service-hero-art{grid-area:art;margin:12px 0 7px}
}
@media(max-width:650px){
.cmg-service-page .detail-hero .detail-grid{gap:20px}
.cmg-service-page .detail-grid>div:first-child>h1{font-size:clamp(36px,10.3vw,46px)}
.cmg-service-page .detail-grid>.cmg-service-hero-art{margin:7px 0 3px}
.cmg-service-page .cmg-service-hero-art .cmg-hero-scene{border-radius:19px}
.cmg-service-page .cmg-service-hero-art::before{inset:-5px 5px 5px -4px;border-radius:21px;transform:rotate(-1.5deg)}
}

/* Pointer depth uses the stable outer box; only its decorative scene tilts. */
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
.cmg-service-page .cmg-depth-enabled .cmg-hero-scene{position:relative;transform:perspective(1100px) rotateX(var(--cmg-depth-rx,0deg)) rotateY(var(--cmg-depth-ry,0deg));transform-origin:50% 50%;backface-visibility:hidden}
.cmg-service-page .cmg-depth-enabled .cmg-hero-scene::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(ellipse at var(--cmg-depth-light-x,50%) var(--cmg-depth-light-y,50%),#f2eaff2b,transparent 62%);opacity:0;transition:opacity .35s ease}
.cmg-service-page .cmg-depth-enabled.is-depth-active .cmg-hero-scene{will-change:transform}
.cmg-service-page .cmg-depth-enabled.is-depth-active .cmg-hero-scene::after{opacity:1}
}
