@font-face{
  font-family:"Space Grotesk";
  src:url("assets/fonts/SpaceGrotesk-Variable.ttf") format("truetype");
  font-weight:300 700;
  font-display:swap;
}
:root{
  --bg:#080808;
  --bg2:#101010;
  --ink:#f4f4f1;
  --mute:#8f8f8a;
  --line:rgba(244,244,241,.14);
  --pad:clamp(20px,5vw,72px);
  --max:1240px;
  --ease:cubic-bezier(.2,.7,.2,1);
  --font:"Space Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--font);font-size:clamp(16px,1.1vw + 10px,18px);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,video,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px;border-radius:4px}
.wrap{width:100%;max-width:calc(var(--max) + var(--pad)*2);margin:0 auto;padding:0 var(--pad)}
.skip{position:fixed;left:12px;top:-60px;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:8px;z-index:100;transition:top .2s}
.skip:focus{top:12px}

/* TYPE */
.eyebrow{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:var(--mute)}
h1,h2,h3{font-weight:700;letter-spacing:-.035em;line-height:1.02}
h2{font-size:clamp(2rem,5vw,4rem);max-width:18ch}
.lead{font-size:clamp(1.05rem,1.4vw + .6rem,1.35rem);color:#cfcfca;max-width:42ch;line-height:1.5}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:12px;background:var(--ink);color:var(--bg);padding:16px 28px;border-radius:99px;font-weight:600;transition:transform .25s var(--ease),box-shadow .25s}
.btn:hover{box-shadow:0 10px 40px rgba(244,244,241,.18)}
.btn span{transition:transform .25s var(--ease)}
.btn:hover span{transform:translateY(3px)}
.btn.big{padding:22px 38px;font-size:1.15rem}
.btn.big:hover span{transform:translateX(5px)}
.link{position:relative;font-weight:500;padding-bottom:3px;color:var(--ink)}
.link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform-origin:right;transition:transform .35s var(--ease)}
.link:hover::after{transform:scaleX(0)}

/* HERO */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding:140px 0 90px;overflow:hidden}
.hero-mark{position:absolute;right:max(-6vw,-80px);top:50%;transform:translateY(-52%);width:min(70vw,700px);color:var(--ink);opacity:.32;pointer-events:none}
.hero-mark .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 2.6s var(--ease) .3s forwards}
.hero-mark .d2{animation-delay:1.4s;animation-duration:1.4s}
@keyframes draw{to{stroke-dashoffset:0}}
.hero .wrap{position:relative}
.display{font-size:clamp(2.7rem,9.2vw,8.6rem);letter-spacing:-.05em;line-height:.95;margin-bottom:clamp(32px,5vw,64px)}
.display .line{display:block;overflow:hidden;padding-bottom:.08em}
.display .line span{display:block;transform:translateY(110%);animation:rise 1.1s var(--ease) forwards}
.display .line:nth-child(2) span{animation-delay:.12s}
.display .line:nth-child(3) span{animation-delay:.24s}
@keyframes rise{to{transform:none}}
.hero-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:8px}
.scroll-cue{position:absolute;left:50%;bottom:26px;width:1px;height:46px;background:var(--line);overflow:hidden}
.scroll-cue span{display:block;width:100%;height:50%;background:var(--ink);animation:cue 1.8s ease-in-out infinite}
@keyframes cue{0%{transform:translateY(-100%)}100%{transform:translateY(220%)}}

/* MARQUEE */
.marquee{border-block:1px solid var(--line);overflow:hidden;padding:26px 0;background:var(--bg)}
.marquee-track{display:flex;align-items:center;gap:40px;width:max-content;animation:marq 38s linear infinite;font-size:clamp(1.6rem,4vw,3rem);font-weight:700;letter-spacing:-.03em;white-space:nowrap;padding-right:40px}
.marquee-track i{width:12px;height:12px;border-radius:50%;background:var(--mute);flex:none}
.marquee-track span{color:var(--ink)}
@keyframes marq{to{transform:translateX(-50%)}}

/* SECTIONS */
.section{padding:clamp(80px,12vw,170px) 0}
.section-head{margin-bottom:clamp(40px,6vw,80px)}
.note{margin-top:22px;color:var(--mute);max-width:52ch;font-size:.95rem}

/* SERVICES */
.services{border-top:1px solid var(--line)}
.service{border-bottom:1px solid var(--line)}
.service-btn{width:100%;display:grid;grid-template-columns:64px 1fr 28px;align-items:center;gap:12px;padding:clamp(22px,3vw,38px) 0;text-align:left;transition:padding .35s var(--ease),color .25s}
.service-btn .num{color:var(--mute);font-size:.9rem;letter-spacing:.1em}
.service-btn .name{font-size:clamp(1.6rem,4.4vw,3.4rem);font-weight:700;letter-spacing:-.04em;line-height:1.05;transition:transform .45s var(--ease)}
.service-btn:hover .name{transform:translateX(14px)}
.plus{position:relative;width:20px;height:20px;justify-self:end}
.plus::before,.plus::after{content:"";position:absolute;left:0;right:0;top:50%;height:2px;background:var(--ink);transition:transform .35s var(--ease)}
.plus::after{transform:rotate(90deg)}
.service-btn[aria-expanded="true"] .plus::after{transform:rotate(0)}
.service-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}
.service-body>div{overflow:hidden;padding-left:76px}
.service-btn[aria-expanded="true"]+.service-body{grid-template-rows:1fr}
.service-body p{color:#c6c6c1;max-width:56ch;padding-bottom:20px}
.tags{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:34px}
.tags li{border:1px solid var(--line);padding:6px 16px;border-radius:99px;font-size:.88rem;color:var(--mute)}

/* WORK */
.work{background:var(--bg2);border-block:1px solid var(--line)}
.rail{display:flex;gap:clamp(16px,2vw,28px);overflow-x:auto;scroll-snap-type:x mandatory;padding:6px var(--pad) 24px;scrollbar-width:none;scroll-padding-left:var(--pad)}
.rail::-webkit-scrollbar{display:none}
@media(min-width:1300px){.rail{padding-left:calc((100vw - var(--max))/2);scroll-padding-left:calc((100vw - var(--max))/2)}}
.card{flex:0 0 clamp(230px,24vw,300px);scroll-snap-align:start;cursor:pointer}
.phone{position:relative;aspect-ratio:9/16;border-radius:26px;overflow:hidden;background:#000;border:1px solid var(--line);transition:transform .5s var(--ease),border-color .3s;transform-style:preserve-3d}
.card:hover .phone,.card:focus-within .phone{border-color:rgba(244,244,241,.45);transform:translateY(-8px)}
.phone img,.phone video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.phone video{opacity:0;transition:opacity .4s}
.phone.playing video{opacity:1}
.phone::after{content:"Ver";position:absolute;right:14px;bottom:14px;background:var(--ink);color:var(--bg);font-size:.8rem;font-weight:600;padding:6px 14px;border-radius:99px;opacity:0;transform:translateY(8px);transition:.3s var(--ease)}
.card:hover .phone::after{opacity:1;transform:none}
.card h3{font-size:1.2rem;margin:18px 0 4px;letter-spacing:-.02em;line-height:1.2}
.card p{color:var(--mute);font-size:.9rem}
.rail-hint{display:flex;justify-content:space-between;align-items:center;color:var(--mute);font-size:.9rem;margin-top:14px}
.rail-btns{display:flex;gap:10px}
.rail-btns button{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);font-size:1.1rem;transition:background .25s,color .25s}
.rail-btns button:hover{background:var(--ink);color:var(--bg)}

/* STEPS */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,4vw,56px)}
.step{border-top:1px solid var(--line);padding-top:28px}
.step .big{display:block;font-size:clamp(4rem,9vw,7.5rem);font-weight:700;letter-spacing:-.06em;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--ink);margin-bottom:22px}
.step h3{font-size:1.5rem;margin-bottom:10px;letter-spacing:-.02em}
.step p{color:#c6c6c1}

/* DEMO */
.demo{border-top:1px solid var(--line)}
.demo-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,100px);align-items:start}
.checks li{padding:20px 0 20px 40px;border-bottom:1px solid var(--line);position:relative;color:#cfcfca}
.checks li:first-child{border-top:1px solid var(--line)}
.checks li::before{content:"";position:absolute;left:4px;top:28px;width:16px;height:8px;border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(-45deg)}
.checks b{color:var(--ink)}

/* CONTACT */
.contact{border-top:1px solid var(--line);text-align:left}
.mega{font-size:clamp(2.8rem,10vw,9rem);letter-spacing:-.055em;line-height:.95;max-width:none;margin-bottom:34px}
.mega em{font-style:normal;color:transparent;-webkit-text-stroke:2px var(--ink)}
.contact .hero-cta{margin-top:40px}

/* FOOT */
.foot{border-top:1px solid var(--line);padding:30px 0;color:var(--mute);font-size:.9rem}
.foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px}
.foot .brand{color:var(--ink)}
.foot a:hover{color:var(--ink)}

/* MODAL */
.modal{border:0;background:transparent;color:var(--ink);margin:auto;max-width:100vw;max-height:100dvh;overflow:visible}
.modal::backdrop{background:rgba(0,0,0,.86);backdrop-filter:blur(8px)}
.modal[open]{animation:pop .4s var(--ease)}
@keyframes pop{from{opacity:0;transform:scale(.94)}}
.modal-in{display:flex;flex-direction:column;align-items:center;gap:16px}
.modal video{height:min(78dvh,860px);aspect-ratio:9/16;max-width:92vw;object-fit:contain;border-radius:22px;background:#000;border:1px solid var(--line)}
.modal-info{text-align:center}.modal-info h3{font-size:1.4rem}.modal-info p{color:var(--mute);font-size:.95rem}
.close{position:absolute;right:-8px;top:-52px;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);font-size:1.7rem;line-height:1;background:rgba(8,8,8,.6)}
.close:hover{background:var(--ink);color:var(--bg)}

/* REVEAL */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.js-off .reveal{opacity:1;transform:none}

/* RESPONSIVE */
@media(max-width:860px){
  .steps{grid-template-columns:1fr}
  .demo-grid{grid-template-columns:1fr}
  .service-btn{grid-template-columns:40px 1fr 24px}
  .service-body>div{padding-left:52px}
  .hero{padding-bottom:80px}
  .hero-mark{right:-18vw;width:100vw;opacity:.5}
  .hero-foot{flex-direction:column;align-items:flex-start}
  .scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
  .display .line span{transform:none}
  .hero-mark .draw{stroke-dashoffset:0}
}

/* ESTILOS DE WEB (maquetas) */
.styles{border-top:1px solid var(--line)}
.styles-grid{display:block}
.style-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:clamp(20px,3vw,34px)}
.style-tabs button{border:1px solid var(--line);border-radius:99px;padding:10px 20px;color:var(--mute);font-size:.95rem;transition:background .25s,color .25s,border-color .25s}
.style-tabs button:hover{color:var(--ink);border-color:rgba(244,244,241,.45)}
.style-tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}

.browser{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#0d0d0d;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.browser-bar{display:flex;align-items:center;gap:7px;padding:12px 16px;background:#181818;border-bottom:1px solid var(--line)}
.browser-bar i{width:10px;height:10px;border-radius:50%;background:#3a3a3a}
.browser-bar span{margin-left:12px;flex:1;max-width:260px;font-size:.78rem;color:var(--mute);background:#0d0d0d;border-radius:99px;padding:4px 14px}
.browser-note{display:flex;flex-wrap:wrap;gap:6px 28px;padding:14px 18px;font-size:.88rem;color:var(--mute);border-top:1px solid var(--line);background:#101010}
.browser-note b{color:var(--ink)}
.browser-note em{font-style:normal}

/* La maqueta: todo se mide con cqw para escalar con el marco */
.site{container-type:inline-size;--sbg:#0b0b0b;--sfg:#f4f4f1;--smu:#8f8f8a;--sac:#f4f4f1;--sacfg:#080808;--scard:#151515;
  --sfont:var(--font);--srad:99px;--scr:10px;--sbord:0px;--sshadow:none;--stw:700;--sts:-.045em;
  background:var(--sbg);color:var(--sfg);font-family:var(--sfont);padding:4.2cqw 5cqw 5cqw;min-height:clamp(380px,42vw,560px);transition:background .5s var(--ease),color .5s}
.site *{transition:background .5s var(--ease),color .5s,border-color .5s,box-shadow .5s,border-radius .5s}
.s-nav{display:flex;align-items:center;justify-content:space-between;gap:2cqw;font-size:max(10px,1.7cqw)}
.s-logo{display:inline-flex;align-items:center;gap:.7em;font-weight:700;letter-spacing:-.03em;font-size:1.25em}
.s-dot{width:1.1em;height:1.1em;border-radius:50%;background:var(--sac)}
.s-links{display:flex;gap:3cqw;color:var(--smu)}
.s-btn{display:inline-block;background:var(--sac);color:var(--sacfg);font-weight:600;font-size:max(10px,1.75cqw);padding:1.3cqw 2.8cqw;border-radius:var(--srad);border:var(--sbord) solid var(--sfg);box-shadow:var(--sshadow)}
.s-btn.sm{font-size:max(9px,1.5cqw);padding:.9cqw 2.1cqw}
.s-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:3cqw;align-items:center;margin:6cqw 0 5cqw}
.s-eyebrow{display:block;font-size:max(9px,1.45cqw);letter-spacing:.14em;text-transform:uppercase;color:var(--smu);margin-bottom:1.6cqw}
.s-title{font-family:var(--sfont);font-weight:var(--stw);letter-spacing:var(--sts);font-size:max(22px,6.2cqw);line-height:1;margin-bottom:2cqw}
.s-text{font-size:max(11px,1.85cqw);color:var(--smu);line-height:1.5;max-width:34ch;margin-bottom:2.8cqw}
.s-art{position:relative;aspect-ratio:1;display:grid;place-items:center}
.cup{position:relative;width:48%;aspect-ratio:1;background:var(--sac);border-radius:0 0 50% 50%/0 0 60% 60%;box-shadow:var(--sshadow)}
.cup::after{content:"";position:absolute;right:-26%;top:20%;width:34%;height:44%;border:1.2cqw solid var(--sac);border-left:0;border-radius:0 99px 99px 0}
.steam{position:absolute;top:14%;left:50%;width:1.2cqw;height:12cqw;background:linear-gradient(var(--smu),transparent);border-radius:99px;transform:translateX(-50%);animation:steam 3s ease-in-out infinite}
@keyframes steam{0%,100%{opacity:.2;transform:translate(-50%,6px)}50%{opacity:.9;transform:translate(-50%,-8px)}}
.s-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2cqw}
.s-card{background:var(--scard);border:var(--sbord) solid var(--sfg);border-radius:var(--scr);padding:2.2cqw;display:flex;flex-direction:column;gap:.6cqw;font-size:max(10px,1.7cqw);box-shadow:var(--sshadow)}
.s-card small{color:var(--smu);font-size:.9em}
.s-ico{width:3.4cqw;height:3.4cqw;border-radius:50%;background:var(--sac);margin-bottom:1.2cqw}

/* 02 Editorial claro */
.site[data-style="editorial"]{--sbg:#f2ece0;--sfg:#1d1a16;--smu:#6e665a;--sac:#1d1a16;--sacfg:#f2ece0;--scard:#e9e1d1;--sfont:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--srad:2px;--scr:2px;--stw:400;--sts:-.03em}
.site[data-style="editorial"] .s-title{font-style:italic}
.site[data-style="editorial"] .s-dot{border-radius:0;transform:rotate(45deg) scale(.8)}
.site[data-style="editorial"] .s-eyebrow{letter-spacing:.22em}
.site[data-style="editorial"] .s-card{border:0;border-top:2px solid var(--sfg);background:transparent;padding-left:0}
.site[data-style="editorial"] .s-ico{border-radius:0;height:1px;width:4cqw;background:var(--sfg)}
.site[data-style="editorial"] .cup{background:#b5532a;border-radius:50%;width:70%}
.site[data-style="editorial"] .cup::after{display:none}
.site[data-style="editorial"] .steam{display:none}

/* 03 Vibrante */
.site[data-style="vibrante"]{--sbg:#ff6a3d;--sfg:#fff8ee;--smu:#ffe0cc;--sac:#fff8ee;--sacfg:#d13c10;--scard:#ff8559;--srad:99px;--scr:3.2cqw;--stw:700;--sts:-.05em}
.site[data-style="vibrante"] .s-card{box-shadow:0 1.2cqw 2.4cqw rgba(120,30,0,.25)}
.site[data-style="vibrante"] .s-ico{background:#ffd23f}
.site[data-style="vibrante"] .cup{background:#fff8ee;width:60%;box-shadow:0 2cqw 0 #ffd23f}
.site[data-style="vibrante"] .cup::after{border-color:#fff8ee}
.site[data-style="vibrante"] .steam{background:linear-gradient(#fff8ee,transparent)}
.site[data-style="vibrante"] .s-art::before{content:"";position:absolute;inset:6%;border-radius:50%;background:#ff8559}
.site[data-style="vibrante"] .cup,.site[data-style="vibrante"] .steam{z-index:1}

/* 04 Neo-brutalista */
.site[data-style="brutal"]{--sbg:#f0efe8;--sfg:#0a0a0a;--smu:#3b3b38;--sac:#ffe600;--sacfg:#0a0a0a;--scard:#fff;--sfont:"Courier New",ui-monospace,Menlo,monospace;--srad:0;--scr:0;--sbord:max(2px,.35cqw);--sshadow:.8cqw .8cqw 0 #0a0a0a;--stw:700;--sts:-.06em}
.site[data-style="brutal"] .s-title,.site[data-style="brutal"] .s-logo{text-transform:uppercase}
.site[data-style="brutal"] .s-dot{border-radius:0;background:#ff4d8d;border:var(--sbord) solid #0a0a0a}
.site[data-style="brutal"] .s-card:nth-child(2){background:#7cf0c8}
.site[data-style="brutal"] .s-card:nth-child(3){background:#ffb3d1}
.site[data-style="brutal"] .s-ico{border-radius:0;border:var(--sbord) solid #0a0a0a;background:#ffe600}
.site[data-style="brutal"] .cup{background:#ff4d8d;border:calc(var(--sbord)*1.3) solid #0a0a0a;border-radius:0;width:56%;box-shadow:1.4cqw 1.4cqw 0 #0a0a0a}
.site[data-style="brutal"] .cup::after{border-color:#0a0a0a;border-width:calc(var(--sbord)*1.3);border-radius:0}
.site[data-style="brutal"] .steam{background:#0a0a0a;width:.8cqw;border-radius:0}

@media(max-width:900px){
  .style-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
  .style-tabs::-webkit-scrollbar{display:none}
  .style-tabs button{flex:0 0 auto;white-space:nowrap;padding:9px 16px}
  .s-links{display:none}
  .s-hero{grid-template-columns:1fr}
  .s-art{display:none}
}

/* 05 Diseño suizo */
.site[data-style="suizo"]{--sbg:#f4f4f0;--sfg:#111;--smu:#555;--sac:#e5231b;--sacfg:#fff;--scard:transparent;--sfont:"Helvetica Neue",Helvetica,Arial,sans-serif;--srad:0;--scr:0;--stw:700;--sts:-.06em}
.site[data-style="suizo"] .s-dot{border-radius:0;background:#e5231b}
.site[data-style="suizo"] .s-eyebrow{color:#e5231b;font-weight:700;letter-spacing:.08em}
.site[data-style="suizo"] .s-card{border:0;border-top:.5cqw solid #111;padding:1.6cqw 0 0}
.site[data-style="suizo"] .s-ico{border-radius:0;width:2.4cqw;height:2.4cqw;background:#e5231b}
.site[data-style="suizo"] .cup{background:#e5231b;border-radius:50%;width:78%}
.site[data-style="suizo"] .cup::after,.site[data-style="suizo"] .steam{display:none}
.site[data-style="suizo"] .s-art::after{content:"";position:absolute;left:0;bottom:2%;width:34%;height:.8cqw;background:#111}

/* 06 Glassmorphism */
.site[data-style="glass"]{--sbg:#0c1030;--sfg:#f5f7ff;--smu:#b9c0e8;--sac:#fff;--sacfg:#2a1c6b;--scard:rgba(255,255,255,.12);--srad:99px;--scr:2.4cqw;--stw:600;--sts:-.045em;
  background:radial-gradient(60% 70% at 15% 20%,#7b5cff 0,transparent 60%),radial-gradient(55% 60% at 90% 30%,#12d1c0 0,transparent 60%),radial-gradient(60% 70% at 60% 105%,#ff5fa2 0,transparent 60%),#0c1030}
.site[data-style="glass"] .s-card{border:1px solid rgba(255,255,255,.32);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1.6cqw 3cqw rgba(8,6,40,.35)}
.site[data-style="glass"] .s-ico{background:linear-gradient(135deg,#fff,#b9a8ff)}
.site[data-style="glass"] .cup{background:rgba(255,255,255,.22);border:1px solid rgba(255,255,255,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);width:58%;box-shadow:0 2cqw 4cqw rgba(8,6,40,.4)}
.site[data-style="glass"] .cup::after{border-color:rgba(255,255,255,.6)}
.site[data-style="glass"] .steam{background:linear-gradient(#fff,transparent)}

/* 07 Pixel retro */
.site[data-style="pixel"]{--sbg:#1a1033;--sfg:#fdf6e3;--smu:#b8a9e0;--sac:#39ff88;--sacfg:#1a1033;--scard:#2a1a52;--sfont:"Courier New",ui-monospace,Menlo,monospace;--srad:0;--scr:0;--sbord:max(2px,.4cqw);--sshadow:.6cqw .6cqw 0 #ff3d9a;--stw:700;--sts:0em;
  background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px)}
.site[data-style="pixel"] .s-title{text-transform:uppercase;font-size:max(20px,5.2cqw);line-height:1.1}
.site[data-style="pixel"] .s-logo{text-transform:uppercase}
.site[data-style="pixel"] .s-dot{border-radius:0;background:#ff3d9a}
.site[data-style="pixel"] .s-btn{border-color:#fdf6e3}
.site[data-style="pixel"] .s-card{border-color:#39ff88}
.site[data-style="pixel"] .s-ico{border-radius:0;background:#ff3d9a}
.site[data-style="pixel"] .cup{background:#ff3d9a;border-radius:0;width:52%;clip-path:polygon(0 0,100% 0,100% 50%,88% 50%,88% 70%,76% 70%,76% 86%,64% 86%,64% 100%,36% 100%,36% 86%,24% 86%,24% 70%,12% 70%,12% 50%,0 50%);box-shadow:none}
.site[data-style="pixel"] .cup::after{display:none}
.site[data-style="pixel"] .steam{background:#39ff88;border-radius:0;width:1.6cqw}

/* 08 Clay */
.site[data-style="clay"]{--sbg:#f6e7dc;--sfg:#4a2f2a;--smu:#8b6a60;--sac:#ff9bb3;--sacfg:#4a2f2a;--scard:#f9eee6;--sfont:"Trebuchet MS","Segoe UI",system-ui,sans-serif;--srad:99px;--scr:4cqw;--stw:800;--sts:-.045em;
  --clay:inset .7cqw .7cqw 1.4cqw rgba(255,255,255,.85),inset -.7cqw -.9cqw 1.6cqw rgba(120,60,40,.14),1cqw 1.6cqw 3cqw rgba(140,80,50,.22)}
.site[data-style="clay"] .s-btn{box-shadow:var(--clay)}
.site[data-style="clay"] .s-card{box-shadow:var(--clay);border:0}
.site[data-style="clay"] .s-ico{background:#a8e0d0;box-shadow:var(--clay);width:4cqw;height:4cqw}
.site[data-style="clay"] .s-dot{background:#ff9bb3;box-shadow:var(--clay)}
.site[data-style="clay"] .cup{background:#ffd2b8;width:62%;border-radius:0 0 46% 46%/0 0 52% 52%;box-shadow:var(--clay)}
.site[data-style="clay"] .cup::after{border-color:#ffd2b8;border-width:2cqw}
.site[data-style="clay"] .steam{background:linear-gradient(#ff9bb3,transparent);width:1.8cqw}

/* TRABAJO: una pieza + bloque borroso que lleva a Instagram */
.work-grid{display:grid;grid-template-columns:minmax(230px,300px) 1fr;gap:clamp(20px,3vw,40px);align-items:stretch}
.card.featured{flex:none;cursor:pointer}
.more{position:relative;border-radius:26px;overflow:hidden;border:1px solid var(--line);background:#0b0b0b;min-height:380px;isolation:isolate}
.more-stack{position:absolute;inset:0;z-index:0;filter:blur(7px) brightness(.62) saturate(1.15);transform:scale(1.08)}
.more-stack img{position:absolute;width:34%;aspect-ratio:9/16;object-fit:cover;border-radius:18px;border:1px solid rgba(255,255,255,.15);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.more-stack img:nth-child(1){left:4%;top:12%;transform:rotate(-9deg)}
.more-stack img:nth-child(2){left:23%;top:2%;transform:rotate(-3deg)}
.more-stack img:nth-child(3){left:42%;top:10%;transform:rotate(4deg)}
.more-stack img:nth-child(4){left:61%;top:3%;transform:rotate(10deg)}
.more::after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(60% 55% at 50% 50%,rgba(8,8,8,.55),rgba(8,8,8,.15) 70%)}
.more-cta{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}
.more-cta p{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:700;letter-spacing:-.03em}
.more-cta small{color:#cfcfca;letter-spacing:.06em}
@media(max-width:760px){
  .work-grid{grid-template-columns:1fr;justify-items:center}
  .card.featured{width:min(300px,100%)}
  .more{width:100%;min-height:340px}
  .more-stack img{width:38%}
}

/* Páginas interiores y hub */
.page-head{padding:calc(var(--navh) + clamp(44px,8vw,110px)) 0 clamp(16px,3vw,36px)}
.page-head h1{font-size:clamp(2.4rem,7vw,5.6rem);letter-spacing:-.05em;line-height:.98;max-width:16ch;margin-bottom:0}
.page-head .note{margin-top:22px}
.page-head+.section{padding-top:clamp(24px,4vw,48px)}
.page-head+.section.work{padding-top:clamp(24px,4vw,48px)}
.doors{border-top:1px solid var(--line)}
.door-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,22px)}
.door{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:18px;row-gap:6px;align-items:end;padding:clamp(24px,3.4vw,44px);border:1px solid var(--line);border-radius:24px;overflow:hidden;isolation:isolate;transition:border-color .35s,transform .45s var(--ease)}
.door::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 120% at 0% 100%,var(--dc),transparent 70%);opacity:0;transition:opacity .45s}
.door:hover{border-color:var(--dc);transform:translateY(-4px)}
.door:hover::before{opacity:.28}
.dn{grid-row:1/3;align-self:start;font-size:.85rem;letter-spacing:.1em;color:var(--mute)}
.door b{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;line-height:1;grid-column:2}
.door p{grid-column:2;color:var(--mute);max-width:30em}
.da{grid-row:1/3;grid-column:3;align-self:center;font-size:1.8rem;transition:transform .35s var(--ease)}
.door:hover .da{transform:translateX(8px);color:var(--dc)}
@media(max-width:700px){.door-grid{grid-template-columns:1fr}}
