:root{--paper:#F4F1EA;--ink:#111;--blue:#2447FF;--soft:#D9D7D0;--pad:clamp(20px,4vw,64px)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.cm-header{height:84px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;border-bottom:1px solid rgba(17,17,17,.15)}.cm-brand{font-size:18px;font-weight:900;letter-spacing:-1px}.cm-brand span{color:var(--blue)}.cm-nav{display:flex;align-items:center;gap:28px;font-size:13px}.cm-nav a{position:relative}.cm-nav a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:-5px;width:0;height:1px;background:currentColor;transition:.25s}.cm-nav a:hover:after{width:100%}.nav-cta{border:1px solid;padding:10px 16px;border-radius:999px}.cm-menu{display:none;background:none;border:0}.hero{min-height:calc(100vh - 84px);padding:28px var(--pad) 38px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.hero-meta{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.12em}.gravity-title{font-size:clamp(72px,12.3vw,220px);line-height:.76;letter-spacing:-.075em;margin:5vh 0;font-weight:900}.gravity-title>span{display:block;width:max-content}.gravity-word{color:var(--blue);position:relative}.orbit-dot{position:absolute;width:clamp(12px,1.5vw,26px);height:clamp(12px,1.5vw,26px);background:var(--ink);border-radius:50%;right:-4vw;top:10%;transform-origin:-9vw 5vw}.hero-bottom{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end}.hero-bottom p{max-width:560px;font-size:clamp(18px,2vw,30px);line-height:1.1;margin:0}.hero-bottom>div{display:flex;justify-content:space-between;align-items:end;font-size:12px}.hero-bottom a{font-weight:700}.work,.insights{padding:120px var(--pad)}.section-head{display:grid;grid-template-columns:1fr 2fr;margin-bottom:70px}.section-head>span,.system-sticky>span,.studio-copy>span{font-size:10px;letter-spacing:.15em}.section-head h2{font-size:clamp(48px,7vw,110px);line-height:.9;letter-spacing:-.06em;margin:0}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px 24px}.project{display:block}.project-wide{grid-column:span 2}.project-art{height:min(62vw,760px);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;transition:transform .45s cubic-bezier(.2,.8,.2,1)}.project:not(.project-wide) .project-art{height:min(50vw,620px)}.project:hover .project-art{transform:scale(.985)}.project-info{display:grid;grid-template-columns:1fr 1fr auto;padding-top:14px;border-top:1px solid;margin-top:12px;align-items:start}.project-info h3{margin:0;font-size:20px}.project-info span,.project-info em{font-size:11px;font-style:normal}.art-eactivos{background:#121212;color:white}.art-eactivos span{font-size:38vw;line-height:.6;font-weight:900;opacity:.09;position:absolute}.art-eactivos b{font-size:clamp(38px,8vw,140px);letter-spacing:-.06em}.art-kaiku{background:#ffdf3f;flex-direction:column}.art-kaiku span{font-size:clamp(64px,11vw,150px);font-weight:900;letter-spacing:-.08em}.art-kaiku i{font-size:12px}.art-kuy{background:#cf3432;color:#fff;flex-direction:column}.art-kuy strong{font-size:clamp(80px,15vw,190px);line-height:.7}.art-kuy span{font-size:clamp(25px,5vw,60px);letter-spacing:.5em;margin-left:.5em}.art-ana{background:#d9d1c5;align-items:flex-end;justify-content:flex-start;padding:6vw}.art-ana span{font-family:Georgia,serif;font-size:clamp(50px,10vw,150px);line-height:.75}.art-ana i{position:absolute;right:4vw;top:4vw}.portfolio-note{max-width:650px;font-size:11px;opacity:.55;margin:36px 0 0}.services{background:var(--ink);color:var(--paper);padding:120px var(--pad)}.service-list a{display:grid;grid-template-columns:70px 1.1fr 1.4fr auto;gap:25px;align-items:center;padding:30px 0;border-top:1px solid rgba(244,241,234,.3);transition:.3s}.service-list a:last-child{border-bottom:1px solid rgba(244,241,234,.3)}.service-list a:hover{padding-left:18px;color:#fff}.service-list b{font-size:10px}.service-list h3{font-size:clamp(28px,4vw,58px);letter-spacing:-.04em;margin:0}.service-list p{max-width:520px;opacity:.7;margin:0}.service-list span{font-size:11px}.moon-system{padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw}.system-sticky{position:sticky;top:50px;height:max-content}.system-sticky h2{font-size:clamp(42px,5vw,80px);line-height:.95;letter-spacing:-.05em}.system-sticky i,.studio-copy i,.flexible i{color:var(--blue);font-style:normal}.system-steps>div{min-height:280px;padding:40px 0;border-top:1px solid;display:grid;grid-template-columns:60px 1fr;align-content:start}.system-steps b{font-size:11px}.system-steps h3{font-size:clamp(42px,6vw,85px);margin:0;letter-spacing:-.06em}.system-steps p{grid-column:2;max-width:460px;line-height:1.5}.studio{background:var(--blue);color:white;padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;min-height:90vh;align-items:center}.studio-mark{font-size:clamp(140px,28vw,500px);font-weight:900;letter-spacing:-.12em;line-height:.6;opacity:.13}.studio-mark span{font-size:20px;vertical-align:top}.studio-copy h2{font-size:clamp(48px,7vw,100px);line-height:.9;letter-spacing:-.06em}.studio-copy i{color:var(--ink)}.studio-copy p{font-size:20px;max-width:620px;line-height:1.35}.studio-copy a{display:inline-block;margin-top:30px;border-bottom:1px solid}.flexible{background:var(--ink);color:var(--paper);min-height:90vh;padding:120px var(--pad);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.flexible>span{font-size:10px;letter-spacing:.2em}.flexible h2{font-size:clamp(54px,9vw,145px);line-height:.82;letter-spacing:-.07em;margin:45px 0}.flexible p{max-width:520px;font-size:18px}.flex-orbit{position:absolute;width:55vw;height:55vw;border:1px solid rgba(244,241,234,.15);border-radius:50%;right:-20vw;top:-15vw}.flex-orbit:after{content:"";position:absolute;width:24px;height:24px;background:var(--blue);border-radius:50%;top:50%;left:-12px}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.insight-grid a{min-height:350px;border-top:1px solid;padding:22px 0;display:flex;flex-direction:column}.insight-grid h3{font-size:clamp(24px,3vw,42px);letter-spacing:-.04em;line-height:1.05}.insight-grid span{margin-top:auto;font-size:12px}.cm-footer{background:var(--blue);color:white;padding:100px var(--pad) 40px;display:grid;grid-template-columns:2fr 1fr;min-height:70vh;align-items:end}.cm-footer h2{font-size:clamp(80px,13vw,190px);line-height:.78;letter-spacing:-.08em;margin:30px 0 0}.footer-kicker{font-size:10px;letter-spacing:.15em}.footer-right{display:flex;flex-direction:column;gap:20px;align-items:flex-start}.footer-right a:nth-child(2){border:1px solid white;border-radius:999px;padding:14px 20px}.footer-right small{margin-top:60px}.cm-cursor{position:fixed;left:0;top:0;width:72px;height:72px;border-radius:50%;background:var(--blue);color:#fff;z-index:9999;pointer-events:none;display:flex;align-items:center;justify-content:center;font-size:10px;transform:translate(-50%,-50%) scale(0);transition:transform .18s;mix-blend-mode:normal}.cm-cursor.active{transform:translate(-50%,-50%) scale(1)}@media(max-width:850px){.cm-nav{display:none}.cm-menu{display:block}.hero{min-height:88vh}.gravity-title{font-size:20vw;line-height:.82}.hero-bottom{grid-template-columns:1fr}.hero-bottom>div{gap:20px}.section-head{grid-template-columns:1fr;gap:24px}.project-grid{grid-template-columns:1fr}.project-wide{grid-column:auto}.project-art,.project:not(.project-wide) .project-art{height:80vw}.service-list a{grid-template-columns:40px 1fr}.service-list p,.service-list span{grid-column:2}.moon-system{grid-template-columns:1fr}.system-sticky{position:relative;top:0}.studio{grid-template-columns:1fr}.studio-mark{margin-bottom:70px}.insight-grid{grid-template-columns:1fr}.cm-footer{grid-template-columns:1fr;gap:80px}.cm-cursor{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* v0.3 — editorial real-work treatment */
.work-v03{padding-top:150px}.project-editorial{display:flex;flex-direction:column;gap:9vw}.project-real{display:block}.project-real figure{margin:0;background:#ddd;overflow:hidden;position:relative}.project-real img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s}.project-real:hover img{transform:scale(1.025)}.project-hero figure{height:min(70vw,920px);background:#d8d8d8}.project-hero img{object-fit:cover;image-rendering:auto}.project-pair{display:grid;grid-template-columns:1fr 1fr;gap:8vw 3vw;align-items:start}.project-pair figure{height:min(58vw,720px)}.project-offset{margin-top:13vw}.media-light{background:#f7f7f5}.media-light img{object-fit:contain}.project-landscape{width:78%;margin-left:auto}.project-landscape figure{height:min(50vw,700px);background:#4d9418}.project-landscape img{object-fit:contain}.project-caption{display:grid;grid-template-columns:1.2fr 1fr auto;gap:20px;border-top:1px solid;margin-top:14px;padding-top:13px;align-items:start}.project-caption span{font-size:9px;letter-spacing:.13em}.project-caption h3{font-size:clamp(30px,4vw,64px);letter-spacing:-.055em;line-height:.9;margin:8px 0 0}.project-caption p,.project-caption b{font-size:11px;margin:0;font-weight:400}.project-caption b{text-align:right}.work-close{display:flex;justify-content:space-between;gap:30px;border-top:1px solid;margin-top:9vw;padding-top:20px}.work-close p{font-size:clamp(22px,3vw,42px);line-height:1.05;letter-spacing:-.03em;max-width:760px;margin:0}.work-close a{font-size:12px;white-space:nowrap}.work-v03 .section-head{margin-bottom:9vw}.work-v03 .section-head h2{font-size:clamp(62px,9vw,145px)}
@media(max-width:850px){.work-v03{padding-top:90px}.project-editorial{gap:90px}.project-pair{grid-template-columns:1fr;gap:80px}.project-offset{margin-top:0}.project-hero figure,.project-pair figure,.project-landscape figure{height:105vw}.project-landscape{width:100%;margin-left:0}.project-caption{grid-template-columns:1fr auto}.project-caption p{grid-row:2;grid-column:1}.project-caption b{grid-row:1;grid-column:2}.work-close{flex-direction:column}.project-real img{object-fit:cover}.media-light img,.project-landscape img{object-fit:contain}}

/* v0.4 — trust, service cards and recent-work architecture */
.client-trust{padding:46px var(--pad) 64px;border-top:1px solid rgba(17,17,17,.16);border-bottom:1px solid rgba(17,17,17,.16)}.trust-label{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.14em;margin-bottom:45px}.trust-logos{display:grid;grid-template-columns:repeat(6,1fr);gap:28px;align-items:center}.trust-logos strong{font-size:clamp(14px,1.35vw,22px);line-height:.9;letter-spacing:-.04em;text-align:center;opacity:.48;transition:.25s}.trust-logos strong:hover{opacity:1;color:var(--blue)}
.intro-process{padding:130px var(--pad)}.intro-kicker{font-size:9px;letter-spacing:.15em;margin-bottom:42px}.intro-title{display:grid;grid-template-columns:1.4fr .6fr;gap:8vw;align-items:end}.intro-title h2{font-size:clamp(60px,8vw,132px);line-height:.82;letter-spacing:-.07em;margin:0}.intro-title h2 i{font-style:normal;color:var(--blue)}.intro-title p{font-size:18px;line-height:1.4;max-width:480px}.process-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:90px;align-items:end}.process-cards article{background:rgba(255,255,255,.42);border:1px solid rgba(17,17,17,.08);border-radius:10px;padding:28px;min-height:230px}.process-cards article:nth-child(2){transform:translateY(-24px)}.process-cards article:nth-child(3){transform:translateY(-48px)}.process-cards article:nth-child(4){transform:translateY(-72px)}.process-cards b{font-size:54px;opacity:.08}.process-cards h3{font-size:24px;margin:38px 0 12px;letter-spacing:-.04em}.process-cards p{font-size:12px;line-height:1.5;opacity:.65}
.services-cards{background:radial-gradient(circle at 15% 30%,#243c70 0,transparent 38%),radial-gradient(circle at 80% 10%,#2c173a 0,transparent 38%),#0e0e13;overflow:hidden}.service-card-track{display:flex;gap:14px;width:max-content;max-width:none}.service-card{width:min(31vw,430px);height:520px;border-radius:9px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .35s}.service-card:hover{transform:translateY(-10px)}.service-card small{opacity:.7}.service-card h3{font-size:clamp(42px,4.5vw,70px);line-height:.86;letter-spacing:-.06em;margin:55px 0 20px}.service-card p{max-width:280px;line-height:1.4}.service-card span{margin-top:auto;font-size:11px}.sc-social{background:#7548cf}.sc-seo{background:#768d68}.sc-ads{background:#bd806a}.sc-web{background:#5673a5}.sc-brand{background:#d5a43e;color:#111}
.recent-work{padding:140px var(--pad)}.recent-heading{display:grid;grid-template-columns:.5fr 1.1fr .6fr;gap:40px;align-items:end;margin-bottom:70px}.recent-heading>span{font-size:9px;letter-spacing:.15em;align-self:start}.recent-heading h2{font-size:clamp(70px,9vw,145px);line-height:.78;letter-spacing:-.075em;margin:0}.recent-heading p{font-size:16px;line-height:1.4}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.recent-item figure{height:28vw;max-height:450px;margin:0;overflow:hidden;border-radius:7px;background:#ddd}.recent-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.recent-item:hover img{transform:scale(1.035)}.recent-item>div:not(.portfolio-door){display:flex;justify-content:space-between;padding:12px 2px 26px}.recent-item h3{margin:0;font-size:18px}.recent-item span{font-size:10px}.r-wide{grid-column:span 2}.r-wide figure{height:38vw;max-height:650px}.r-dark{background:var(--ink);color:var(--paper);border-radius:7px;min-height:28vw}.portfolio-door{height:100%;min-height:100%;padding:28px;display:flex;flex-direction:column}.portfolio-door strong{font-size:clamp(38px,5vw,72px);line-height:.9;letter-spacing:-.055em;margin:auto 0}.portfolio-door span{font-size:12px}.portfolio-cta{text-align:center;padding-top:65px}.portfolio-cta a{display:inline-flex;gap:50px;align-items:center;border:1px solid;border-radius:999px;padding:17px 22px;font-size:12px}.portfolio-cta a:hover{background:var(--blue);color:white;border-color:var(--blue)}
@media(max-width:850px){.trust-label span:last-child{display:none}.trust-logos{grid-template-columns:repeat(2,1fr);gap:30px}.intro-title{grid-template-columns:1fr}.process-cards{grid-template-columns:1fr 1fr}.process-cards article:nth-child(n){transform:none}.service-card-track{width:100%;display:grid;grid-template-columns:1fr}.service-card{width:100%;height:390px}.recent-heading{grid-template-columns:1fr}.recent-grid{grid-template-columns:1fr}.r-wide{grid-column:auto}.recent-item figure,.r-wide figure{height:95vw}.r-dark{min-height:75vw}}

/* v0.4.1 — controlled ambient motion */
.trust-marquee{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%)}
.trust-marquee-track{display:flex;width:max-content;will-change:transform;animation:cmTrustMarquee 30s linear infinite}
.trust-marquee:hover .trust-marquee-track{animation-play-state:paused}
.trust-marquee .trust-logos{display:flex;gap:clamp(56px,8vw,140px);align-items:center;padding-right:clamp(56px,8vw,140px)}
.trust-marquee .trust-logos strong{width:clamp(150px,15vw,230px);flex:0 0 auto}
@keyframes cmTrustMarquee{to{transform:translateX(-50%)}}
.services-heading{align-items:end}.services-title-wrap{display:flex;align-items:flex-end;justify-content:space-between;gap:40px}.services-title-wrap h2{flex:1}.motion-arrows{display:flex;gap:2px;overflow:hidden;padding:0 0 .55em;min-width:150px;justify-content:flex-end}.motion-arrows i{font-style:normal;font-size:clamp(36px,4vw,66px);line-height:1;color:#fff;display:block;animation:cmArrowFlow 1.8s cubic-bezier(.65,0,.35,1) infinite;opacity:.22}.motion-arrows i:nth-child(2){animation-delay:.15s}.motion-arrows i:nth-child(3){animation-delay:.3s}.services-cards:hover .motion-arrows i{animation-duration:1.05s}@keyframes cmArrowFlow{0%{transform:translateX(-14px);opacity:.15}45%{opacity:1}100%{transform:translateX(14px);opacity:.15}}
@media(max-width:850px){.trust-marquee .trust-logos{gap:44px;padding-right:44px}.trust-marquee .trust-logos strong{width:150px}.services-title-wrap{display:block}.motion-arrows{justify-content:flex-start;padding:.5em 0 0}.motion-arrows i{font-size:42px}}
@media(prefers-reduced-motion:reduce){.trust-marquee-track,.motion-arrows i{animation:none!important}.trust-marquee{mask-image:none;-webkit-mask-image:none}}

/* v0.4.2 — services track auto-pan to reveal every card */
@media(min-width:851px){
  .service-card-track{will-change:transform;cursor:ew-resize}
  .services-cards:hover .service-card-track{cursor:grab}
}


/* v0.4.3 — manual services carousel: arrows + drag/swipe */
.services-cards{overflow:hidden}
.services-cards .services-title-wrap{align-items:flex-end}
.service-nav{display:flex;gap:8px;justify-content:flex-end;padding-bottom:.45em;flex:0 0 auto}
.service-nav button{width:54px;height:54px;border:1px solid rgba(255,255,255,.38);border-radius:999px;background:transparent;color:#fff;font:inherit;font-size:25px;line-height:1;cursor:pointer;transition:background .2s,color .2s,opacity .2s,transform .2s}
.service-nav button:hover:not(:disabled){background:#fff;color:#111;transform:scale(1.04)}
.service-nav button:disabled{opacity:.2;cursor:default}
.service-card-track{width:100%;max-width:none;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;cursor:grab;padding-bottom:2px}
.service-card-track::-webkit-scrollbar{display:none}
.service-card{flex:0 0 min(31vw,430px);width:min(31vw,430px);scroll-snap-align:start;user-select:none}
.service-card-track.is-dragging{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
.service-card-track.is-dragging .service-card{pointer-events:none}
@media(max-width:850px){.services-title-wrap{display:flex;align-items:flex-end;gap:18px}.service-nav{margin-left:auto}.service-nav button{width:46px;height:46px;font-size:21px}.service-card-track{display:flex;width:100%;gap:14px}.service-card{flex:0 0 86%;width:86%;height:390px}}
@media(prefers-reduced-motion:reduce){.service-card-track{scroll-behavior:auto}}

/* v0.4.5 — true 15% peek: every desktop service card keeps identical width */
@media(min-width:851px){
  .service-card{flex:0 0 var(--service-card-width,430px);width:var(--service-card-width,430px);max-width:none}
}

/* v0.5 — services art direction integrated into Creativemoon */
.services-cards{
  position:relative;
  background:
    radial-gradient(ellipse at 84% 8%,rgba(36,71,255,.16) 0,rgba(36,71,255,0) 38%),
    linear-gradient(112deg,#101116 0%,#0d0e12 58%,#11131d 100%);
  color:var(--paper);
  border-top:1px solid rgba(244,241,234,.08);
  border-bottom:1px solid rgba(244,241,234,.08);
}
.services-cards:before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;
  background-image:linear-gradient(rgba(244,241,234,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(244,241,234,.035) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 82%,transparent)
}
.services-cards .section-head,.services-cards .service-card-track{position:relative;z-index:1}
.services-cards .section-head>span{color:rgba(244,241,234,.56)}
.services-title-wrap h2{max-width:980px}
.services-title-wrap h2:after{content:" ↗";display:inline-block;color:var(--blue);font-size:.42em;vertical-align:top;margin:.15em 0 0 .18em;transform:rotate(0deg);transition:transform .3s ease}
.services-cards:hover .services-title-wrap h2:after{transform:translate(5px,-3px)}
.service-nav button{border-color:rgba(244,241,234,.28);background:rgba(244,241,234,.02);backdrop-filter:blur(5px)}
.service-nav button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:#fff}
.service-card{
  border-radius:4px;
  border:1px solid rgba(244,241,234,.13);
  color:var(--paper);
  box-shadow:none;
  isolation:isolate;
  transition:transform .38s cubic-bezier(.2,.8,.2,1),border-color .3s ease,background-color .3s ease;
}
.service-card:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(145deg,rgba(255,255,255,.055),transparent 45%);opacity:.7}
.service-card:after{content:"";position:absolute;width:150px;height:150px;border:1px solid rgba(244,241,234,.13);border-radius:50%;right:-86px;top:-86px;transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .3s}
.service-card:hover{transform:translateY(-8px);border-color:rgba(244,241,234,.35)}
.service-card:hover:after{transform:scale(1.18);border-color:rgba(36,71,255,.7)}
.service-card small{color:rgba(244,241,234,.55);font-weight:700;letter-spacing:.08em}
.service-card h3{color:var(--paper)}
.service-card p{color:rgba(244,241,234,.72)}
.service-card span{color:rgba(244,241,234,.9);font-weight:700}
/* One family, five restrained tones. Blue remains the common brand signal. */
.sc-social{background:#342b58}
.sc-seo{background:#46534a}
.sc-ads{background:#68483f}
.sc-web{background:#263f73}
.sc-brand{background:#5b5137;color:var(--paper)}
.sc-brand h3,.sc-brand p,.sc-brand span,.sc-brand small{color:inherit}
.service-card:nth-child(odd):hover{background-color:#18255d}
.service-card:nth-child(even):hover{background-color:#1b2548}
@media(max-width:850px){
 .services-cards:before{background-size:42px 42px}
 .services-title-wrap h2:after{font-size:.34em}
 .service-card{border-radius:4px}
}

/* v0.5 GREEN LAB — electric green colour study */
:root{--blue:#B7FF3C}
.gravity-word{color:var(--blue)}
.studio,.cm-footer{background:var(--blue);color:var(--ink)}
.studio-copy i{color:var(--ink)}
.cm-footer .footer-right a:nth-child(2){border-color:var(--ink)}
.cm-cursor{background:var(--blue);color:var(--ink)}
.flex-orbit:after{background:var(--blue)}
.services-cards{
 background:
  radial-gradient(ellipse at 84% 8%,rgba(183,255,60,.12) 0,rgba(183,255,60,0) 38%),
  linear-gradient(112deg,#10120e 0%,#0d0f0c 58%,#12160f 100%);
}
.service-nav button:hover:not(:disabled){color:var(--ink)}
.service-card:hover:after{border-color:rgba(183,255,60,.72)}
.sc-web{background:#31431f}
.service-card:nth-child(odd):hover{background-color:#243319}
.service-card:nth-child(even):hover{background-color:#1d2b16}

/* v0.5 GREEN LAB 2 — electric green only where contrast is intentional */
/* On light/grey surfaces, typography stays ink. Green becomes an accent, not text. */
.gravity-word{color:var(--ink)}
.gravity-word:after{content:"";position:absolute;left:.03em;right:.01em;bottom:-.055em;height:.055em;background:var(--blue);border-radius:999px;transform:scaleX(.92);transform-origin:left center}
.orbit-dot{background:var(--blue)}
.client-trust .trust-logos strong:hover{color:var(--ink)}
.client-trust .trust-logos strong:hover:after{content:"";display:block;width:28px;height:3px;background:var(--blue);margin:8px auto 0;border-radius:99px}
.intro-title h2 i{color:var(--ink);position:relative}
.intro-title h2 i:after{content:"";position:absolute;width:.16em;height:.16em;background:var(--blue);border-radius:50%;right:-.22em;top:.08em}
.system-sticky i{color:var(--ink);text-decoration-line:underline;text-decoration-color:var(--blue);text-decoration-thickness:.09em;text-underline-offset:.08em}
.portfolio-cta a:hover{background:var(--blue);color:var(--ink);border-color:var(--blue)}
/* Keep the electric green strongest on dark surfaces and as large fields. */
.services-title-wrap h2:after{color:var(--blue)}
.service-nav button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:var(--ink)}
.flexible i{color:var(--blue)}
.studio,.cm-footer{background:var(--blue);color:var(--ink)}
/* Avoid green-on-grey/cream links while retaining motion feedback. */
.cm-header .cm-brand span{color:var(--ink)}
.cm-header .cm-brand:after{content:"";display:inline-block;width:7px;height:7px;background:var(--blue);border-radius:50%;margin-left:5px;vertical-align:super}
@media(max-width:850px){.gravity-word:after{height:.07em}}


/* v0.5 GREEN V3 — warm grey + Kivo-direction green, black used selectively */
:root{--paper:#E8E8E3;--soft:#D3D4CE;--blue:#9BEF72}
body{background:var(--paper)}
/* Green is an accent on light surfaces, never low-contrast green text on grey. */
.gravity-word{color:var(--ink)}
.gravity-word:after{background:var(--blue)}
.orbit-dot{background:var(--blue)}
.cm-header .cm-brand:after{background:var(--blue)}
.intro-title h2 i:after{background:var(--blue)}
.system-sticky i{color:var(--ink);text-decoration-color:var(--blue)}
/* Dark moments are limited and give the green somewhere to glow. */
.services-cards{
 background:
  radial-gradient(ellipse at 82% 8%,rgba(155,239,114,.11) 0,rgba(155,239,114,0) 38%),
  linear-gradient(112deg,#151713 0%,#10120f 58%,#171b14 100%);
}
.services-title-wrap h2:after{color:var(--blue)}
.service-nav button:hover:not(:disabled){background:var(--blue);border-color:var(--blue);color:var(--ink)}
.service-card:hover:after{border-color:rgba(155,239,114,.72)}
.sc-social{background:#30362d}.sc-seo{background:#39483a}.sc-ads{background:#51483f}.sc-web{background:#2f4234}.sc-brand{background:#55513e}
.service-card:nth-child(odd):hover{background-color:#263426}.service-card:nth-child(even):hover{background-color:#223022}
/* Large brand fields: green + ink, avoiding green-on-grey text. */
.studio,.cm-footer{background:var(--blue);color:var(--ink)}
.studio-copy i{color:var(--ink)}
.cm-footer .footer-right a:nth-child(2){border-color:var(--ink)}
.cm-cursor{background:var(--blue);color:var(--ink)}
.flex-orbit:after{background:var(--blue)}
.flexible i{color:var(--blue)}
.portfolio-cta a:hover{background:var(--blue);color:var(--ink);border-color:var(--blue)}
/* Keep light sections calm/editorial. */
.client-trust,.intro-process,.recent-work,.moon-system,.insights{background:var(--paper)}
@media(max-width:850px){.gravity-word:after{height:.07em}}


/* v0.6 — portfolio art direction + Motion Graphics */
.sc-motion{background:#343d35}
.project-cover{display:block;width:100%;height:100%;background-size:cover;background-position:center;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.recent-item:hover .project-cover{transform:scale(1.025)}
.cover-eactivos{background-image:url('../images/projects/eactivos-cover.webp')}
.cover-kaiku{background-image:url('../images/projects/kaiku-cover.webp')}
.cover-kuy{background-image:url('../images/projects/kuy-cover.webp')}
.cover-borganico{background-image:url('../images/projects/borganico-cover.webp')}
/* Original client identities remain intact; coherence comes from framing and the Creativemoon accent system. */

/* v0.7 — portfolio rebuilt as a 3-row editorial showcase */
.recent-grid-v2{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px 14px;align-items:start}
.recent-grid-v2 .recent-item{grid-column:span 6}
.recent-grid-v2 .project-a,.recent-grid-v2 .project-d,.recent-grid-v2 .project-e{grid-column:span 7}
.recent-grid-v2 .project-b,.recent-grid-v2 .project-c,.recent-grid-v2 .project-f{grid-column:span 5}
.recent-grid-v2 .recent-item figure{height:clamp(330px,36vw,610px);max-height:none;border-radius:3px;background:#e9e8e2}
.recent-grid-v2 .project-b figure,.recent-grid-v2 .project-c figure,.recent-grid-v2 .project-f figure{height:clamp(330px,31vw,535px)}
.recent-grid-v2 .recent-item>div:not(.portfolio-door){padding:13px 1px 34px;border-top:1px solid rgba(17,17,17,.14)}
.recent-grid-v2 .recent-item h3{font-size:clamp(18px,1.45vw,24px);letter-spacing:-.04em}
.recent-grid-v2 .recent-item span{font-size:9px;letter-spacing:.06em;text-transform:uppercase;opacity:.62}
.recent-grid-v2 .animated-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.recent-grid-v2 .recent-item:hover .animated-cover img{transform:scale(1.025)}
.cover-bioestetics{background-image:url('../images/projects/bioestetics-cover.webp')}
.portfolio-cta-v2{text-align:left;padding-top:42px}
.portfolio-cta-v2 a{width:100%;border:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);border-radius:0;padding:28px 2px;justify-content:space-between;font-size:clamp(28px,4vw,62px);letter-spacing:-.05em}
.portfolio-cta-v2 a span{display:flex;align-items:baseline;gap:clamp(22px,5vw,80px)}
.portfolio-cta-v2 a small{font-size:9px;letter-spacing:.13em;font-weight:500;opacity:.58}
.portfolio-cta-v2 a b{font-size:.8em;font-weight:500;transition:transform .25s ease}
.portfolio-cta-v2 a:hover{background:transparent;color:var(--ink);border-color:var(--ink)}
.portfolio-cta-v2 a:hover b{transform:translate(8px,-8px);color:var(--blue)}
@media(max-width:850px){.recent-grid-v2{grid-template-columns:1fr}.recent-grid-v2 .recent-item,.recent-grid-v2 .project-a,.recent-grid-v2 .project-b,.recent-grid-v2 .project-c,.recent-grid-v2 .project-d,.recent-grid-v2 .project-e,.recent-grid-v2 .project-f{grid-column:auto}.recent-grid-v2 .recent-item figure,.recent-grid-v2 .project-b figure,.recent-grid-v2 .project-c figure,.recent-grid-v2 .project-f figure{height:78vw}.portfolio-cta-v2 a span{display:block}.portfolio-cta-v2 a small{display:block;margin-bottom:12px}}

/* v0.8 — portfolio correction: full-colour work + black archive door */
.recent-grid-v2 .project-cover,
.recent-grid-v2 .recent-item img{opacity:1!important;filter:none!important;mix-blend-mode:normal!important}
.recent-grid-v2 .portfolio-door-card{background:#111;color:#F4F1EA;min-height:clamp(330px,31vw,535px);display:block;overflow:hidden;position:relative}
.recent-grid-v2 .portfolio-door-card:after{content:"";position:absolute;width:72%;aspect-ratio:1;border:1px solid rgba(244,241,234,.12);border-radius:50%;right:-38%;bottom:-52%;transition:transform .6s cubic-bezier(.2,.8,.2,1),border-color .3s}
.recent-grid-v2 .portfolio-door-card:hover:after{transform:scale(1.08);border-color:rgba(155,239,114,.55)}
.recent-grid-v2 .portfolio-door-card .portfolio-door{min-height:clamp(330px,31vw,535px);padding:30px;position:relative;z-index:2}
.recent-grid-v2 .portfolio-door-card small{font-size:9px;letter-spacing:.14em;opacity:.55}
.recent-grid-v2 .portfolio-door-card strong{font-size:clamp(38px,4.6vw,72px);line-height:.88;letter-spacing:-.06em;font-weight:800}
.recent-grid-v2 .portfolio-door-card span{font-size:11px;letter-spacing:.04em;text-transform:none;opacity:1;color:#9BEF72}
@media(max-width:850px){.recent-grid-v2 .portfolio-door-card,.recent-grid-v2 .portfolio-door-card .portfolio-door{min-height:78vw}}

/* v0.9 — closing pass: real client marks, optical normalization, refined depth */
.trust-marquee .trust-logos{align-items:center;gap:clamp(62px,7vw,118px);padding-right:clamp(62px,7vw,118px)}
.trust-marquee .trust-logos span{width:clamp(170px,15vw,240px);height:74px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.trust-marquee .trust-logos img{display:block;max-width:100%;max-height:48px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);opacity:.54;transition:opacity .3s ease,filter .3s ease,transform .3s ease}
.trust-marquee .trust-logos span:hover img{opacity:.78;transform:translateY(-1px)}
.process-cards article{box-shadow:0 18px 48px rgba(17,17,17,.045);transition:transform .35s ease,box-shadow .35s ease}
.process-cards article:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(17,17,17,.075)}
.studio-mark{opacity:.085}
.system-steps>div{will-change:transform,opacity}
@media(max-width:850px){.trust-marquee .trust-logos{gap:38px;padding-right:38px}.trust-marquee .trust-logos span{width:150px;height:58px}.trust-marquee .trust-logos img{max-height:38px}}

/* v0.9 green color lock */
:root{--blue:#9BEF72}
/* v1.0 CMS pages */
.cm-page{padding:160px max(24px,5vw) 100px;min-height:70vh}.cm-page>.wp-block-post-title{font-size:clamp(48px,8vw,120px);line-height:.9;letter-spacing:-.06em;margin:0 0 56px}.cm-page>.wp-block-post-content{max-width:900px}.wp-site-blocks>.wp-block-post-content{max-width:none!important;margin:0!important;padding:0!important}

/* v1.1 — CMS full-bleed colour bands + mobile hero repair */
/* WordPress constrained post-content must not visually constrain coloured sections. */
.cm-home{width:100%;max-width:none!important;overflow:clip}
.cm-home > .services-cards,
.cm-home > .studio,
.cm-home > .flexible{
  width:100vw;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}
/* Keep the footer/CTA as a true viewport band too. */
.wp-site-blocks > .cm-footer{
  width:100vw;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

@media(max-width:850px){
  .hero{
    min-height:auto;
    padding:22px 20px 44px;
    gap:34px;
    overflow:hidden;
  }
  .hero-meta{
    gap:16px;
    font-size:8px;
    line-height:1.35;
  }
  .hero-meta span:last-child{text-align:right}
  .gravity-title{
    font-size:clamp(58px,18.5vw,92px);
    line-height:.82;
    letter-spacing:-.07em;
    margin:22px 0 8px;
    max-width:100%;
  }
  .gravity-title>span{width:auto;max-width:100%}
  .gravity-word{display:inline-block}
  .orbit-dot{
    width:10px;height:10px;
    right:2px;top:8%;
    transform-origin:-42px 22px;
  }
  .hero-bottom{
    display:grid;
    grid-template-columns:1fr;
    gap:26px;
    align-items:start;
  }
  .hero-bottom p{
    font-size:18px;
    line-height:1.16;
    max-width:31ch;
  }
  .hero-bottom>div{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    align-items:center;
    gap:14px 20px;
    font-size:10px;
    line-height:1.35;
  }
  .hero-bottom>div span{max-width:65%}
  .hero-bottom a{white-space:nowrap}

  /* Colour bands remain edge-to-edge on phones while their own padding protects content. */
  .cm-home > .services-cards,
  .cm-home > .studio,
  .cm-home > .flexible,
  .wp-site-blocks > .cm-footer{
    width:100vw;
    margin-left:calc(50% - 50vw)!important;
    margin-right:calc(50% - 50vw)!important;
  }
}

/* v1.2 — rotating client-logo grid (inspired by staggered vertical logo transitions) */
.trust-rotator{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(28px,5vw,80px);align-items:center;width:100%;overflow:hidden}
.trust-slot{position:relative;height:82px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.trust-logo-state{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(34px);transition:opacity .4s cubic-bezier(.17,.17,.30,1),transform .4s cubic-bezier(.17,.17,.30,1);pointer-events:none}
.trust-logo-state.is-active{opacity:.56;transform:translateY(0)}
.trust-logo-state.is-leaving{opacity:0;transform:translateY(-34px)}
.trust-logo-state img{display:block;max-width:88%;max-height:46px;width:auto;height:auto;object-fit:contain;filter:grayscale(1);transition:opacity .25s ease,transform .25s ease,filter .25s ease}
.trust-slot:hover .trust-logo-state.is-active{opacity:.82}
.trust-slot:hover .trust-logo-state.is-active img{transform:translateY(-1px)}
@media(max-width:850px){.trust-rotator{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}.trust-slot{height:64px}.trust-logo-state img{max-height:36px;max-width:82%}}
@media(prefers-reduced-motion:reduce){.trust-logo-state{transition:none}.trust-logo-state:not(.is-active){display:none}}


/* v1.3 — interior page system */
.cm-page{max-width:none!important;padding:0!important}.cm-page>.wp-block-post-title{display:none}.cm-page>.wp-block-post-content{margin:0!important;max-width:none!important}.cm-inner{overflow:hidden}.cm-inner-hero{min-height:78vh;padding:clamp(70px,9vw,145px) var(--pad) 70px;display:grid;grid-template-columns:.55fr 1.45fr;align-content:center;gap:30px;border-bottom:1px solid rgba(17,17,17,.15)}.cm-inner-hero>span,.cm-split span,.cm-green-band>span,.cm-dark-cta>span,.cm-about span{font-size:10px;letter-spacing:.16em}.cm-inner-hero h1{grid-column:2;font-size:clamp(66px,10vw,165px);line-height:.79;letter-spacing:-.075em;margin:0}.cm-inner-hero h1 i{font-style:normal;color:var(--blue)}.cm-inner-hero>p{grid-column:2;max-width:760px;font-size:clamp(18px,2vw,28px);line-height:1.25;margin:25px 0 0}.cm-price{grid-column:2;margin-top:25px;font-size:14px}.cm-price strong{font-size:42px;letter-spacing:-.05em}.cm-price small{opacity:.55}.cm-service-index{padding:60px var(--pad) 130px}.cm-service-index>a{display:grid;grid-template-columns:70px 1fr 1fr auto;gap:30px;align-items:center;border-top:1px solid;padding:30px 0}.cm-service-index>a:last-child{border-bottom:1px solid}.cm-service-index b{font-size:10px}.cm-service-index h2{font-size:clamp(34px,4.2vw,68px);letter-spacing:-.055em;margin:0}.cm-service-index p{max-width:500px;line-height:1.45}.cm-service-index span{font-size:11px}.cm-split{padding:130px var(--pad);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw}.cm-split>div:first-child{position:sticky;top:40px;height:max-content}.cm-split h2{font-size:clamp(50px,6vw,95px);line-height:.88;letter-spacing:-.06em}.cm-stack article{display:grid;grid-template-columns:55px 1fr;border-top:1px solid;padding:34px 0;min-height:190px}.cm-stack b{font-size:10px}.cm-stack h3{font-size:clamp(32px,4vw,58px);letter-spacing:-.05em;margin:0}.cm-stack p{grid-column:2;max-width:570px;line-height:1.5;margin:18px 0 0}.cm-plans{padding:0 var(--pad) 130px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cm-plans article{border:1px solid rgba(17,17,17,.16);padding:30px;min-height:330px;display:flex;flex-direction:column}.cm-plans span{font-size:10px;letter-spacing:.15em}.cm-plans h3{font-size:clamp(54px,6vw,90px);letter-spacing:-.07em;margin:auto 0 20px}.cm-plans p{max-width:330px;line-height:1.45}.cm-green-band,.cm-dark-cta{padding:clamp(90px,10vw,160px) var(--pad);min-height:70vh;display:flex;flex-direction:column;justify-content:center}.cm-green-band{background:var(--blue);color:var(--ink)}.cm-green-band h2,.cm-dark-cta h2{font-size:clamp(60px,9vw,145px);line-height:.82;letter-spacing:-.07em;margin:35px 0}.cm-green-band p,.cm-dark-cta p{font-size:20px;max-width:680px;line-height:1.4}.cm-green-band a,.cm-dark-cta a{width:max-content;margin-top:35px;border-bottom:1px solid;padding-bottom:5px}.cm-dark-cta{background:#111;color:var(--paper)}.cm-dark-cta i{font-style:normal;color:var(--blue)}.cm-cap-grid{padding:100px var(--pad) 140px;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(17,17,17,.12)}.cm-cap-grid article{background:var(--paper);padding:45px;min-height:330px}.cm-cap-grid b{font-size:10px}.cm-cap-grid h2{font-size:clamp(38px,5vw,75px);line-height:.9;letter-spacing:-.06em;margin:70px 0 20px}.cm-cap-grid p{max-width:500px;line-height:1.5}.cm-portfolio-grid{padding:40px var(--pad) 140px;display:grid;grid-template-columns:1fr 1fr;gap:80px 20px}.cm-portfolio-grid a:nth-child(3n){grid-column:1/-1;width:72%;margin-left:auto}.cm-portfolio-grid .project-cover{display:block;height:42vw;max-height:680px;border-radius:6px}.cm-portfolio-grid a:nth-child(3n) .project-cover{height:50vw}.cm-portfolio-grid h2{font-size:32px;letter-spacing:-.04em;margin:14px 0 4px}.cm-portfolio-grid p{font-size:11px;margin:0}.cm-about{padding:120px var(--pad);display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.cm-about-mark{font-size:clamp(160px,28vw,480px);font-weight:900;letter-spacing:-.12em;line-height:.7;color:var(--blue)}.cm-about h2{font-size:clamp(48px,6vw,90px);line-height:.9;letter-spacing:-.06em}.cm-about p{font-size:19px;line-height:1.5;max-width:650px}.cm-about a{display:inline-block;margin-top:25px;border-bottom:1px solid}.cm-values{padding:0 var(--pad) 140px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.cm-values article{border-top:1px solid;padding:28px 0;min-height:240px}.cm-values h3{font-size:42px;letter-spacing:-.05em}.cm-values p{max-width:340px;line-height:1.5}.cm-insights-list{padding:50px var(--pad) 140px}.cm-insights-list a{display:grid;grid-template-columns:180px 1fr auto;gap:30px;align-items:center;border-top:1px solid;padding:38px 0}.cm-insights-list a:last-child{border-bottom:1px solid}.cm-insights-list span,.cm-insights-list b{font-size:10px;letter-spacing:.12em}.cm-insights-list h2{font-size:clamp(30px,4vw,62px);line-height:.95;letter-spacing:-.05em;margin:0;max-width:900px}.cm-contact{min-height:calc(100vh - 84px);padding:80px var(--pad);display:flex;flex-direction:column;justify-content:center;background:var(--blue)}.cm-contact>span{font-size:10px;letter-spacing:.16em}.cm-contact h1{font-size:clamp(80px,13vw,200px);line-height:.76;letter-spacing:-.08em;margin:55px 0}.cm-contact h1 i{font-style:normal}.cm-contact>p{font-size:clamp(18px,2vw,28px);max-width:700px;line-height:1.3}.cm-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:80px;border-top:1px solid;padding-top:24px}.cm-contact-grid small{display:block;font-size:9px;letter-spacing:.14em;margin-bottom:15px}.cm-contact-grid a{font-size:clamp(20px,3vw,40px);letter-spacing:-.04em}.cm-contact-grid p{margin:0;line-height:1.5}
@media(max-width:850px){.cm-inner-hero{min-height:auto;padding:80px var(--pad);display:block}.cm-inner-hero h1{font-size:18vw;line-height:.84;margin:35px 0}.cm-inner-hero>p{font-size:19px}.cm-price{margin-top:35px}.cm-service-index>a{grid-template-columns:35px 1fr}.cm-service-index p,.cm-service-index span{grid-column:2}.cm-split{grid-template-columns:1fr;padding:90px var(--pad)}.cm-split>div:first-child{position:relative;top:0}.cm-stack article{grid-template-columns:38px 1fr}.cm-plans{grid-template-columns:1fr}.cm-plans article{min-height:260px}.cm-green-band,.cm-dark-cta{min-height:65vh}.cm-cap-grid{grid-template-columns:1fr;padding:70px var(--pad)}.cm-cap-grid article{min-height:270px;padding:30px}.cm-portfolio-grid{grid-template-columns:1fr;gap:55px}.cm-portfolio-grid a:nth-child(3n){grid-column:auto;width:100%;margin:0}.cm-portfolio-grid .project-cover,.cm-portfolio-grid a:nth-child(3n) .project-cover{height:90vw}.cm-about{grid-template-columns:1fr}.cm-values{grid-template-columns:1fr}.cm-insights-list a{grid-template-columns:1fr;gap:15px}.cm-contact{min-height:85vh}.cm-contact-grid{grid-template-columns:1fr}.cm-contact h1{font-size:20vw}}

/* v1.4 — filterable portfolio archive */
.cover-ana-clemente{background-image:url('../images/projects/ana-clemente-cover.webp')}
.cover-veo{background-image:url('../images/projects/veo-cover.webp')}
.cover-wine{background-image:url('../images/projects/wine-cover.webp')}
.cover-tesis{background-image:url('../images/projects/tesis-cover.webp')}
.cover-aleska{background-image:url('../images/projects/aleska-cover.webp')}
.cm-work-filters{position:sticky;top:0;z-index:20;display:flex;gap:clamp(18px,3vw,42px);padding:22px var(--pad);overflow-x:auto;background:rgba(246,244,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(17,17,17,.12);scrollbar-width:none}.cm-work-filters::-webkit-scrollbar{display:none}.cm-work-filters button{appearance:none;border:0;background:none;padding:8px 0;font:inherit;font-size:14px;white-space:nowrap;cursor:pointer;position:relative}.cm-work-filters button:after{content:"";position:absolute;left:0;right:0;bottom:1px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.cm-work-filters button.is-active:after,.cm-work-filters button:hover:after{transform:scaleX(1)}
.cm-filter-grid .cm-work-card{transition:opacity .32s ease,transform .42s cubic-bezier(.2,.8,.2,1)}.cm-filter-grid .cm-work-card.is-hiding{opacity:0;transform:translateY(24px) scale(.985)}.cm-filter-grid .cm-work-card[hidden]{display:none!important}.cm-filter-grid .cm-work-card:hover .project-cover{transform:scale(1.018)}.cm-filter-empty{grid-column:1/-1;min-height:35vh;align-items:center;justify-content:center;flex-direction:column;text-align:center;border-top:1px solid;border-bottom:1px solid}.cm-filter-empty:not([hidden]){display:flex}.cm-filter-empty strong{font-size:clamp(30px,4vw,58px);letter-spacing:-.05em}.cm-filter-empty span{margin-top:14px;opacity:.6}
@media(max-width:850px){.cm-work-filters{top:0;padding:14px var(--pad);gap:24px}.cm-work-filters button{font-size:13px}.cm-portfolio-grid{padding-top:28px}}
@media(prefers-reduced-motion:reduce){.cm-filter-grid .cm-work-card{transition:none}.cm-work-filters button:after{transition:none}}

/* v1.5 — minimal portfolio filters, expanded archive, FAQs, contact */
.cover-ryerson{background-image:url('../images/projects/ryerson-cover.webp')}.cover-lemonade{background-image:url('../images/projects/lemonade-cover.webp')}.cover-block-brands{background-image:url('../images/projects/block-brands-cover.webp')}.cover-branding-vehiculos{background-image:url('../images/projects/branding-vehiculos-cover.webp')}
.cm-work-filters{position:relative;top:auto;justify-content:center;align-items:center;background:transparent;backdrop-filter:none;border:0;padding:18px var(--pad) 52px;gap:clamp(20px,3vw,48px)}.cm-work-filters button{font-size:13px;opacity:.48;transition:opacity .25s ease}.cm-work-filters button:hover,.cm-work-filters button.is-active{opacity:1}.cm-work-filters button:after{height:2px;bottom:0}.cm-work-hero{border-bottom:0;min-height:68vh}.cm-filter-grid{padding-top:10px}
.cm-faq{padding:clamp(90px,10vw,150px) var(--pad);display:grid;grid-template-columns:.78fr 1.22fr;gap:8vw;border-top:1px solid rgba(17,17,17,.14)}.cm-faq-head{position:sticky;top:40px;height:max-content}.cm-faq-head>span{font-size:10px;letter-spacing:.16em}.cm-faq-head h2{font-size:clamp(52px,6vw,96px);line-height:.88;letter-spacing:-.065em;margin:28px 0}.cm-faq-head p{max-width:420px;line-height:1.5}.cm-faq-list details{border-top:1px solid rgba(17,17,17,.24)}.cm-faq-list details:last-child{border-bottom:1px solid rgba(17,17,17,.24)}.cm-faq-list summary{list-style:none;display:grid;grid-template-columns:48px 1fr 24px;gap:18px;align-items:start;padding:28px 0;cursor:pointer}.cm-faq-list summary::-webkit-details-marker{display:none}.cm-faq-list summary b{font-size:10px;font-weight:500;padding-top:7px}.cm-faq-list summary span{font-size:clamp(22px,2.5vw,38px);line-height:1.08;letter-spacing:-.035em}.cm-faq-list summary i{font-style:normal;font-size:26px;line-height:1;transition:transform .25s ease}.cm-faq-list details[open] summary i{transform:rotate(45deg)}.cm-faq-list details>div{padding:0 42px 30px 66px}.cm-faq-list details p{max-width:700px;font-size:17px;line-height:1.55;margin:0}
.cm-contact-v2{min-height:86vh}.cm-contact-form-wrap{padding:clamp(90px,10vw,150px) var(--pad);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.cm-contact-form-intro span,.cm-contact-note>span{font-size:10px;letter-spacing:.16em}.cm-contact-form-intro h2{font-size:clamp(48px,6vw,90px);line-height:.9;letter-spacing:-.06em;margin:28px 0}.cm-contact-form-intro p{max-width:440px;line-height:1.5}.cm-project-form{display:grid;grid-template-columns:1fr 1fr;gap:28px 18px}.cm-field{display:flex;flex-direction:column;gap:10px}.cm-field-wide{grid-column:1/-1}.cm-field label{font-size:11px;letter-spacing:.06em}.cm-field input,.cm-field select,.cm-field textarea{width:100%;border:0;border-bottom:1px solid rgba(17,17,17,.35);border-radius:0;background:transparent;padding:13px 0;font:inherit;font-size:18px;outline:none}.cm-field textarea{border:1px solid rgba(17,17,17,.25);padding:16px;resize:vertical}.cm-field input:focus,.cm-field select:focus,.cm-field textarea:focus{border-color:#111}.cm-consent label{display:flex;align-items:flex-start;gap:10px;letter-spacing:0;line-height:1.4}.cm-consent input{width:auto;margin-top:2px}.cm-project-form button{appearance:none;border:0;background:#111;color:var(--paper);padding:20px 26px;font:inherit;font-size:16px;cursor:pointer;width:max-content}.cm-project-form button:hover{background:var(--blue);color:#111}.cm-contact-note{grid-column:2;border-top:1px solid rgba(17,17,17,.2);padding-top:28px;margin-top:12px}.cm-contact-note p{line-height:1.5}.cm-contact-note a{border-bottom:1px solid}.cm-form-success{grid-column:2;border-top:1px solid;padding:30px 0}.cm-form-success strong{font-size:clamp(42px,5vw,76px);letter-spacing:-.05em}.cm-form-success p{font-size:18px}.cm-contact-close{grid-column:1/-1}
@media(max-width:850px){.cm-work-filters{justify-content:flex-start;padding:6px var(--pad) 36px;gap:26px}.cm-work-hero{min-height:auto}.cm-faq{grid-template-columns:1fr;gap:45px;padding:80px var(--pad)}.cm-faq-head{position:relative;top:0}.cm-faq-list summary{grid-template-columns:32px 1fr 20px;gap:10px;padding:22px 0}.cm-faq-list summary span{font-size:23px}.cm-faq-list details>div{padding:0 25px 24px 42px}.cm-contact-form-wrap{grid-template-columns:1fr;gap:50px}.cm-project-form{grid-template-columns:1fr}.cm-field-wide{grid-column:auto}.cm-contact-note,.cm-form-success{grid-column:1}.cm-contact-v2 h1{font-size:20vw}}

/* v2.0 — individual project case studies */
.cm-case{background:var(--paper);color:var(--ink)}.cm-case-hero{padding:clamp(110px,13vw,190px) var(--pad) 70px}.cm-case-kicker{display:flex;justify-content:space-between;gap:30px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.cm-case-kicker a{border-bottom:1px solid}.cm-case-hero h1{font-size:clamp(76px,13vw,210px);line-height:.78;letter-spacing:-.075em;margin:80px 0 70px}.cm-case-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:start}.cm-case-intro>p{font-size:clamp(22px,2.6vw,42px);line-height:1.08;letter-spacing:-.035em;margin:0;max-width:900px}.cm-case-intro dl{margin:0}.cm-case-intro dl div{padding:14px 0;border-top:1px solid rgba(17,17,17,.2)}.cm-case-intro dt{font-size:9px;letter-spacing:.12em;opacity:.55}.cm-case-intro dd{margin:6px 0 0;font-size:14px}.cm-case-cover{margin:0;width:100%;height:min(76vw,980px);overflow:hidden;background:#ddd}.cm-case-cover .project-cover{display:block;width:100%;height:100%;background-size:cover;background-position:center}.cm-case-story{padding:120px var(--pad);display:grid;grid-template-columns:.42fr 1fr;gap:7vw}.cm-case-story>span{font-size:9px;letter-spacing:.14em}.cm-case-story h2{font-size:clamp(48px,7vw,105px);line-height:.86;letter-spacing:-.065em;margin:0 0 50px}.cm-case-story p{font-size:18px;line-height:1.55;max-width:760px}.cm-case-band{background:var(--ink);color:var(--paper);min-height:52vh;padding:55px var(--pad);display:flex;flex-direction:column;justify-content:space-between}.cm-case-band small{font-size:9px;letter-spacing:.14em}.cm-case-band strong{font-size:clamp(75px,15vw,230px);line-height:.72;letter-spacing:-.08em}.cm-case-nav{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid rgba(17,17,17,.18)}.cm-case-nav a{padding:55px var(--pad);display:flex;flex-direction:column;gap:12px}.cm-case-nav a+ a{border-left:1px solid rgba(17,17,17,.18);text-align:right}.cm-case-nav small{font-size:9px;letter-spacing:.13em;opacity:.55}.cm-case-nav strong{font-size:clamp(24px,3vw,46px);letter-spacing:-.045em}.cm-case-cta{background:#9BEF72;padding:100px var(--pad) 110px}.cm-case-cta>span{font-size:9px;letter-spacing:.14em}.cm-case-cta h2{font-size:clamp(62px,10vw,150px);line-height:.8;letter-spacing:-.075em;margin:55px 0}.cm-case-cta a{display:inline-block;border-bottom:1px solid;font-size:16px}.page-id-0{} /* marker */
@media(max-width:850px){.cm-case-hero{padding-top:105px}.cm-case-kicker{align-items:flex-start}.cm-case-hero h1{font-size:clamp(64px,20vw,105px);margin:60px 0 48px}.cm-case-intro{grid-template-columns:1fr;gap:45px}.cm-case-cover{height:90vw}.cm-case-story{grid-template-columns:1fr;padding-top:85px;padding-bottom:85px}.cm-case-story h2{margin-top:28px}.cm-case-band{min-height:42vh}.cm-case-nav{grid-template-columns:1fr}.cm-case-nav a+ a{border-left:0;border-top:1px solid rgba(17,17,17,.18)}.cm-case-cta{padding-top:80px;padding-bottom:90px}}
/* v2.1 expanded portfolio */
.cm-case-gallery{display:grid;grid-template-columns:1fr 1fr;gap:clamp(14px,2vw,28px);padding:0 clamp(20px,4vw,64px) clamp(70px,10vw,150px)}
.cm-case-shot{margin:0;min-height:48vw;overflow:hidden;background:#ece9e2}.cm-case-shot-wide{grid-column:1/-1;min-height:58vw}.cm-case-shot .project-cover{display:block;width:100%;height:100%;min-height:inherit;background-size:cover;background-position:center}.cm-case-shot-detail .project-cover{transform:scale(1.12)}
.cover-ayuntamiento{background:#e9e7df url('../images/clients/ayuntamiento-paiporta.png') center/42% auto no-repeat!important}.cover-somoscalma{background:linear-gradient(135deg,#f6f4f2,#e6cac8 48%,#8a9a8e)!important}.cover-origen{background:linear-gradient(135deg,#d7d1c7,#20211d 72%)!important}.cover-kaps{background:linear-gradient(135deg,#f3f3f0,#d8ddd6 45%,#27312d)!important}.cover-rawsome{background:linear-gradient(135deg,#f4ead3,#c89b51 48%,#442f20)!important}
@media(max-width:760px){.cm-case-gallery{grid-template-columns:1fr}.cm-case-shot-wide{grid-column:auto}.cm-case-shot,.cm-case-shot-wide{min-height:92vw}}
/* v2.1.1 — real portfolio assets from project Drive */
.cm-case-gallery-real .cm-case-shot{background:#111;overflow:hidden}
.cm-case-gallery-real .cm-case-shot img{display:block;width:100%;height:100%;object-fit:cover}
.cm-case-gallery-real .cm-case-shot-wide img{height:auto;max-height:none;object-fit:contain;background:#f2f0eb}
@media (max-width:760px){.cm-case-gallery-real{grid-template-columns:1fr}.cm-case-gallery-real .cm-case-shot{min-height:0}.cm-case-gallery-real .cm-case-shot img{height:auto}}

/* v2.2 — compact editorial case studies: sharper images, less endless scroll */
.cm-case-v22 .cm-case-cover{height:auto;min-height:0;padding:0 var(--pad) clamp(42px,6vw,86px);background:transparent;overflow:visible}
.cm-case-v22 .cm-case-cover img{display:block;width:100%;height:auto;max-height:78vh;object-fit:contain;background:#ece9e2}
.cm-case-v22 .cm-case-gallery{grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,24px);padding:0 var(--pad) clamp(70px,8vw,120px);align-items:start}
.cm-case-v22 .cm-case-shot{grid-column:span 6;min-height:0;aspect-ratio:4/3;background:#ece9e2}
.cm-case-v22 .cm-case-shot:nth-child(3n){grid-column:span 4;aspect-ratio:1/1}
.cm-case-v22 .cm-case-shot-wide{grid-column:span 8;aspect-ratio:16/10;margin-left:auto;margin-right:auto;width:100%}
.cm-case-v22 .cm-case-shot img{width:100%;height:100%;object-fit:cover}
.cm-case-v22 .cm-case-shot.is-document img{object-fit:contain;background:#f1efe9}
.cm-case-v22 .cm-case-story{padding-top:90px;padding-bottom:90px}
.cm-case-v22 .cm-case-band{min-height:38vh}
.cm-case-v22 .cm-case-band strong{font-size:clamp(62px,11vw,175px)}
@media(max-width:760px){.cm-case-v22 .cm-case-cover{padding-left:20px;padding-right:20px}.cm-case-v22 .cm-case-gallery{grid-template-columns:1fr 1fr;padding-left:20px;padding-right:20px}.cm-case-v22 .cm-case-shot,.cm-case-v22 .cm-case-shot:nth-child(3n),.cm-case-v22 .cm-case-shot-wide{grid-column:auto;width:100%;aspect-ratio:4/5}.cm-case-v22 .cm-case-shot-wide{grid-column:1/-1;aspect-ratio:16/11}.cm-case-v22 .cm-case-story{padding-top:70px;padding-bottom:70px}}

/* v2.3 — visibly compact portfolio layout. Prevent oversized/pixelated case media. */
.cm-case-v23 .cm-case-hero{padding-bottom:clamp(42px,5vw,72px)}
.cm-case-v23 .cm-case-cover{width:min(1280px,calc(100% - (var(--pad) * 2)));margin:0 auto clamp(50px,6vw,82px);padding:0;background:#ece9e2;display:flex;align-items:center;justify-content:center;max-height:700px;overflow:hidden}
.cm-case-v23 .cm-case-cover img{display:block;width:auto;max-width:100%;height:auto;max-height:700px;object-fit:contain;margin:auto}
.cm-case-v23 .cm-case-cover .project-cover{display:block;width:100%;aspect-ratio:16/9;max-height:700px;background-size:contain;background-repeat:no-repeat;background-position:center;background-color:#ece9e2}
.cm-case-v23 .cm-case-story{padding:clamp(58px,6vw,88px) var(--pad);grid-template-columns:.3fr 1fr}
.cm-case-v23 .cm-case-story h2{font-size:clamp(42px,5.5vw,82px);margin-bottom:34px}
.cm-case-v23 .cm-case-gallery{width:min(1280px,calc(100% - (var(--pad) * 2)));margin:0 auto;padding:0 0 clamp(64px,7vw,100px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,22px)}
.cm-case-v23 .cm-case-gallery .cm-case-shot,.cm-case-v23 .cm-case-gallery .cm-case-shot:nth-child(3n),.cm-case-v23 .cm-case-gallery .cm-case-shot-wide{grid-column:auto;width:100%;aspect-ratio:4/3;margin:0;min-height:0;background:#ece9e2}
.cm-case-v23 .cm-case-gallery .cm-case-shot.is-document{aspect-ratio:3/4}
.cm-case-v23 .cm-case-gallery .cm-case-shot img{width:100%;height:100%;object-fit:contain;background:#ece9e2}
.cm-case-v23 .cm-case-band{min-height:26vh;padding-top:38px;padding-bottom:38px}
.cm-case-v23 .cm-case-band strong{font-size:clamp(54px,9vw,138px)}
@media(max-width:760px){.cm-case-v23 .cm-case-cover{width:calc(100% - 40px);max-height:58vh}.cm-case-v23 .cm-case-cover img{max-height:58vh}.cm-case-v23 .cm-case-story{grid-template-columns:1fr}.cm-case-v23 .cm-case-gallery{width:calc(100% - 40px);grid-template-columns:1fr 1fr}.cm-case-v23 .cm-case-gallery .cm-case-shot,.cm-case-v23 .cm-case-gallery .cm-case-shot:nth-child(3n),.cm-case-v23 .cm-case-gallery .cm-case-shot-wide{grid-column:auto;aspect-ratio:4/3}.cm-case-v23 .cm-case-gallery .cm-case-shot.is-document{grid-column:1/-1;aspect-ratio:3/4}}

/* v2.4 — ACTUAL portfolio archive compaction + cache-busted stylesheet.
   Previous compact rules only targeted individual case studies (.cm-case-v23),
   while /portfolio/ still inherited the oversized v1.3 archive rules. */
.cm-work-filters{position:relative;top:auto;justify-content:center;background:transparent;backdrop-filter:none;border-bottom:0;padding:18px var(--pad) 34px}
.cm-portfolio-grid.cm-filter-grid{width:min(1440px,calc(100% - (var(--pad) * 2)));margin:0 auto;padding:12px 0 110px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 18px;align-items:start}
.cm-portfolio-grid.cm-filter-grid .cm-work-card,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n){grid-column:auto!important;width:100%!important;margin:0!important;min-width:0}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover{display:block;width:100%;height:auto!important;max-height:none!important;aspect-ratio:4/3;border-radius:4px;background-size:cover;background-position:center;background-repeat:no-repeat;overflow:hidden}
.cm-portfolio-grid.cm-filter-grid .cm-work-card h2{font-size:clamp(24px,2.15vw,34px);line-height:1;letter-spacing:-.045em;margin:13px 0 5px}
.cm-portfolio-grid.cm-filter-grid .cm-work-card p{font-size:10px;letter-spacing:.02em;opacity:.68}
@media(max-width:1050px){.cm-portfolio-grid.cm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:46px 16px}}
@media(max-width:620px){.cm-work-filters{justify-content:flex-start;overflow-x:auto;padding:4px 20px 28px}.cm-portfolio-grid.cm-filter-grid{width:calc(100% - 40px);grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 10px;padding-bottom:80px}.cm-portfolio-grid.cm-filter-grid .cm-work-card h2{font-size:21px}.cm-portfolio-grid.cm-filter-grid .cm-work-card p{font-size:9px}.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover{aspect-ratio:1/1}}

/* v2.5 — Portfolio archive inspired by the clean IsraelDiseñadorGráfico presentation:
   two-column visual grid, restrained filters, metadata on hover, no oversized cards. */
.cm-portfolio-page .cm-inner-hero,
.cm-work-hero{min-height:auto!important;padding:clamp(72px,8vw,118px) var(--pad) clamp(44px,5vw,72px)!important;display:block!important;border-bottom:0!important}
.cm-portfolio-page .cm-inner-hero>span,
.cm-work-hero>span{display:block;margin-bottom:22px}
.cm-portfolio-page .cm-inner-hero h1,
.cm-work-hero h1{grid-column:auto!important;max-width:1050px;font-size:clamp(58px,8vw,126px)!important;line-height:.84!important;margin:0!important}
.cm-portfolio-page .cm-inner-hero>p,
.cm-work-hero>p{grid-column:auto!important;max-width:650px!important;font-size:clamp(16px,1.4vw,20px)!important;line-height:1.45!important;margin:28px 0 0!important}
.cm-work-filters{position:relative!important;top:auto!important;display:flex;justify-content:center;gap:clamp(22px,3vw,46px);padding:8px var(--pad) 38px!important;background:transparent!important;border:0!important;backdrop-filter:none!important}
.cm-work-filters button{appearance:none;border:0!important;background:transparent!important;padding:7px 0!important;border-radius:0!important;font-size:12px!important;font-weight:500;letter-spacing:.015em;color:var(--ink);opacity:.48;cursor:pointer;position:relative;white-space:nowrap}
.cm-work-filters button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.cm-work-filters button:hover,.cm-work-filters button.is-active{opacity:1}
.cm-work-filters button.is-active:after{transform:scaleX(1)}
.cm-portfolio-grid.cm-filter-grid{width:min(1180px,calc(100% - (var(--pad) * 2)))!important;margin:0 auto!important;padding:0 0 120px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:24px 24px!important;align-items:start!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n){position:relative;display:block;grid-column:auto!important;width:100%!important;margin:0!important;overflow:hidden;background:#ddd8cf;min-width:0}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover{display:block;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:3/2!important;border-radius:0!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .35s ease}
/* A little rhythm, as in the old portfolio, without turning it into a long masonry wall. */
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+3) .project-cover{aspect-ratio:4/3!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+4) .project-cover{aspect-ratio:4/3!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:before{content:"";position:absolute;inset:0;background:rgba(17,17,17,.58);opacity:0;transition:opacity .3s ease;z-index:2;pointer-events:none}
.cm-portfolio-grid.cm-filter-grid .cm-work-card h2,
.cm-portfolio-grid.cm-filter-grid .cm-work-card p{position:absolute;left:28px;right:28px;z-index:3;color:#fff;opacity:0;transform:translateY(10px);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.cm-portfolio-grid.cm-filter-grid .cm-work-card h2{top:50%;font-size:clamp(25px,2.5vw,38px)!important;line-height:.95!important;letter-spacing:-.045em!important;margin:0!important;text-align:center;transform:translateY(calc(-50% + 10px))}
.cm-portfolio-grid.cm-filter-grid .cm-work-card p{top:calc(50% + 38px);font-size:10px!important;line-height:1.2;letter-spacing:.08em;text-transform:uppercase;text-align:center;margin:0!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover:before{opacity:1}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover .project-cover{transform:scale(1.025)}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover h2{opacity:1;transform:translateY(-50%)}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover p{opacity:.78;transform:translateY(0)}
@media(max-width:760px){
 .cm-portfolio-page .cm-inner-hero,.cm-work-hero{padding:64px 20px 38px!important}
 .cm-portfolio-page .cm-inner-hero h1,.cm-work-hero h1{font-size:15vw!important}
 .cm-work-filters{justify-content:flex-start!important;overflow-x:auto;gap:25px!important;padding:2px 20px 28px!important;scrollbar-width:none}
 .cm-work-filters::-webkit-scrollbar{display:none}
 .cm-portfolio-grid.cm-filter-grid{width:calc(100% - 40px)!important;grid-template-columns:1fr!important;gap:14px!important;padding-bottom:80px!important}
 .cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,
 .cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover,
 .cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+3) .project-cover,
 .cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+4) .project-cover{aspect-ratio:3/2!important}
 .cm-portfolio-grid.cm-filter-grid .cm-work-card:before{opacity:.12}
 .cm-portfolio-grid.cm-filter-grid .cm-work-card h2{left:18px;right:18px;top:auto;bottom:34px;text-align:left;font-size:25px!important;opacity:1;transform:none!important;text-shadow:0 1px 12px rgba(0,0,0,.28)}
 .cm-portfolio-grid.cm-filter-grid .cm-work-card p{left:18px;right:18px;top:auto;bottom:16px;text-align:left;font-size:8px!important;opacity:.78;transform:none!important;text-shadow:0 1px 8px rgba(0,0,0,.35)}
}

/* v2.6 — Portfolio covers fill the tile edge-to-edge.
   These two source compositions include an intentional outer canvas; zoom only the archive cover,
   preserving the original artwork used inside the project case study. */
.cm-portfolio-grid.cm-filter-grid .cm-work-card .cover-eactivos{background-size:123% auto!important;background-position:center!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .cover-kaiku{background-size:116% auto!important;background-position:center!important}

/* v2.7 — Portfolio motion system, inspired by editorial scroll behaviour.
   The layout stays minimal; motion adds depth without turning the archive into a demo reel. */
.cm-portfolio-grid.cm-filter-grid{overflow:visible}
.cm-portfolio-grid.cm-filter-grid .cm-work-card{will-change:transform;isolation:isolate}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover{
  --cm-scroll-y:0px;
  --cm-hover-scale:1;
  transform:translate3d(0,var(--cm-scroll-y),0) scale(var(--cm-hover-scale));
  will-change:transform;
}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover .project-cover{--cm-hover-scale:1.035}
.cm-portfolio-grid.cm-filter-grid .cm-work-card.cm-motion-ready{clip-path:inset(0 0 0 0)}
.cm-portfolio-grid.cm-filter-grid .cm-work-card h2,
.cm-portfolio-grid.cm-filter-grid .cm-work-card p{will-change:transform,opacity}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .cm-work-index{
  position:absolute;top:18px;left:20px;z-index:3;color:#fff;font-size:9px;letter-spacing:.12em;
  opacity:0;transform:translateY(7px);transition:opacity .28s ease,transform .28s ease;pointer-events:none
}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover .cm-work-index{opacity:.72;transform:none}
@media(max-width:760px){
 .cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover{transform:none!important}
 .cm-portfolio-grid.cm-filter-grid .cm-work-card .cm-work-index{display:none}
}
@media(prefers-reduced-motion:reduce){
 .cm-portfolio-grid.cm-filter-grid .cm-work-card,.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover{transform:none!important;clip-path:none!important}
}

/* v2.8 — restrained archive + fully editable project pages. */
.cm-portfolio-grid.cm-filter-grid .cm-work-card{will-change:auto!important;clip-path:none!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover{--cm-scroll-y:0!important;--cm-hover-scale:1!important;transform:scale(1)!important;will-change:transform;transition:transform .55s cubic-bezier(.2,.75,.2,1),filter .35s ease!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-card:hover .project-cover{transform:scale(1.025)!important}
.cm-portfolio-grid.cm-filter-grid .cm-work-index{display:none!important}
.cm-case-v28 .cm-case-hero{padding-bottom:clamp(42px,5vw,72px)}
.cm-case-v28 .cm28-editor-content{max-width:720px;font-size:clamp(18px,1.7vw,25px);line-height:1.42}
.cm-case-v28 .cm28-editor-content>*:first-child{margin-top:0}.cm-case-v28 .cm28-editor-content>*:last-child{margin-bottom:0}
.cm-case-v28 .cm28-cover{width:min(1280px,calc(100% - (var(--pad)*2)));margin:0 auto clamp(24px,3vw,42px);max-height:760px;overflow:hidden;background:#e6e1d8}
.cm-case-v28 .cm28-cover img{display:block;width:100%;height:100%;max-height:760px;object-fit:contain;margin:auto}
.cm28-project-gallery{width:min(1280px,calc(100% - (var(--pad)*2)));margin:0 auto clamp(70px,8vw,120px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cm28-gallery-item{margin:0;background:#e6e1d8;overflow:hidden;aspect-ratio:4/3}
.cm28-gallery-item img{width:100%;height:100%;display:block;object-fit:cover}
.cm28-gallery-item.is-document{aspect-ratio:3/4}.cm28-gallery-item.is-wide{grid-column:1/-1;aspect-ratio:16/9}
@media(max-width:700px){.cm28-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:calc(100% - 40px)}.cm-case-v28 .cm28-cover{width:calc(100% - 40px)}.cm28-gallery-item.is-wide{grid-column:1/-1}.cm-case-v28 .cm-case-intro{display:block}.cm-case-v28 .cm-case-intro dl{margin-top:28px}}
@media(max-width:480px){.cm28-project-gallery{grid-template-columns:1fr}.cm28-gallery-item.is-wide{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.cm-portfolio-grid.cm-filter-grid .cm-work-card{opacity:1!important;transform:none!important}.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover{transform:none!important}}

/* v2.9 — SEO + GEO flip pricing cards */
.cm-flip-plans{perspective:1600px}
.cm-flip-plans .cm-flip-card{padding:0;min-height:360px;border:0;background:transparent;cursor:pointer;perspective:1200px;outline:none}
.cm-flip-card-inner{position:relative;width:100%;height:100%;min-height:360px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.2,.75,.2,1)}
.cm-flip-card.is-flipped .cm-flip-card-inner{transform:rotateY(180deg)}
.cm-flip-face{position:absolute;inset:0;border:1px solid rgba(17,17,17,.16);padding:30px;display:flex;flex-direction:column;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper)}
.cm-flip-front h3{margin:auto 0 20px}
.cm-flip-front p{margin:0 0 26px}
.cm-flip-face small{font-size:9px;letter-spacing:.14em;margin-top:auto}
.cm-flip-front small{padding-top:22px;border-top:1px solid rgba(17,17,17,.14)}
.cm-flip-back{transform:rotateY(180deg);background:#111;color:var(--paper)}
.cm-flip-back h4{font-size:clamp(30px,2.7vw,46px);line-height:.95;letter-spacing:-.05em;margin:26px 0 28px;max-width:360px}
.cm-flip-back ul{list-style:none;padding:0;margin:0}
.cm-flip-back li{font-size:14px;line-height:1.3;padding:9px 0;border-top:1px solid rgba(255,255,255,.16)}
.cm-flip-back li::before{content:'↗';color:var(--blue);margin-right:10px}
.cm-flip-card:focus-visible .cm-flip-face{outline:2px solid var(--blue);outline-offset:3px}
@media(max-width:850px){.cm-flip-plans .cm-flip-card,.cm-flip-card-inner{min-height:390px}.cm-flip-back h4{font-size:36px}}
@media(prefers-reduced-motion:reduce){.cm-flip-card-inner{transition:none}.cm-flip-card.is-flipped .cm-flip-card-inner{transform:none}.cm-flip-card.is-flipped .cm-flip-front{visibility:hidden}.cm-flip-card.is-flipped .cm-flip-back{transform:none;z-index:2}}


/* v2.11 — SEO + GEO flip cards: taller, hover on pointer devices, tap on touch. */
.cm-flip-plans{align-items:stretch!important}
.cm-flip-plans .cm-flip-card{
  min-height:540px!important;
  height:540px!important;
  overflow:visible!important;
}
.cm-flip-card-inner{
  min-height:540px!important;
  height:540px!important;
}
.cm-flip-face{
  overflow:hidden;
  padding:30px!important;
}
.cm-flip-back{justify-content:flex-start}
.cm-flip-back h4{
  font-size:clamp(29px,2.35vw,42px)!important;
  line-height:.96!important;
  margin:24px 0 22px!important;
}
.cm-flip-back ul{margin:0!important;padding:0!important;overflow:visible!important}
.cm-flip-back li{
  font-size:13.5px!important;
  line-height:1.22!important;
  padding:8px 0!important;
}
.cm-flip-back small{margin-top:auto!important;padding-top:14px}
@media (hover:hover) and (pointer:fine){
  .cm-flip-card:hover .cm-flip-card-inner,
  .cm-flip-card:focus-within .cm-flip-card-inner{transform:rotateY(180deg)}
}
@media(max-width:850px){
  .cm-flip-plans .cm-flip-card,.cm-flip-card-inner{min-height:520px!important;height:520px!important}
  .cm-flip-back h4{font-size:34px!important}
}
@media(max-width:600px){
  .cm-flip-plans .cm-flip-card,.cm-flip-card-inner{min-height:560px!important;height:560px!important}
  .cm-flip-face{padding:26px!important}
  .cm-flip-back li{font-size:14px!important;padding:8px 0!important}
}
@media(prefers-reduced-motion:reduce) and (hover:hover) and (pointer:fine){
  .cm-flip-card:hover .cm-flip-card-inner,.cm-flip-card:focus-within .cm-flip-card-inner{transform:none}
  .cm-flip-card:hover .cm-flip-front,.cm-flip-card:focus-within .cm-flip-front{visibility:hidden}
  .cm-flip-card:hover .cm-flip-back,.cm-flip-card:focus-within .cm-flip-back{transform:none;z-index:2}
}

/* v2.13 — Uniform project galleries
   Every project gallery image uses the same 4:3 frame. The source image is never distorted;
   object-fit: cover crops it consistently. Desktop = 2 columns, mobile = 1 column. */
.cm-case-v28 .cm28-project-gallery{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(12px,1.5vw,20px)!important;
}
.cm-case-v28 .cm28-project-gallery .cm28-gallery-item,
.cm-case-v28 .cm28-project-gallery .cm28-gallery-item.is-document,
.cm-case-v28 .cm28-project-gallery .cm28-gallery-item.is-wide{
  grid-column:auto!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  overflow:hidden!important;
  background:#e6e1d8;
}
.cm-case-v28 .cm28-project-gallery .cm28-gallery-item img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:700px){
  .cm-case-v28 .cm28-project-gallery{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}


/* v2.14 — One unified image grid on project pages.
   The featured image is now part of the same 4:3 grid as every gallery image,
   so no project image is visually larger than the others. */
.cm-case-v28 .cm28-project-gallery-all{
  width:min(1280px,calc(100% - (var(--pad)*2)))!important;
  margin:0 auto clamp(70px,8vw,120px)!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:clamp(12px,1.5vw,20px)!important;
}
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item.is-document,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item.is-wide,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-featured{
  grid-column:auto!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  min-height:0!important;
  margin:0!important;
  overflow:hidden!important;
  background:#e6e1d8!important;
}
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item img,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-featured img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:700px){
  .cm-case-v28 .cm28-project-gallery-all{
    width:calc(100% - 40px)!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
}

/* v2.15 — Project case-study images: one large image per row.
   Every featured/gallery image uses the same full content width and 4:3 frame. */
.cm-case-v28 .cm28-project-gallery-all{
  width:min(1280px,calc(100% - (var(--pad)*2)))!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:clamp(18px,2.2vw,32px)!important;
  margin:0 auto clamp(70px,8vw,120px)!important;
}
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item.is-document,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item.is-wide,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-featured{
  grid-column:1/-1!important;
  width:100%!important;
  aspect-ratio:4/3!important;
  margin:0!important;
  overflow:hidden!important;
  background:#e6e1d8!important;
}
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-item img,
.cm-case-v28 .cm28-project-gallery-all .cm28-gallery-featured img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
@media(max-width:700px){
  .cm-case-v28 .cm28-project-gallery-all{
    width:calc(100% - 40px)!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
}


/* v2.18 — Home portfolio artwork fills each visual frame edge-to-edge. */
.cm-home .recent-grid-v2 .recent-item figure{position:relative;overflow:hidden}
.cm-home .recent-grid-v2 .recent-item figure>.project-cover{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-width:100%!important;min-height:100%!important;background-size:cover!important;background-repeat:no-repeat!important;background-position:center!important;transform:scale(1.06);transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1)!important}
.cm-home .recent-grid-v2 .recent-item:hover figure>.project-cover{transform:scale(1.095)!important}
@media(max-width:850px){.cm-home .recent-grid-v2 .recent-item figure>.project-cover{transform:scale(1.045)}.cm-home .recent-grid-v2 .recent-item:hover figure>.project-cover{transform:scale(1.065)!important}}
@media(prefers-reduced-motion:reduce){.cm-home .recent-grid-v2 .recent-item figure>.project-cover,.cm-home .recent-grid-v2 .recent-item:hover figure>.project-cover{transition:none!important}}

/* v2.19 — Portfolio archive: every filtered category keeps one strict aligned grid.
   Editorial no longer inherits alternating 4:3 card heights from nth-child rules. */
.cm-portfolio-grid.cm-filter-grid{
  grid-auto-flow:row!important;
  align-items:stretch!important;
}
.cm-portfolio-grid.cm-filter-grid .cm-work-card,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n),
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+3),
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+4){
  align-self:stretch!important;
}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+3) .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+4) .project-cover{
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  background-size:cover!important;
  background-position:center!important;
}


/* v2.20 — Portfolio cards use the current WordPress Featured Image. */
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover.cm-featured-cover{
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:3/2!important;
  background-size:cover!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
}

/* v2.22 — 3-column portfolio archive with uniform image frames */
.cm-portfolio-grid.cm-filter-grid{
  width:min(1560px,calc(100% - (var(--pad) * 2)))!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:24px!important;
}
.cm-portfolio-grid.cm-filter-grid .cm-work-card .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(3n) .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+3) .project-cover,
.cm-portfolio-grid.cm-filter-grid .cm-work-card:nth-child(4n+4) .project-cover{
  aspect-ratio:3/2!important;
  width:100%!important;
  height:auto!important;
  background-size:cover!important;
  background-position:center!important;
}
@media(max-width:1100px){
  .cm-portfolio-grid.cm-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;width:min(1000px,calc(100% - 40px))!important;}
}
@media(max-width:620px){
  .cm-portfolio-grid.cm-filter-grid{grid-template-columns:1fr!important;width:calc(100% - 40px)!important;gap:14px!important;}
}


/* v2.23 — Client briefing */
.cm-briefing-page{padding-bottom:0}.cm-briefing-hero{padding-bottom:70px}.cm-briefing-form{width:min(1280px,calc(100% - (var(--pad) * 2)));margin:0 auto 120px;border-top:1px solid rgba(0,0,0,.18)}
.cm-brief-step{display:grid;grid-template-columns:110px 1fr;gap:40px;padding:58px 0;border-bottom:1px solid rgba(0,0,0,.14)}.cm-brief-number{font-size:13px;letter-spacing:.12em;color:#777;padding-top:9px}.cm-brief-fields h2{font-size:clamp(32px,4vw,58px);font-weight:500;line-height:1;margin:0 0 30px}.cm-brief-help{margin:-15px 0 25px;color:#666}.cm-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.cm-brief-grid label{display:flex;flex-direction:column;gap:9px;font-size:13px;letter-spacing:.02em}.cm-brief-grid .wide{grid-column:1/-1}.cm-brief-grid input,.cm-brief-grid textarea,.cm-brief-grid select{width:100%;box-sizing:border-box;border:0;border-bottom:1px solid #aaa;background:transparent;padding:14px 0;font:inherit;border-radius:0;outline:none}.cm-brief-grid textarea{border:1px solid #bbb;padding:15px;resize:vertical}.cm-brief-grid input:focus,.cm-brief-grid textarea:focus,.cm-brief-grid select:focus{border-color:#111}.cm-brief-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cm-brief-services label{cursor:pointer}.cm-brief-services input{position:absolute;opacity:0;pointer-events:none}.cm-brief-services span{display:block;border:1px solid #bbb;padding:20px;transition:.2s}.cm-brief-services input:checked+span{background:#111;color:#fff;border-color:#111}.cm-brief-consent{flex-direction:row!important;align-items:flex-start!important}.cm-brief-consent input{width:auto!important;margin-top:2px}.cm-brief-grid button{background:#111;color:#fff;border:0;padding:18px 26px;font:inherit;cursor:pointer}.cm-brief-grid button:hover{background:#9BEF72;color:#111}.cm-briefing-close{margin-top:0}.cm-conditional[hidden]{display:none!important}.cm-briefing-success{width:min(1000px,calc(100% - 40px));margin:0 auto 100px;padding:60px;background:#9BEF72;color:#111}.cm-briefing-success strong{font-size:40px}
@media(max-width:760px){.cm-brief-step{grid-template-columns:1fr;gap:12px;padding:40px 0}.cm-brief-number{padding:0}.cm-brief-grid{grid-template-columns:1fr}.cm-brief-grid .wide{grid-column:auto}.cm-brief-services{grid-template-columns:1fr 1fr}.cm-briefing-form{width:calc(100% - 40px);margin-bottom:70px}}
@media(max-width:460px){.cm-brief-services{grid-template-columns:1fr}}

/* v2.25 — Published project URL */
.cm-project-live a{display:inline-flex;align-items:center;gap:.35em;color:inherit;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s ease}
.cm-project-live a:hover{opacity:.55}


/* v2.28 — Home SEO + GEO feature section */
.cm-home-seo{background:#07131f;color:#f4f4ef;margin:0 calc(50% - 50vw);padding:clamp(78px,9vw,145px) max(var(--pad),calc((100vw - 1500px)/2));display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:clamp(55px,8vw,130px);align-items:center;overflow:hidden}
.cm-home-seo-copy{max-width:690px}.cm-home-seo-kicker{display:block;color:#9BEF72;font-size:11px;letter-spacing:.13em;margin-bottom:34px}.cm-home-seo-copy h2{font-size:clamp(54px,6.4vw,108px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:0 0 34px}.cm-home-seo-copy h2 i{font-style:normal;color:#9BEF72}.cm-home-seo-copy>p{font-size:clamp(17px,1.35vw,22px);line-height:1.55;color:#b9c2cb;max-width:650px;margin:0 0 34px}.cm-home-seo-copy ul{list-style:none;padding:0;margin:0 0 42px;display:grid;gap:14px}.cm-home-seo-copy li{font-size:15px;color:#e3e7e9;display:flex;gap:12px;align-items:center}.cm-home-seo-copy li:before{content:'✓';display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#9BEF72;color:#07131f;font-size:12px;font-weight:700}.cm-home-seo-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.cm-home-seo-actions a{display:inline-flex;background:#f5f4ef;color:#07131f;padding:17px 24px;border-radius:999px;text-decoration:none;font-size:14px;transition:.25s}.cm-home-seo-actions a:hover{background:#9BEF72}.cm-home-seo-actions small{color:#9aa7b2;font-size:12px;letter-spacing:.04em}
.cm-home-seo-dashboard{position:relative;background:#0d2235;border:1px solid rgba(155,239,114,.42);border-radius:26px;padding:clamp(28px,3vw,48px);box-shadow:0 30px 80px rgba(0,0,0,.22)}.cm-home-seo-dashboard:before{content:'';position:absolute;width:620px;height:620px;border-radius:50%;border:1px solid rgba(155,239,114,.055);right:-160px;top:-210px;pointer-events:none}.cm-seo-dash-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:20px;position:relative}.cm-seo-dash-top span{font-size:11px;letter-spacing:.12em;color:#9BEF72}.cm-seo-dash-top small{font-size:10px;color:#8292a1;letter-spacing:.08em}.cm-seo-dash-title{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;padding:34px 0 38px}.cm-seo-dash-title strong{font-size:clamp(34px,3.3vw,60px);line-height:.95;letter-spacing:-.045em;font-weight:500}.cm-seo-dash-title>span{max-width:245px;font-size:13px;line-height:1.5;color:#a9b5bf}.cm-seo-signal{display:grid;grid-template-columns:145px 1fr 220px;gap:20px;align-items:center;padding:18px 0;border-top:1px solid rgba(255,255,255,.09);position:relative}.cm-seo-signal div{display:flex;gap:12px;align-items:center}.cm-seo-signal b{color:#9BEF72;font-size:10px;font-weight:500}.cm-seo-signal span{font-size:12px;font-weight:600;letter-spacing:.05em}.cm-seo-signal i{display:block;height:6px;background:rgba(255,255,255,.11);border-radius:10px;overflow:hidden}.cm-seo-signal i:after{content:'';display:block;width:var(--cm-level);height:100%;background:#9BEF72;border-radius:inherit}.cm-seo-signal small{font-size:11px;color:#98a6b2}.cm-seo-dash-foot{display:flex;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid rgba(255,255,255,.13);margin-top:8px}.cm-seo-dash-foot span{font-size:9px;letter-spacing:.12em;color:#718291}
@media(max-width:1050px){.cm-home-seo{grid-template-columns:1fr;gap:65px}.cm-home-seo-copy{max-width:850px}.cm-home-seo-dashboard{max-width:850px}.cm-seo-signal{grid-template-columns:145px 1fr 190px}}
@media(max-width:680px){.cm-home-seo{padding-left:20px;padding-right:20px}.cm-home-seo-copy h2{font-size:clamp(48px,14vw,72px)}.cm-home-seo-dashboard{padding:25px 20px;border-radius:18px}.cm-seo-dash-top small{display:none}.cm-seo-dash-title{display:block}.cm-seo-dash-title>span{display:block;margin-top:18px}.cm-seo-signal{grid-template-columns:120px 1fr}.cm-seo-signal small{grid-column:1/-1}.cm-seo-dash-foot{gap:12px}}
@media(prefers-reduced-motion:reduce){.cm-home-seo-actions a{transition:none}}

/* v2.29 — SEO + GEO Home: light editorial treatment */
.cm-home-seo{background:#E8E8E3;color:#111;}
.cm-home-seo-kicker{color:#111;position:relative;padding-left:76px;font-weight:650;}
.cm-home-seo-kicker:before{content:'';position:absolute;left:0;top:50%;width:58px;height:3px;background:#9BEF72;transform:translateY(-50%);}
.cm-home-seo-copy h2{color:#111;}
.cm-home-seo-copy h2 i{color:#9BEF72;}
.cm-home-seo-copy>p{color:#30302d;}
.cm-home-seo-copy li{color:#171714;}
.cm-home-seo-copy li:before{background:#9BEF72;color:#111;}
.cm-home-seo-actions a{background:#111;color:#fff;border:1px solid #111;}
.cm-home-seo-actions a:hover{background:#9BEF72;color:#111;border-color:#9BEF72;}
.cm-home-seo-actions small{color:#111;border:1px solid rgba(17,17,17,.5);border-radius:999px;padding:15px 22px;font-size:13px;}
.cm-home-seo-dashboard{background:#f7f7f3;color:#111;border:1px solid rgba(17,17,17,.12);box-shadow:0 18px 55px rgba(17,17,17,.07);}
.cm-home-seo-dashboard:before{border-color:rgba(155,239,114,.18);}
.cm-seo-dash-top{border-bottom-color:rgba(17,17,17,.12);}
.cm-seo-dash-top span{color:#111;}
.cm-seo-dash-top small{color:#5f625c;}
.cm-seo-dash-title strong{color:#111;}
.cm-seo-dash-title>span{color:#656861;}
.cm-seo-signal{border-top-color:rgba(17,17,17,.09);}
.cm-seo-signal b{color:#67c936;}
.cm-seo-signal span{color:#111;}
.cm-seo-signal i{background:#dedfd9;}
.cm-seo-signal i:after{background:#9BEF72;}
.cm-seo-signal small{color:#6c7068;}
.cm-seo-dash-foot{border-top-color:rgba(17,17,17,.12);}
.cm-seo-dash-foot span{color:#73766f;}
@media(max-width:680px){.cm-home-seo-kicker{padding-left:48px}.cm-home-seo-kicker:before{width:36px}}


/* v2.30 — Editorial modular project cases. This file is enqueued on the front end. */
.cm-case-v28{overflow:hidden}
.cm-case-v28 .cm27-project-module{box-sizing:border-box;max-width:1180px;margin:0 auto;padding:clamp(72px,8vw,124px) 0;border-top:1px solid rgba(17,17,17,.16);display:grid;grid-template-columns:minmax(150px,.42fr) minmax(0,1.58fr);gap:clamp(40px,7vw,110px);align-items:start}
.cm-case-v28 .cm27-module-label{display:flex;align-items:center;gap:14px;padding-top:8px}
.cm-case-v28 .cm27-module-label span{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid rgba(17,17,17,.24);border-radius:50%;font-size:11px;letter-spacing:.08em}
.cm-case-v28 .cm27-module-label small{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#666}
.cm-case-v28 .cm27-module-body{max-width:880px}
.cm-case-v28 .cm27-project-module h2{font-size:clamp(46px,6.2vw,92px);line-height:.92;letter-spacing:-.052em;font-weight:500;margin:0 0 30px;color:#111}
.cm-case-v28 .cm27-project-module p{font-size:clamp(18px,1.55vw,23px);line-height:1.55;max-width:780px;margin:0;color:#343434}
.cm-case-v28 .cm27-module-seo .cm27-module-label span,.cm-case-v28 .cm27-module-meta .cm27-module-label span{border-color:#9BEF72;background:#9BEF72;color:#111}
.cm-case-v28 .cm27-results{box-sizing:border-box;background:#111;color:#f4f3ef;margin:clamp(72px,8vw,124px) calc(50% - 50vw) 0;padding:clamp(76px,9vw,132px) max(24px,calc((100vw - 1180px)/2))}
.cm-case-v28 .cm27-results-head{display:grid;grid-template-columns:1fr auto;column-gap:40px;align-items:end;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:34px}
.cm-case-v28 .cm27-results-head span{grid-column:1/-1;font-size:11px;letter-spacing:.16em;color:#9BEF72;margin-bottom:20px}
.cm-case-v28 .cm27-results-head h2{font-size:clamp(52px,7vw,104px);line-height:.9;letter-spacing:-.055em;font-weight:500;margin:0;color:#f4f3ef}
.cm-case-v28 .cm27-results-head small{font-size:14px;color:#aaa;padding-bottom:8px}
.cm-case-v28 .cm27-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.18);margin-top:0}
.cm-case-v28 .cm27-kpi{background:#111;padding:clamp(28px,3vw,44px) 24px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between}
.cm-case-v28 .cm27-kpi strong{font-size:clamp(44px,5vw,74px);line-height:.9;color:#9BEF72;font-weight:500;letter-spacing:-.04em}
.cm-case-v28 .cm27-kpi span{font-size:14px;line-height:1.35;color:#d6d6d6;max-width:180px}
.cm-case-v28 .cm27-kpis-1{grid-template-columns:minmax(260px,420px);background:transparent}
.cm-case-v28 .cm27-kpis-1 .cm27-kpi{border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.cm-case-v28 .cm27-kpis-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cm-case-v28 .cm27-kpis-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cm-case-v28 .cm27-results-copy{max-width:820px;font-size:clamp(18px,1.6vw,24px);line-height:1.55;margin:50px 0 0;color:#d9d9d9}
@media(max-width:900px){.cm-case-v28 .cm27-project-module{grid-template-columns:1fr;gap:28px;padding-left:24px;padding-right:24px}.cm-case-v28 .cm27-results-head{grid-template-columns:1fr}.cm-case-v28 .cm27-results-head small{margin-top:18px}.cm-case-v28 .cm27-kpis,.cm-case-v28 .cm27-kpis-3,.cm-case-v28 .cm27-kpis-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.cm-case-v28 .cm27-project-module{padding-top:58px;padding-bottom:58px}.cm-case-v28 .cm27-project-module h2{font-size:44px}.cm-case-v28 .cm27-kpis,.cm-case-v28 .cm27-kpis-1,.cm-case-v28 .cm27-kpis-2,.cm-case-v28 .cm27-kpis-3,.cm-case-v28 .cm27-kpis-4{grid-template-columns:1fr}.cm-case-v28 .cm27-kpi{min-height:140px}}

/* v2.31 — Meta Ads-led national positioning */
.cm-home-meta{background:#141513;color:#f5f5f0;padding:clamp(68px,8vw,128px) clamp(24px,5.5vw,110px)}
.cm-home-meta-top{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:22px;font-size:12px;letter-spacing:.11em}
.cm-home-meta-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:clamp(38px,7vw,110px);padding-top:60px}
.cm-home-meta h2{font-size:clamp(42px,5.3vw,88px);font-weight:500;letter-spacing:-.055em;line-height:1.03;margin:0 0 32px}
.cm-home-meta h2 i{color:#9BEF72;font-style:normal}
.cm-home-meta-grid>div>p{font-size:clamp(16px,1.3vw,20px);line-height:1.6;max-width:620px;color:#d4d5ce;margin:0 0 38px}
.cm-home-meta-grid>div>a{display:inline-block;padding:16px 22px;background:#9BEF72;color:#121410;border-radius:2px;text-decoration:none;font-size:14px;font-weight:650}
.cm-home-meta-steps{border-top:1px solid rgba(255,255,255,.24)}
.cm-home-meta-steps article{display:grid;grid-template-columns:38px 1fr;gap:8px 18px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.24)}
.cm-home-meta-steps article b{color:#9BEF72;font-size:13px;grid-row:span 2}
.cm-home-meta-steps article strong{font-size:clamp(23px,2vw,32px);font-weight:500}
.cm-home-meta-steps article span{font-size:14px;color:#c9cbc3;line-height:1.5}
.cm-home-meta-steps small{display:block;margin-top:25px;font-size:12px;line-height:1.6;color:#bfc1b8}
@media(max-width:850px){.cm-home-meta-grid{grid-template-columns:1fr;padding-top:38px}.cm-home-meta-top{flex-wrap:wrap}.cm-home-meta{padding:64px 22px}}

/* v2.33 — compact editorial featured projects: equal cards, three columns */
.cm-home .recent-work{padding-top:clamp(76px,8vw,112px);padding-bottom:clamp(76px,8vw,112px)}
.cm-home .recent-heading{margin-bottom:clamp(28px,4vw,48px)}
.cm-home .recent-grid-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px) 14px;align-items:stretch}
.cm-home .recent-grid-v2 .recent-item,.cm-home .recent-grid-v2 .project-a,.cm-home .recent-grid-v2 .project-b,.cm-home .recent-grid-v2 .project-c,.cm-home .recent-grid-v2 .project-d,.cm-home .recent-grid-v2 .project-e,.cm-home .recent-grid-v2 .project-f{grid-column:auto;min-width:0}
.cm-home .recent-grid-v2 .recent-item figure,.cm-home .recent-grid-v2 .project-b figure,.cm-home .recent-grid-v2 .project-c figure,.cm-home .recent-grid-v2 .project-f figure{height:auto;max-height:none;aspect-ratio:4/3;border-radius:2px}
.cm-home .recent-grid-v2 .recent-item>div:not(.portfolio-door){padding:11px 1px 0;border-top:0;gap:12px;align-items:baseline}
.cm-home .recent-grid-v2 .recent-item h3{font-size:clamp(14px,1.15vw,17px);line-height:1.15;letter-spacing:-.025em}
.cm-home .recent-grid-v2 .recent-item span:not(.project-cover){font-size:9px;line-height:1.3;text-align:right}
.cm-home .recent-grid-v2 .portfolio-door-card,.cm-home .recent-grid-v2 .portfolio-door-card .portfolio-door{min-height:0;height:auto;aspect-ratio:4/3}
.cm-home .recent-grid-v2 .portfolio-door-card .portfolio-door{padding:clamp(18px,2vw,28px)}
.cm-home .recent-grid-v2 .portfolio-door-card strong{font-size:clamp(27px,2.7vw,46px)}
@media(max-width:900px){.cm-home .recent-grid-v2{grid-template-columns:repeat(2,minmax(0,1fr))}.cm-home .recent-grid-v2 .recent-item figure,.cm-home .recent-grid-v2 .project-b figure,.cm-home .recent-grid-v2 .project-c figure,.cm-home .recent-grid-v2 .project-f figure{height:auto;aspect-ratio:4/3}.cm-home .recent-grid-v2 .portfolio-door-card,.cm-home .recent-grid-v2 .portfolio-door-card .portfolio-door{min-height:0;aspect-ratio:4/3}}
@media(max-width:600px){.cm-home .recent-grid-v2{grid-template-columns:1fr;gap:24px}.cm-home .recent-grid-v2 .recent-item figure,.cm-home .recent-grid-v2 .project-b figure,.cm-home .recent-grid-v2 .project-c figure,.cm-home .recent-grid-v2 .project-f figure{height:auto;aspect-ratio:4/3}.cm-home .recent-grid-v2 .portfolio-door-card,.cm-home .recent-grid-v2 .portfolio-door-card .portfolio-door{min-height:0;aspect-ratio:4/3}.cm-home .recent-grid-v2 .portfolio-door-card strong{font-size:clamp(34px,9vw,52px)}}

/* V2.41 — Editorial legal pages; scoped to legal content only. */
.cm-page:has(.cm-legal), .cm-page:has(.cm-legal-content){max-width:none!important;width:100%!important;padding:0!important}
.cm-page:has(.cm-legal)>.wp-block-post-title,.cm-page:has(.cm-legal-content)>.wp-block-post-title{display:none!important}
.cm-page:has(.cm-legal)>.wp-block-post-content,.cm-page:has(.cm-legal-content)>.wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
.cm-page .cm-legal,.cm-page .cm-legal-content{box-sizing:border-box!important;width:min(100%,1120px)!important;max-width:1120px!important;margin:0 auto!important;padding:clamp(90px,10vw,150px) 28px 110px!important;color:#111!important;font-family:inherit!important;}
.cm-page .cm-legal *,.cm-page .cm-legal-content *{box-sizing:border-box}
.cm-page .cm-legal-header{border-bottom:1px solid #d4d4d0;padding-bottom:52px;margin-bottom:30px}
.cm-page .cm-legal-kicker{font-size:11px!important;font-weight:600!important;letter-spacing:.14em!important;text-transform:uppercase;margin:0 0 28px!important}
.cm-page .cm-legal h1,.cm-page .cm-legal-content h1{font-size:clamp(48px,7vw,96px)!important;line-height:1.02!important;letter-spacing:-.065em!important;font-weight:750!important;margin:0 0 30px!important;max-width:100%!important;overflow-wrap:break-word}
.cm-page .cm-legal-intro{font-size:clamp(18px,2vw,22px)!important;line-height:1.55!important;color:#555!important;max-width:750px!important;margin:0!important}
.cm-page .cm-legal-section{display:grid!important;grid-template-columns:75px minmax(0,1fr)!important;gap:30px!important;padding:44px 0!important;border-bottom:1px solid #d4d4d0!important}
.cm-page .cm-legal-number{font-size:13px!important;color:#666!important;padding-top:8px}
.cm-page .cm-legal h2,.cm-page .cm-legal-content h2{font-size:clamp(27px,3.3vw,40px)!important;line-height:1.14!important;letter-spacing:-.04em!important;font-weight:650!important;margin:0 0 24px!important}
.cm-page .cm-legal p,.cm-page .cm-legal li,.cm-page .cm-legal-content p,.cm-page .cm-legal-content li{font-size:16px!important;line-height:1.8!important;letter-spacing:normal!important;max-width:760px!important;margin:0 0 19px!important}
.cm-page .cm-legal a,.cm-page .cm-legal-content a{color:inherit!important;text-decoration:underline!important;text-underline-offset:4px}
.cm-page .cm-legal-pending{border-left:3px solid #9bef70;background:#f3f6ef;padding:18px 22px;font-size:14px;line-height:1.7;margin:20px 0}
.cm-page .cm-legal-bottom{font-size:13px;color:#666;margin-top:55px}
/* Legacy HTML legal pages without the newer .cm-legal structure */
.cm-page .cm-legal-content>h1{border-bottom:1px solid #d4d4d0;padding-bottom:45px;margin-bottom:40px!important}
.cm-page .cm-legal-content>h2{border-top:1px solid #d4d4d0;padding-top:40px;margin-top:44px!important}
@media(max-width:700px){.cm-page .cm-legal,.cm-page .cm-legal-content{padding:100px 20px 75px!important}.cm-page .cm-legal-section{grid-template-columns:minmax(0,1fr)!important;gap:10px!important;padding:32px 0!important}.cm-page .cm-legal p,.cm-page .cm-legal li,.cm-page .cm-legal-content p,.cm-page .cm-legal-content li{font-size:15px!important;line-height:1.75!important}}


/* V2.42: legal pages – escape constrained WordPress page layout */
body:has(.cm-legal) .cm-page,body:has(.cm-legal-content) .cm-page{width:100%!important;max-width:none!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
body:has(.cm-legal) .cm-page>.wp-block-post-content,body:has(.cm-legal-content) .cm-page>.wp-block-post-content,body:has(.cm-legal) .cm-page .wp-block-post-content,body:has(.cm-legal-content) .cm-page .wp-block-post-content{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;padding:0!important}
body:has(.cm-legal) .cm-page>.wp-block-post-title,body:has(.cm-legal-content) .cm-page>.wp-block-post-title{display:none!important}
.cm-page .cm-legal,.cm-page .cm-legal-content{--ink:#111;--muted:#666;--line:#c9c9c4;--accent:#9bef70;display:block!important;box-sizing:border-box;width:calc(100% - 48px)!important;max-width:1120px!important;margin:0 auto!important;padding:90px 0 120px!important;color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.cm-legal *,.cm-legal-content *{box-sizing:border-box}
.cm-legal-header{padding-bottom:55px;border-bottom:1px solid var(--line);margin-bottom:65px}
.cm-legal-kicker{font-size:11px!important;font-weight:600;letter-spacing:.16em;text-transform:uppercase;margin:0 0 25px!important}
.cm-legal h1,.cm-legal-content h1{font-size:clamp(48px,7vw,100px)!important;line-height:1!important;letter-spacing:-.065em!important;font-weight:750!important;margin:0 0 30px!important;overflow-wrap:anywhere}
.cm-legal-intro{max-width:700px!important;font-size:clamp(17px,2vw,21px)!important;line-height:1.6!important;color:var(--muted);margin:0!important}
.cm-legal-section{display:grid!important;grid-template-columns:70px minmax(0,1fr);gap:25px;padding:38px 0 45px;border-bottom:1px solid var(--line)}
.cm-legal-number{font-size:13px;color:var(--muted);padding-top:7px}
.cm-legal-section h2,.cm-legal-content h2{font-size:clamp(25px,3vw,37px)!important;font-weight:650!important;letter-spacing:-.045em!important;line-height:1.15!important;margin:0 0 22px!important}
.cm-legal-section p,.cm-legal-section li,.cm-legal-content p,.cm-legal-content li{max-width:760px!important;font-size:16px!important;line-height:1.85!important;margin:0 0 17px!important}
.cm-legal-section p:last-child{margin-bottom:0!important}
.cm-legal-section ul{padding-left:22px;margin:0 0 18px}
.cm-legal a,.cm-legal-content a{color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.cm-legal-pending{padding:18px 22px;border-left:3px solid var(--accent);background:#f5f7f2;font-size:14px;line-height:1.7;margin-top:18px}
.cm-legal-bottom{margin-top:55px;font-size:13px;color:var(--muted)}
/* Older legal HTML: readable layout even before content is replaced */
.cm-page .cm-legal-content{max-width:900px!important}
.cm-legal-content h2{border-top:1px solid #c9c9c4;padding-top:32px;margin-top:48px!important}
@media(max-width:700px){.cm-page .cm-legal,.cm-page .cm-legal-content{width:calc(100% - 40px)!important;padding:55px 0 75px!important}.cm-legal-header{padding-bottom:35px;margin-bottom:25px}.cm-legal-section{grid-template-columns:1fr;gap:12px;padding:30px 0}.cm-legal-section p,.cm-legal-section li,.cm-legal-content p,.cm-legal-content li{font-size:15px!important;line-height:1.75!important}}
