/* Layout: lienzo Vacío de 12 columnas. Un héroe fijado por scroll donde las dos mitades del escudo se unen en la costura; después, capítulos sobrios separados por líneas de acero. Apariencia única y oscura, como fija el manual Nácar. */
:root{
  --vacio:#07080B;--grafito:#16181D;--acero:#2A2E36;--plata:#D9DCE3;--niebla:#8A8F99;
  --hielo:#CBD8FF;--lila:#E8CBF3;--menta:#C3F0E8;--perla:#F4F3F1;
  --nacar:linear-gradient(135deg,var(--hielo),var(--lila) 50%,var(--menta));
  --line:rgba(217,220,227,.10);--line-2:rgba(217,220,227,.18);--grid:rgba(217,220,227,.06);
  --fd:"Michroma","Eurostile","Microgramma",sans-serif;
  --fb:"Sora","Helvetica Neue",Arial,sans-serif;
  --fm:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --ease:cubic-bezier(.2,.7,.1,1);
  --gutter:clamp(16px,4vw,56px);--maxw:1320px;--nav-h:76px;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--vacio);-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px) - 1px)}
body{margin:0;background:var(--vacio);color:var(--plata);font-family:var(--fb);font-weight:300;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}
::selection{background:var(--lila);color:var(--vacio)}
a{color:inherit}
img,svg{display:block;max-width:100%}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0}
ul,ol{padding:0;list-style:none}
[hidden]{display:none!important}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
:focus-visible{outline:1.5px solid var(--lila);outline-offset:4px;border-radius:2px}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:var(--plata);color:var(--vacio);padding:10px 14px;font-family:var(--fm);font-size:12px;text-decoration:none}
.skip:focus{top:16px}
main,.foot{overflow-x:clip}
.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Tipos */
.m,.eyebrow{font-family:var(--fm);font-weight:400;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.eyebrow{display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:1px;height:14px;background:linear-gradient(var(--hielo),var(--lila),var(--menta))}
.nac{background:var(--nacar);-webkit-background-clip:text;background-clip:text;color:transparent}
.h2{font-family:var(--fd);font-weight:400;font-size:clamp(26px,3.5vw,50px);line-height:1.16;letter-spacing:.02em;text-wrap:balance}
.h3{font-family:var(--fd);font-weight:400;font-size:clamp(18px,1.7vw,24px);line-height:1.3;letter-spacing:.03em}
.lead{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--niebla);max-width:52ch}
.lead strong{color:var(--plata);font-weight:400}
.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.12em;margin-bottom:-.12em}
.wi{display:inline-block}
.nac .wi,.nac.wi{background:var(--nacar);-webkit-background-clip:text;background-clip:text;color:transparent}

/* Botones */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:50px;padding:0 24px;border-radius:3px;font-family:var(--fm);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background-position 1.1s var(--ease),border-color .5s var(--ease),color .5s var(--ease)}
.btn svg{width:16px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .7s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn-nacar{background:linear-gradient(110deg,var(--hielo),var(--lila) 33%,var(--menta) 66%,var(--hielo));background-size:300% 100%;background-position:0 0;color:var(--vacio)}
.btn-nacar:hover{background-position:100% 0}
.btn-ghost{border:1px solid var(--line-2);color:var(--plata)}
.btn-ghost:hover{border-color:rgba(232,203,243,.55)}
.btn-sm{min-height:40px;padding:0 18px;font-size:11px}

/* Navegación */
.nav{position:fixed;left:0;right:0;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px)}
.nav::before{content:"";position:absolute;inset:0;background:rgba(7,8,11,.72);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line);opacity:0;transition:opacity .7s var(--ease)}
.nav.solid::before{opacity:1}
.nav-in{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;height:var(--nav-h);max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}
.brand{display:block;text-decoration:none;border-radius:2px}
.lockup{height:28px;width:auto;overflow:visible}
.motion .nav-home #navSym{opacity:var(--ns,0)}
.motion .nav-home #navWord{transform:translate(calc(var(--nw,-118) * 1px),0)}
.nav-links{display:flex;align-items:center;gap:clamp(20px,2.4vw,40px)}
.nl{position:relative;display:inline-flex;align-items:center;gap:9px;font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla);text-decoration:none;padding-block:6px;transition:color .4s var(--ease)}
.nl::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--nacar);transform:scaleX(0);transform-origin:right;transition:transform .7s var(--ease)}
.nl:hover,.nl.cur,.nl[aria-current="page"],.dd.open>.nl{color:var(--plata)}
.nl:hover::after,.nl.cur::after,.nl[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}
.dd{position:relative}
.dd-btn i{width:6px;height:6px;margin-top:-3px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);transition:margin .6s var(--ease)}
.dd.open .dd-btn i{margin-top:2px}
.dd-panel{position:absolute;left:50%;top:calc(100% + 22px);width:560px;max-width:calc(100vw - 32px);padding:8px;background:rgba(14,15,19,.95);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--line-2);border-radius:6px;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .45s var(--ease),transform .6s var(--ease),visibility 0s linear .6s}
.dd-panel::before{content:"";position:absolute;left:0;right:0;top:-23px;height:23px}
.dd-sm{width:380px}
.dd.open .dd-panel{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .45s var(--ease),transform .6s var(--ease),visibility 0s}
.dd-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}
.dd-list{display:grid;gap:2px}
.dd-item{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:14px;padding:14px;border-radius:4px;text-decoration:none;transition:background .4s var(--ease)}
.dd-item:hover,.dd-item:focus-visible,.dd-item[aria-current="page"]{background:rgba(217,220,227,.05)}
.dd-item svg{width:22px;height:22px;margin-top:1px;fill:none;stroke:var(--plata);stroke-width:1.4;stroke-linecap:square;transition:stroke .4s var(--ease)}
.dd-item:hover svg{stroke:var(--lila)}
.dd-item b{display:block;font-weight:400;font-size:14.5px;line-height:1.35;color:var(--plata)}
.dd-item small{display:block;margin-top:3px;font-size:12.5px;line-height:1.45;color:var(--niebla)}
.dd-list .dd-item{grid-template-columns:44px minmax(0,1fr);align-items:center}
.dd-sw{display:block;width:44px;height:30px;border-radius:2px;background:var(--sw);border:1px solid var(--line)}
.dd-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:6px;padding:10px 14px 4px;border-top:1px solid var(--line)}
.dd-foot .more{font-size:10.5px}
.menu-btn{display:none;align-items:center;gap:10px;font-family:var(--fm);font-size:11px;letter-spacing:.16em;text-transform:uppercase;min-height:44px;padding:0 4px}
.menu-btn i{position:relative;width:18px;height:7px;border-top:1px solid var(--plata);border-bottom:1px solid var(--plata);transition:transform .6s var(--ease)}
.menu-btn[aria-expanded="true"] i{transform:scaleX(.6)}
.menu{position:fixed;inset:0;z-index:55;background:var(--vacio);display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding:calc(var(--nav-h) + env(safe-area-inset-top,0px) + 24px) var(--gutter) calc(28px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;clip-path:inset(0 50% 0 50%);transition:clip-path 1s var(--ease)}
.menu.open{clip-path:inset(0 0 0 0)}
.menu-main{display:grid;gap:2px}
.menu-main a{font-family:var(--fd);font-size:clamp(24px,7vw,38px);line-height:1.45;text-decoration:none;letter-spacing:.02em}
.menu a[aria-current="page"]{color:var(--lila)}
.menu-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.menu-groups ul{display:grid;gap:12px;margin-top:14px}
.menu-groups a{font-size:15px;line-height:1.35;color:var(--plata);text-decoration:none}
@media (max-width:960px){.nav-links{display:none}.menu-btn{display:inline-flex}.lockup{height:24px}}

/* ——— Héroe ——— */
.hero{position:relative}
.hero-stage{position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:44px;padding:calc(var(--nav-h) + 72px) var(--gutter) 96px;text-align:center}
.glow{position:absolute;inset:-10%;pointer-events:none}
.glow i{position:absolute;left:50%;top:50%;width:64vmax;height:64vmax;margin:-32vmax 0 0 -32vmax;border-radius:50%}
.glow .g1{background:radial-gradient(closest-side,rgba(203,216,255,.20),transparent);translate:-24% -10%;animation:drift1 15s ease-in-out infinite alternate}
.glow .g2{background:radial-gradient(closest-side,rgba(232,203,243,.17),transparent);translate:20% 12%;animation:drift2 13s ease-in-out infinite alternate}
.glow .g3{background:radial-gradient(closest-side,rgba(195,240,232,.12),transparent);translate:4% -26%;animation:drift3 16s ease-in-out infinite alternate}
@keyframes drift1{to{transform:translate(6%,4%) scale(1.08)}}
@keyframes drift2{to{transform:translate(-7%,-5%) scale(.94)}}
@keyframes drift3{to{transform:translate(-4%,7%) scale(1.1)}}
.grid{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-position:center center;-webkit-mask-image:radial-gradient(ellipse 58% 52% at 50% 48%,#000 18%,transparent 78%);mask-image:radial-gradient(ellipse 58% 52% at 50% 48%,#000 18%,transparent 78%);opacity:.35}
.seam,.gap-light,.scan,.tag,.statement,.hud{display:none}
.shield{position:relative;width:min(150px,36vw);aspect-ratio:72/80;flex:none}
.half{position:absolute;top:0;height:100%;width:44.4444%}
.half-l{left:0}.half-r{right:0}
.pi{position:absolute;inset:0}
.half svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.half .o{display:none}
.o path{fill:none;stroke:var(--plata);stroke-opacity:.6;stroke-width:var(--sw,.14);stroke-dasharray:1 1;stroke-dashoffset:0;stroke-linejoin:miter}
.hero-copy{position:relative;display:flex;flex-direction:column;align-items:center;gap:26px;max-width:860px}
.display{font-family:var(--fd);font-weight:400;font-size:clamp(32px,4.6vw,68px);line-height:1.1;letter-spacing:.02em}
.line{display:block;overflow:hidden;padding-bottom:.14em;margin-bottom:-.14em}
.line>span{display:inline-block}
.hero-copy .sub{font-size:clamp(16px,1.3vw,18px);line-height:1.6;color:var(--niebla);max-width:44ch}
.ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

/* Héroe animado (solo con movimiento activo) */
.motion .hero{height:400vh;height:400svh}
.motion .intro{position:relative;z-index:2;margin-top:-80vh;margin-top:-80svh;padding-top:clamp(64px,8vw,120px)}
.motion .hero-stage{position:sticky;top:0;height:100vh;height:100svh;display:block;padding:0}
.motion .shield{position:absolute;left:50%;top:50%;height:min(86svh,150vw);width:auto;transform:translate(-50%,-50%);will-change:transform}
.motion .half{will-change:transform}
.motion .half .o{display:block}
.motion .half .f{clip-path:inset(100% 0 0 0)}
.motion .hero-copy{position:absolute;inset:0;max-width:none;justify-content:center;padding:calc(var(--nav-h) + 24px) var(--gutter) 120px;pointer-events:none}
.motion .hero-copy>*{pointer-events:auto}
.motion .hero-copy .sub{max-width:40ch}
.motion .seam{display:block;position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:linear-gradient(transparent,rgba(232,203,243,.55) 28%,rgba(203,216,255,.6) 72%,transparent);transform-origin:50% 50%;pointer-events:none}
.motion .seam-m{-webkit-mask-image:linear-gradient(#000 0,#000 13%,transparent 22%,transparent 80%,#000 88%,#000 100%);mask-image:linear-gradient(#000 0,#000 13%,transparent 22%,transparent 80%,#000 88%,#000 100%)}
.motion .seam-f{opacity:0}
.motion .gap-light{display:block;position:absolute;left:50%;top:-6%;bottom:-6%;width:2.2%;translate:-50% 0;background:linear-gradient(transparent,#fff 18%,var(--lila) 50%,#fff 82%,transparent);box-shadow:0 0 40px 6px rgba(232,203,243,.45);border-radius:2px;opacity:0;pointer-events:none}
.motion .scan{display:block;position:absolute;left:-6%;right:-6%;top:100%;height:2px;margin-top:-1px;background:linear-gradient(90deg,transparent,var(--lila) 20%,#fff 50%,var(--menta) 80%,transparent);opacity:0;pointer-events:none}
.motion .tag{display:grid;gap:4px;position:absolute;top:calc(var(--cyJ,43vh) - 34px);width:max-content;max-width:min(220px,22vw);opacity:0}
.tag strong{font-family:var(--fd);font-weight:400;font-size:15px;letter-spacing:.04em;color:var(--plata)}
.tag .tag-d{font-size:13px;color:var(--niebla);line-height:1.45}
.tag .tick{position:absolute;top:22px;width:40px;height:1px;background:var(--line-2)}
.tag-l{right:calc(50% + var(--wJ,180px) / 2 + 64px);text-align:right}
.tag-l .tick{left:calc(100% + 14px);transform-origin:right}
.tag-r{left:calc(50% + var(--wJ,180px) / 2 + 64px);text-align:left}
.tag-r .tick{right:calc(100% + 14px);transform-origin:left}
.motion .statement{display:grid;justify-items:center;gap:16px;position:absolute;left:0;right:0;margin-inline:auto;width:min(680px,calc(100% - 2 * var(--gutter)));top:calc(var(--cyJ,43vh) + var(--hJ,360px) / 2 + 40px);text-align:center;pointer-events:none}
.statement .display-2{font-family:var(--fd);font-weight:400;font-size:clamp(22px,2.6vw,36px);line-height:1.2;letter-spacing:.03em}
.statement p{color:var(--niebla);max-width:44ch}
.motion .hud{display:flex;position:absolute;left:0;right:0;bottom:0;justify-content:space-between;align-items:flex-end;gap:16px;padding:0 var(--gutter) max(26px,env(safe-area-inset-bottom,0px));pointer-events:none}
.hud>div{display:grid;gap:6px}
.hud b{font-weight:500;font-size:13px;letter-spacing:.08em;color:var(--plata);font-variant-numeric:tabular-nums;transition:color .6s var(--ease)}
.hud-r{text-align:right}
.joined .hud b{color:var(--lila)}
.cue{justify-items:center;text-align:center}
.cue i{position:relative;display:block;width:1px;height:44px;background:var(--line-2);overflow:hidden}
.cue i::after{content:"";position:absolute;left:0;top:-40%;width:1px;height:40%;background:linear-gradient(transparent,var(--lila));animation:cue 2.4s var(--ease) infinite}
@keyframes cue{to{top:110%}}
.pre .nav-in,.pre .shield,.pre .seam,.pre .hud,.pre .hero-copy>*,.pre .sh{opacity:0}
@media (max-width:719px){
  .motion .shield{height:min(80svh,150vw)}
  .motion .tag{max-width:42vw}
  .o path{stroke-opacity:.4}
  .motion .tag{top:calc(var(--cyJ,43vh) - var(--hJ,280px) / 2 - 64px)}
  .tag-l{right:calc(50% + 10px)}
  .tag-r{left:calc(50% + 10px)}
  .tag .tick,.tag .tag-d{display:none}
  .motion .statement{top:calc(var(--cyJ,43vh) + var(--hJ,280px) / 2 + 28px)}
  .motion .statement p{font-size:15px}
  .hud .cue span{display:none}
}

/* ——— Secciones ——— */
.sec{position:relative;padding-block:clamp(88px,10vw,150px)}
.sec+.sec{border-top:1px solid var(--line)}
.sec-head{display:grid;gap:22px}
.sec-head .lead{margin-top:4px}

/* Manifiesto */
.intro{padding-top:clamp(120px,14vw,200px)}
.manifesto{font-family:var(--fb);font-weight:300;font-size:clamp(26px,4.1vw,58px);line-height:1.2;letter-spacing:-.012em;max-width:16.5em;margin-top:28px;text-wrap:pretty}
.manifesto .mw{transition:none}
.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(64px,8vw,120px);border-top:1px solid var(--line)}
.metric{display:grid;align-content:start;gap:12px;padding:30px 24px 0 0}
.metric+.metric{padding-left:24px;border-left:1px solid var(--line)}
.metric .num{font-family:var(--fd);font-size:clamp(28px,3.3vw,48px);line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums;white-space:nowrap}
.metric .num small{font-size:.42em;letter-spacing:.06em;color:var(--niebla);margin-left:.2em}
.metric .lbl{font-size:14px;color:var(--niebla);line-height:1.5;max-width:22ch}
@media (max-width:820px){
  .metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .metric{padding:26px 16px 26px 0}
  .metric:nth-child(odd){padding-left:0;border-left:0}
  .metric:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .metric:nth-child(n+3){border-top:1px solid var(--line)}
}

/* Servicios */
.svc-list{margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--line)}
.svc{position:relative;display:grid;grid-template-columns:56px minmax(0,1.05fr) minmax(0,1fr) 44px;gap:20px 32px;align-items:start;padding:40px 0;border-bottom:1px solid var(--line);isolation:isolate}
.svc::before{content:"";position:absolute;inset:0 calc(var(--gutter) * -1);z-index:-1;background:radial-gradient(420px circle at calc(var(--mx,50%) + var(--gutter)) var(--my,50%),rgba(232,203,243,.07),transparent 70%);opacity:0;transition:opacity .7s var(--ease)}
.svc:hover::before{opacity:1}
.svc-ic svg{width:30px;height:30px;fill:none;stroke:var(--plata);stroke-width:1.4;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .5s var(--ease)}
.svc-ic svg *{vector-effect:non-scaling-stroke}
.svc:hover .svc-ic svg{stroke:var(--lila)}
.svc h3{transition:transform .9s var(--ease)}
.svc:hover h3{transform:translateX(8px)}
.svc-body p{color:var(--niebla);max-width:46ch}
.svc-body .svc-price{max-width:none;margin-top:16px;font-family:var(--fm);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--niebla)}
.svc-price b{font-weight:500;color:var(--plata)}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.chips li{font-family:var(--fm);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-2);padding:5px 9px;border-radius:2px;color:var(--niebla)}
.svc-go{justify-self:end;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;transition:border-color .5s var(--ease),background .5s var(--ease)}
.svc-go svg{width:14px;height:10px;fill:none;stroke:var(--plata);stroke-width:1.4;transition:transform .7s var(--ease)}
.svc:hover .svc-go{border-color:transparent;background:var(--nacar)}
.svc:hover .svc-go svg{stroke:var(--vacio);transform:translateX(2px)}
@media (max-width:860px){
  .svc{grid-template-columns:40px minmax(0,1fr);padding:32px 0}
  .svc-body{grid-column:2}
  .svc-go{display:none}
}

/* Proceso */
.process-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,120px)}
.process-head{position:sticky;top:calc(var(--nav-h) + 56px);align-self:start}
.phases{position:relative;padding-left:56px}
.rail{position:absolute;left:4px;top:10px;bottom:10px;width:1px;background:var(--line-2)}
.rail-fill{position:absolute;inset:0;background:linear-gradient(var(--hielo),var(--lila),var(--menta));transform-origin:50% 0}
.phase{position:relative;padding-bottom:clamp(56px,7vw,96px)}
.phase:last-child{padding-bottom:0}
.phase .dot{position:absolute;left:-56px;top:5px;width:9px;height:9px;background:var(--vacio);border:1px solid var(--niebla);transition:background .6s var(--ease),border-color .6s var(--ease)}
.phase.is-on .dot{background:var(--lila);border-color:var(--lila)}
.phase h3{margin-top:14px;color:var(--niebla);transition:color .8s var(--ease)}
.phase.is-on h3{color:var(--plata)}
.phase p{color:var(--niebla);margin-top:14px;max-width:48ch}
.ph-meta{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.ph-meta div{display:grid;gap:4px}
.ph-meta dd{font-size:15px;color:var(--plata)}
@media (max-width:860px){
  .process-grid{grid-template-columns:minmax(0,1fr)}
  .process-head{position:relative;top:auto}
  .phases{padding-left:40px}
  .phase .dot{left:-40px}
}

/* Trabajo */
.work-list{display:grid;gap:clamp(28px,4vw,56px);margin-top:clamp(48px,6vw,88px)}
.work-card{position:sticky;top:calc(var(--nav-h) + 16px)}
.work-inner{position:relative;display:flex;flex-direction:column;height:clamp(460px,76svh,780px);background:var(--grafito);border:1px solid var(--line);border-radius:6px;overflow:hidden;transform-origin:50% 0}
.work-shade{position:absolute;inset:0;z-index:3;background:var(--vacio);opacity:0;pointer-events:none}
.work-media{position:relative;flex:1;min-height:0;overflow:hidden;container-type:size}
.work-meta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 24px;padding:20px 24px;border-top:1px solid var(--line)}
.work-meta h3{font-size:clamp(16px,1.4vw,20px)}
.work-meta p{font-size:14px;color:var(--niebla);margin-top:4px}
.work-meta .m{border:1px solid var(--line-2);padding:6px 10px;border-radius:2px}
@media (max-width:600px){.work-meta{grid-template-columns:minmax(0,1fr)}.work-meta .m{justify-self:start}}

/* Maquetas de proyecto (conceptos) */
.mk{position:absolute;inset:0;overflow:hidden;font-family:var(--fb)}
.mk-layer{position:absolute;inset:0}
.mk-bar{position:absolute;left:5cqw;right:5cqw;top:max(18px,4cqh);display:flex;align-items:center;justify-content:space-between;gap:2cqw;font-size:clamp(8px,1cqw,13px);letter-spacing:.3em;text-transform:uppercase}
.mk-bar .mk-nav{display:flex;gap:2.4cqw;letter-spacing:.12em;opacity:.7}
.mk-copy{position:absolute;left:6cqw;top:0;bottom:0;display:grid;align-content:center;gap:clamp(8px,1.6cqh,18px);max-width:44cqw}
.mk-eb{font-size:clamp(8px,.95cqw,12px);letter-spacing:.3em;text-transform:uppercase}
.mk-sub{font-size:clamp(11px,1.25cqw,16px);line-height:1.55;max-width:30ch}
.mk-btn{justify-self:start;font-size:clamp(8px,.85cqw,11px);letter-spacing:.24em;text-transform:uppercase;padding:1.1cqh 1.8cqw;border:1px solid currentColor}
/* Atelier Lumière */
.mk-lum{background:radial-gradient(90% 90% at 76% 46%,#2b2219 0%,#140f0b 55%,#0b0908 100%);color:#EFE3CB}
.mk-lum .mk-eb,.mk-lum .mk-btn{color:#C2AC80}
.mk-lum .mk-title{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(56px,11cqw,170px);line-height:.88;letter-spacing:-.01em;color:#F4E8CF}
.mk-lum .mk-sub{color:#A99A80}
.ring{position:absolute;right:9cqw;top:0;bottom:0;margin-block:auto;width:min(30cqw,62cqh);height:min(30cqw,62cqh)}
.ring .band{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 210deg,#5b4a30,#d9c193,#fff3d6,#a88b55,#4d3d26,#c8ad78,#fff0cf,#7b6440,#5b4a30);-webkit-mask:radial-gradient(circle,transparent 60%,#000 60.5%,#000 69%,transparent 69.5%);mask:radial-gradient(circle,transparent 60%,#000 60.5%,#000 69%,transparent 69.5%)}
.ring .gem{position:absolute;left:50%;top:15%;width:18%;aspect-ratio:1;translate:-50% -50%;rotate:45deg;background:linear-gradient(135deg,#fff 0%,var(--hielo) 30%,var(--lila) 55%,var(--menta) 80%,#fff 100%);box-shadow:0 0 40px rgba(232,203,243,.35)}
.ring .gem::after{content:"";position:absolute;inset:22%;border:1px solid rgba(255,255,255,.7)}
.ring .shadow{position:absolute;left:12%;right:12%;bottom:-14%;height:10%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.7),transparent)}
.mk-lum .glint{position:absolute;right:4cqw;top:12%;width:46cqw;height:76%;background:radial-gradient(closest-side,rgba(242,214,160,.14),transparent);pointer-events:none}
.mk-foot{position:absolute;left:6cqw;right:5cqw;bottom:max(16px,4cqh);display:flex;gap:4cqw;font-size:clamp(8px,.9cqw,12px);letter-spacing:.14em;text-transform:uppercase}
.mk-foot span{display:grid;gap:4px;opacity:.8}
.mk-foot b{font-weight:400;opacity:.85;letter-spacing:.06em}
/* Casa Delos */
.mk-del{background:linear-gradient(180deg,#0B1826 0%,#0E2235 100%);color:#F2EFEA}
.mk-del .mk-eb{color:#9FD3E0}
.mk-del .mk-title{font-weight:300;font-size:clamp(26px,4.8cqw,72px);line-height:1.04;letter-spacing:-.015em}
.mk-del .mk-sub{color:#A9B6C2}
.arch{position:absolute;right:8cqw;bottom:0;width:min(34cqw,60cqh);height:80cqh;border-radius:999px 999px 0 0;overflow:hidden;border:1px solid rgba(242,239,234,.18);border-bottom:0}
.arch .sky{position:absolute;inset:0;background:linear-gradient(180deg,#273B57 0%,#7A7F99 36%,#E7B39A 58%,#F6D9BB 66%)}
.arch .sun{position:absolute;left:50%;top:56%;width:26%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle,#FFF4E0 40%,rgba(255,236,206,.0) 72%)}
.arch .sea{position:absolute;left:0;right:0;bottom:0;height:36%;background:linear-gradient(180deg,#2E5878 0%,#173651 55%,#0E2235 100%)}
.arch .sea::after{content:"";position:absolute;left:44%;width:12%;top:0;height:70%;background:repeating-linear-gradient(180deg,rgba(255,236,206,.55) 0 2px,transparent 2px 7px);-webkit-mask:linear-gradient(#000,transparent);mask:linear-gradient(#000,transparent)}
.book{position:absolute;left:6cqw;bottom:max(16px,5cqh);display:flex;align-items:stretch;background:rgba(242,239,234,.06);border:1px solid rgba(242,239,234,.16);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.book span{display:grid;gap:2px;padding:1.4cqh 2.2cqw;font-size:clamp(10px,1.05cqw,14px);border-right:1px solid rgba(242,239,234,.12)}
.book em{font-style:normal;font-size:.72em;letter-spacing:.2em;text-transform:uppercase;color:#9FD3E0}
.book .mk-cta{display:grid;place-items:center;padding:0 2.4cqw;background:#F2EFEA;color:#0B1826;font-size:clamp(9px,.9cqw,12px);letter-spacing:.2em;text-transform:uppercase}
/* Kairós */
.mk-kai{background:radial-gradient(70% 90% at 78% 60%,rgba(195,240,232,.16),transparent 70%),#090D0D;color:#EAF3F1}
.mk-kai .mk-logo{font-weight:500;font-size:clamp(14px,1.8cqw,26px);letter-spacing:-.02em}
.mk-kai .mk-title{font-weight:300;font-size:clamp(26px,4.4cqw,64px);line-height:1.06;letter-spacing:-.02em}
.mk-kai .mk-sub{color:#93A6A2}
.stores{display:flex;gap:10px}
.stores span,.stores a{font-size:clamp(9px,.9cqw,12px);letter-spacing:.06em;border:1px solid rgba(234,243,241,.25);border-radius:6px;padding:.9cqh 1.4cqw}
.phone-mk{position:relative;flex:none;width:min(19cqw,36cqh);aspect-ratio:9/19.5;border-radius:min(2.8cqw,5cqh);background:#0E1514;border:1px solid #2A3533;padding:min(1cqw,1.8cqh);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.phone-mk .scr{position:relative;height:100%;border-radius:min(2cqw,3.6cqh);background:linear-gradient(180deg,#121B1A,#0B1110);overflow:hidden;padding:12% 9% 8%;display:grid;align-content:start;gap:6%;font-size:min(1cqw,1.8cqh)}
.phones{position:absolute;right:5cqw;top:0;bottom:0;display:flex;align-items:center;gap:2.4cqw}
.phone-mk.p2{margin-top:14cqh}
.scr .k{font-size:.9em;letter-spacing:.14em;text-transform:uppercase;color:#7F9692}
.scr .bal{font-size:2.3em;font-weight:400;letter-spacing:-.02em;line-height:1.1}
.scr .bal small{font-size:.5em;color:#C3F0E8;display:block;letter-spacing:.02em;margin-top:.5em}
.scr svg{width:100%;height:auto;overflow:visible}
.scr .acts{display:grid;grid-template-columns:1fr 1fr;gap:6%}
.scr .acts span,.scr .acts a{text-align:center;padding:.9em 0;border-radius:.8em;background:#C3F0E8;color:#0B1110;font-weight:500}
.scr .acts span+span,.scr .acts a+a{background:transparent;border:1px solid #2F3D3B;color:#EAF3F1}
.scr .row{display:flex;justify-content:space-between;gap:6%;padding:.9em 0;border-bottom:1px solid #1E2A28;font-size:1em}
.scr .row b{font-weight:400;font-variant-numeric:tabular-nums}
.scr .row .up{color:#C3F0E8}
@container (max-width:640px){
  .mk-bar .mk-nav{display:none}
  .mk-copy{top:max(56px,12cqh);bottom:auto;align-content:start;max-width:none;right:6cqw}
  .mk-lum .mk-title{font-size:min(19cqw,17cqh)}
  .ring{left:0;right:0;top:auto;bottom:9cqh;margin:0 auto;width:min(56cqw,34cqh);height:min(56cqw,34cqh)}
  .mk-foot{display:none}
  .mk-del .mk-title{font-size:min(8.6cqw,7cqh)}
  .arch{left:0;right:0;margin-inline:auto;width:min(62cqw,40cqh);height:50cqh}
  .book{left:4cqw;right:4cqw;justify-content:space-between}
  .book span{padding:10px 8px;font-size:11px}
  .book span:nth-child(3){display:none}
  .book .mk-cta{padding:0 12px;font-size:9px}
  .mk-kai .mk-title{font-size:min(8.8cqw,7cqh)}
  .mk-kai .mk-sub,.stores{display:none}
  .phone-mk{width:min(40cqw,30cqh)}
  .phone-mk .scr{font-size:min(2.1cqw,1.5cqh)}
  .phones{left:0;right:0;top:auto;bottom:-6cqh;justify-content:center;align-items:flex-end;gap:4cqw}
  .phone-mk.p2{margin-top:0;margin-bottom:-8cqh}
}

/* Estudio */
.studio-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,120px);align-items:center}
.pos{display:grid;gap:14px}
.pos-box{position:relative;aspect-ratio:1/1;max-width:520px;width:100%;border:1px solid var(--line);border-radius:6px;background:linear-gradient(var(--grid) 1px,transparent 1px) center/24px 24px,linear-gradient(90deg,var(--grid) 1px,transparent 1px) center/24px 24px,var(--vacio)}
.pos-box svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.pos-box text{font-family:var(--fm);font-size:10px;letter-spacing:.1em;text-transform:uppercase;fill:var(--niebla)}
.pos-box .lab{fill:var(--plata);letter-spacing:.08em}
.pos-box .ax{stroke:var(--line-2);stroke-width:1}
.pos-box .mid{stroke:var(--line-2);stroke-dasharray:3 5}
.pos-box .pt circle{fill:var(--vacio);stroke:var(--niebla);stroke-width:1.2}
.pos figcaption{font-size:13px;color:var(--niebla);max-width:52ch}
.values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(72px,9vw,128px);border-top:1px solid var(--line)}
.value{position:relative;display:grid;align-content:start;gap:12px;padding:30px 22px 8px}
.value:first-child{padding-left:0}
.value+.value{border-left:1px solid var(--line)}
.value::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--nacar);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.value:hover::before{transform:scaleX(1)}
.value h3{font-size:clamp(16px,1.35vw,19px)}
.value p{font-size:14.5px;color:var(--niebla);line-height:1.6}
.value .proof{font-size:13px;color:var(--plata);opacity:.85;padding-top:12px;border-top:1px solid var(--line)}
@media (max-width:1100px){
  .values{grid-template-columns:minmax(0,1fr)}
  .value{grid-template-columns:150px minmax(0,1fr) minmax(0,1fr);gap:8px 32px;padding:26px 0;border-bottom:1px solid var(--line)}
  .value+.value{border-left:0}
  .value .proof{border-top:0;padding-top:0}
}
@media (max-width:860px){
  .studio-top{grid-template-columns:minmax(0,1fr)}
  .value{grid-template-columns:minmax(0,1fr)}
}

/* Ágora */
.agora-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(48px,7vw,120px);align-items:center}
.agora-list{display:grid;margin-top:36px;border-top:1px solid var(--line)}
.agora-list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.agora-list svg{width:22px;height:22px;fill:none;stroke:var(--lila);stroke-width:1.4;stroke-linecap:square}
.agora-list strong{display:block;font-weight:400;color:var(--plata)}
.agora-list span{font-size:14.5px;color:var(--niebla)}
.phone-wrap{position:relative;display:grid;justify-items:center;gap:18px}
.phone-wrap::before{content:"";position:absolute;inset:10% 0 0;background:radial-gradient(closest-side,rgba(232,203,243,.16),transparent);z-index:-1}
.phone{width:min(320px,78vw);aspect-ratio:9/19;border-radius:46px;border:1px solid var(--line-2);background:#0B0C10;padding:12px}
.screen{height:100%;border-radius:36px;background:linear-gradient(180deg,#121419,#0C0D11);overflow:hidden;padding:18px 20px 22px;display:flex;flex-direction:column;gap:14px;font-size:13px}
.status{display:flex;justify-content:space-between;font-family:var(--fm);font-size:11px;color:var(--plata);padding:0 6px}
.app-top{display:flex;align-items:center;gap:8px;margin-top:6px;font-family:var(--fm);font-size:10px;letter-spacing:.2em;color:var(--niebla)}
.app-top svg{width:16px;height:auto}
.hello{font-family:var(--fd);font-size:19px;letter-spacing:.02em;margin-top:4px}
.card{background:var(--grafito);border:1px solid var(--line);border-radius:14px;padding:14px}
.proj{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.proj .k{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.proj b{display:block;font-weight:400;font-size:14px;margin:4px 0 8px;color:var(--plata)}
.proj .ph{font-family:var(--fm);font-size:10px;letter-spacing:.06em;color:var(--lila);white-space:nowrap}
.ringp{position:relative;width:64px;height:64px}
.ringp svg{width:100%;height:100%;rotate:-90deg}
.ringp circle{fill:none;stroke-width:5}
.ringp .bg{stroke:var(--acero)}
.ringp .fg{stroke:url(#gRing);stroke-linecap:butt}
.ringp span{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--fm);font-size:12.5px;color:var(--plata);font-variant-numeric:tabular-nums}
.next{display:flex;justify-content:space-between;align-items:center}
.next .k{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.next b{font-family:var(--fd);font-weight:400;font-size:16px}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tiles .card{display:grid;gap:6px}
.tiles .k{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.tiles b{font-family:var(--fd);font-weight:400;font-size:17px}
.tiles .ok{color:var(--menta)}
.feed{display:grid;gap:9px;padding:4px 4px 0}
.feed .k{font-family:var(--fm);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla);margin-bottom:2px}
.feed p{display:flex;align-items:center;gap:10px;font-size:12.5px;color:var(--plata)}
.feed p i{flex:none;width:6px;height:6px;border-radius:50%;background:var(--menta)}
.feed p i.l{background:var(--lila)}
.feed em{margin-left:auto;font-style:normal;font-family:var(--fm);font-size:10px;letter-spacing:.08em;color:var(--niebla)}
.who{display:flex;align-items:center;gap:12px;margin-top:auto}
.who i{width:34px;height:34px;border-radius:50%;background:var(--nacar);display:grid;place-items:center;font-style:normal;font-family:var(--fd);font-size:12px;color:var(--vacio)}
.who span{display:grid;font-size:12px;color:var(--niebla);line-height:1.35}
.who b{font-weight:400;color:var(--plata);font-size:13px}
.phone-cap{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--niebla)}
@media (max-width:860px){.agora-grid{grid-template-columns:minmax(0,1fr)}}

/* Contacto */
.contact-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(48px,7vw,120px)}
.contact-side{display:grid;align-content:start;gap:28px}
.mail{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}
.mail a{font-family:var(--fd);font-size:clamp(16px,1.6vw,22px);text-decoration:none;letter-spacing:.02em;word-break:break-all}
.copy{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--niebla);border:1px solid var(--line-2);padding:7px 10px;border-radius:2px;transition:color .4s,border-color .4s}
.copy:hover{color:var(--plata);border-color:rgba(232,203,243,.5)}
.contact-notes{display:grid;gap:14px;border-top:1px solid var(--line);padding-top:24px}
.contact-notes li{display:grid;grid-template-columns:110px minmax(0,1fr);gap:16px;font-size:14.5px;color:var(--niebla)}
.contact-notes li span:first-child{font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding-top:3px}
.form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 28px}
.field{display:grid;gap:8px;min-width:0}
.field.full{grid-column:1/-1}
.field label,.field .lbl{font-family:var(--fm);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla)}
.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid var(--line-2);border-radius:0;color:var(--plata);font:inherit;font-size:17px;font-weight:300;padding:10px 0 12px;outline:none;transition:border-color .5s var(--ease),box-shadow .5s var(--ease)}
.field textarea{resize:vertical;min-height:120px;line-height:1.55}
.field select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%238A8F99' stroke-width='1.4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 2px center;padding-right:24px;cursor:pointer}
.field select option{background:var(--grafito);color:var(--plata)}
.field input::placeholder,.field textarea::placeholder{color:#5B606A}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--lila);box-shadow:0 1px 0 0 var(--lila)}
.field input:user-invalid,.field textarea:user-invalid{border-bottom-color:#E6A0A0}
.choice{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.choice button{font-family:var(--fm);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--niebla);border:1px solid var(--line-2);border-radius:2px;padding:10px 14px;min-height:40px;transition:color .4s var(--ease),border-color .4s var(--ease),background .4s var(--ease)}
.choice button:hover{color:var(--plata)}
.choice button[aria-pressed="true"]{color:var(--plata);border-color:var(--lila);background:rgba(232,203,243,.08)}
.consent{display:flex;align-items:flex-start;gap:12px;font-size:14px;color:var(--niebla)}
.consent input{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin-top:2px;padding:0;border:1px solid var(--line-2);border-radius:2px;display:grid;place-items:center;cursor:pointer}
.consent input:checked{background:var(--nacar);border-color:transparent}
.consent input:focus{box-shadow:none}
.consent input:focus-visible{outline:1.5px solid var(--lila);outline-offset:3px}
.consent input:checked::after{content:"";width:8px;height:4px;border-left:1.5px solid var(--vacio);border-bottom:1.5px solid var(--vacio);rotate:-45deg;margin-top:-2px}
.form-info{gap:6px;margin-top:-14px;padding:14px 16px;border:1px solid var(--line);border-radius:3px;font-size:12.5px;line-height:1.6;color:var(--niebla)}
.form-info .m{font-size:10px}
.form-info b{font-weight:400;color:var(--plata)}
.form-info a{color:var(--plata);text-decoration:underline;text-decoration-color:rgba(232,203,243,.5);text-underline-offset:3px}
.form-foot{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px}
.status-msg{font-size:14px;color:var(--niebla);min-height:1.5em;max-width:48ch}
.status-msg.ok{color:var(--menta)}
@media (max-width:860px){.contact-grid{grid-template-columns:minmax(0,1fr)}}
@media (max-width:560px){.form{grid-template-columns:minmax(0,1fr)}.contact-notes li{grid-template-columns:minmax(0,1fr);gap:4px}}

/* Pie */
.foot{position:relative;padding-block:clamp(88px,11vw,150px) 28px;border-top:1px solid var(--line);overflow:hidden}
.foot-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px}
.foot-sym{width:56px;aspect-ratio:72/80;position:relative;margin-bottom:28px}
.foot-sym .half svg{overflow:visible}
.foot-lema{font-family:var(--fd);font-size:clamp(24px,3.4vw,48px);line-height:1.15;letter-spacing:.02em}
.foot-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;margin-top:clamp(56px,7vw,96px);padding-top:32px;border-top:1px solid var(--line)}
.foot-cols ul{display:grid;gap:10px;margin-top:16px}
.foot-cols a{text-decoration:none;color:var(--plata);font-size:15px;transition:color .4s}
.foot-cols a:hover{color:var(--lila)}
.foot-cols p{font-size:15px;color:var(--plata);margin-top:16px}
.foot-cols .foot-city{font-size:15px;color:var(--niebla)}
.foot-mark{overflow:hidden;margin-top:clamp(56px,8vw,112px)}
.foot-mark svg{width:100%;height:auto}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.foot-bottom a{text-decoration:none}
@media (max-width:900px){.foot-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.foot-top{grid-template-columns:minmax(0,1fr);align-items:start}}
@media (max-width:420px){.foot-cols{grid-template-columns:minmax(0,1fr)}}

/* ——————————————— Subpáginas ——————————————— */

/* Enlaces de sección y enlaces que cubren una fila o tarjeta */
.more{position:relative;display:inline-flex;align-items:center;gap:12px;justify-self:start;font-family:var(--fm);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--plata);text-decoration:none;padding-block:8px}
.more::before,.more::after{content:"";position:absolute;left:0;right:28px;bottom:2px;height:1px;background:var(--line-2)}
.more::after{background:var(--nacar);transform:scaleX(0);transform-origin:right;transition:transform .8s var(--ease)}
.more:hover::after{transform:scaleX(1);transform-origin:left}
.more svg{flex:none;width:16px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .7s var(--ease)}
.more:hover svg{transform:translateX(4px)}
.sec-head .more{margin-top:6px}
.stretch{color:inherit;text-decoration:none}
.stretch::after{content:"";position:absolute;inset:0;z-index:4}
.stretch:focus-visible{outline:none}
.stretch:focus-visible::after{outline:1.5px solid var(--lila);outline-offset:-2px;border-radius:4px}
.work-meta .m{display:inline-flex;align-items:center;gap:10px;transition:border-color .5s var(--ease),color .5s var(--ease)}
.work-meta .m svg{width:14px;height:9px;fill:none;stroke:currentColor;stroke-width:1.4;transition:transform .7s var(--ease)}
.work-card:hover .work-meta .m{border-color:rgba(232,203,243,.55);color:var(--plata)}
.work-card:hover .work-meta .m svg{transform:translateX(3px)}

/* Héroe de subpágina */
.sh{position:relative;display:flex;flex-direction:column;min-height:min(100vh,1000px);min-height:min(100svh,1000px);padding-top:calc(var(--nav-h) + env(safe-area-inset-top,0px) + clamp(36px,5.5vw,88px));overflow:hidden}
.sh .glow{inset:-30% -24% -10% 28%;opacity:.8}
.sh .grid{-webkit-mask-image:radial-gradient(ellipse 40% 52% at 74% 46%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 40% 52% at 74% 46%,#000 10%,transparent 76%);opacity:.55}
.sh>.wrap{width:100%}
.sh-grid{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,88px);align-items:center;width:100%}
.sh-copy{display:grid;justify-items:start;align-content:center;gap:24px;min-width:0}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}
.crumbs a{color:var(--niebla);text-decoration:none;transition:color .4s var(--ease)}
.crumbs a:hover{color:var(--plata)}
.crumbs i{font-style:normal;opacity:.4}
.crumbs [aria-current]{color:var(--plata)}
.sh-title{font-family:var(--fd);font-weight:400;font-size:clamp(28px,4.1vw,60px);line-height:1.1;letter-spacing:.015em}
.sh-copy .lead{max-width:50ch}
.sh-copy .ctas{justify-content:flex-start;margin-top:6px}
.sh-art{position:relative;width:100%;max-width:540px;justify-self:end;min-width:0}
.sh-agora .sh-art{display:grid;justify-items:center;max-width:none;justify-self:center}
.sh-c{min-height:0}
.sh-c .sh-grid{grid-template-columns:minmax(0,1fr)}
.sh-c .glow{inset:-40% -20% -40% 30%;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 70%);mask-image:linear-gradient(180deg,#000 30%,transparent 70%)}
.sh-c .grid{-webkit-mask-image:radial-gradient(ellipse 36% 70% at 74% 10%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 36% 70% at 74% 10%,#000 10%,transparent 72%)}
.sh-case{min-height:0}
.sh-case .sh-grid{grid-template-columns:minmax(0,1fr)}
.sh-case .sh-copy .lead{max-width:60ch}
.sh-case .glow{inset:-20% -20% 30% 20%}
.sh-case .grid{-webkit-mask-image:radial-gradient(ellipse 50% 40% at 50% 70%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 50% 40% at 50% 70%,#000 10%,transparent 76%)}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(48px,6vw,88px);border-top:1px solid var(--line)}
.facts>div{display:grid;align-content:start;gap:8px;min-width:0;padding:22px 20px 28px 0}
.facts>div+div{padding-left:20px;border-left:1px solid var(--line)}
.facts dd{font-size:15.5px;line-height:1.45;color:var(--plata)}
@media (max-width:960px){
  .sh{min-height:0}
  .sh-grid{grid-template-columns:minmax(0,1fr)}
  .sh-art{justify-self:center;max-width:480px;margin-top:12px}
  .sh .glow{inset:-10% -40% 0 -10%}
  .sh .grid{-webkit-mask-image:radial-gradient(ellipse 70% 36% at 50% 72%,#000 10%,transparent 76%);mask-image:radial-gradient(ellipse 70% 36% at 50% 72%,#000 10%,transparent 76%)}
  .facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .facts>div:nth-child(odd){padding-left:0;border-left:0}
  .facts>div:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
  .facts>div:nth-child(n+3){border-top:1px solid var(--line)}
}

/* Ilustraciones de línea */
.art{display:block;width:100%;height:auto;overflow:visible}
.art .ln{fill:none;stroke:var(--plata);stroke-opacity:.55;stroke-width:1}
.art .ln2{fill:none;stroke:var(--plata);stroke-opacity:.24;stroke-width:1}
.art .gd{fill:none;stroke:var(--lila);stroke-opacity:.2;stroke-width:1;stroke-dasharray:2 4}
.art .acl{fill:none;stroke:var(--lila);stroke-width:1.5}
.art .acs{fill:none;stroke:url(#gArt);stroke-width:1.5}
.art .ring{stroke-width:7}
.art .dw{stroke-dasharray:1 1;stroke-dashoffset:0}
.art .b0{fill:var(--plata);fill-opacity:.04}
.art .b1{fill:var(--plata);fill-opacity:.14}
.art .b2{fill:var(--plata);fill-opacity:.3}
.art .acc{fill:url(#gArt)}
.art .sil{fill:var(--plata)}
.art .fv{fill:var(--vacio)}
.art .ok{fill:var(--menta)}
.art .ok2{fill:var(--menta);fill-opacity:.45}
.art .t{font-family:var(--fm);font-size:10px;letter-spacing:.12em;text-transform:uppercase;fill:var(--niebla)}
.art .ts{font-size:8.5px;letter-spacing:.08em}
.art .tvv{fill:var(--plata)}
.art .tv{font-family:var(--fb);font-size:13px;font-weight:400;fill:var(--plata)}
.art .tdim{fill:var(--niebla);font-weight:300}
.art .tb{font-family:var(--fm);font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;fill:var(--vacio)}
.art .tg{font-family:var(--fd);font-size:20px;letter-spacing:.03em;fill:var(--plata)}
.art .tbig{font-family:var(--fb);font-size:26px;font-weight:300;letter-spacing:-.01em;fill:var(--plata)}

/* Para quién y compromisos */
.for{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.for.c4{grid-template-columns:repeat(4,minmax(0,1fr))}
.for>li{position:relative;display:grid;align-content:start;gap:14px;min-width:0;padding:30px 28px 8px 0}
.for>li+li{padding-left:28px;border-left:1px solid var(--line)}
.for>li::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--nacar);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.for>li:hover::before{transform:scaleX(1)}
.for h3{font-size:clamp(16px,1.45vw,20px)}
.for p{font-size:15px;color:var(--niebla);max-width:42ch}
@media (max-width:860px){
  .for,.for.c4{grid-template-columns:minmax(0,1fr)}
  .for>li,.for>li+li{padding:26px 0;border-left:0;border-bottom:1px solid var(--line)}
}

/* Qué incluye: rejilla técnica */
.inc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line);border-left:1px solid var(--line)}
.inc>li{position:relative;display:grid;align-content:start;gap:12px;min-width:0;padding:30px 28px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);isolation:isolate}
.inc>li::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),rgba(232,203,243,.07),transparent 70%);opacity:0;transition:opacity .7s var(--ease)}
.inc>li:hover::before{opacity:1}
.inc svg{width:26px;height:26px;margin-bottom:12px;fill:none;stroke:var(--plata);stroke-width:1.4;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .5s var(--ease)}
.inc>li:hover svg{stroke:var(--lila)}
.inc .ix{position:absolute;top:32px;right:26px}
.inc h3{font-size:clamp(16px,1.35vw,19px)}
.inc p{font-size:14.5px;color:var(--niebla)}
@media (max-width:960px){.inc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.inc{grid-template-columns:minmax(0,1fr)}.inc>li{padding:26px 22px 28px}}

/* Pasos sobre una costura */
.steps{position:relative;margin-top:clamp(40px,5vw,72px)}
.steps-ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.steps.c3 .steps-ol{grid-template-columns:repeat(3,minmax(0,1fr))}
.steps-rail{position:absolute;left:4px;right:0;top:4px;height:1px;background:var(--line-2)}
.steps-rail i{position:absolute;inset:0;background:linear-gradient(90deg,var(--hielo),var(--lila),var(--menta));transform-origin:0 50%;transform:scaleX(var(--p,1))}
.motion .steps-rail i{transform:scaleX(var(--p,0))}
.step{position:relative;display:grid;align-content:start;gap:12px;min-width:0;padding:40px 32px 0 0}
.step::before{content:"";position:absolute;left:0;top:0;width:9px;height:9px;background:var(--lila);border:1px solid var(--lila);transition:background .6s var(--ease),border-color .6s var(--ease)}
.motion .step:not(.is-on)::before{background:var(--vacio);border-color:var(--niebla)}
.step h3{font-size:clamp(17px,1.5vw,21px)}
.step p{font-size:15px;color:var(--niebla);max-width:36ch}
@media (max-width:860px){
  .steps{padding-left:40px}
  .steps-ol,.steps.c3 .steps-ol{grid-template-columns:minmax(0,1fr)}
  .steps-rail{left:4px;right:auto;top:4px;bottom:4px;width:1px;height:auto}
  .steps-rail i{transform-origin:50% 0;transform:scaleY(var(--p,1))}
  .motion .steps-rail i{transform:scaleY(var(--p,0))}
  .step{padding:0 0 44px}
  .step:last-child{padding-bottom:0}
  .step::before{left:-40px;top:5px}
}

/* Cifras de 3 y valores en texto */
.metrics.m3{grid-template-columns:repeat(3,minmax(0,1fr))}
.metric .num.txt{display:flex;align-items:flex-end;height:clamp(28px,3.3vw,48px);font-size:clamp(20px,2.4vw,34px)}
@media (max-width:820px){
  .metrics.m3{grid-template-columns:minmax(0,1fr)}
  .metrics.m3 .metric:nth-child(n){padding:24px 0;border-left:0}
  .metrics.m3 .metric:nth-child(n+2){border-top:1px solid var(--line)}
}

/* Planes */
.plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,72px)}
.plan{position:relative;display:grid;align-content:start;gap:14px;min-width:0;padding:30px 28px;background:var(--grafito);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.plan::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--nacar);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.plan:hover::before{transform:scaleX(1)}
.plan h3{font-size:clamp(20px,1.9vw,26px)}
.plan>p{font-size:15px;color:var(--niebla)}
.plan ul{display:grid;margin-top:8px;border-top:1px solid var(--line)}
.plan li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--plata)}
.plan li::before{content:"";position:absolute;left:0;top:1.35em;width:10px;height:1px;background:var(--lila)}
.plan .more{margin-top:10px}
@media (max-width:960px){.plans{grid-template-columns:minmax(0,1fr)}}

/* Preguntas frecuentes */
.faq-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,120px);align-items:start}
.faq-grid .sec-head{position:sticky;top:calc(var(--nav-h) + 40px)}
.faq-grid .lead a{color:var(--plata)}
.faq{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;list-style:none;font-size:clamp(16px,1.3vw,18px);font-weight:400;color:var(--plata);transition:color .4s var(--ease)}
.qa summary::-webkit-details-marker{display:none}
.qa summary:hover{color:var(--perla)}
.qa summary i{position:relative;flex:none;width:14px;height:14px;color:var(--lila)}
.qa summary i::before,.qa summary i::after{content:"";position:absolute;background:currentColor;transition:transform .6s var(--ease)}
.qa summary i::before{left:0;right:0;top:50%;height:1px;margin-top:-.5px}
.qa summary i::after{top:0;bottom:0;left:50%;width:1px;margin-left:-.5px}
.qa[open]:not(.closing) summary i::after{transform:scaleY(0)}
.qa-a{overflow:hidden}
.qa-a p{padding:0 48px 26px 0;color:var(--niebla);max-width:62ch}
.qa-a a{color:var(--plata)}
@media (max-width:860px){.faq-grid{grid-template-columns:minmax(0,1fr)}.faq-grid .sec-head{position:relative;top:auto}.qa-a p{padding-right:0}}

/* Siguiente página */
.next-pg{border-top:1px solid var(--line)}
.next-pg a{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 32px;padding-block:clamp(48px,6vw,96px);text-decoration:none}
.next-pg .m{grid-column:1}
.next-t{grid-column:1;font-family:var(--fd);font-size:clamp(24px,4vw,58px);line-height:1.12;letter-spacing:.02em;transition:transform 1s var(--ease)}
.next-pg .svc-go{display:grid;grid-column:2;grid-row:1/3;width:72px;height:72px}
.next-pg .svc-go svg{width:18px;height:12px}
.next-pg a:hover .next-t{transform:translateX(12px)}
.next-pg a:hover .svc-go{border-color:transparent;background:var(--nacar)}
.next-pg a:hover .svc-go svg{stroke:var(--vacio);transform:translateX(2px)}
@media (max-width:600px){.next-pg .svc-go{width:52px;height:52px}}

/* Llamada final */
.cta-band{overflow:hidden;text-align:center}
.cta-band .glow{inset:-30% -10%;opacity:.75}
.cta-in{position:relative;display:grid;justify-items:center;gap:24px}
.cta-in .h2{max-width:22ch}
.cta-in .lead{margin-inline:auto}
.next-pg+.cta-band{border-top:1px solid var(--line)}

/* Definición (Estudio y Ágora) */
.def-grid,.feat-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,120px);align-items:start}
.def{position:relative;padding:clamp(28px,4vw,52px);border:1px solid var(--line);border-radius:6px;background:linear-gradient(180deg,rgba(22,24,29,.85),rgba(22,24,29,.25))}
.def::before{content:"";position:absolute;left:clamp(28px,4vw,52px);top:-1px;width:64px;height:1px;background:var(--nacar)}
.def-w{font-family:var(--fd);font-size:clamp(34px,4.4vw,60px);line-height:1;letter-spacing:.02em}
.def-ph{margin-top:16px}
.def ol{display:grid;gap:18px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.def li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:12px}
.def li .m{padding-top:5px;color:var(--lila)}
.def li p{font-size:clamp(16px,1.35vw,19px);color:var(--plata)}
.def-note{margin-top:28px;color:var(--niebla)}
@media (max-width:860px){.def-grid,.feat-grid{grid-template-columns:minmax(0,1fr)}}

/* Socios */
.duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,72px)}
.duo>li{display:grid;align-content:start;gap:14px;min-width:0;padding:clamp(28px,3.5vw,44px);background:var(--grafito);border:1px solid var(--line);border-radius:6px}
.duo-ic{display:grid;place-items:center;width:52px;height:52px;margin-bottom:6px;border:1px solid var(--line-2);border-radius:50%}
.duo-ic svg{width:22px;height:22px;fill:none;stroke:var(--lila);stroke-width:1.4;stroke-linecap:square}
.duo h3{font-size:clamp(20px,1.9vw,26px)}
.duo p:not(.m){color:var(--niebla);max-width:48ch}
@media (max-width:720px){.duo{grid-template-columns:minmax(0,1fr)}}

/* Valores */
.vals{margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.val{position:relative;display:grid;grid-template-columns:minmax(0,4fr) minmax(0,4fr) minmax(0,4fr);gap:12px 40px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.val::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:var(--nacar);transform:scaleX(0);transform-origin:left;transition:transform 1s var(--ease)}
.val:hover::before{transform:scaleX(1)}
.val-w{font-family:var(--fd);font-size:clamp(22px,2.5vw,34px);line-height:1.15;letter-spacing:.02em;margin-bottom:8px}
.val>p{color:var(--niebla);font-size:15.5px;padding-top:6px}
.val .proof{display:grid;gap:6px;color:var(--plata)}
@media (max-width:860px){.val{grid-template-columns:minmax(0,1fr)}.val>p{padding-top:0}}

/* Lo que no hacemos */
.nots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px);margin-top:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.nots li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;padding:24px 0;border-bottom:1px solid var(--line)}
.nots .m{padding-top:5px;color:var(--lila)}
.nots p{font-size:clamp(16px,1.35vw,19px);color:var(--niebla)}
.nots b{font-weight:400;color:var(--plata)}
@media (max-width:720px){.nots{grid-template-columns:minmax(0,1fr)}}

/* Banda de seguridad (Ágora) */
.band{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,40px);margin-top:clamp(36px,4vw,56px);padding:clamp(24px,3.5vw,44px);background:var(--grafito);border:1px solid var(--line);border-radius:6px}
.band svg{width:44px;height:44px;fill:none;stroke:var(--lila);stroke-width:1.2;stroke-linecap:square}
.band p{font-size:clamp(17px,1.6vw,22px);line-height:1.5;color:var(--plata);max-width:56ch}
@media (max-width:560px){.band{grid-template-columns:minmax(0,1fr)}}

/* Calendario tipo (Proceso) */
.gantt-fig{margin-top:clamp(40px,5vw,72px)}
.gantt-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;background:var(--grafito);border:1px solid var(--line);border-radius:6px}
.gantt-scroll:focus-visible{outline-offset:2px}
.gantt{min-width:880px;padding:6px 28px 18px}
.g-row{display:grid;grid-template-columns:190px minmax(0,1fr) 200px;align-items:stretch;border-bottom:1px solid var(--line)}
.g-row:last-child{border-bottom:0}
.g-lab{display:grid;align-content:center;gap:3px;padding:14px 16px 14px 0}
.g-lab b{font-weight:400;font-size:14.5px;color:var(--plata)}
.g-lab .m{font-size:10px}
.g-track{position:relative;min-height:62px;background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:calc(100% / var(--n,11)) 100%}
.g-head .g-track{display:grid;grid-template-columns:repeat(var(--n,11),minmax(0,1fr));align-items:center;min-height:44px;background:none}
.g-head .g-track span{font-family:var(--fm);font-size:10px;letter-spacing:.08em;color:var(--niebla);text-align:center}
.g-head .g-lab,.g-head .g-hito{padding-block:14px}
.g-bar{position:absolute;top:50%;height:10px;margin-top:-5px;left:calc(var(--s) * 100% / var(--n,11));width:calc((var(--e) - var(--s)) * 100% / var(--n,11));background:linear-gradient(90deg,var(--hielo),var(--lila));transform-origin:0 50%}
.g-bar.cont{background:repeating-linear-gradient(90deg,var(--menta) 0 6px,transparent 6px 10px);opacity:.75}
.g-dia{position:absolute;top:50%;left:calc(var(--w) * 100% / var(--n,11));width:9px;height:9px;margin:-5px 0 0 -5px;background:var(--vacio);border:1px solid var(--lila);transform:rotate(45deg)}
.g-hito{display:flex;align-items:center;gap:12px;padding-left:20px;font-size:13.5px;color:var(--plata)}
.g-hito i{flex:none;width:8px;height:8px;border:1px solid var(--lila);transform:rotate(45deg)}
.g-cont{color:var(--niebla)}
.gantt-cap{margin-top:14px}
.g-hint{display:none}
@media (max-width:860px){
  .gantt{min-width:760px;padding:4px 16px 14px 0}
  .g-row{grid-template-columns:152px minmax(0,1fr) 150px}
  .g-lab{position:sticky;left:0;z-index:1;padding:12px 10px 12px 16px;background:var(--grafito);box-shadow:8px 0 12px -8px rgba(0,0,0,.6)}
  .g-lab b{font-size:14px}
  .g-hint{display:inline}
}

/* Fases en detalle (Proceso) */
.pds{margin-top:clamp(40px,5vw,72px)}
.pd{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,6vw,96px);padding-block:clamp(40px,5vw,72px);border-top:1px solid var(--line)}
.pd-side{display:grid;align-content:start;gap:8px;position:sticky;top:calc(var(--nav-h) + 40px);align-self:start}
.pd-num{font-family:var(--fd);font-size:clamp(46px,6vw,88px);line-height:1;letter-spacing:.02em;justify-self:start}
.pd-when{font-family:var(--fm);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--niebla);margin-top:14px}
.pd-main h3{font-size:clamp(21px,2.1vw,29px)}
.pd-p{color:var(--niebla);max-width:56ch;margin-top:16px}
.pd-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 36px;margin-top:30px}
.pd-cols ul{display:grid;margin-top:12px;border-top:1px solid var(--line)}
.pd-cols li{position:relative;padding:11px 0 11px 22px;border-bottom:1px solid var(--line);font-size:15px;color:var(--plata)}
.pd-cols li::before{content:"";position:absolute;left:0;top:1.35em;width:10px;height:1px;background:var(--lila)}
@media (max-width:860px){.pd{grid-template-columns:minmax(0,1fr)}.pd-side{position:relative;top:auto;grid-template-columns:auto 1fr;align-items:baseline;column-gap:18px}.pd-when{margin-top:0}}
@media (max-width:600px){.pd-cols{grid-template-columns:minmax(0,1fr)}}

/* Proyectos (conceptos) */
.case-frame{position:relative;width:100%;aspect-ratio:16/9;max-height:80vh;margin-top:clamp(40px,5vw,72px);background:var(--grafito);border:1px solid var(--line);border-radius:6px;overflow:hidden;container-type:size}
@media (max-width:720px){.case-frame{aspect-ratio:4/5;max-height:none}}
.duo-text{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,104px)}
.duo-text>div{display:grid;align-content:start;gap:22px;min-width:0}
.big{font-size:clamp(19px,1.75vw,25px);line-height:1.5;font-weight:300;color:var(--plata);max-width:36ch}
@media (max-width:860px){.duo-text{grid-template-columns:minmax(0,1fr)}}
.palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-top:clamp(40px,5vw,72px)}
.sw{display:grid;gap:6px;min-width:0}
.sw i{display:block;aspect-ratio:5/4;max-width:100%;margin-bottom:8px;border:1px solid var(--line);border-radius:4px}
.sw b{font-weight:400;font-size:14.5px;color:var(--plata)}
@media (max-width:720px){
  .palette{grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--line)}
  .sw{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--line)}
  .sw i{aspect-ratio:1;margin:0}
}
.dec{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:14px;margin-top:clamp(28px,3vw,44px)}
.spec{display:grid;align-content:start;gap:16px;min-width:0;padding:clamp(24px,3vw,40px);border:1px solid var(--line);border-radius:6px}
.aa{font-size:clamp(84px,11vw,168px);line-height:.95;color:var(--plata)}
.spec-s{font-size:clamp(20px,2.1vw,30px);line-height:1.25;color:var(--plata)}
.spec p:not(.m):not(.aa):not(.spec-s){color:var(--niebla)}
.spec b{font-weight:400;color:var(--plata)}
.spec-m{font-size:clamp(17px,1.5vw,21px);line-height:1.55}
.mo{position:relative;display:block;height:1px;margin-top:6px;background:var(--line-2);overflow:hidden}
.mo i{position:absolute;top:0;bottom:0;left:-35%;width:35%;background:linear-gradient(90deg,transparent,var(--lila),transparent);animation:sweep var(--d,4s) var(--ease) infinite}
@keyframes sweep{to{left:100%}}
.mo-specs{display:grid}
.mo-specs>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}
.mo-specs dd{font-size:14.5px;color:var(--plata);text-align:right}
@media (max-width:860px){.dec{grid-template-columns:minmax(0,1fr)}}
.feat{margin-top:0}
.goals{margin-top:clamp(64px,8vw,112px)}
.goals .metrics{margin-top:22px}
.note{display:flex;align-items:flex-start;gap:14px;max-width:76ch;margin-top:36px;padding:16px 18px;border:1px solid var(--line);border-radius:4px;font-size:13.5px;line-height:1.55;color:var(--niebla)}
.note svg{flex:none;width:18px;height:18px;margin-top:1px;fill:none;stroke:var(--niebla);stroke-width:1.4}
.sec-form{padding-top:clamp(24px,3vw,48px)}

/* Transición entre páginas: las dos mitades se cierran sobre la costura y se abren en la página nueva */
.ptr{position:fixed;inset:0;z-index:95;pointer-events:none;visibility:hidden}
.ptr i{position:absolute;top:0;bottom:0;width:50.5%;background:var(--vacio);transform:scaleX(0)}
.ptr i:first-child{left:0;transform-origin:0 50%}
.ptr i:nth-child(2){right:0;transform-origin:100% 50%}
.ptr b{position:absolute;left:50%;top:0;bottom:0;width:1px;margin-left:-.5px;background:linear-gradient(transparent,var(--lila) 30%,var(--hielo) 70%,transparent);opacity:0}
.pt-out .ptr,.pt-in .ptr{visibility:visible}
.pt-out .ptr{pointer-events:auto}
.pt-out .ptr i{transform:scaleX(1);transition:transform .62s cubic-bezier(.7,0,.2,1)}
.pt-out .ptr b{opacity:1;transition:opacity .3s ease .38s}
.pt-in .ptr i{animation:ptOpen 1.05s cubic-bezier(.6,0,.1,1) .12s both}
.pt-in .ptr b{animation:ptSeam .7s ease both}
@keyframes ptOpen{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes ptSeam{from{opacity:1}to{opacity:0}}

/* Grano */
.grain{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Lenis */
html.lenis,html.lenis body{height:auto}
.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}
.lenis.lenis-smooth iframe{pointer-events:none}

/* Vídeo «Así trabajamos» (Proceso) */
.vid-sec .sec-head{max-width:760px}
.vid-box{margin:clamp(36px,4.5vw,64px) auto 0;scroll-margin-top:28px;max-width:max(480px,calc((100vh - var(--nav-h) - 56px) * 16 / 9));max-width:max(480px,calc((100svh - var(--nav-h) - 56px) * 16 / 9))}
.vid-frame{position:relative;aspect-ratio:16/9;max-width:100%;background:#000;border:1px solid var(--line);border-radius:6px;overflow:hidden;box-shadow:0 60px 120px -60px rgba(0,0,0,.95)}
.vid-frame::before{content:"";position:absolute;inset:0;z-index:2;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(232,203,243,.22);pointer-events:none;transition:opacity .8s var(--ease)}
.vid-frame.playing::before{opacity:0}
.vid-frame video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
video::cue{background:rgba(7,8,11,.78);color:#D9DCE3;font-family:Sora,"Helvetica Neue",Arial,sans-serif;font-weight:400}
.vid-play{position:absolute;inset:0;z-index:1;display:grid;place-content:center;justify-items:center;gap:18px;color:var(--plata);background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(7,8,11,.2),rgba(7,8,11,.58));transition:background .8s var(--ease)}
.vid-play:hover{background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(7,8,11,.05),rgba(7,8,11,.45))}
.vid-ic{position:relative;display:grid;place-items:center;width:clamp(64px,7vw,92px);aspect-ratio:1;border-radius:50%;background:rgba(7,8,11,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(232,203,243,.55);transition:scale .8s var(--ease),border-color .6s var(--ease),background .6s var(--ease)}
.vid-ic::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:1px solid rgba(203,216,255,.2);transition:inset .9s var(--ease),opacity .9s var(--ease)}
.vid-ic svg{width:36%;height:36%;margin-left:7%;fill:var(--plata)}
.vid-play:hover .vid-ic{scale:1.06;border-color:var(--lila);background:rgba(7,8,11,.35)}
.vid-play:hover .vid-ic::after{inset:-18px;opacity:.55}
.vid-play:active .vid-ic{scale:.97}
.vid-l{display:grid;justify-items:center;gap:6px;text-align:center}
.vid-l b{font-family:var(--fd);font-weight:400;font-size:clamp(14px,1.4vw,19px);letter-spacing:.04em}
.vid-l .m{color:var(--plata);opacity:.75}
.vid-play:focus-visible{outline:none}
.vid-play:focus-visible .vid-ic{outline:1.5px solid var(--lila);outline-offset:8px}
.vid-cap{margin-top:14px}
.vid-ch{margin-top:clamp(20px,2.4vw,32px)}
.vid-ch ol{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:0 6px}
.vid-ch button{position:relative;display:grid;align-content:start;gap:6px;width:100%;min-height:64px;padding:16px 8px 8px 0;text-align:left;color:var(--niebla)}
.ch-bar{position:absolute;left:0;right:0;top:0;height:2px;background:var(--line-2);overflow:hidden;transition:background .5s var(--ease)}
.ch-bar i{position:absolute;inset:0;background:var(--nacar);transform:scaleX(var(--p,0));transform-origin:left}
.ch-t{font-size:14px;line-height:1.3;color:var(--plata);opacity:.68;transition:opacity .5s var(--ease)}
.vid-ch button:hover .ch-t,.vid-ch button[aria-current="true"] .ch-t{opacity:1}
.vid-ch button:hover .ch-bar{background:rgba(232,203,243,.38)}
.vid-ch button[aria-current="true"] .m{color:var(--lila)}
@media (max-width:900px){.vid-ch ol{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px}}
@media (max-width:520px){.vid-ch ol{grid-template-columns:repeat(2,minmax(0,1fr))}.vid-play{gap:12px}.vid-l .m{display:none}}

/* Enlace al vídeo desde la portada */
.vid-more{display:inline-flex;align-items:center;gap:16px;justify-self:start;margin-top:12px;padding:8px 20px 8px 8px;border:1px solid var(--line-2);border-radius:4px;text-decoration:none;color:var(--plata);transition:border-color .5s var(--ease),background .5s var(--ease)}
.vid-more:hover{border-color:rgba(232,203,243,.5);background:rgba(232,203,243,.04)}
.vm-thumb{position:relative;flex:none;width:112px;aspect-ratio:16/9;border-radius:2px;overflow:hidden;background:#000}
.vm-thumb img{width:100%;height:100%;object-fit:cover;opacity:.8;transition:transform 1s var(--ease),opacity .6s var(--ease)}
.vid-more:hover .vm-thumb img{transform:scale(1.06);opacity:1}
.vm-ic{position:absolute;inset:0;display:grid;place-items:center}
.vm-ic svg{width:28px;height:28px;padding:7px 6px 7px 8px;border-radius:50%;background:rgba(7,8,11,.6);border:1px solid rgba(232,203,243,.55);fill:var(--plata)}
.vm-t{display:grid;gap:4px}
.vm-t b{font-family:var(--fd);font-weight:400;font-size:14px;letter-spacing:.04em}

/* Textos legales */
.sh-legal{min-height:0}
.sh-legal .sh-grid{grid-template-columns:minmax(0,1fr)}
.sh-legal .glow{inset:-40% -20% -40% 30%;-webkit-mask-image:linear-gradient(180deg,#000 30%,transparent 70%);mask-image:linear-gradient(180deg,#000 30%,transparent 70%)}
.sh-legal .grid{-webkit-mask-image:radial-gradient(ellipse 36% 70% at 74% 10%,#000 10%,transparent 72%);mask-image:radial-gradient(ellipse 36% 70% at 74% 10%,#000 10%,transparent 72%)}
.legal{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);gap:clamp(32px,6vw,96px)}
.legal-nav{position:sticky;top:calc(var(--nav-h) + 40px);align-self:start;display:grid;gap:16px}
.legal-nav ul{display:grid;border-top:1px solid var(--line)}
.legal-nav a{position:relative;display:block;padding:13px 0 13px 18px;border-bottom:1px solid var(--line);color:var(--niebla);text-decoration:none;font-size:15px;transition:color .4s var(--ease)}
.legal-nav a::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--line-2);transition:background .4s var(--ease),width .6s var(--ease)}
.legal-nav a:hover{color:var(--plata)}
.legal-nav a[aria-current="page"]{color:var(--plata)}
.legal-nav a[aria-current="page"]::before{width:12px;background:var(--lila)}
.legal-upd{margin-top:4px}
.legal-body{display:grid;gap:clamp(36px,4vw,56px);max-width:68ch}
.legal-h{font-family:var(--fd);font-weight:400;font-size:clamp(17px,1.5vw,21px);line-height:1.35;letter-spacing:.03em}
.legal-s p{margin-top:14px;color:var(--niebla)}
.legal-s a{color:var(--plata);text-decoration:underline;text-decoration-color:rgba(232,203,243,.5);text-underline-offset:3px;transition:text-decoration-color .4s}
.legal-s a:hover{text-decoration-color:var(--lila)}
.legal-s code{font-family:var(--fm);font-size:.88em;color:var(--plata);background:rgba(217,220,227,.07);padding:1px 6px;border-radius:2px}
.legal-dl{display:grid;margin-top:22px;border-top:1px solid var(--line)}
.legal-dl>div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--line)}
.legal-dl dd{color:var(--plata);overflow-wrap:anywhere}
.pend{font-family:var(--fm);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--lila);border-bottom:1px dashed rgba(232,203,243,.5)}
@media (max-width:860px){
  .legal{grid-template-columns:minmax(0,1fr)}
  .legal-nav{position:relative;top:auto}
  .legal-nav ul{display:flex;flex-wrap:wrap;gap:4px 22px;border:0}
  .legal-nav a{padding:6px 0 6px 16px;border:0}
}

/* Aviso breve (correo, copiar) */
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:90;display:flex;align-items:center;gap:16px;width:max-content;max-width:calc(100vw - 32px);padding:10px 10px 10px 18px;background:rgba(14,15,19,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--line-2);border-radius:4px;box-shadow:0 30px 60px -30px rgba(0,0,0,.9);opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .5s var(--ease),transform .7s var(--ease),visibility 0s linear .7s}
.toast::before{content:"";position:absolute;left:12px;right:12px;top:-1px;height:1px;background:var(--nacar);opacity:.75}
.toast.on{opacity:1;visibility:visible;transform:translate(-50%,0);transition:opacity .5s var(--ease),transform .7s var(--ease)}
.toast p{font-size:14px;line-height:1.45;color:var(--plata);user-select:text;-webkit-user-select:text}
.toast-btn{flex:none;min-height:36px;padding:0 12px;font-family:var(--fm);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--plata);border:1px solid var(--line-2);border-radius:2px;transition:border-color .4s var(--ease)}
.toast-btn:hover{border-color:rgba(232,203,243,.55)}
@media (max-width:520px){.toast{flex-wrap:wrap;width:calc(100vw - 32px);padding:14px 14px 14px 18px}}

/* Formulario: mensaje preparado */
.status-msg.ready{flex-basis:100%;display:grid;gap:14px;max-width:none;padding:16px 18px;border:1px solid rgba(195,240,232,.26);border-left:2px solid var(--menta);border-radius:3px;background:rgba(195,240,232,.035);color:var(--plata)}
.status-msg.ready b{font-weight:500;color:var(--menta)}
.ready-acts{display:flex;flex-wrap:wrap;gap:10px}

/* Correo en el menú y el pie */
.menu-mail{align-self:start;text-decoration:none;transition:color .4s var(--ease)}
.menu-mail:hover{color:var(--plata)}
.foot-mail{overflow-wrap:anywhere}

/* Maquetas de los proyectos: sus botones llevan a «Lo que hace» */
.mk-live a{color:inherit;text-decoration:none}
.mk-live .mk-btn{transition:background .6s var(--ease),color .6s var(--ease)}
.mk-live .mk-btn:hover{background:#C2AC80;color:#0B0908}
.mk-live .book .mk-cta{transition:background .5s var(--ease)}
.mk-live .book .mk-cta:hover{background:#FFFFFF}
.mk-live .stores a{transition:border-color .5s var(--ease)}
.mk-live .stores a:hover{border-color:rgba(234,243,241,.7)}
.mk-live .acts a{transition:filter .5s var(--ease)}
.mk-live .acts a:hover{filter:brightness(1.12)}

/* Pulsación: cada botón responde al tocarlo */
.btn:active,.copy:active,.choice button:active,.toast-btn:active,.vid-ch button:active,.vid-more:active,.mk-live a:active{scale:.98}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Acceso clientes: lleva a Ágora, en su subdominio */
.ic-lock{width:15px;height:15px;flex:none;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;margin-top:-2px}
.btn-sm .ic-lock{margin-right:-4px}
.nav-access{gap:10px;padding:0 16px}
.menu-access{justify-self:start;align-self:start;margin-top:28px;gap:10px}
@media (max-width:1080px){.nav-links .nl[href$="agora.html"]{display:none}}
.agora-links{display:flex;flex-wrap:wrap;gap:12px 32px}
.sec-head .agora-links{margin-top:6px}

/* Proyectos reales: capturas de cada web en un navegador y un móvil */
.mk-shot{background:var(--shot-bg)}
.mk-auryon{--shot-bg:radial-gradient(60% 70% at 72% 28%,rgba(6,182,212,.2),transparent 70%),linear-gradient(180deg,#050B14,#04070F);--shot-ring:rgba(6,182,212,.28)}
.mk-aurel{--shot-bg:radial-gradient(60% 70% at 72% 28%,rgba(22,102,170,.16),transparent 70%),linear-gradient(180deg,#ECEDEA,#D1D3CF);--shot-ring:rgba(17,18,21,.16)}
.shot-win{position:absolute;left:6cqw;top:9cqh;width:min(70cqw,calc(74cqh * 1.6));border-radius:8px;overflow:hidden;background:#0D0F14;box-shadow:0 0 0 1px var(--shot-ring),0 50px 90px -40px rgba(0,0,0,.75)}
.shot-bar{display:flex;align-items:center;gap:6px;height:clamp(18px,3.2cqh,28px);padding:0 12px;background:#14161B;border-bottom:1px solid rgba(255,255,255,.06)}
.shot-bar i{flex:none;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.2)}
.shot-bar span{min-width:0;margin-left:10px;font-family:var(--fm);font-size:clamp(9px,.85cqw,11px);letter-spacing:.04em;color:rgba(217,220,227,.55);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-aurel .shot-bar{background:#F4F4F2;border-color:rgba(17,18,21,.08)}
.mk-aurel .shot-bar i{background:rgba(17,18,21,.16)}
.mk-aurel .shot-bar span{color:rgba(17,18,21,.5)}
.shot-win img{display:block;width:100%;height:auto;aspect-ratio:16/10}
.shot-phone{position:absolute;right:6cqw;bottom:8cqh;height:min(74cqh,44cqw);aspect-ratio:600/1298;padding:min(1.1cqh,7px);border-radius:min(5cqh,34px);background:#0A0B0E;box-shadow:0 0 0 1px var(--shot-ring),0 40px 70px -30px rgba(0,0,0,.8)}
.shot-phone img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;border-radius:min(4cqh,27px)}
@container (max-aspect-ratio:1/1){
  .shot-win{left:5cqw;width:90cqw;top:7cqh}
  .shot-phone{right:7cqw;bottom:5cqh;height:min(58cqh,62cqw)}
}

/* El proyecto destacado ocupa más y lleva distintivo y tecnología */
.work-card.is-feat .work-inner{height:clamp(540px,86svh,920px)}
.work-card.is-feat .work-meta h3{font-size:clamp(20px,2vw,28px)}
.work-badge{margin-bottom:10px;background:var(--nacar);-webkit-background-clip:text;background-clip:text;color:transparent}
.work-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.work-tags li{font-family:var(--fm);font-size:11px;letter-spacing:.08em;padding:4px 10px;border:1px solid var(--line-2);border-radius:999px;color:var(--niebla)}
.work-tags.tech{margin-top:28px}

/* Galería de pantallas en la página de cada proyecto */
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,44px) clamp(18px,2.4vw,36px);margin-top:clamp(36px,4vw,64px)}
.gal-item{display:grid;align-content:start;gap:16px;min-width:0}
.gal-item:first-child:nth-last-child(odd){grid-column:1/-1}
.gal-frame{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#0D0F14;box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.gal-frame img{display:block;width:100%;height:auto;aspect-ratio:16/10}
.gal figcaption{display:grid;gap:4px;max-width:56ch}
.gal figcaption b{font-weight:400;font-size:16px;color:var(--plata)}
.gal figcaption span{font-size:14.5px;line-height:1.55;color:var(--niebla)}
@media (max-width:720px){.gal{grid-template-columns:minmax(0,1fr)}}
