/*
 * Clientes Para Todos — Visual runtime bridge
 * v0.2.2 QA pass: responsive composition, navigation and pricing help.
 * The page-specific art direction remains inside each approved template.
 */
#wpadminbar{z-index:999999!important}
body.cpt-wp-adminbar .topbar-wrap{top:50px!important}
body.cpt-wp-adminbar .top{top:46px!important}
body.cpt-wp-adminbar main{position:relative}
@media(max-width:782px){body.cpt-wp-adminbar .topbar-wrap{top:58px!important}body.cpt-wp-adminbar .top{top:56px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
.cpt-visual-hidden{display:none!important}
html.cpt-no-animations *,html.cpt-no-animations *:before,html.cpt-no-animations *:after{animation:none!important;transition:none!important;transform:none!important}

/* ---------- Global QA ---------- */
:root{--cpt-mobile-gap:12px;--cpt-tablet-gap:14px}
html,body{overflow-x:clip}
img,svg,video,canvas{max-width:100%}
.topbar-wrap,.top{isolation:isolate}
.menu-open{overflow:hidden!important}
.mobile-menu{pointer-events:none}
.mobile-menu.open{pointer-events:auto}
.mobile-links a{touch-action:manipulation}

/* Keep the mobile navigation editorial, but not oversized. */
@media(max-width:900px){
  .mobile-links{gap:2px!important}
  .mobile-links a{font-size:clamp(27px,5.8vw,36px)!important;line-height:1.02!important;padding:12px 0!important;letter-spacing:-.025em!important}
  .mobile-meta{font-size:11px!important;line-height:1.55!important}
}
@media(max-width:650px){
  .mobile-menu{padding:96px 20px 24px!important}
  body.cpt-wp-adminbar .mobile-menu{padding-top:132px!important}
  .mobile-links a{font-size:clamp(25px,7.6vw,32px)!important;padding:11px 0!important}
}

/* ---------- Home: kinetic atelier, controlled on touch/tablet ---------- */
@media(max-width:1024px){
  .hero-inner{grid-template-columns:1fr!important;gap:var(--cpt-tablet-gap)!important;min-height:0!important}
  .hero-copy{min-height:auto!important}
  .atelier-stage{min-height:560px!important}
  .atelier-stage .atelier-sheet,
  .atelier-stage .atelier-type-band,
  .atelier-stage .atelier-disc,
  .atelier-stage .atelier-asterisk{animation:none!important}
  .atelier-stage .atelier-glow{animation:none!important}
  .atelier-canvas{inset:56px 18px 50px!important;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr)!important;grid-template-rows:1fr 1fr .72fr!important;gap:10px!important;perspective:none!important}
  .atelier-sheet{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;height:auto!important;margin:0!important;translate:none!important;rotate:0deg!important;transform:none!important;min-width:0!important}
  .atelier-sheet-main{grid-column:1;grid-row:1/3!important;padding:24px!important;transform:rotate(-2deg)!important;z-index:4!important}
  .atelier-sheet-system{grid-column:2;grid-row:1!important;padding:16px!important;transform:rotate(2deg)!important;z-index:7!important}
  .atelier-sheet-strategy{grid-column:2;grid-row:2!important;padding:16px!important;transform:rotate(-2deg)!important;z-index:6!important}
  .atelier-sheet-code{grid-column:1/-1;grid-row:3!important;padding:15px 18px!important;transform:none!important;z-index:5!important}
  .atelier-type-band{display:none!important}
  .atelier-disc{right:44%!important;top:48%!important;width:58px!important;height:58px!important;border-width:7px!important;transform:none!important}
  .atelier-asterisk{left:3%!important;top:8%!important;transform:none!important}
}
@media(max-width:650px){
  .hero-inner{gap:var(--cpt-mobile-gap)!important}
  .hero-copy{padding:34px 18px 26px!important;gap:18px!important}
  .hero-title{font-size:clamp(48px,15.7vw,72px)!important;line-height:.92!important;margin-top:18px!important}
  .hero-bottom{margin-top:10px!important;gap:14px!important}
  .hero-lead{font-size:14px!important;line-height:1.58!important}
  .atelier-stage{min-height:492px!important;padding:0!important}
  .atelier-meta{left:16px!important;right:16px!important;top:15px!important}
  .atelier-canvas{inset:50px 12px 48px!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1.18fr .72fr .68fr!important;gap:8px!important}
  .atelier-sheet{border-radius:17px!important}
  .atelier-sheet-main{grid-column:1/-1!important;grid-row:1!important;padding:18px!important;transform:rotate(-1.25deg)!important}
  .atelier-sheet-system{grid-column:2!important;grid-row:2!important;padding:12px!important;transform:rotate(1.5deg)!important}
  .atelier-sheet-strategy{grid-column:1!important;grid-row:2!important;padding:12px!important;transform:rotate(-1.5deg)!important}
  .atelier-sheet-code{grid-column:1/-1!important;grid-row:3!important;padding:12px 14px!important}
  .atelier-sheet-main .sheet-word{font-size:clamp(35px,11vw,48px)!important}
  .atelier-sheet-main .sheet-word-serif{font-size:clamp(34px,10.5vw,46px)!important}
  .atelier-sheet-strategy p{font-size:9px!important;left:12px!important;bottom:11px!important}
  .atelier-sheet-system strong{font-size:29px!important;left:12px!important;bottom:10px!important}
  .atelier-disc{display:none!important}
  .atelier-asterisk{font-size:20px!important;left:5%!important;top:9%!important}
  .atelier-foot{left:14px!important;right:14px!important;bottom:13px!important;font-size:7px!important}
}

/* Home process: each row has its own motion instead of one static block. */
.process-row.cpt-motion-card{transition:transform .55s cubic-bezier(.2,.75,.2,1),opacity .55s ease,background .35s ease,color .35s ease!important}
.process-row.cpt-motion-card:not(.cpt-inview){opacity:.3;transform:translate3d(var(--cpt-enter-x,0),14px,0)}
.process-row.cpt-motion-card.cpt-inview{opacity:1;transform:translate3d(0,0,0)}
@media(min-width:901px){
  .process-row.cpt-motion-card:nth-child(odd){--cpt-enter-x:-14px}
  .process-row.cpt-motion-card:nth-child(even){--cpt-enter-x:14px}
  .process-row.cpt-motion-card:hover{transform:translate3d(7px,0,0)!important}
}
@media(max-width:900px){
  .process-row.cpt-motion-card:nth-child(odd){--cpt-enter-x:-8px}
  .process-row.cpt-motion-card:nth-child(even){--cpt-enter-x:8px}
}

/* Home method cards: fixed equal grid. Scroll motion must not create fake uneven gaps. */
.signature-flow{align-items:stretch!important;grid-auto-rows:1fr!important}
.flow-cell{height:100%!important;min-height:150px!important;margin:0!important}
body.touch-motion .flow-cell{translate:none!important;transform:none!important}
@media(max-width:900px){.signature-flow{gap:10px!important}.flow-cell{min-height:142px!important}}
@media(max-width:650px){.signature-flow{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:8px!important}.flow-cell{min-height:136px!important;padding:14px 12px!important}}

/* Home pricing cards: reintroduce the sans + editorial serif language. */
.price-card h3 em,.service-card h3 em,.service-card h3 i{font-family:"Instrument Serif",serif!important;font-style:italic!important;font-weight:400!important;letter-spacing:-.02em!important}
.price-card h3{line-height:.94!important}

/* ---------- Services hero: no card collisions ---------- */
@media(min-width:1025px){
  .page-hero-art{min-height:570px!important}
  .service-deck{position:absolute!important;inset:72px 34px 54px!important;display:block!important;margin:0!important}
  .service-board{position:absolute!important;left:50%!important;top:50%!important;translate:-50% -50%!important;width:min(36%,390px)!important;min-height:258px!important;transform:rotate(-2deg)!important;animation:boardFloat 8s ease-in-out infinite!important}
  .service-tile{position:absolute!important;width:168px!important;min-height:92px!important;padding:14px 15px!important;transform:none!important;rotate:0deg!important;translate:none!important}
  .service-tile.st1{left:3%!important;top:3%!important}
  .service-tile.st3{left:1%!important;top:38%!important}
  .service-tile.st5{left:6%!important;bottom:2%!important}
  .service-tile.st2{right:3%!important;top:3%!important}
  .service-tile.st4{right:1%!important;top:38%!important}
  .service-tile.st6{right:6%!important;bottom:2%!important}
  .page-hero-art:hover .service-tile{transform:translateY(-3px)!important}
}

/* Services hero tablet: central board first, 3x2 cards below. */
@media(min-width:651px) and (max-width:1024px){
  .page-hero-grid{grid-template-columns:1fr!important;gap:var(--cpt-tablet-gap)!important}
  .page-hero-copy{min-height:auto!important;padding:38px 30px!important}
  .page-hero-art{min-height:0!important;padding:20px!important}
  .service-art-caption{position:relative!important;left:auto!important;right:auto!important;top:auto!important;margin:0 0 16px!important}
  .service-deck{position:relative!important;inset:auto!important;margin:0!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .service-board{position:relative!important;left:auto!important;top:auto!important;translate:none!important;grid-column:1/-1!important;width:100%!important;min-height:220px!important;transform:none!important;animation:none!important}
  .service-tile,.st1,.st2,.st3,.st4,.st5,.st6{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;min-height:112px!important;transform:none!important;translate:none!important;rotate:0deg!important;margin:0!important}
  .service-art-foot{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:14px!important}
}

/* Services hero mobile: central board + 2x3, all cards separated. */
@media(max-width:650px){
  .page-hero{padding-top:88px!important}
  .page-hero-grid{grid-template-columns:1fr!important;gap:var(--cpt-mobile-gap)!important;padding-bottom:0!important}
  .page-hero-copy{min-height:auto!important;padding:30px 18px 26px!important;gap:20px!important}
  .page-hero-title{font-size:clamp(48px,14.8vw,68px)!important;line-height:.94!important}
  .page-hero-lead{font-size:14px!important;line-height:1.58!important}
  .page-hero-art{min-height:0!important;padding:16px!important}
  .service-art-caption{position:relative!important;left:auto!important;right:auto!important;top:auto!important;padding:0 2px 12px!important}
  .service-deck{position:relative!important;inset:auto!important;margin:0!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .service-board{position:relative!important;left:auto!important;top:auto!important;translate:none!important;grid-column:1/-1!important;width:100%!important;min-height:190px!important;padding:18px!important;transform:none!important;animation:none!important}
  .service-board strong{font-size:34px!important;max-width:9ch!important}
  .service-tile,.st1,.st2,.st3,.st4,.st5,.st6{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;min-height:108px!important;transform:none!important;translate:none!important;rotate:0deg!important;margin:0!important;padding:11px 12px!important}
  .service-tile b{font-size:12px!important}.service-tile span{font-size:8px!important;line-height:1.3!important}
  .service-art-foot{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;margin-top:12px!important;padding:0 2px!important}
}

/* ---------- Services explorer: clickable and geometrically consistent ---------- */
.service-nav button{touch-action:manipulation!important}
.service-nav button:focus-visible{outline:2px solid var(--acid)!important;outline-offset:2px!important}
.service-panel{scroll-margin-top:118px!important}
.service-panels{gap:14px!important}
.service-fit{align-items:stretch!important}
.service-fit span{height:100%!important;margin:0!important}
.service-fit.count-1{grid-template-columns:1fr!important}
.service-fit.count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.service-fit.count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.service-fit.count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(min-width:651px) and (max-width:1024px){
  .service-explorer-grid{grid-template-columns:1fr!important;gap:14px!important}
  .service-nav{position:sticky!important;top:92px!important;z-index:20!important;display:flex!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x proximity!important;gap:6px!important;padding:7px!important;background:rgba(17,17,21,.94)!important;backdrop-filter:blur(18px)!important}
  body.cpt-wp-adminbar .service-nav{top:126px!important}
  .service-nav-label{display:none!important}
  .service-nav button{flex:0 0 150px!important;min-width:150px!important;width:auto!important;display:grid!important;grid-template-columns:22px 1fr!important;padding:12px!important;scroll-snap-align:start!important}
  .service-nav button i{display:none!important}
  .service-panel{grid-template-columns:1fr!important;min-height:0!important;gap:22px!important;padding:30px!important}
  .service-fit{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .service-fit.count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:650px){
  .intro-bridge,.service-explorer,.strategy-section,.decision-section,.page-cta{padding-top:34px!important}
  .service-explorer-grid{grid-template-columns:1fr!important;gap:12px!important}
  .service-nav{position:sticky!important;top:82px!important;z-index:20!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow:visible!important;gap:6px!important;padding:7px!important;background:rgba(17,17,21,.96)!important;backdrop-filter:blur(18px)!important}
  body.cpt-wp-adminbar .service-nav{top:116px!important}
  .service-nav button{min-width:0!important;width:100%!important;padding:10px 7px!important;grid-template-columns:1fr!important;justify-items:center!important;text-align:center!important;gap:3px!important}
  .service-nav button span{font-size:7.5px!important}.service-nav button strong{font-size:9px!important;line-height:1.1!important}.service-nav button i{display:none!important}
  .service-panels{gap:12px!important}
  .service-panel{padding:24px 18px!important;gap:20px!important;border-radius:30px!important}
  .service-main,.service-spec{min-width:0!important}
  .service-panel h3{font-size:clamp(42px,12vw,58px)!important;line-height:.94!important}
  .service-desc{font-size:13px!important;line-height:1.58!important}
  .service-fit{gap:6px!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .service-fit.count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .service-fit span{min-height:38px!important;padding:8px 6px!important;font-size:7.5px!important;letter-spacing:.045em!important}
  .spec-card{padding:18px!important}
}

/* ---------- About manifesto: labels live in their own header, never inside yellow stripe ---------- */
.manifesto-stage{padding:0!important;justify-content:flex-start!important;gap:0!important;min-height:0!important}
.manifesto-stage-head{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;padding:18px 28px!important;background:#dcd8ce!important;border-bottom:1px solid rgba(17,17,20,.14)!important;z-index:8!important;flex:0 0 auto!important}
.manifesto-stage-foot{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;padding:15px 28px!important;background:#dcd8ce!important;border-top:1px solid rgba(17,17,20,.12)!important;z-index:8!important;flex:0 0 auto!important}
.manifesto-row{flex:0 0 auto!important}
@media(max-width:900px){.manifesto-stage-head{padding:15px 20px!important}.manifesto-stage-foot{padding:13px 20px!important}}
@media(max-width:650px){.manifesto-stage-head{padding:13px 14px!important;font-size:7px!important}.manifesto-stage-foot{padding:12px 14px!important;font-size:7px!important}.manifesto-row{min-height:88px!important}}

/* ---------- Pricing: typography and balanced cards ---------- */
.offer-title-wrap h3 em,.price-card h3 em,.commercial-card h2 em,.conditions-card h2 em{font-family:"Instrument Serif",serif!important;font-style:italic!important;font-weight:400!important}
.offer-card{overflow:hidden!important}
.offer-card h3{line-height:.94!important}
@media(max-width:650px){
  .offer-card{border-radius:30px!important}
  .offer-head{padding:24px 18px!important;gap:18px!important}
  .offer-title-wrap h3{font-size:clamp(42px,12.2vw,58px)!important}
  .offer-body{grid-template-columns:1fr!important}
  .scope-col{padding:20px 18px!important}
}

/* ---------- Consistent touch spacing ---------- */
@media(max-width:650px){
  .site-shell{min-width:0}
  .about-section,.process-section,.faq-section,.rates-section{padding-top:34px!important}
  .about-block,.process-block,.faq-block,.rates-block{margin:0!important}
  .method-grid,.belief-grid,.next-grid,.expect-grid{gap:8px!important}
}


/* ---------- v0.2.2 final responsive QA ---------- */
/* On mobile WordPress usually hides its frontend admin bar; do not reserve a phantom 58px. */
@media(max-width:782px){
  body.cpt-wp-adminbar .topbar-wrap{top:0!important}
  body.cpt-wp-adminbar .top{top:0!important}
  body.cpt-wp-adminbar .mobile-menu{padding-top:92px!important}
}
@media(max-width:650px){
  .topbar-wrap{padding-top:8px!important}
  .topbar{height:58px!important}
}

/* Home service titles always keep the editorial sans + serif contrast. */
.service-card h3 i,.service-card h3 em{font-family:"Instrument Serif",serif!important;font-style:italic!important;font-weight:400!important;letter-spacing:-.02em!important}

/* Touch/tablet Atelier: preserve relative geometry. One calm movement for the whole composition, never cards crossing each other. */
@media(max-width:1024px){
  .atelier-stage{--ax:0!important;--ay:0!important}
  .atelier-canvas{animation:cptAtelierTouch 8s ease-in-out infinite!important;transform-origin:center center!important}
  .atelier-sheet,.atelier-type-band,.atelier-disc,.atelier-asterisk,.atelier-glow{animation:none!important}
}
@keyframes cptAtelierTouch{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-4px,0)}}
@media(max-width:650px){
  .atelier-stage{min-height:535px!important}
  .atelier-canvas{inset:50px 12px 48px!important;grid-template-rows:1.52fr .72fr .68fr!important}
  .atelier-sheet-main{min-height:220px!important}
  .atelier-sheet-main .sheet-word{margin-top:19px!important}
  .atelier-sheet-main .sheet-word-serif{margin-top:3px!important}
  .atelier-sheet-main .sheet-rule{bottom:43px!important}
  .atelier-sheet-main .sheet-bottom{bottom:14px!important}
}
@media(prefers-reduced-motion:reduce){.atelier-canvas{animation:none!important}}

/* Services selector is navigable but intentionally NOT sticky on tablet/mobile. */
@media(max-width:1024px){
  .service-nav{position:relative!important;top:auto!important;z-index:5!important}
  body.cpt-wp-adminbar .service-nav{top:auto!important}
}

/* Process CTA: never split a word such as "entendemos". */
@media(max-width:650px){
  .page-cta .cta-box h2{
    font-size:clamp(43px,12.2vw,57px)!important;
    line-height:.94!important;
    letter-spacing:-.035em!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
    text-wrap:balance!important;
  }
}

/* Nosotros method cards: deliberate internal rhythm; no symbol/title collisions. */
@media(max-width:650px){
  .method-strip{gap:9px!important}
  .method-step{display:grid!important;grid-template-rows:auto 52px auto 1fr!important;align-content:start!important;gap:10px!important;min-height:232px!important;padding:16px 14px!important}
  .method-step small{display:block!important;min-height:22px!important;line-height:1.35!important;margin:0!important}
  .method-symbol{align-self:center!important;margin:2px 0!important;line-height:1!important}
  .method-step strong{margin:0!important;line-height:1.02!important}
  .method-step span{align-self:start!important;margin:0!important}
  .belief-card{gap:14px!important}
  .belief-card small{display:block!important;line-height:1.35!important}
  .belief-icon{margin:2px 0 4px!important}
}

/* Pricing scope help: desktop hover/focus + mobile tap bottom message.
   IMPORTANT: the original scope row owns a ::before bullet. Keep a dedicated
   three-column grid so that bullet, copy and help icon can never compete for
   the same column (the v0.2.2 regression that made rows extremely tall). */
.scope-help-item{
  position:relative!important;
  display:grid!important;
  grid-template-columns:16px minmax(0,1fr) 22px!important;
  grid-template-rows:auto!important;
  column-gap:9px!important;
  align-items:start!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  cursor:help!important;
  outline:none!important;
}
.scope-help-item::before{grid-column:1!important;grid-row:1!important;align-self:start!important;margin:0!important;line-height:1.45!important}
.scope-help-text{grid-column:2!important;grid-row:1!important;min-width:0!important;width:auto!important;overflow-wrap:normal!important;word-break:normal!important}
.scope-help-mark{grid-column:3!important;grid-row:1!important;align-self:center!important;justify-self:end!important;width:19px;height:19px;border-radius:999px;display:grid;place-items:center;border:1px solid currentColor;font-size:9px;font-weight:800;line-height:1;opacity:.36;transition:.2s ease}
.scope-help-item:focus-visible{box-shadow:inset 0 0 0 1px var(--acid)!important;border-radius:8px!important}
.scope-help-item:hover .scope-help-mark,.scope-help-item:focus .scope-help-mark,.scope-help-item.is-open .scope-help-mark{background:var(--acid);border-color:var(--acid);color:#111;opacity:1}
.offer-card.yellow .scope-help-item:hover .scope-help-mark,.offer-card.light .scope-help-item:hover .scope-help-mark,.offer-card.yellow .scope-help-item:focus .scope-help-mark,.offer-card.light .scope-help-item:focus .scope-help-mark{background:#111;border-color:#111;color:#fff}
.cpt-scope-popover{position:fixed;z-index:1000000;width:min(340px,calc(100vw - 28px));padding:15px 16px;border-radius:17px;background:#111116;color:#f4f2ed;border:1px solid rgba(255,255,255,.14);box-shadow:0 18px 55px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .18s ease,transform .18s ease,visibility .18s;pointer-events:none}
.cpt-scope-popover.show{opacity:1;visibility:visible;transform:none}
.cpt-scope-popover strong{display:block;margin:0 0 7px;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:var(--acid)}
.cpt-scope-popover p{margin:0!important;font-size:12px!important;line-height:1.55!important;color:#cfccd4!important;font-weight:500!important}

/* Tarifas: keep the new help layer compact and preserve the original premium rhythm. */
.offer-card .scope-list{width:100%!important;min-width:0!important}
.offer-card .scope-list .scope-help-item{padding:10px 0!important;font-size:12px!important;line-height:1.45!important}
@media(max-width:900px){
  .offer-card .offer-body{grid-template-columns:1fr!important}
  .offer-card .scope-col{min-width:0!important}
}
@media(max-width:650px){
  .rates-offers{gap:10px!important}
  .offer-card{border-radius:27px!important}
  .offer-head{padding:20px 16px!important;gap:12px!important}
  .offer-title-wrap{gap:7px!important}
  .offer-title-wrap h3{font-size:clamp(38px,11.2vw,50px)!important;line-height:.94!important;max-width:9.5ch!important}
  .offer-head p{font-size:12px!important;line-height:1.5!important}
  .offer-price{gap:2px!important}
  .offer-price strong{font-size:clamp(31px,9.6vw,42px)!important}
  .scope-col{padding:17px 16px!important}
  .scope-label{margin-bottom:8px!important}
  .offer-card .scope-list .scope-help-item{grid-template-columns:14px minmax(0,1fr) 20px!important;column-gap:7px!important;padding:9px 0!important;font-size:11.5px!important;line-height:1.42!important}
  .scope-help-mark{width:18px;height:18px;font-size:8px}
  .offer-foot{padding:11px 16px 15px!important;align-items:flex-start!important;gap:8px!important}
  .offer-foot p{font-size:9.5px!important;line-height:1.45!important}
  .cpt-scope-popover{width:auto!important;max-width:none!important;padding:16px 17px 17px!important;border-radius:19px!important;box-shadow:0 -8px 40px rgba(0,0,0,.42)!important}
  .cpt-scope-popover p{font-size:12.5px!important;line-height:1.58!important}
}



/* ---------- v0.2.4 global interaction hardening ---------- */
/* Arrow artwork is SVG, never an OS emoji glyph. */
.cpt-svg-icon{display:inline-grid;place-items:center;width:1em;height:1em;flex:0 0 auto;vertical-align:-.12em;color:currentColor;line-height:1}
.cpt-svg-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arr .cpt-svg-icon,.button-icon .cpt-svg-icon,.btn .icon .cpt-svg-icon{width:15px;height:15px;vertical-align:0}
.flow-cell b .cpt-svg-icon{width:25px;height:25px;vertical-align:0}
.text-link .cpt-svg-icon,.mobile-links .cpt-svg-icon{width:.86em;height:.86em;margin-left:.22em}

/* One mobile navigation implementation for every CPT page (including Contact and Legal). */
.cpt-global-menu-btn{display:none!important;cursor:pointer;z-index:1003}
.cpt-global-mobile-menu{position:fixed!important;inset:0!important;z-index:1000!important;background:rgba(8,8,11,.96)!important;backdrop-filter:blur(22px)!important;-webkit-backdrop-filter:blur(22px)!important;padding:88px 20px max(24px,env(safe-area-inset-bottom))!important;flex-direction:column!important;justify-content:space-between!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:opacity .24s ease,visibility .24s ease!important}
.cpt-global-mobile-menu.open{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
.cpt-global-mobile-menu .mobile-links{display:grid!important;gap:0!important;align-content:start!important}
.cpt-global-mobile-menu .mobile-links a{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:13px 2px!important;border-bottom:1px solid rgba(255,255,255,.09)!important;font-family:"Manrope",sans-serif!important;font-size:clamp(23px,6.3vw,31px)!important;line-height:1.02!important;letter-spacing:-.035em!important;font-weight:500!important;color:#f3f0e8!important}
.cpt-global-mobile-menu .mobile-links a.active{color:#FFD600!important}
.cpt-global-mobile-menu .mobile-meta{font-size:11px!important;line-height:1.6!important;color:#77757f!important;max-width:310px!important}
body.cpt-menu-open{overflow:hidden!important;touch-action:none}
@media(min-width:901px){.cpt-global-mobile-menu{display:none!important}}
@media(max-width:900px){
  .cpt-global-menu-btn{display:block!important}
  .topbar-wrap,.top{z-index:1002!important}
  .top .nav>.links,.top .nav>.cta{display:none!important}
  .top .nav{justify-content:space-between!important}
  .top .nav>.brand{margin-right:auto!important}
  .top .nav>.cpt-global-menu-btn{margin-left:auto!important}
}
@media(max-width:650px){
  .cpt-global-mobile-menu{padding-top:80px!important}
  .cpt-global-mobile-menu .mobile-links a{font-size:clamp(22px,6vw,28px)!important;padding:12px 2px!important}
}

/* Home "Identidad → Sistema → Experiencia": stable component, never a giant broken stack. */
@media(max-width:650px){
  .manifesto{padding:24px 20px!important;gap:24px!important}
  .cpt-identity-chain{display:grid!important;width:100%!important;gap:0!important;align-items:stretch!important}
  .cpt-identity-chain .manifesto-word{position:relative!important;display:flex!important;align-items:center!important;width:100%!important;min-width:0!important;padding:13px 0!important;margin:0!important;font-size:clamp(38px,11.2vw,50px)!important;line-height:.96!important;letter-spacing:-.035em!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;transform:none!important}
  .cpt-identity-chain .manifesto-word+.manifesto-word{padding-left:34px!important;border-top:1px solid rgba(255,255,255,.06)!important}
  .cpt-identity-chain .manifesto-word+.manifesto-word:before{content:""!important;position:absolute!important;left:5px!important;top:50%!important;width:11px!important;height:11px!important;border-right:2px solid currentColor!important;border-bottom:2px solid currentColor!important;transform:translateY(-65%) rotate(45deg)!important;opacity:.72!important}
  .manifesto-note{max-width:100%!important}
}

/* Touch help has a single source of truth: tap once to open. */
@media(hover:none),(pointer:coarse){
  .scope-help-item{cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;user-select:none!important}
  .scope-help-mark{opacity:.62!important}
}
/* Global hamburger geometry is defined here so legal/contact templates do not depend on page-local CSS. */
.cpt-global-menu-btn{width:44px!important;height:44px!important;border:0!important;border-radius:14px!important;background:rgba(255,255,255,.08)!important;color:#fff!important;position:relative!important;padding:0!important;box-shadow:none!important}
.cpt-global-menu-btn span,.cpt-global-menu-btn:before{content:""!important;position:absolute!important;left:13px!important;width:18px!important;height:1.5px!important;background:#fff!important;border-radius:999px!important;transition:top .2s ease,transform .2s ease!important}
.cpt-global-menu-btn span{top:18px!important}.cpt-global-menu-btn:before{top:25px!important}
.cpt-global-menu-btn.active span{top:21px!important;transform:rotate(45deg)!important}.cpt-global-menu-btn.active:before{top:21px!important;transform:rotate(-45deg)!important}


/* ---------- v0.2.5 definitive mobile navigation + responsive hardening ---------- */
/* The overlay is a unique component. It deliberately does NOT reuse .mobile-menu,
   because some approved templates define .mobile-menu{display:none}. */
.cpt-mobile-overlay{display:none;position:fixed;inset:0;z-index:1001;background:rgba(8,8,11,.975);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);padding:88px 20px max(24px,env(safe-area-inset-bottom));opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.cpt-mobile-overlay.open{opacity:1;visibility:visible;pointer-events:auto}
.cpt-mobile-links{display:grid;align-content:start;gap:0;width:100%;max-width:720px;margin:0 auto}
.cpt-mobile-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 2px;border-bottom:1px solid rgba(255,255,255,.09);font-family:"Manrope",sans-serif;font-size:clamp(22px,6vw,30px);font-weight:500;line-height:1.04;letter-spacing:-.035em;color:#f3f0e8;text-decoration:none}
.cpt-mobile-links a.active{color:#FFD600}
.cpt-mobile-links .cpt-mobile-cta{color:#FFD600;font-weight:650}
.cpt-mobile-links .cpt-svg-icon{width:.88em;height:.88em;margin-left:auto}
.cpt-mobile-meta{width:100%;max-width:720px;margin:auto auto 0;color:#77757f;font-size:11px;line-height:1.6}
@media(max-width:900px){
  .cpt-mobile-overlay{display:flex!important;flex-direction:column!important;justify-content:space-between!important}
  .cpt-mobile-overlay:not(.open){visibility:hidden!important;pointer-events:none!important}
  .topbar-wrap,.top{z-index:1003!important}
  .topbar,.top .nav{position:relative!important;z-index:1003!important}
  .cpt-global-menu-btn{display:block!important;flex:0 0 44px!important}
  body.cpt-menu-open{overflow:hidden!important;touch-action:none!important}
}
@media(max-width:650px){
  .cpt-mobile-overlay{padding:76px 18px max(22px,env(safe-area-inset-bottom))!important}
  .cpt-mobile-links a{font-size:clamp(21px,6.6vw,28px)!important;padding:11px 2px!important}
}

/* All directional UI artwork is vector, never a platform emoji. */
.method-symbol .cpt-svg-icon,.translation-icon .cpt-svg-icon,.step-icon .cpt-svg-icon,.spec-arrow .cpt-svg-icon{width:1em;height:1em;display:block}
.method-symbol,.translation-icon,.step-icon,.spec-arrow{font-variant-emoji:text!important;font-family:"Instrument Serif","Manrope",sans-serif!important}

/* Services selector: restored premium card language. Never sticky on touch layouts. */
@media(max-width:900px){
  .service-explorer-grid{grid-template-columns:1fr!important;gap:12px!important}
  .service-nav{position:relative!important;top:auto!important;z-index:5!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important;overflow:visible!important;padding:8px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:28px!important;background:#111115!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:none!important}
  body.cpt-wp-adminbar .service-nav{top:auto!important}
  .service-nav-label{display:none!important}
  .service-nav button{display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:space-between!important;gap:8px!important;width:100%!important;min-width:0!important;height:84px!important;min-height:84px!important;max-height:84px!important;padding:11px 10px!important;border:1px solid rgba(255,255,255,.065)!important;border-radius:18px!important;background:rgba(255,255,255,.025)!important;color:#b7b4be!important;text-align:left!important;scroll-snap-align:none!important;box-shadow:none!important}
  .service-nav button span{display:block!important;font-size:7.5px!important;line-height:1!important;letter-spacing:.12em!important;opacity:.52!important}
  .service-nav button strong{display:block!important;font-size:10px!important;line-height:1.18!important;letter-spacing:-.015em!important;font-weight:650!important;overflow-wrap:normal!important;word-break:normal!important}
  .service-nav button i{display:none!important}
  .service-nav button.active{background:#FFD600!important;color:#111!important;border-color:#FFD600!important}
  .service-nav button.active span{color:#594c00!important;opacity:.8!important}
}
@media(max-width:430px){
  .service-nav{gap:6px!important;padding:7px!important}
  .service-nav button{min-height:74px!important;padding:10px 8px!important}
  .service-nav button strong{font-size:9.4px!important}
}

/* Keep all touch grids geometrically even across browsers. */
@media(max-width:650px){
  .signature-flow,.method-strip,.translation-grid,.strategy-flow{align-items:stretch!important}
  .flow-cell,.method-step,.translation-card,.strategy-step{height:100%!important;margin:0!important}
  .flow-cell,.method-step{transform:none!important;translate:none!important}
}

/* Footer/document tail: no artificial min-height or template overlay can create a long black tail. */
html,body{min-height:0!important;height:auto!important}
.cpt-footer-shell{margin-bottom:0!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}
.cpt-footer-shell footer{margin-bottom:0!important;padding-bottom:18px!important}
body.cpt-page-contact .cpt-footer-shell,body.cpt-page-thanks .cpt-footer-shell{min-height:0!important}
@media(max-width:650px){
  .cpt-footer-shell{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
  .cpt-footer-shell footer{padding-bottom:10px!important}
}

/* Never use a Unicode arrow in generated pseudo-content. */
.interaction-hint:before{content:""!important;display:none!important}


/* ---------- v0.2.6 final card + Services navigator repair ---------- */
/* About methodology: dynamic content may never overwrite the icon slot. */
.method-step>.method-symbol{display:flex!important;align-items:center!important;justify-content:flex-start!important;min-height:58px!important;width:100%!important;overflow:visible!important;color:currentColor!important}
.method-step>.method-symbol .cpt-method-vector{display:block!important;width:56px!important;height:56px!important;flex:0 0 56px!important}
.method-step>.method-symbol .cpt-method-vector svg{display:block!important;width:100%!important;height:100%!important;fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.method-step>.method-symbol .cpt-method-braces{display:block!important;font-family:"Instrument Serif",serif!important;font-size:58px!important;line-height:.8!important;font-style:normal!important;letter-spacing:-.08em!important}
@media(max-width:650px){
  .method-step{grid-template-rows:auto 62px auto 1fr!important;gap:11px!important}
  .method-step>.method-symbol{min-height:62px!important}
  .method-step>.method-symbol .cpt-method-vector{width:58px!important;height:58px!important;flex-basis:58px!important}
  .method-step>.method-symbol .cpt-method-braces{font-size:61px!important}
  .method-step>:scope{} /* intentional no-op: keeps this block isolated from legacy descendant selectors */
}

/* Home identity chain: connector is intentionally large enough to read as a real arrow on phones. */
@media(max-width:650px){
  .cpt-identity-chain .manifesto-word+.manifesto-word{padding-left:50px!important}
  .cpt-identity-chain .manifesto-word+.manifesto-word:before{left:8px!important;width:18px!important;height:18px!important;border-right-width:3px!important;border-bottom-width:3px!important;opacity:.82!important}
}

/* Services navigator owns its own DOM contract. No legacy span/i rule can collapse number and title. */
@media(max-width:900px){
  .service-nav{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:9px!important;border:1px solid rgba(255,255,255,.095)!important;border-radius:28px!important;background:#111115!important;position:relative!important;top:auto!important;overflow:visible!important}
  .service-nav button{position:relative!important;display:flex!important;flex-direction:column!important;align-items:flex-start!important;justify-content:flex-end!important;gap:0!important;width:100%!important;min-width:0!important;height:94px!important;min-height:94px!important;max-height:none!important;padding:34px 11px 12px!important;border:1px solid rgba(255,255,255,.075)!important;border-radius:19px!important;background:#17171d!important;color:#b9b6c0!important;text-align:left!important;overflow:hidden!important}
  .service-nav button .cpt-service-nav-number{position:absolute!important;top:11px!important;left:11px!important;display:block!important;width:auto!important;height:auto!important;margin:0!important;padding:0!important;font-family:"Manrope",sans-serif!important;font-size:8px!important;font-weight:750!important;line-height:1!important;letter-spacing:.13em!important;opacity:.55!important;color:currentColor!important}
  .service-nav button .cpt-service-nav-title{position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0 20px 0 0!important;font-family:"Manrope",sans-serif!important;font-size:11.5px!important;font-weight:650!important;line-height:1.12!important;letter-spacing:-.022em!important;color:currentColor!important;white-space:normal!important;overflow-wrap:normal!important;word-break:normal!important;text-wrap:balance!important}
  .service-nav button .cpt-service-nav-indicator{position:absolute!important;right:10px!important;bottom:10px!important;display:grid!important;place-items:center!important;width:19px!important;height:19px!important;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:7px!important;opacity:.48!important;color:currentColor!important}
  .service-nav button .cpt-service-nav-indicator .cpt-svg-icon{display:block!important;width:10px!important;height:10px!important;margin:0!important}
  .service-nav button.active{background:#FFD600!important;color:#111!important;border-color:#FFD600!important;box-shadow:0 10px 28px rgba(255,214,0,.08)!important}
  .service-nav button.active .cpt-service-nav-number{color:#5a4b00!important;opacity:.82!important}
  .service-nav button.active .cpt-service-nav-indicator{background:#111!important;color:#fff!important;border-color:#111!important;opacity:1!important}
}
@media(max-width:430px){
  .service-nav{gap:7px!important;padding:8px!important}
  .service-nav button{height:92px!important;min-height:92px!important;padding:33px 9px 11px!important;border-radius:17px!important}
  .service-nav button .cpt-service-nav-number{top:10px!important;left:10px!important;font-size:7.5px!important}
  .service-nav button .cpt-service-nav-title{font-size:10.6px!important;line-height:1.13!important;padding-right:17px!important}
  .service-nav button .cpt-service-nav-indicator{right:9px!important;bottom:9px!important;width:18px!important;height:18px!important}
}

/* Home signature Web arrow: keep the vector as visually strong as the neighboring symbols. */
.flow-cell b .cpt-svg-icon{width:36px!important;height:36px!important;stroke-width:2.35!important}
@media(max-width:650px){.flow-cell b .cpt-svg-icon{width:40px!important;height:40px!important}}
