/* ───────── Fuentes (autoalojadas) ───────── */
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-normal.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/instrument-serif-italic.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter-normal.woff2) format('woff2')}

/* ───────── Tokens ───────── */
:root{
  --paper:#F4EEE1; --paper-2:#ECE4D2; --card:#FBF7EE;
  --ink:#141210; --ink-2:#4B453B; --ink-3:#6E6657;
  --line:rgba(20,18,16,.2); --line-soft:rgba(20,18,16,.1);
  --accent:#D23A0B; --on-accent:#FFFFFF;
  --shadow:0 1px 0 rgba(20,18,16,.06),0 24px 48px -24px rgba(40,24,8,.35);
  --serif:'Instrument Serif','Iowan Old Style','Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --gutter:clamp(16px,4vw,56px);
  --hh:60px; --bar:56px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#12100E; --paper-2:#1B1815; --card:#1A1714;
    --ink:#F2EBDD; --ink-2:#BDB4A3; --ink-3:#968D7D;
    --line:rgba(242,235,221,.22); --line-soft:rgba(242,235,221,.1);
    --accent:#FF6A3D; --on-accent:#14100C;
    --shadow:0 1px 0 rgba(255,255,255,.04),0 24px 48px -24px rgba(0,0,0,.8);
    color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#12100E; --paper-2:#1B1815; --card:#1A1714;
  --ink:#F2EBDD; --ink-2:#BDB4A3; --ink-3:#968D7D;
  --line:rgba(242,235,221,.22); --line-soft:rgba(242,235,221,.1);
  --accent:#FF6A3D; --on-accent:#14100C;
  --shadow:0 1px 0 rgba(255,255,255,.04),0 24px 48px -24px rgba(0,0,0,.8);
  color-scheme:dark;
}

/* ───────── Base ───────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--hh) + var(--bar) + 12px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer}
h1,h2,h3,h4,h5,p,ul,figure{margin:0}
ul{padding:0;list-style:none}
em{font-style:italic}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--accent);color:var(--on-accent)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:12px;top:-60px;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:8px;z-index:100;transition:top .2s}
.skip:focus{top:12px}
.wrap{width:100%;max-width:1480px;margin-inline:auto;padding-inline:var(--gutter)}
#contenido:focus{outline:none}

.serif{font-family:var(--serif);font-weight:400}
.kicker{font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.num{font:400 15px/1 var(--serif);letter-spacing:.02em;color:var(--ink-2)}
.rule{border:0;border-top:1px solid var(--line);margin:0}

/* ───────── Botones ───────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:600 15px/1 var(--sans);text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s}
.btn:hover{transform:translateY(-2px);background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.accent{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.btn.accent:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn.ghost{background:transparent;color:var(--ink)}
.btn.ghost:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.btn-sm{min-height:40px;padding:0 18px;font-size:14px}
.btn svg{flex:none;transition:transform .25s}
.btn:hover svg.arr{transform:translate(3px,-3px)}
.icon-btn{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:transparent}
.icon-btn:hover{border-color:var(--ink)}

/* ───────── Cabecera ───────── */
.site-header{position:sticky;top:0;z-index:40;height:var(--hh);background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.hd{height:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand-mark{width:14px;height:14px;background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.brand-name{font:400 26px/1 var(--serif);letter-spacing:.01em}
.hd-issue{display:none;font:600 11px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}
.hd-tools{display:flex;align-items:center;gap:8px}
.cur{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.cur button{border:0;background:transparent;padding:0 12px;height:32px;border-radius:999px;font:600 12px/1 var(--sans);letter-spacing:.06em;color:var(--ink-2)}
.cur button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.hd-cta{display:none}
@media (min-width:720px){.hd-issue{display:block}.hd-cta{display:inline-flex}}

/* ───────── Portada ───────── */
.hero{padding-block:clamp(28px,5vw,72px) 0}
.hero-top{display:flex;justify-content:space-between;gap:16px;align-items:center;padding-bottom:clamp(14px,2vw,24px)}
.hero h1{font:400 clamp(58px,13.4vw,224px)/.86 var(--serif);letter-spacing:-.03em;margin-block:clamp(10px,2vw,28px) clamp(24px,4vw,56px);text-wrap:balance}
.hero h1 em{color:var(--accent);padding-right:.04em}
.hero-grid{display:grid;gap:28px;border-top:1px solid var(--line);padding-top:clamp(20px,2.4vw,32px)}
.hero-lead{font-size:clamp(17px,1.6vw,21px);line-height:1.5;color:var(--ink-2);max-width:34em}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.stats{display:flex;gap:clamp(24px,5vw,72px)}
.stat b{display:block;font:400 clamp(64px,9vw,128px)/.9 var(--serif);letter-spacing:-.02em}
.stat span{display:block;margin-top:6px;font:600 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
@media (min-width:900px){.hero-grid{grid-template-columns:1.1fr 1fr;align-items:end;gap:48px}.stats{justify-content:flex-end}}

.marquee{margin-top:clamp(32px,5vw,64px);border-block:1px solid var(--line);overflow:hidden;white-space:nowrap;padding-block:14px}
.marquee-track{display:inline-flex;gap:0;animation:marq 48s linear infinite;will-change:transform}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee-item{display:inline-flex;align-items:center;gap:20px;padding-right:20px;font:400 clamp(24px,3.4vw,44px)/1 var(--serif)}
.marquee-item i{display:inline-block;width:.42em;height:.42em;background:var(--accent);border-radius:50% 50% 50% 0;transform:rotate(-45deg)}
.marquee-item sup{font:600 11px/1 var(--sans);letter-spacing:.1em;color:var(--ink-3);margin-left:-8px;vertical-align:top;position:relative;top:.2em}
@keyframes marq{to{transform:translateX(-50%)}}
.rm .marquee-track{animation:none}
.rm .marquee{overflow-x:auto}

.feature{padding-block:clamp(40px,6vw,96px) clamp(24px,4vw,48px)}
.feature-label{display:flex;align-items:center;gap:14px;margin-bottom:clamp(16px,2vw,28px)}
.feature-label::after{content:"";flex:1;border-top:1px solid var(--line)}

/* ───────── Barra de sectores ───────── */
.sector-bar{position:sticky;top:var(--hh);z-index:30;height:var(--bar);background:color-mix(in srgb,var(--paper) 92%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.sector-bar .wrap{height:100%;padding-inline:0}
.chips{height:100%;display:flex;align-items:center;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-inline:var(--gutter);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;scroll-snap-align:center;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:999px;border:1px solid var(--line);text-decoration:none;font:500 14px/1 var(--sans);white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s}
.chip:hover{border-color:var(--ink)}
.chip .n{font:600 11px/1 var(--sans);padding:3px 7px;border-radius:999px;background:var(--line-soft);color:var(--ink-2);transition:inherit}
.chip[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.chip[aria-current="page"] .n{background:var(--accent);color:var(--on-accent)}
@media (min-width:1100px){.chips{justify-content:flex-start}}

/* ───────── Contenido por vista ───────── */
#content{transition:opacity .16s ease,transform .16s ease}
#content.swap-out{opacity:0;transform:translateY(10px)}
.rm #content{transition:none}
.section{padding-block:clamp(48px,7vw,112px)}
.section-head{display:grid;gap:12px;margin-bottom:clamp(28px,4vw,56px)}
.section-head .kicker{display:flex;gap:14px;align-items:center}
.section-head .kicker::after{content:"";flex:0 1 120px;border-top:1px solid var(--line)}
.section-head h2{font:400 clamp(40px,6.4vw,104px)/.94 var(--serif);letter-spacing:-.02em;text-wrap:balance;max-width:14em}
.section-head h2 em{color:var(--accent)}
.section-head p.lead{font-size:clamp(17px,1.5vw,20px);color:var(--ink-2);max-width:40em}

.sec-intro{padding-block:clamp(36px,5vw,80px) clamp(20px,3vw,40px);display:grid;gap:24px}
.sec-intro h2{font:400 clamp(52px,10vw,168px)/.88 var(--serif);letter-spacing:-.03em;text-wrap:balance}
.sec-intro h2 em{color:var(--accent)}
.sec-intro .cols{display:grid;gap:20px;border-top:1px solid var(--line);padding-top:clamp(16px,2vw,28px)}
.sec-intro p.lead{font-size:clamp(18px,1.8vw,24px);line-height:1.45;max-width:30em}
.sec-intro .count{font:400 clamp(60px,8vw,112px)/.9 var(--serif);color:var(--accent)}
.sec-intro .count small{display:block;font:600 11px/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-top:6px}
@media (min-width:900px){.sec-intro .cols{grid-template-columns:1.4fr .6fr;align-items:end;gap:48px}.sec-intro .count{text-align:right}}

/* ───────── Rejilla asimétrica y tarjetas ───────── */
.grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(48px,7vw,40px) 0}
@media (min-width:900px){
  .grid{grid-template-columns:repeat(12,1fr);gap:clamp(56px,6vw,104px) clamp(24px,3vw,48px);align-items:start}
  .s12{grid-column:span 12}.s8{grid-column:span 8}.s7{grid-column:span 7}.s6{grid-column:span 6}.s5{grid-column:span 5}.s4{grid-column:span 4}
  .off{margin-top:clamp(40px,7vw,120px)}
  .solo{grid-column:2 / span 8}
}
.card{position:relative;min-width:0;--stage-pad:34px}
.card-link{display:block;text-decoration:none;color:inherit}
.stage{position:relative;padding-bottom:var(--stage-pad)}
.browser{border:1px solid var(--line);border-radius:12px;background:var(--card);overflow:hidden;box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.browser-bar{display:flex;align-items:center;gap:6px;padding:9px 12px;border-bottom:1px solid var(--line);background:var(--paper-2)}
.browser-bar i{width:9px;height:9px;border-radius:50%;background:var(--line)}
.browser-bar .url{margin-left:10px;flex:1 1 0;min-width:0;max-width:60%;font:500 11px/1 var(--sans);color:var(--ink-3);background:var(--paper);border:1px solid var(--line-soft);border-radius:999px;padding:5px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.shot img{width:100%;height:100%;object-fit:cover;object-position:50% 0%;transition:object-position 1.4s cubic-bezier(.3,.7,.2,1)}
.phone{position:absolute;right:clamp(-8px,-1vw,0px);bottom:0;width:21%;min-width:78px;aspect-ratio:9/19;border:5px solid var(--ink);border-radius:22px;overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.phone img{width:100%;height:100%;object-fit:cover;object-position:top}
.card:hover .browser,.card:focus-within .browser{transform:translateY(-6px);box-shadow:0 1px 0 rgba(20,18,16,.06),0 40px 60px -28px rgba(40,24,8,.5)}
.card:hover .phone,.card:focus-within .phone{transform:translateY(-14px) rotate(2deg)}
.card:hover .shot img,.card:focus-within .shot img,.card.is-auto .shot img{object-position:50% 100%;transition:object-position 8s linear}
.rm .shot img,.rm .card:hover .shot img,.rm .card.is-auto .shot img{transition:none;object-position:50% 0%}
.rm .card:hover .browser,.rm .card:hover .phone{transform:none}
.meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:baseline;padding-top:6px}
.meta .num{grid-row:1}
.meta h3{font:400 clamp(30px,3.4vw,52px)/1 var(--serif);letter-spacing:-.01em;background:linear-gradient(var(--accent),var(--accent)) 0 100%/0 2px no-repeat;transition:background-size .4s;display:inline;width:fit-content}
.card:hover .meta h3,.card:focus-within .meta h3{background-size:100% 2px}
.meta p{grid-column:2;color:var(--ink-2);max-width:36em}
.meta .tags{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:6px}
.tag{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);border:1px solid var(--line);padding:6px 10px;border-radius:999px}
.more{font:600 14px/1 var(--sans);display:inline-flex;align-items:center;gap:6px}
.more svg{transition:transform .25s}
.card:hover .more svg{transform:translateX(5px)}
.card.big .meta h3{font-size:clamp(36px,4.6vw,76px)}

.feature .card.big .card-link{display:grid;gap:24px}
@media (min-width:1000px){.feature .card.big .card-link{grid-template-columns:1.5fr 1fr;gap:56px;align-items:end}.feature .card.big .meta{padding-bottom:var(--stage-pad)}}

/* ───────── Precios ───────── */
.pricing{background:var(--paper-2);border-block:1px solid var(--line)}
.price-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-bottom:clamp(24px,3vw,40px)}
.offer-pill{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--on-accent);font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:9px 14px;border-radius:999px}
.offer-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.price-note{font-size:14px;color:var(--ink-2);max-width:60em}
.pkgs{display:grid;gap:20px}
@media (min-width:900px){.pkgs{grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}}
.pkg{position:relative;display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:clamp(22px,2.4vw,34px);transition:transform .3s,box-shadow .3s}
.pkg:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.pkg.is-rec{border:2px solid var(--ink);background:var(--card)}
.pkg .ribbon{position:absolute;top:-13px;left:24px;background:var(--ink);color:var(--paper);font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px}
.pkg h4{font:400 clamp(30px,2.6vw,40px)/1 var(--serif)}
.pkg .tagline{color:var(--ink-2)}
.pkg .big{font:400 clamp(48px,4.6vw,72px)/.95 var(--serif);letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.pkg .big .cur-u{font:600 14px/1 var(--sans);letter-spacing:.06em;color:var(--ink-2)}
.pkg .lbl{font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:8px}
.pkg .monthly{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}
.pkg .monthly b{font:600 18px/1 var(--sans)}
.pkg .monthly small{color:var(--ink-2);font-size:13px;flex-basis:100%}
.pkg .offer-tag{font:600 11px/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.pkg h5{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-top:6px}
.pkg li{position:relative;padding-left:22px;font-size:15px;line-height:1.45;margin-top:8px}
.pkg li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.pkg ul.opt li{color:var(--ink-2)}
.pkg ul.opt li::before{border-color:var(--ink-3);height:2px;border-left:0;transform:none;width:8px;top:.75em}
.pkg .ads{font-size:13px;color:var(--ink-2);background:var(--paper-2);border-radius:10px;padding:10px 12px}
.pkg .btn{margin-top:auto}
.pkg .grow{flex:1}
.shop{margin-top:clamp(20px,3vw,32px);display:grid;gap:20px;background:var(--ink);color:var(--paper);border-radius:18px;padding:clamp(24px,3vw,44px)}
.shop h4{font:400 clamp(32px,3.6vw,56px)/1 var(--serif)}
.shop .big{font:400 clamp(40px,4vw,64px)/1 var(--serif);color:var(--accent)}
.shop .big small{font:600 12px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:.7;margin-left:8px}
.shop p{opacity:.85;max-width:40em}
.shop ul{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px}
.shop li::before{content:"✓ ";color:var(--accent)}
.shop .hl{border-left:3px solid var(--accent);padding-left:14px;font-size:17px;opacity:1}
.shop .btn{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.shop .btn:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
@media (min-width:900px){.shop{grid-template-columns:1.2fr 1fr;align-items:center;gap:48px}.shop .side{display:grid;gap:16px;justify-items:start}}

/* ───────── Proceso ───────── */
.steps{display:grid;gap:0;border-top:1px solid var(--line)}
.step{display:grid;grid-template-columns:auto 1fr;gap:6px 20px;padding-block:clamp(20px,2.4vw,32px);border-bottom:1px solid var(--line)}
.step .n{font:400 clamp(56px,7vw,104px)/.9 var(--serif);color:var(--accent);grid-row:span 2}
.step h3{font:400 clamp(26px,2.6vw,40px)/1.05 var(--serif)}
.step p{color:var(--ink-2);max-width:34em}
@media (min-width:900px){
  .steps{grid-template-columns:repeat(4,1fr);border-top:0;gap:0}
  .step{grid-template-columns:1fr;border-bottom:0;border-top:1px solid var(--line);padding-right:28px;align-content:start}
  .step .n{grid-row:auto;margin-bottom:12px}
}

/* ───────── Cierre y pie ───────── */
.closing{padding-block:clamp(64px,10vw,160px);text-align:left}
.closing h2{font:400 clamp(60px,14vw,240px)/.86 var(--serif);letter-spacing:-.035em;text-wrap:balance}
.closing h2 em{color:var(--accent)}
.closing .row{display:flex;flex-wrap:wrap;gap:14px;margin-top:clamp(24px,3vw,44px);align-items:center}
.closing .row p{color:var(--ink-2);max-width:30em}
.site-footer{border-top:1px solid var(--line);padding-block:28px 100px}
.ft{display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;align-items:center;font-size:14px;color:var(--ink-2)}
.ft nav{display:flex;flex-wrap:wrap;gap:6px 18px}
.ft a{text-decoration:none}.ft a:hover{color:var(--accent)}
.wa-float{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:35;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:#1FA855;color:#fff;box-shadow:0 10px 30px -8px rgba(0,0,0,.5);transition:transform .25s}
.wa-float:hover{transform:scale(1.08) rotate(-6deg)}
.wa-float::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #1FA855;opacity:0;animation:ping 3.2s ease-out infinite}
.rm .wa-float::after{animation:none}
@keyframes ping{0%{transform:scale(.85);opacity:.7}70%,100%{transform:scale(1.3);opacity:0}}

/* ───────── Revelado al hacer scroll ───────── */
.js:not(.rm) .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0) * 80ms)}
.js:not(.rm) .rv.in{opacity:1;transform:none}

/* ───────── Detalle de proyecto ───────── */
dialog#detail{border:0;padding:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;background:var(--paper);color:var(--ink);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
dialog#detail::backdrop{background:rgba(10,8,6,.6)}
html:has(dialog#detail[open]){overflow:hidden}
dialog#detail[open]{animation:dlg .35s cubic-bezier(.2,.7,.2,1)}
@keyframes dlg{from{opacity:0;transform:translateY(24px)}}
.rm dialog#detail[open]{animation:none}
.dt{max-width:1480px;margin-inline:auto;padding:0 var(--gutter) 56px}
.dt-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:12px;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.dt-top .close{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px 0 12px;border-radius:999px;border:1px solid var(--line);background:transparent;font:600 14px/1 var(--sans)}
.dt-top .close:hover{border-color:var(--ink)}
.dt-nav{display:flex;gap:8px}
.dt-nav button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;display:grid;place-items:center}
.dt-nav button:hover:not(:disabled){border-color:var(--ink)}
.dt-nav button:disabled{opacity:.35;cursor:default}
.dt-head{padding-block:clamp(28px,4vw,56px) clamp(20px,3vw,36px);display:grid;gap:16px}
.dt-head h2{font:400 clamp(48px,9vw,148px)/.9 var(--serif);letter-spacing:-.03em}
.dt-head .desc{font-size:clamp(18px,1.8vw,24px);line-height:1.4;color:var(--ink-2);max-width:34em}
.dt-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.dt-body{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,4vw,56px)}
.dt-visuals,.dt-info,.dt-desk{min-width:0}
@media (min-width:1000px){.dt-body{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start}.dt-info{position:sticky;top:90px}}
.dt-visuals{display:grid;gap:clamp(20px,3vw,40px)}
.dt-desk .shot{aspect-ratio:auto;max-height:none}
.dt-desk .shot img{height:auto;aspect-ratio:var(--ar,16/10);object-fit:cover}
.dt-desk .scroller{max-height:min(70vh,760px);overflow:auto;background:var(--paper-2)}
.dt-desk .scroller img{width:100%;height:auto}
.dt-tabs{margin-left:auto;display:flex;gap:4px;flex:none}
.dt-tabs button{border:0;background:transparent;font:600 11px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding:6px 10px;border-radius:999px}
.dt-tabs button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.dt-mob{display:grid;justify-items:center}
.dt-mob .phone{position:relative;right:auto;bottom:auto;width:min(280px,64%);min-width:0;border-width:7px;border-radius:34px;transform:none !important}
.dt-info h3{font:600 11px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:12px}
.dt-info section{padding-block:22px;border-top:1px solid var(--line)}
.dt-info p{font-size:17px;line-height:1.55;color:var(--ink-2)}
.dt-info li{position:relative;padding-left:24px;margin-top:10px;font-size:16px}
.dt-info li::before{content:"";position:absolute;left:0;top:.5em;width:10px;height:6px;border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(-45deg)}
.dt-info .dt-meta{display:flex;gap:10px;flex-wrap:wrap}
.dt-info .dt-meta a{text-decoration:none}

/* ───────── Pantallas pequeñas ───────── */
@media (max-width:719px){
  :root{--hh:56px;--bar:54px}
  .brand-name{font-size:24px}
  .card{--stage-pad:28px}
  .phone{border-width:4px;border-radius:16px}
  .stat b{font-size:72px}
}
@media (hover:none){.card:hover .browser,.card:hover .phone{transform:none}.card:hover .shot img{object-position:50% 0%;transition-duration:1.4s}.js:not(.rm) .card.is-auto .shot img{object-position:50% 100%;transition:object-position 8s linear}}
@media print{.site-header,.sector-bar,.wa-float{display:none}}
