/* ==========================================================================
   Studi Status · Luz — tema hijo de Astra
   ========================================================================== */

@font-face{font-family:'General Sans';src:url(../fonts/general-sans-400.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url(../fonts/general-sans-500.woff2) format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url(../fonts/general-sans-600.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'General Sans';src:url(../fonts/general-sans-700.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}

:root{
  --ss-bg:#FBFBF9;--ss-alt:#F2F0EB;--ss-fg:#1D1D1F;--ss-mut:#6E6E73;--ss-line:rgba(0,0,0,.1);
  --ss-green:#0E3424;--ss-g2:#1F6B4A;--ss-red:#C8352A;
  --ss-f:'General Sans','Helvetica Neue',Arial,sans-serif;
  --ss-wrap:min(1120px,100% - 2.5rem);--ss-ease:cubic-bezier(.2,.7,.1,1);--ss-top:0px
}
.admin-bar{--ss-top:32px}
@media(max-width:782px){.admin-bar{--ss-top:46px}}

/* --- Base en todo el sitio (también blog y páginas de Astra) --- */
body.ss-site{background:var(--ss-bg);color:var(--ss-fg);font-family:var(--ss-f);-webkit-font-smoothing:antialiased;overflow-x:clip}
body.ss-site h1,body.ss-site h2,body.ss-site h3,body.ss-site h4,body.ss-site h5,body.ss-site h6,
body.ss-site button,body.ss-site input,body.ss-site select,body.ss-site textarea{font-family:var(--ss-f)}
body.ss-site:not(.ss-full) #content{padding-top:60px}
html.ss-menu-open,html.ss-lb-open{overflow:hidden}

/* --- Plantillas a ancho completo: anulamos el contenedor de Astra --- */
body.ss-full #content>.ast-container{max-width:none;padding:0;margin:0;display:block}
body.ss-full #content{padding:0}
.ss{font-size:1.0625rem;line-height:1.5}
.ss img{display:block;max-width:100%;height:auto}
.ss a{color:inherit;text-decoration:none}
.ss h1,.ss h2,.ss h3,.ss p,.ss dl,.ss dd,.ss figure{margin:0}
.ss h1,.ss h2,.ss h3{color:inherit;font-weight:700}
.ss-wrap{width:var(--ss-wrap);margin-inline:auto}
.ss :focus-visible,.ss-nav :focus-visible{outline:2px solid var(--ss-g2);outline-offset:3px}
.ss-grad{background:linear-gradient(100deg,#0E3424,#1F6B4A 40%,#C8352A 95%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.12em;margin-right:-.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* --- Cabecera --- */
.ss-nav{position:fixed;top:var(--ss-top);left:0;right:0;z-index:999;transition:background .4s,border-color .4s;border-bottom:1px solid transparent;font-family:var(--ss-f)}
.ss-nav.scrolled,body.ss-site:not(.ss-full) .ss-nav,html.ss-menu-open .ss-nav{background:rgba(251,251,249,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-color:var(--ss-line)}
.ss-nav-in{height:60px;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.ss-brand{display:flex;align-items:center}
.ss-nav .ss-logo{height:38px;width:auto;display:block}
.ss-nav .ss-menu{display:flex;gap:1.8rem;list-style:none;margin:0;padding:0;font-size:.85rem}
.ss-nav .ss-menu a{color:#424245;text-decoration:none;transition:color .2s}
.ss-nav .ss-menu a:hover,.ss-nav .ss-menu .current-menu-item>a{color:var(--ss-fg)}
.ss-nav-end{display:flex;align-items:center;gap:.6rem}
.ss-pill{background:var(--ss-green);color:#fff!important;font-size:.82rem;font-weight:500;padding:.45rem 1rem;border-radius:999px;text-decoration:none;transition:background .3s}
.ss-pill:hover{background:var(--ss-g2)}
.ss-burger{display:none;width:40px;height:40px;border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer;position:relative}
.ss-burger:hover,.ss-burger:focus{background:rgba(0,0,0,.05)}
.ss-burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ss-fg);transition:transform .35s var(--ss-ease)}
.ss-burger span:first-child{top:16px}.ss-burger span:last-child{top:23px}
.ss-burger[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.ss-burger[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
.ss-mobile{height:calc(100svh - 60px - var(--ss-top));overflow:auto;padding:2rem 1.25rem;background:var(--ss-bg)}
.ss-mobile .ss-menu{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.ss-mobile .ss-menu a{display:block;font-size:2rem;font-weight:600;letter-spacing:-.03em;color:var(--ss-fg);text-decoration:none;padding:.3rem 0;animation:ssIn .5s var(--ss-ease) both}
.ss-mobile .ss-menu li:nth-child(2) a{animation-delay:.05s}.ss-mobile .ss-menu li:nth-child(3) a{animation-delay:.1s}.ss-mobile .ss-menu li:nth-child(4) a{animation-delay:.15s}.ss-mobile .ss-menu li:nth-child(5) a{animation-delay:.2s}
.ss-mobile-contact{margin-top:2.5rem;color:var(--ss-mut);line-height:1.9}
.ss-mobile-contact a{color:var(--ss-fg);text-decoration:none}
@keyframes ssIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:860px){.ss-nav-links{display:none}.ss-burger{display:block}}

/* --- Botones y textos comunes --- */
.ss-btn,.ss .ss-btn{display:inline-block;background:var(--ss-green);color:#fff;padding:.85rem 1.5rem;border-radius:999px;font-weight:500;font-size:1rem;line-height:1.2;border:0;cursor:pointer;transition:transform .3s,background .3s;text-decoration:none}
.ss-btn:hover,.ss .ss-btn:hover{background:var(--ss-g2);color:#fff;transform:scale(1.03)}
.ss .ss-btn-light{background:#fff;color:var(--ss-green)}
.ss .ss-btn-light:hover{background:#E9F1EC;color:var(--ss-green)}
.ss-lnk{color:var(--ss-g2)!important;font-weight:500}.ss-lnk:hover{text-decoration:underline!important}
.ss-eyebrow{font-weight:600;color:var(--ss-red);font-size:clamp(1rem,1.4vw,1.2rem)}
.ss-lead{color:var(--ss-mut);font-size:clamp(1.1rem,1.6vw,1.4rem);max-width:34ch}
.ss-h1{font-size:clamp(3rem,8vw,7rem);font-weight:700;letter-spacing:-.05em;line-height:.95;margin-top:.6rem!important}
.ss-h2{font-size:clamp(2.6rem,6.5vw,5.4rem);font-weight:700;letter-spacing:-.05em;line-height:.98}
.ss-tag{font-size:.85rem;font-weight:600;color:var(--ss-red)}

/* --- Portada: titular con desenfoque --- */
.ss-hero{padding-top:clamp(8rem,16vh,11rem);text-align:center}
.ss-hero h1{font-size:clamp(3.2rem,10vw,9rem);font-weight:700;letter-spacing:-.05em;line-height:.92;margin-top:.8rem}
.ss-hero h1 span{display:inline-block}
.js .ss-hero h1 span{opacity:0;transform:translateY(.4em);filter:blur(10px);transition:opacity 1s var(--ss-ease),transform 1s var(--ss-ease),filter 1s var(--ss-ease)}
.js.loaded .ss-hero h1 span{opacity:1;transform:none;filter:none}
.js .ss-hero h1 span:nth-child(2){transition-delay:.15s}.js .ss-hero h1 span:nth-child(3){transition-delay:.3s}
.ss-hero .ss-lead{margin:1.4rem auto 0}
.ss-ctas{display:flex;gap:1.4rem;justify-content:center;align-items:center;margin-top:2rem;flex-wrap:wrap}

/* Imagen que se endereza en 3D */
.ss-tilt{height:170vh;margin-top:3rem}
.ss-tilt .ss-stick{position:sticky;top:0;height:100svh;display:grid;place-items:center;perspective:1400px}
.ss-tilt figure{width:min(92vw,1240px);aspect-ratio:16/9;border-radius:calc(28px - var(--p,0)*10px);overflow:hidden;
  transform:rotateX(calc(max(0, 1 - var(--p,0)*1.6)*28deg)) scale(calc(.86 + min(1,var(--p,0)*1.6)*.14));
  box-shadow:0 calc(60px - var(--p,0)*30px) 120px -40px rgba(14,52,36,.45)}
.ss-tilt img{width:100%;height:100%!important;object-fit:cover}
.ss-tilt-sm{height:150vh;margin-top:1rem}

/* Texto que se rellena palabra a palabra */
.ss-fill{padding:clamp(5rem,10vw,9rem) 0}
.ss-fill [data-words]{font-size:clamp(1.8rem,4.2vw,3.6rem);font-weight:600;letter-spacing:-.035em;line-height:1.12;max-width:22ch}
.ss-fill .w{color:#D2D2CF;transition:color .5s}
.ss-fill .w.on{color:var(--ss-fg)}
.ss-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;border-top:1px solid var(--ss-line);padding-top:3rem;margin-top:4rem}
.ss-stat .ss-n{font-size:clamp(3.5rem,8vw,6.5rem);font-weight:700;letter-spacing:-.05em;line-height:1}
.ss-stat p{color:var(--ss-mut);margin-top:.4rem;max-width:22ch}
@media(max-width:700px){.ss-stats{grid-template-columns:1fr}}

/* Proyectos en portada: imagen fija que cambia + textos */
.ss-story{position:relative;background:var(--ss-alt)}
.ss-story-head{padding:clamp(5rem,10vw,8rem) 0 0}
.ss-story-in{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(2rem,5vw,5rem)}
.ss-story-media{position:sticky;top:0;height:100svh;display:flex;align-items:center}
.ss-frames{position:relative;width:100%;aspect-ratio:4/5;max-height:80svh;border-radius:28px;overflow:hidden;background:#ddd}
.ss-frames img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .9s var(--ss-ease),transform 1.6s var(--ss-ease)}
.ss-frames img.on{opacity:1;transform:scale(1)}
.ss-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:8px;background:rgba(255,255,255,.7);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 12px;border-radius:999px}
.ss-dots i{width:8px;height:8px;border-radius:99px;background:rgba(0,0,0,.25);transition:width .4s var(--ss-ease),background .4s}
.ss-dots i.on{width:24px;background:var(--ss-green)}
.ss-story-steps{padding:30svh 0}
.ss-st{min-height:70svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;opacity:.25;transition:opacity .6s}
.ss-st.on{opacity:1}
.ss-st h3{font-size:clamp(2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1;margin:.6rem 0 1rem}
.ss-st p{color:var(--ss-mut);max-width:40ch;font-size:1.1rem;margin-bottom:1rem}
.ss-story-all{padding-top:2rem}
@media(max-width:860px){
  .ss-story-in{grid-template-columns:1fr}
  .ss-story-media{height:60svh;top:calc(60px + var(--ss-top));z-index:2}
  .ss-frames{aspect-ratio:auto;height:52svh}
  .ss-story-steps{padding:5svh 0 15svh}
  .ss-st{min-height:55svh;background:var(--ss-alt)}
}

/* Carrusel de servicios */
.ss-svc{padding:clamp(6rem,11vw,9rem) 0}
.ss-svc-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;flex-wrap:wrap}
.ss-arrows{display:flex;gap:.6rem}
.ss .ss-arrows button{width:44px;height:44px;border-radius:50%;border:0;padding:0;background:#E8E8ED;color:var(--ss-fg);font-size:1.3rem;line-height:1;cursor:pointer;transition:background .3s}
.ss .ss-arrows button:hover{background:#D2D2D7;color:var(--ss-fg)}
.ss-rail{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2.5rem max(1.25rem,calc((100vw - 1120px)/2)) 1rem;scroll-padding-inline:max(1.25rem,calc((100vw - 1120px)/2))}
.ss-rail::-webkit-scrollbar{display:none}
.ss-tile{flex:0 0 min(80vw,360px);height:500px;border-radius:28px;scroll-snap-align:start;position:relative;overflow:hidden;color:#fff;padding:1.8rem;display:flex;flex-direction:column;isolation:isolate;transition:transform .5s var(--ss-ease)}
.ss-tile:hover{transform:scale(1.015)}
.ss-tile img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2}
.ss-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.55),transparent 45%);z-index:-1}
.ss-k{font-size:.8rem;font-weight:600;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.ss-tile h3{font-size:1.75rem;letter-spacing:-.03em;line-height:1.08;margin-top:.4rem}
.ss-tile p{margin-top:auto;font-size:.95rem;background:rgba(0,0,0,.35);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.9rem 1rem;border-radius:16px}
.ss-tile.is-solid{background:var(--ss-green)}.ss-tile.is-solid::after{display:none}
.ss-tile.is-light{background:#fff;color:var(--ss-fg);border:1px solid var(--ss-line)}.ss-tile.is-light::after{display:none}
.ss-tile.is-light .ss-k{color:var(--ss-red);opacity:1}.ss-tile.is-light p{background:var(--ss-alt)}

/* Fachada con parallax */
.ss-para{height:200vh;position:relative}
.ss-para .ss-stick{position:sticky;top:0;height:100svh;overflow:hidden}
.ss-para img{position:absolute;inset:-10% 0;width:100%;height:120%!important;object-fit:cover;transform:translateY(calc(var(--p,0)*-8%)) scale(calc(1.15 - var(--p,0)*.15))}
.ss-veil{position:absolute;inset:0;background:rgba(251,251,249,calc(.92 - var(--p,0)*1.6))}
.ss-txt{position:absolute;inset:0;display:grid;place-items:center;text-align:center;padding:0 1rem;transform:scale(calc(1 + var(--p,0)*.5));opacity:calc(1 - clamp(0,(var(--p,0) - .35)*3,1))}
.ss-txt h2{font-size:clamp(3rem,10vw,8.5rem);letter-spacing:-.055em;line-height:.9}
.ss-cap{position:absolute;left:0;right:0;bottom:8vh;text-align:center;color:#fff;opacity:clamp(0,(var(--p,0) - .6)*4,1);padding:0 1rem}
.ss-cap span{display:inline-block;background:rgba(14,52,36,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.7rem 1.2rem;border-radius:999px;font-weight:500}

/* Método */
.ss-how{padding:clamp(6rem,11vw,9rem) 0}
.ss-steps{display:grid;grid-template-columns:repeat(min(var(--n,5),5),1fr);gap:1rem;margin-top:3.5rem}
.ss-step{border-top:2px solid var(--ss-line);padding-top:1.4rem;position:relative}
.ss-step::before{content:"";position:absolute;top:-2px;left:0;height:2px;width:0;background:var(--ss-green);transition:width 1.2s var(--ss-ease)}
.ss-step.in::before{width:100%}
.ss-sn{font-size:.85rem;color:var(--ss-red);font-weight:600}
.ss-step h3{font-size:1.35rem;letter-spacing:-.02em;margin:.5rem 0}
.ss-step p{color:var(--ss-mut);font-size:.95rem}
.ss-step:nth-child(2)::before{transition-delay:.15s}.ss-step:nth-child(3)::before{transition-delay:.3s}.ss-step:nth-child(4)::before{transition-delay:.45s}.ss-step:nth-child(5)::before{transition-delay:.6s}
@media(max-width:900px){.ss-steps{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ss-steps{grid-template-columns:1fr}}

/* Aparición al entrar en pantalla */
.ss-reveal{transition:opacity 1s var(--ss-ease),transform 1s var(--ss-ease)}
.js .ss-reveal{opacity:0;transform:translateY(50px)}
.js .ss-reveal.in{opacity:1;transform:none}

/* --- Contacto con formulario --- */
.ss-contact{padding:clamp(4rem,8vw,6rem) 0 clamp(5rem,10vw,8rem)}
.ss-cbox{background:var(--ss-green);color:#fff;border-radius:36px;padding:clamp(2rem,6vw,4.5rem);display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(2rem,5vw,4rem);overflow:hidden;position:relative;isolation:isolate}
.ss-cbox::after{content:"";position:absolute;right:-200px;top:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(200,53,42,.35),transparent 65%);z-index:-1}
.ss-cbox h2{font-size:clamp(2.6rem,5.5vw,4.6rem);letter-spacing:-.05em;line-height:.95}
.ss-cbox .ss-lead{color:rgba(255,255,255,.8);margin-top:1rem;max-width:32ch}
.ss-cbox dl{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.5rem}
.ss-cbox dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
.ss-cbox dd{margin:.2rem 0 0;font-size:1rem}
.ss-cbox dd a:hover{text-decoration:underline}
.ss-form{display:grid;gap:1rem;align-content:start}
.ss-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ss-field{display:grid;gap:.35rem;font-size:.85rem;color:rgba(255,255,255,.75)}
.ss .ss-form input[type=text],.ss .ss-form input[type=email],.ss .ss-form input[type=tel],.ss .ss-form select,.ss .ss-form textarea{
  width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.22);border-radius:14px;color:#fff;font-size:1rem;padding:.8rem 1rem;line-height:1.4;box-shadow:none;transition:border-color .25s,background .25s}
.ss .ss-form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:2.4rem}
.ss .ss-form select option{color:var(--ss-fg)}
.ss .ss-form input:focus,.ss .ss-form select:focus,.ss .ss-form textarea:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.14)}
.ss .ss-form textarea{resize:vertical;min-height:110px}
.ss-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:rgba(255,255,255,.8)}
.ss-check input{margin-top:.2rem;accent-color:#fff;width:16px;height:16px;flex:none}
.ss-check a{text-decoration:underline!important}
.ss-form .ss-btn{justify-self:start;margin-top:.4rem}
.ss-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ss-notice{padding:.85rem 1rem;border-radius:14px;font-size:.95rem}
.ss-notice-ok{background:#fff;color:var(--ss-green)}
.ss-notice-ko{background:#FBE3E0;color:#8A1F17}
@media(max-width:900px){.ss-cbox{grid-template-columns:1fr}}
@media(max-width:520px){.ss-row,.ss-cbox dl{grid-template-columns:1fr}}

/* --- Pie --- */
.ss-footer{border-top:1px solid var(--ss-line);padding:2.5rem 0 1.6rem;font-size:.85rem;color:var(--ss-mut);font-family:var(--ss-f);background:var(--ss-bg)}
.ss-footer a{color:var(--ss-fg);text-decoration:none}.ss-footer a:hover{text-decoration:underline}
.ss-footer p{margin:0}
.ss-footer-in{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.ss-footer-brand{display:flex;gap:1.4rem;align-items:center}
.ss-footer .ss-logo-sm{height:44px;width:auto}
.ss-footer-cols{display:flex;gap:2.5rem;flex-wrap:wrap;line-height:1.8}
.ss-footer-legal{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--ss-line);margin-top:2rem;padding-top:1.2rem;font-size:.78rem}
.ss-legal-menu{display:flex;gap:1.2rem;list-style:none;margin:0;padding:0;flex-wrap:wrap}

/* --- Galería de proyectos (archivo) --- */
.ss-page-head{padding:clamp(8rem,15vh,10rem) 0 clamp(2.5rem,5vw,4rem)}
.ss-page-head .ss-lead{margin-top:1.2rem}
.ss-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2.2rem}
.ss .ss-chip{padding:.55rem 1.1rem;border-radius:999px;background:#E8E8ED;font-size:.9rem;font-weight:500;transition:background .3s,color .3s}
.ss .ss-chip:hover{background:#D2D2D7}
.ss .ss-chip.is-on{background:var(--ss-fg);color:#fff}
.ss-gallery-wrap{padding-bottom:2rem}
.ss-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(1rem,2.4vw,2rem)}
.ss-card{grid-column:span 6}
.ss-card[hidden]{display:none}
/* Ritmo asimétrico: grande + pequeña, pequeña + grande */
.ss-grid .ss-card:nth-child(4n+1),.ss-grid .ss-card:nth-child(4n+4){grid-column:span 7}
.ss-grid .ss-card:nth-child(4n+2),.ss-grid .ss-card:nth-child(4n+3){grid-column:span 5}
.ss-grid[data-count] .ss-card{grid-column:span 6}
.ss-card a{display:block}
.ss-card-img{border-radius:24px;overflow:hidden;aspect-ratio:4/3;background:var(--ss-alt);clip-path:inset(8% 8% 8% 8% round 24px);transition:clip-path 1.1s var(--ss-ease)}
.ss-card.in .ss-card-img,html:not(.js) .ss-card-img{clip-path:inset(0 0 0 0 round 24px)}
.ss-card-img img{width:100%;height:100%!important;object-fit:cover;transform:scale(1.15);transition:transform 1.4s var(--ss-ease)}
.ss-card.in .ss-card-img img{transform:scale(1)}
.ss-card a:hover .ss-card-img img{transform:scale(1.04)}
.ss-card-txt{position:relative;padding:1.1rem 3rem 0 .2rem}
.ss-card-txt h2{font-size:clamp(1.5rem,2.4vw,2rem);letter-spacing:-.035em;line-height:1.05;margin-top:.3rem}
.ss-card-loc{color:var(--ss-mut);font-size:.95rem;margin-top:.3rem!important}
.ss-card-go{position:absolute;right:.2rem;top:1.3rem;width:38px;height:38px;border-radius:50%;background:#E8E8ED;display:grid;place-items:center;font-size:1.2rem;transition:background .3s,color .3s,transform .3s}
.ss-card a:hover .ss-card-go{background:var(--ss-green);color:#fff;transform:translateX(3px)}
.ss-empty{color:var(--ss-mut);padding:3rem 0}
@media(max-width:760px){.ss-grid .ss-card,.ss-grid .ss-card:nth-child(n),.ss-grid[data-count] .ss-card{grid-column:1/-1}}

/* --- Ficha de proyecto --- */
.ss-back{display:inline-block;font-size:.9rem;color:var(--ss-mut)!important;margin-bottom:1.6rem}
.ss-back:hover{color:var(--ss-fg)!important}
.ss-project-head .ss-lead{max-width:44ch}
.ss-project-body{padding:clamp(3rem,7vw,6rem) 0}
.ss-project-grid{display:grid;grid-template-columns:280px 1fr;gap:clamp(2rem,6vw,6rem);align-items:start}
.ss-meta{display:grid;gap:1.2rem;position:sticky;top:calc(90px + var(--ss-top));border-top:2px solid var(--ss-green);padding-top:1.2rem}
.ss-meta dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ss-mut)}
.ss-meta dd{font-size:1.05rem;font-weight:500;margin-top:.15rem}
.ss-prose{font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.6;max-width:62ch}
.ss-prose>*+*{margin-top:1.2em!important}
.ss-prose h2,.ss-prose h3{font-size:clamp(1.6rem,2.6vw,2.2rem);letter-spacing:-.03em;line-height:1.1;margin-top:1.8em!important}
.ss-prose a{color:var(--ss-g2);text-decoration:underline}
.ss-prose img{border-radius:20px}
.ss-prose-wide{max-width:75ch;font-size:1.1rem}
.ss-project-grid>.ss-prose:only-child{grid-column:1/-1}
@media(max-width:860px){.ss-project-grid{grid-template-columns:1fr}.ss-meta{position:static;grid-template-columns:1fr 1fr}}

.ss-pgal{padding:0 0 clamp(4rem,8vw,6rem)}
.ss-pgal-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem}
.ss-count{color:var(--ss-mut);font-size:.95rem}
.ss-masonry{columns:3 320px;column-gap:clamp(.8rem,1.6vw,1.2rem)}
.ss-masonry figure{break-inside:avoid;margin:0 0 clamp(.8rem,1.6vw,1.2rem)!important}
.ss .ss-zoom{display:block;width:100%;padding:0;border:0;background:none;border-radius:20px;overflow:hidden;cursor:zoom-in}
.ss .ss-zoom:hover,.ss .ss-zoom:focus{background:none}
.ss-zoom img{width:100%;transition:transform .9s var(--ss-ease)}
.ss-zoom:hover img{transform:scale(1.04)}
.ss-masonry figcaption{color:var(--ss-mut);font-size:.88rem;padding:.5rem .2rem 0}

.ss-next{padding:1rem 0 1rem}
.ss .ss-next-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:.8rem;min-height:min(70svh,560px);border-radius:32px;overflow:hidden;color:#fff;padding:clamp(1.6rem,4vw,3rem);isolation:isolate;background:#0E3424}
.ss .ss-next-card:hover,.ss .ss-next-card:focus{color:#fff}
.ss-next-card img{position:absolute;inset:0;width:100%;height:100%!important;object-fit:cover;z-index:-2;transition:transform 1.4s var(--ss-ease)}
.ss-next-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,22,15,.96),rgba(7,22,15,.65) 32%,rgba(7,22,15,0) 75%);z-index:-1}
.ss-next-card:hover img{transform:scale(1.04)}
.ss-next-k{align-self:flex-start;padding:.5rem .8rem;border:1px solid rgba(255,255,255,.45);border-radius:999px;background:#0E3424;color:#fff;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;line-height:1.4;opacity:1}
.ss-next-t{color:#fff;font-size:clamp(2.2rem,6vw,4.8rem);font-weight:700;letter-spacing:-.04em;line-height:1.08;overflow-wrap:anywhere;text-wrap:balance}
.ss .ss-next-card:focus-visible{outline:3px solid var(--ss-g2);outline-offset:5px}
@media(max-width:700px){.ss .ss-next-card{min-height:min(65svh,440px);padding:1.5rem;border-radius:24px}.ss-next-t{font-size:clamp(2rem,8vw,3rem)}}

/* Visor a pantalla completa: controles legibles y espacio para el pulgar. */
.ss-lb{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:#0A100D;color:#fff;font-family:var(--ss-f)}
.ss-lb::backdrop{background:#0A100D}
.ss-lb[open]{display:grid;place-items:center;animation:ssFade .3s ease}
@keyframes ssFade{from{opacity:0}to{opacity:1}}
.ss-lb figure{margin:0;width:100%;height:100%;display:grid;place-items:center;padding:5rem 5rem 4.5rem}
.ss-lb img{max-width:100%;max-height:calc(100vh - 10rem);max-height:calc(100dvh - 10rem);width:auto;height:auto;object-fit:contain;border-radius:12px;opacity:0;transform:scale(.98);transition:opacity .35s,transform .5s var(--ss-ease)}
.ss-lb img.on{opacity:1;transform:none}
.ss-lb figcaption{position:absolute;left:0;right:0;bottom:1.5rem;text-align:center;font-size:1rem;line-height:1.4;color:#fff;opacity:1;padding:0 5rem}
.ss-lb-n{position:absolute;top:1rem;left:1rem;display:flex;align-items:center;justify-content:center;min-width:76px;min-height:52px;padding:.6rem 1rem;border:1px solid #68766D;border-radius:999px;background:#1D2B22;color:#fff;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.2;opacity:1;white-space:nowrap}
.ss-lb button{position:absolute;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid #fff;padding:0;background:#FBFBF9;color:#0E3424;font-size:32px;font-weight:600;line-height:1;cursor:pointer;transition:background .2s,color .2s;font-family:var(--ss-f);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.ss-lb button:hover,.ss-lb button:focus{background:#DDEFE3;color:#0E3424}
.ss-lb button:focus-visible{outline:3px solid #8EE0AD;outline-offset:4px}
.ss-lb-x{top:1rem;right:1rem}
.ss-lb-prev{left:1rem;top:50%;transform:translateY(-50%)}
.ss-lb-next{right:1rem;top:50%;transform:translateY(-50%)}
.ss-lb.single .ss-lb-prev,.ss-lb.single .ss-lb-next,.ss-lb.single .ss-lb-n{display:none}
@media(max-width:700px){
  .ss-lb figure{padding:calc(7rem + env(safe-area-inset-top,0px)) .875rem calc(6rem + env(safe-area-inset-bottom,0px))}
  .ss-lb img{max-height:calc(100vh - 13rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 13rem - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
  .ss-lb figcaption{left:1rem;right:5.5rem;top:calc(1rem + env(safe-area-inset-top,0px));bottom:auto;padding:0;text-align:left;font-size:16px;line-height:1.4}
  .ss-lb-x{top:calc(1rem + env(safe-area-inset-top,0px));right:1rem}
  .ss-lb-prev,.ss-lb-next{top:auto;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:none}
  .ss-lb-n{top:auto;bottom:calc(1rem + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%)}
}

/* --- Páginas normales de Astra (blog, legales) con la misma estética --- */
body.ss-site:not(.ss-full) .entry-title{font-weight:700;letter-spacing:-.04em}
body.ss-site:not(.ss-full) a{color:var(--ss-g2)}
body.ss-site:not(.ss-full) .ss-nav a,body.ss-site:not(.ss-full) .ss-footer a{color:inherit}

/* --- Movimiento reducido --- */
@media (prefers-reduced-motion: reduce){
  .ss *,.ss *::before,.ss-nav *{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .js .ss-reveal{opacity:1;transform:none}
  .ss-card-img{clip-path:none}
}

/* Botón "volver arriba" de Astra con los colores del estudio */
body.ss-site #ast-scroll-top{background-color:var(--ss-green);border-radius:50%;color:#fff}

/* --- Bloques normales de WordPress dentro de las páginas de Studi Status --- */
.ss-blocks>:not(section):not(.alignfull){width:var(--ss-wrap);margin-inline:auto}
.ss-blocks>:not(section):not(.alignfull):not(.alignwide){max-width:780px}
.ss-blocks>:not(section){margin-block:1.4rem}
.ss-blocks>:not(section):first-child{margin-top:clamp(7rem,14vh,9rem)}
.ss-blocks>.alignwide{max-width:none}
.ss-blocks>h1,.ss-blocks>h2,.ss-blocks>h3{letter-spacing:-.04em;line-height:1.02}
.ss-blocks>h1{font-size:clamp(2.6rem,6vw,5rem)}
.ss-blocks>h2{font-size:clamp(2rem,4.5vw,3.4rem);margin-top:3.5rem}
.ss-blocks>h3{font-size:clamp(1.4rem,2.6vw,2rem)}
.ss-blocks>p,.ss-blocks>ul,.ss-blocks>ol{color:#424245;font-size:1.1rem;line-height:1.6}
.ss-blocks .wp-block-image img{border-radius:24px}
.ss-blocks .wp-block-button__link{background:var(--ss-green);color:#fff;border-radius:999px;padding:.85rem 1.5rem;font-weight:500}
.ss-blocks .wp-block-button__link:hover{background:var(--ss-g2)}
.ss-blocks .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--ss-green);border:1.5px solid currentColor}
.ss-blocks>section+:not(section){margin-top:clamp(3rem,6vw,5rem)}
.ss-blocks>:not(section):last-child{margin-bottom:clamp(4rem,8vw,6rem)}
