/* Marcas de muestra · estructura común. Cada marca define sus variables y sus publicaciones. */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--fb);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
html[lang="en"] .es{display:none!important}
html:not([lang="en"]) .en{display:none!important}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus,var(--acc));outline-offset:3px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--bg);padding:10px 14px;z-index:20}
.skip:focus{left:8px}
h1,h2,h3,h4{margin:0;font-weight:400}
p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}

/* barra superior */
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:12px max(16px,4vw);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.2) blur(8px);border-bottom:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}
.top .back{font-size:14px;font-weight:600;text-decoration:none;padding:8px 0}
.top .back:hover{text-decoration:underline;text-underline-offset:4px}
.top .sample{flex:1;text-align:center;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.langs{display:flex;gap:4px}
.langs button{font:600 13px/1 var(--fb);color:var(--ink);background:transparent;border:1px solid color-mix(in srgb,var(--ink) 30%,transparent);padding:8px 10px;cursor:pointer;border-radius:4px}
.langs button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
@media (max-width:560px){.top .sample{display:none}.top{justify-content:space-between}}

main{display:block}
.hero{padding:clamp(56px,10vw,140px) max(16px,6vw) clamp(40px,7vw,96px);display:grid;gap:22px;justify-items:start}
.hero .lock{display:flex;align-items:center;gap:clamp(14px,2.4vw,28px)}
.hero .mark{width:clamp(64px,10vw,120px);height:auto;color:var(--ink)}
.wm{font-family:var(--fd);line-height:.95}
.wm.big{font-size:clamp(54px,11vw,150px)}
.hero .sec{font-size:13px;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.hero .tag{font-family:var(--fd);font-size:clamp(24px,3.6vw,44px);line-height:1.15;max-width:22ch}

.blk{padding:clamp(48px,7vw,96px) max(16px,6vw);border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.blk>h2{display:flex;align-items:baseline;gap:16px;font-family:var(--fd);font-size:clamp(30px,4.6vw,56px);line-height:1.05;margin-bottom:clamp(20px,3vw,36px)}
.blk>h2 .n{font-family:var(--fb);font-size:14px;letter-spacing:.1em;opacity:.65}
.cols h3,h3.ph3,.ex>h3{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;margin:0 0 10px;opacity:.8}
.note{max-width:62ch;opacity:.82;margin:-8px 0 26px}

/* estrategia */
.cols{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(24px,5vw,72px)}
.cols>div>p+h3,.cols>div>ul+div{margin-top:26px}
.cols h3+p+h3{margin-top:26px}
.lead{font-family:var(--fd);font-size:clamp(22px,2.6vw,32px);line-height:1.25}
.voice{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.voice li{border:1px solid currentColor;padding:6px 12px;border-radius:999px;font-size:15px}
.saynot{display:grid;gap:10px;font-size:15.5px}
.saynot b{display:inline-block;min-width:96px;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.ph3{margin-top:clamp(36px,5vw,60px)!important}
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pillars li{border-top:3px solid var(--acc);padding-top:16px;display:grid;gap:8px;align-content:start}
.pillars .pn{font-size:13px;opacity:.65}
.pillars h4{font-family:var(--fd);font-size:clamp(22px,2.2vw,28px);line-height:1.15}
.pillars p{font-size:15.5px;opacity:.9}
@media (max-width:820px){.cols,.pillars{grid-template-columns:1fr}}

/* identidad */
.logos{display:grid;grid-template-columns:1.4fr 1.4fr 1fr;gap:14px;margin-bottom:22px}
.lg{display:flex;align-items:center;justify-content:center;gap:16px;min-height:220px;padding:24px}
.lg .wm{font-size:clamp(34px,4.4vw,58px)}
.lg .mark{flex:none}
.lg.l1{background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent)}
.lg.l2{background:var(--ink);color:var(--bg)}
.lg.l3{background:var(--acc);color:var(--ink)}
.pal{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:22px}
.pal li{display:grid;gap:6px;font-size:14px}
.pal i{display:block;aspect-ratio:1/1.1;border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.pal code{font:13px/1 ui-monospace,Menlo,monospace;opacity:.75}
.type{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:6px 28px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding:clamp(18px,3vw,32px)}
.tD{font-family:var(--fd);font-size:clamp(34px,5vw,64px);line-height:1}
.tDs{font-family:var(--fd);font-size:clamp(34px,5vw,64px);line-height:1;opacity:.35;text-align:right}
.tBn{grid-column:1/-1;font-size:clamp(22px,2.4vw,30px);font-weight:600;margin-top:14px}
.tB{grid-column:1/-1;font-size:15.5px;max-width:70ch;margin-top:4px}
@media (max-width:820px){.logos{grid-template-columns:1fr}.lg{min-height:160px}.pal{grid-template-columns:repeat(3,1fr)}.type{grid-template-columns:1fr}.tDs{text-align:left}}

/* perfil y cuadrícula */
.ig{max-width:980px;margin:0 auto;background:color-mix(in srgb,var(--bg) 70%,#fff);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);padding:clamp(14px,2vw,22px)}
.igh{display:flex;gap:18px;align-items:center;padding:6px 4px 18px}
.igh .av{flex:none;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);overflow:hidden;color:var(--ink)}
.igh .av .mark{width:54px;height:54px}
.igh b{font-size:16px}
.igh p{font-size:14.5px;opacity:.85}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.post{appearance:none;border:0;margin:0;padding:0;display:block;width:100%;aspect-ratio:4/5;position:relative;overflow:hidden;cursor:zoom-in;container-type:inline-size;background:var(--bg);color:var(--ink);font:inherit;text-align:left}
.post .pi{position:absolute;inset:0}
.post:hover .pi{filter:brightness(1.03)}
.caps{max-width:980px;margin:22px auto 0;border-top:1px solid color-mix(in srgb,var(--ink) 18%,transparent);padding-top:14px}
.caps summary{cursor:pointer;font-weight:700;padding:8px 0}
.caps ol{display:grid;gap:12px;margin-top:12px}
.caps li{display:grid;grid-template-columns:36px 1fr;gap:8px;font-size:15.5px}
.cn{opacity:.6;font-size:13px;padding-top:3px}

/* elementos de publicación, base en unidades de diseño (1cqw = 10,8 px de 1080) */
.post h3{font-family:var(--fd)}
.ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.post .k{font-size:3.1cqw;letter-spacing:.14em;text-transform:uppercase;font-weight:700}

/* historias */
.srow{display:grid;grid-template-columns:repeat(3,minmax(0,300px));gap:clamp(12px,2vw,26px);justify-content:center}
.story{margin:0;aspect-ratio:9/16;position:relative;overflow:hidden;border-radius:18px;container-type:inline-size;background:var(--ink);color:#fff;box-shadow:0 1px 0 color-mix(in srgb,var(--ink) 20%,transparent)}
.story .si{position:absolute;inset:0}
.s-poll .si::after,.s-link .si::after{content:"";position:absolute;left:0;right:0;top:0;height:24cqw;background:linear-gradient(rgba(0,0,0,.42),transparent);pointer-events:none}
.sbar,.shead{z-index:2}
.sbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sbar{position:absolute;top:3cqw;left:3cqw;right:3cqw;display:flex;gap:1.2cqw}
.sbar i{flex:1;height:.7cqw;border-radius:1cqw;background:rgba(255,255,255,.45)}
.sbar i.on{background:#fff}
.shead{position:absolute;top:6.5cqw;left:3cqw;right:3cqw;display:flex;align-items:center;gap:2.4cqw;font-size:4.2cqw;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.shead .av{width:9cqw;height:9cqw;border-radius:50%;background:var(--bg);color:var(--ink);display:grid;place-items:center;overflow:hidden}
.shead .av .mark{width:6.6cqw;height:6.6cqw}
.shead .tm{opacity:.8}
.poll{position:absolute;left:10cqw;right:10cqw;top:52%;transform:translateY(-50%);background:#fff;color:#111;border-radius:4cqw;padding:6cqw 5cqw 5cqw;box-shadow:0 2cqw 6cqw rgba(0,0,0,.25);text-align:center}
.pq{font-family:var(--fd);font-size:7.4cqw;line-height:1.1;margin-bottom:4.5cqw}
.po{display:grid;grid-template-columns:1fr 1fr;gap:2.4cqw}
.po>span{border:.5cqw solid #e6e6e6;border-radius:3cqw;padding:3.4cqw 2cqw;font-weight:700;font-size:5cqw}
.snote{position:absolute;inset:0;display:grid;align-content:center;justify-items:start;gap:5cqw;padding:12cqw 9cqw;background:var(--acc);color:var(--ink)}
.snote .mark{width:20cqw;height:20cqw}
.snote h4{font-family:var(--fd);font-size:12cqw;line-height:1}
.snote p{font-size:5.4cqw;line-height:1.35}
.slink{position:absolute;left:7cqw;right:7cqw;bottom:16cqw;display:grid;gap:5cqw;justify-items:center;text-align:center}
.slink h4{font-family:var(--fd);font-size:10cqw;line-height:1.02;color:#fff;text-shadow:0 .4cqw 3cqw rgba(0,0,0,.45)}
.slink .lk{display:inline-flex;align-items:center;gap:2cqw;background:#fff;color:#1a56db;font-weight:700;font-size:5cqw;padding:3cqw 5.4cqw;border-radius:2.4cqw}
.slink .lk svg{width:5cqw;height:5cqw}
@media (max-width:820px){.srow{grid-template-columns:repeat(3,72%);justify-content:start;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.story{scroll-snap-align:start}}

/* reels */
.reel{border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);padding:clamp(16px,3vw,32px);margin-bottom:22px}
.reel header{display:grid;gap:8px;margin-bottom:20px;max-width:70ch}
.rk{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.75}
.reel h3{font-family:var(--fd);font-size:clamp(24px,3vw,38px);line-height:1.1;text-transform:none;letter-spacing:0;opacity:1;font-weight:400;margin:0}
.au,.rc{font-size:15.5px}
.au b,.rc b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-right:8px}
.shots{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;counter-reset:s}
.shots li{display:grid;gap:6px;align-content:start}
.fr9{position:relative;aspect-ratio:9/16;overflow:hidden;background:var(--ink);container-type:inline-size;border-radius:8px}
.fr9 .ph{opacity:.92}
.ost{position:absolute;left:6cqw;right:6cqw;bottom:14cqw;font-family:var(--fd);font-size:11cqw;line-height:1.05;color:#fff;text-shadow:0 .5cqw 4cqw rgba(0,0,0,.6)}
.tc{font:700 13px/1 ui-monospace,Menlo,monospace;opacity:.7}
.sd{font-size:14.5px;line-height:1.4}
.rc{margin-top:18px}
@media (max-width:820px){.shots{grid-template-columns:repeat(5,44%);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.shots li{scroll-snap-align:start}}

/* oferta */
.oc{display:grid;grid-template-columns:1fr 1.3fr;gap:0;border:1px solid color-mix(in srgb,var(--ink) 20%,transparent)}
.oc .pl{background:var(--ink);color:var(--bg);padding:clamp(22px,4vw,44px);display:grid;gap:12px;align-content:start}
.pk{font-size:13px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.pp{font-family:var(--fd);font-size:clamp(36px,5vw,60px);line-height:1}
.oc .pl ul{display:grid;gap:8px;margin-top:8px}
.oc .pl li::before{content:"";display:inline-block;width:10px;height:10px;background:var(--acc);margin-right:10px;vertical-align:1px}
.oc .ex{padding:clamp(22px,4vw,44px);display:grid;gap:16px;align-content:start}
.oc .ex ul{display:grid;gap:0}
.oc .ex li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 15%,transparent)}
.oc .ex li b{white-space:nowrap}
.why{font-size:16px}
.fine{font-size:14px;opacity:.75}
.btn{justify-self:start;display:inline-block;background:var(--acc);color:var(--btnink,var(--ink));text-decoration:none;font-weight:700;padding:15px 22px;border-radius:4px;border:2px solid var(--acc);transition:background .15s,color .15s}
.btn:hover{background:transparent;color:var(--ink)}
@media (max-width:820px){.oc{grid-template-columns:1fr}}

/* pie */
.foot{padding:40px max(16px,6vw) 56px;border-top:1px solid color-mix(in srgb,var(--ink) 14%,transparent);display:grid;gap:10px;font-size:14px;opacity:.9}
.foot .pn{display:flex;justify-content:space-between;gap:16px;font-weight:700;font-size:16px;margin-bottom:12px}
.foot .pn a{text-decoration:none}
.foot .pn a:hover{text-decoration:underline}
.foot a{text-underline-offset:3px}

/* visor */
.lb{border:0;padding:0;max-width:min(980px,94vw);width:100%;background:var(--bg);color:var(--ink)}
.lb::backdrop{background:rgba(10,10,10,.72)}
.lbi{display:grid;grid-template-columns:minmax(0,1.05fr) 1fr}
.lbp .post{cursor:default}
.lbt{padding:clamp(18px,3vw,32px);display:grid;gap:14px;align-content:start}
.lbn{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.7}
.lbc{font-size:17px;line-height:1.5}
.lb .x{justify-self:start;font:700 14px var(--fb);background:var(--ink);color:var(--bg);border:0;padding:12px 18px;border-radius:4px;cursor:pointer}
@media (max-width:700px){.lbi{grid-template-columns:1fr}}

/* índice */
body.idx{--bg:#F4F1EB;--ink:#151413;--acc:#151413;--fb:'Hanken Grotesk',system-ui,sans-serif;--fd:'Libre Caslon Display',Georgia,serif;--btnink:#F4F1EB}
.ihero{padding:clamp(56px,10vw,130px) max(16px,6vw) clamp(32px,5vw,64px);display:grid;gap:20px;max-width:1200px}
.ik{font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.ihero h1{font-family:var(--fd);font-size:clamp(40px,7.4vw,104px);line-height:1;max-width:16ch}
.il{font-size:clamp(17px,1.6vw,20px);max-width:60ch;opacity:.9}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:clamp(16px,2.4vw,30px);padding:0 max(16px,6vw) clamp(48px,7vw,96px)}
.card a{display:grid;text-decoration:none;color:inherit;height:100%;border:1px solid rgba(21,20,19,.14);background:#fff;transition:transform .2s ease}
.card a:hover{transform:translateY(-3px)}
.card .cv .post{cursor:pointer}
.ct{padding:18px 18px 22px;display:grid;gap:6px;align-content:start}
.cs{font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.idx .card .ct{background:#fff;color:#151413}
.ct h2{font-family:var(--fd);font-size:36px;line-height:1.05}
.idx .card .ct h2.wm{color:#151413;text-shadow:none}
.cf{font-size:13.5px;opacity:.7}
.cp{display:flex;gap:4px;margin-top:6px}
.cp li{width:26px;height:14px;border:1px solid rgba(0,0,0,.08)}
.how{padding:clamp(48px,7vw,96px) max(16px,6vw);border-top:1px solid rgba(21,20,19,.14);display:grid;gap:22px}
.how h2{font-family:var(--fd);font-size:clamp(32px,4.6vw,56px)}
.how ol{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:h}
.how li{border-top:2px solid var(--ink);padding-top:14px;display:grid;gap:6px}
.how li b{font-size:20px}
@media (max-width:820px){.how ol{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* lenguaje de diseño */
.hero .dl{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;border:1px solid currentColor;padding:6px 10px;border-radius:999px}
.lgn{font-family:var(--fd);font-size:clamp(28px,4vw,52px);line-height:1.05;margin-bottom:24px}
.lgrows{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid color-mix(in srgb,var(--ink) 25%,transparent)}
.lgrows li{padding:18px 18px 22px 0;border-bottom:1px solid color-mix(in srgb,var(--ink) 25%,transparent);display:grid;gap:6px;align-content:start}
.lgrows b{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase}
.lgrows p{font-size:16px}
@media (max-width:820px){.lgrows{grid-template-columns:1fr}}

/* proceso del logo */
.concepts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}
.cpt{border:1px dashed color-mix(in srgb,var(--ink) 40%,transparent);padding:16px;display:grid;gap:10px;align-content:start;opacity:.78}
.cpt.chosen{border:2px solid var(--ink);opacity:1}
.cpt .cv{aspect-ratio:1;display:grid;place-items:center;background:color-mix(in srgb,var(--bg) 80%,#fff);color:var(--ink)}
.cpt .cv svg{width:62%;height:auto}
.cl{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700}
.cw{font-size:15px}
.final{display:grid;gap:18px}
.fw{font-family:var(--fd);font-size:clamp(20px,2.4vw,30px);line-height:1.25;max-width:46ch}
.lockups{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:12px}
.lku{display:flex;align-items:center;justify-content:center;gap:16px;min-height:200px;padding:20px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);color:var(--ink)}
.lku .wm{font-size:clamp(28px,3.4vw,46px)}
.lku.lv{flex-direction:column;gap:10px}.lku.lv .wm{font-size:clamp(22px,2.4vw,32px)}
.lku.lm{background:var(--ink);color:var(--bg)}
.monos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mo{display:flex;align-items:center;justify-content:center;gap:14px;min-height:150px}
.mo .wm{font-size:clamp(24px,3vw,38px)}
.monos .m1{background:#fff;color:#111;--bg:#fff;--acc2:#111;--acc3:#111}
.monos .m2{background:#111;color:#fff;--bg:#111;--acc2:#fff;--acc3:#fff}
.mono-cut .m1{--acc:#fff}.mono-cut .m2{--acc:#111}
.mono-ink .m1{--acc:#111}.mono-ink .m2{--acc:#fff}
.mo .wm{text-shadow:none!important;-webkit-text-stroke:0!important;color:inherit!important}
.sizes ul{display:flex;gap:28px;align-items:flex-end;flex-wrap:wrap}
.sizes li{display:grid;gap:8px;justify-items:center;font-size:13px}
.sz{display:block;color:var(--ink)}.sz svg{width:100%;height:100%;display:block}
.rules{display:grid;gap:6px;font-size:15px}
.rules li::before{content:"";display:inline-block;width:8px;height:8px;background:var(--acc);margin-right:10px;vertical-align:1px}
@media (max-width:820px){.concepts{grid-template-columns:1fr}.lockups,.monos{grid-template-columns:1fr}}
@media (min-width:821px) and (max-width:1100px){.concepts{grid-template-columns:repeat(3,1fr)}}
.lku.lm .mark{--bg:var(--ink)}
.sizes li.szn{max-width:340px;justify-items:start;align-self:center;font-size:14px;line-height:1.45;opacity:.85}

/* v3 proceso del logo: construcción, avatar y logo animado */
.build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(18px,3vw,44px);align-items:center;margin:4px 0 28px}
.bfig{margin:0;aspect-ratio:1;display:grid;place-items:center;color:var(--ink);background:color-mix(in srgb,var(--bg) 82%,#fff);border:1px solid color-mix(in srgb,var(--ink) 14%,transparent)}
.bfig svg{width:76%;height:auto;overflow:visible}
.gd{fill:none;stroke:#0A84FF;stroke-width:1px;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.btx h3,.stx h3{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;opacity:.8}
.btx .gn{font-size:16px;max-width:52ch;margin:10px 0 18px}
.avt{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--bg);color:var(--ink);border:1px solid color-mix(in srgb,var(--ink) 22%,transparent);overflow:hidden}
.avt.dk{background:#111;color:#fff;--bg:#111;border-color:#111}
.sting{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:clamp(18px,3vw,44px);align-items:center;margin:8px 0 4px}
.sting video{width:100%;aspect-ratio:1;display:block;background:#000}
.stx p{font-size:16px;max-width:48ch;margin:10px 0 14px}
.dlk{font-weight:700;text-underline-offset:4px}
.mo [fill^="url"]{fill:currentColor}
.mo *{mix-blend-mode:normal!important}
@media (max-width:820px){.build,.sting{grid-template-columns:1fr}}
.s-link .si::before{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;background:linear-gradient(transparent,rgba(0,0,0,.55));z-index:1;pointer-events:none}
.slink{z-index:2}
