@font-face{font-family:"Inter";src:url("assets/Inter-VariableFont_opsz,wght.ttf") format("truetype");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Inter";src:url("assets/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");font-weight:100 900;font-style:italic;font-display:swap}
:root{
  --dusk:#0F1219;
  --red:#A11818;
  --pearl:#D9D9D9;
  --gray:#A0A0A0;
  --sapphire:#A7B6BC;
  --sapphire-deep:#243D49;
  --cream:#F5F1EA;
  --cloud:#F6F7F7;
  --ink:#13161c;
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--dusk);color:var(--pearl);overflow-x:hidden}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
button,input,textarea{font:inherit}
main{overflow-x:clip}
.tone-dusk{background:var(--dusk);color:var(--pearl)}
.tone-pearl{background:var(--pearl);color:var(--ink)}
.tone-cloud{background:var(--cloud);color:var(--ink)}
.tone-sapphire{background:var(--sapphire);color:var(--ink)}
.tone-sapphire-deep{background:var(--sapphire-deep);color:#f7f9fa}
.tone-cream{background:var(--cream);color:var(--ink)}

/* Intro — Altrum-inspired text reveal on black */
.intro{position:fixed;inset:0;z-index:100;background:#06080c;display:grid;place-items:center;pointer-events:none;overflow:hidden;transition:opacity .9s var(--ease),visibility 0s linear 1.2s}
.intro::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%, rgba(167,182,188,.06), transparent 55%);opacity:0;transition:opacity 1.2s ease}
.intro.lit::before{opacity:1}
.intro-inner{display:flex;align-items:baseline;gap:.55ch;font-size:clamp(18px,1.9vw,26px);font-weight:300;letter-spacing:-.02em;color:rgba(245,241,234,.92);font-family:Inter,system-ui,sans-serif;filter:blur(8px);opacity:0;transition:filter 1.1s var(--ease),opacity 1.1s var(--ease),transform 1.1s var(--ease);transform:translateY(8px)}
.intro.lit .intro-inner{filter:blur(0);opacity:1;transform:none}
.intro-brand em{font-style:normal;font-weight:500}
.intro-brand sup{font-size:.5em;margin-left:.06em;color:rgba(245,241,234,.55)}
.intro-tag{color:rgba(245,241,234,.45);opacity:0;transform:translateX(-6px);transition:opacity .9s ease .45s,transform .9s var(--ease) .45s}
.intro.lit .intro-tag{opacity:1;transform:none}
.intro-bar{position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .25s}
.intro.lit .intro-bar{transform:scaleX(1);transform-origin:right;transition:transform 1.4s var(--ease) .15s}
.intro.done{opacity:0;visibility:hidden}
.intro.done .intro-inner{filter:blur(14px);transform:translateY(-6px) scale(.98);transition:filter .7s ease,transform .9s var(--ease),opacity .6s ease}
.cursor-dot{position:fixed;left:50%;top:50%;width:14px;height:14px;border-radius:50%;background:var(--red);pointer-events:none;z-index:120;opacity:0;transform:translate(-50%,-50%) scale(.75);transition:opacity .24s ease,transform .18s ease,width .24s ease,height .24s ease,background-color .24s ease,box-shadow .24s ease;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 0 22px rgba(161,24,24,.32)}
.cursor-dot.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cursor-dot.hovering{width:22px;height:22px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 30px rgba(161,24,24,.42)}
body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active input,body.cursor-active textarea{cursor:none}
.cursor-dot{position:fixed;left:50%;top:50%;width:16px;height:16px;border-radius:50%;background:var(--red);pointer-events:none;z-index:120;opacity:0;transform:translate(-50%,-50%) scale(.75);transition:opacity .24s ease,transform .18s ease,width .24s ease,height .24s ease,background-color .24s ease,box-shadow .24s ease;box-shadow:0 0 0 1px rgba(255,255,255,.05),0 0 22px rgba(161,24,24,.32)}
.cursor-dot.active{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cursor-dot.hovering{width:24px;height:24px;box-shadow:0 0 0 1px rgba(255,255,255,.08),0 0 30px rgba(161,24,24,.42)}
body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active input,body.cursor-active textarea{cursor:none}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:24px 36px;transition:.4s var(--ease)}
.site-header.scrolled{padding-block:15px;background:rgba(15,18,25,.68);backdrop-filter:blur(18px);border-bottom:1px solid rgba(217,217,217,.08)}
.brand{position:relative;display:block}
.brand img{width:228px;filter:brightness(1.18)}
.brand-dot-target{position:absolute;left:11.23%;top:70.8%;width:8px;height:8px;border-radius:50%;transform:translate(-50%,-50%)}
.header-actions{display:flex;align-items:center;gap:24px}
.header-link{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(217,217,217,.72)}
.menu-trigger{display:flex;align-items:center;gap:9px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:12px;text-transform:uppercase;letter-spacing:.16em}
.menu-trigger i{width:18px;height:1px;background:#fff;display:block}
.menu-trigger i:last-child{display:none}

/* Menu */
.menu-panel{position:fixed;inset:0;z-index:70;background:rgba(246,247,247,.985);color:var(--ink);transform:translateY(-102%);transition:.75s var(--ease);padding:60px clamp(28px,8vw,140px);display:grid;grid-template-columns:100px 1fr auto;gap:40px}
.menu-panel.open{transform:none}
.menu-close{position:absolute;top:28px;right:34px;width:52px;height:52px;border:0;border-radius:50%;background:var(--ink);color:#fff;font-size:32px;font-weight:300;cursor:pointer}
.menu-panel>p{writing-mode:vertical-rl;font-size:12px;letter-spacing:.2em;font-weight:600}
.menu-panel nav{display:grid;align-content:center;gap:22px}
.menu-panel nav a{font-size:clamp(44px,6vw,88px);line-height:1;font-weight:300;letter-spacing:-.07em;transition:.25s}
.menu-panel nav a:hover{color:var(--red);padding-left:14px}
.menu-meta{display:grid;align-content:end;gap:12px;color:rgba(15,18,25,.52);font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.menu-meta b{color:var(--red)}

/* Shared typography */
.kicker{display:flex;align-items:center;gap:10px;margin:0 0 28px;font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:rgba(217,217,217,.66);font-weight:600}
.kicker.dark{color:rgba(15,18,25,.55)}
.kicker span{width:7px;height:7px;border-radius:50%;background:var(--red)}
h1,h2,h3,p{margin-top:0}
h1{font-size:clamp(64px,10vw,158px);line-height:.86;letter-spacing:-.085em;font-weight:300;margin-bottom:28px}
h1 em{font-style:normal;color:var(--sapphire)}
h1 b,.manifesto h2 b,.contact h2 b{color:var(--red);font-size:.23em;margin-left:.09em;vertical-align:baseline}
.hero-dot-target{display:inline-block;transform:translateY(-.02em);text-shadow:0 0 18px rgba(161,24,24,.22)}
.button{display:inline-flex;gap:8px;align-items:center;justify-content:center;border-radius:999px;padding:10px 18px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;white-space:nowrap;transition:.35s var(--ease)}
.solid{background:var(--pearl);color:var(--ink)}
.solid:hover{background:#fff;transform:translateY(-3px)}
.ghost{border:1px solid rgba(217,217,217,.22);color:var(--pearl)}
.ghost:hover{border-color:var(--red);transform:translateY(-3px)}

/* Hero */
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center;isolation:isolate;background:
  radial-gradient(circle at 82% 14%, rgba(167,182,188,.12), transparent 24%),
  radial-gradient(circle at 8% 92%, rgba(167,182,188,.07), transparent 22%),
  linear-gradient(180deg, #070a0f 0%, #0a0f16 45%, #0e141d 100%)}
.hero-visual{position:absolute;inset:0;z-index:-1}
.hero-visual svg{width:100%;height:100%;position:absolute;inset:0}
.hero-ribbon{position:absolute;border-radius:48% 52% 43% 57% / 56% 42% 58% 44%;filter:blur(4px);opacity:.32;mix-blend-mode:screen;animation:floatRibbon 22s ease-in-out infinite}
.ribbon-a{width:42vw;min-width:340px;height:30vw;min-height:250px;right:-10vw;top:10%;background:linear-gradient(135deg, rgba(245,241,234,.11), rgba(167,182,188,.07), rgba(255,255,255,.02));transform:rotate(-18deg)}
.ribbon-b{width:40vw;min-width:320px;height:28vw;min-height:240px;left:-12vw;bottom:-10%;background:linear-gradient(155deg, rgba(167,182,188,.10), rgba(245,241,234,.04), rgba(161,24,24,.05));transform:rotate(22deg);animation-delay:-7s}
.ribbon-c{width:24vw;min-width:240px;height:18vw;min-height:180px;left:46%;top:14%;background:linear-gradient(165deg, rgba(255,255,255,.03), rgba(167,182,188,.05), rgba(15,18,25,0));transform:rotate(14deg);animation-delay:-12s}
.hero-path{fill:none;stroke:rgba(161,24,24,.22);stroke-width:1.05;stroke-dasharray:10 520;animation:pathMove 8.7s ease-in-out infinite}
.path-two{stroke:rgba(167,182,188,.14);animation-delay:-3.8s}
.travelling-dot{display:none}
/* Hero — Altrum-inspired image + line dividers */
.hero{min-height:100svh;height:100svh;position:relative;overflow:hidden;display:flex;align-items:flex-end;isolation:isolate;background:#06080c;padding-bottom:clamp(96px,12vh,140px)}
.hero-media{position:absolute;inset:0;z-index:-1;overflow:hidden}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:88% center;transform:scale(1.08);transition:transform 1.6s var(--ease),filter 1.6s var(--ease);filter:brightness(.78) contrast(1.05);opacity:0}
.hero.lit .hero-photo{transform:scale(1);opacity:1}
.hero-photo-wash{position:absolute;inset:0;background:
  linear-gradient(90deg, rgba(6,8,12,.98) 0%, rgba(6,8,12,.92) 34%, rgba(6,8,12,.62) 58%, rgba(6,8,12,.22) 76%, rgba(6,8,12,.45) 100%),
  linear-gradient(180deg, rgba(6,8,12,.55) 0%, rgba(6,8,12,0) 30%, rgba(6,8,12,0) 60%, rgba(6,8,12,.85) 100%)}
.hero-lines{position:absolute;inset:0;display:flex;justify-content:space-between;pointer-events:none;padding:0 4vw}
.hero-lines span{display:block;width:1px;height:0;background:linear-gradient(180deg,rgba(245,241,234,0) 0%,rgba(245,241,234,.18) 30%,rgba(245,241,234,.06) 100%);align-self:stretch;transform-origin:top;transition:height 1.1s var(--ease)}
.hero.lit .hero-lines span{height:100%}
.hero-vignette{position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%, transparent 30%, rgba(6,8,12,.55) 85%);pointer-events:none}
.hero-grain{position:absolute;inset:0;opacity:.06;background-image:radial-gradient(circle at 20% 20%, rgba(255,255,255,.8) .5px, transparent .6px),radial-gradient(circle at 80% 70%, rgba(255,255,255,.6) .5px, transparent .6px);background-size:26px 26px,31px 31px;pointer-events:none}
.hero-shell,.statement-shell,.portfolio-shell,.experience-shell,.values-shell,.manifesto-shell,.contact-shell{width:min(1320px,calc(100% - 72px));margin:auto}
.hero-shell{padding-top:clamp(110px,14vh,150px);position:relative;z-index:2}
.hero-headline{display:flex;flex-direction:column;gap:.02em;font-size:clamp(46px,6.6vw,108px);line-height:.94;letter-spacing:-.05em;font-weight:300;margin:0 0 22px;color:#fff}
.hero-headline .hero-word{display:block;overflow:hidden}
.hero-headline .hero-word em{font-style:italic;font-weight:300;color:var(--sapphire)}
.hero-headline b.hero-dot-target{color:var(--red);font-weight:400;font-size:1em;margin-left:.04em;display:inline}
.hero-copy{max-width:520px;color:rgba(245,241,234,.72);font-size:clamp(14px,1.15vw,17px);line-height:1.55}
.hero-actions{display:flex;gap:14px;margin-top:22px;flex-wrap:wrap}
.hero-foot{position:absolute;left:0;right:0;bottom:28px;z-index:2;display:flex;justify-content:space-between;align-items:end;padding:0 clamp(28px,4vw,56px);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.55)}
.hero-foot-label{font-weight:500}
.scroll-mark{display:grid;justify-items:center;gap:7px;font-size:10px;text-transform:uppercase;letter-spacing:.14em;color:rgba(245,241,234,.6)}
.scroll-mark i{font-style:normal;font-size:16px;animation:scrollHint 2.4s ease-in-out infinite}
@keyframes scrollHint{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(5px);opacity:1}}
@media (max-width:760px){
  .hero{padding-bottom:140px}
  .hero-photo{object-position:80% center}
  .hero-photo-wash{background:linear-gradient(180deg, rgba(6,8,12,.55) 0%, rgba(6,8,12,.4) 35%, rgba(6,8,12,.9) 100%)}
  .hero-foot{flex-direction:column;align-items:flex-start;gap:18px}
}

/* Sections */
.statement{padding:150px 0 125px}
.statement h2{font-size:clamp(50px,7.6vw,118px);line-height:.9;letter-spacing:-.085em;font-weight:300;max-width:1220px}
.statement h2 em{font-style:normal;color:var(--red)}
.statement-bottom{margin-top:72px;display:grid;grid-template-columns:1fr auto;gap:44px;align-items:end;border-top:1px solid rgba(15,18,25,.13);padding-top:22px}
.statement-bottom p{max-width:620px;font-size:18px;line-height:1.65;color:rgba(15,18,25,.58)}
.statement-bottom span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:rgba(15,18,25,.52)}

.transition-band{padding:30px 0;overflow:hidden}
.transition-copy{display:flex;align-items:center;gap:30px;justify-content:center;white-space:nowrap}
.transition-copy p{font-size:clamp(22px,3vw,42px);margin:0;letter-spacing:-.05em;font-weight:300}
.transition-copy b{font-size:12px;color:var(--red)}

/* Portfolio */
.portfolio{padding:135px 0 120px;background:linear-gradient(180deg, #f3f4f5 0%, #f7f7f7 50%, #eef1f2 100%)}
.section-heading{display:grid;grid-template-columns:.38fr 1fr;gap:52px;align-items:start;margin-bottom:56px}
.section-heading h2{font-size:clamp(44px,6vw,88px);line-height:.94;letter-spacing:-.07em;font-weight:300;max-width:900px}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.product-card{position:relative;min-height:520px;border-radius:30px;overflow:hidden;color:#fff;isolation:isolate;box-shadow:0 18px 38px rgba(15,18,25,.09);transition:.55s var(--ease);background:#0f141b}
.product-card:hover{transform:translateY(-9px)}
.product-card:hover .visual{transform:scale(1.03)}
.visual{position:absolute;inset:0;transition:.8s var(--ease);overflow:hidden}
.visual:before,.visual:after{content:"";position:absolute;border-radius:50%}
.brand-mark{position:absolute;width:124px;opacity:.11;filter:brightness(1.25);right:8%;top:9%;transform:rotate(-10deg)}
.product-pack{position:absolute;z-index:1;filter:drop-shadow(0 20px 28px rgba(0,0,0,.22)) drop-shadow(0 34px 60px rgba(15,18,25,.22));transition:transform .6s var(--ease)}
.product-card:hover .product-pack{transform:translateX(-50%) translateY(-6px) rotate(var(--pack-rotate,0deg))}
.visual-brujesin{background:radial-gradient(circle at 78% 20%, rgba(167,182,188,.16), transparent 18%),linear-gradient(145deg,#0d1219,#141d28 42%,#263542 100%)}
.visual-brujesin:before{width:360px;height:360px;background:radial-gradient(circle,rgba(167,182,188,.24),transparent 68%);right:-80px;bottom:18px}
.visual-brujesin:after{width:250px;height:430px;border:1px solid rgba(217,217,217,.14);left:14%;top:-48px;transform:rotate(23deg)}
.product-brujesin{--pack-rotate:-3deg;width:auto;height:68%;left:50%;top:8%;transform:translateX(-50%) rotate(-3deg)}

.visual-melanoderm{background:linear-gradient(155deg,#e8ebec,#c8d1d0 54%,#a7b6bc 100%)}
.visual-melanoderm:before{width:330px;height:520px;background:linear-gradient(180deg,rgba(255,255,255,.65),rgba(161,24,24,.07));left:14%;top:-36px;border-radius:45% 55% 50% 46%;transform:rotate(18deg);filter:blur(1px)}
.visual-melanoderm:after{width:220px;height:220px;background:rgba(255,214,55,.18);right:12%;bottom:18%;filter:blur(48px)}
.product-melanoderm{--pack-rotate:-1deg;width:68%;left:50%;top:12%;transform:translateX(-50%) rotate(-1deg)}

.visual-otosan{background:radial-gradient(circle at 80% 24%, rgba(167,182,188,.18), transparent 16%),linear-gradient(155deg,#161c23,#0d1015 52%,#21313d)}
.visual-otosan:before{width:420px;height:420px;border:1px solid rgba(167,182,188,.36);right:-100px;top:28px}
.visual-otosan:after{width:220px;height:220px;border:1px solid rgba(161,24,24,.42);right:12px;top:138px}
.product-otosan{--pack-rotate:0deg;width:78%;left:50%;top:12%;transform:translateX(-50%)}

.card-gradient{position:absolute;inset:34% 0 0;background:linear-gradient(transparent,rgba(5,8,12,.92));z-index:1}
.card-copy{position:absolute;left:26px;right:84px;bottom:25px;z-index:2}
.card-copy small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.card-copy h3{font-size:clamp(38px,4.3vw,60px);line-height:.94;letter-spacing:-.08em;font-weight:300;margin:10px 0 7px}
.card-copy p{margin:0;color:rgba(255,255,255,.72);font-size:14px;line-height:1.5}
.card-arrow{position:absolute;right:22px;bottom:22px;z-index:3;width:50px;height:50px;border-radius:50%;background:rgba(217,217,217,.2);backdrop-filter:blur(10px);display:grid;place-items:center;font-size:22px;transition:.35s var(--ease)}
.product-card:hover .card-arrow{background:var(--red);transform:translateX(4px)}
.portfolio-foot{margin-top:36px;display:grid;grid-template-columns:1fr auto;gap:30px;padding-top:22px;border-top:1px solid rgba(15,18,25,.12);align-items:center}
.portfolio-foot p{max-width:640px;color:rgba(15,18,25,.58);font-size:17px;line-height:1.6}
.portfolio-foot a{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:600}
.portfolio-foot a span{margin-left:10px;color:var(--red)}

/* Bridge */
.bridge{padding:100px 0;background:linear-gradient(180deg, #eff2f2 0%, var(--dusk) 22%, var(--dusk) 100%)}
.bridge-card{width:min(1320px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;border-radius:34px;overflow:hidden;background:#080a0e;min-height:480px}
.bridge-copy{padding:62px}
.bridge-copy h2{font-size:clamp(48px,5.5vw,86px);line-height:.92;letter-spacing:-.075em;font-weight:300}
.bridge-copy>p:not(.kicker){font-size:17px;line-height:1.62;color:rgba(217,217,217,.62);max-width:490px;margin:25px 0 34px}
.bridge-art{position:relative;overflow:hidden;background:linear-gradient(140deg,#203039,#607780 70%,#a7b6bc)}
.bridge-art:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 45%,rgba(245,241,234,.35),transparent 30%)}
.bridge-art img{position:absolute;width:340px;left:50%;top:50%;transform:translate(-50%,-50%);opacity:.46;filter:brightness(1.42)}
.art-line{position:absolute;height:1px;width:120%;background:rgba(217,217,217,.45);left:-10%;transform:rotate(-20deg)}
.art-line.a{top:30%}.art-line.b{top:50%}.art-line.c{top:70%}
.art-dot{position:absolute;width:18px;height:18px;background:var(--red);border-radius:50%;left:50%;top:50%;transform:translate(calc(-50% - 3px),calc(-50% + 46px));z-index:2;animation:dotPulse 3s infinite;box-shadow:0 0 0 0 rgba(161,24,24,.32)}

/* Experience */
.experience{padding:64px 0 150px;background:#fff;color:var(--ink);position:relative;z-index:5;min-height:100vh;display:flex;flex-direction:column;justify-content:center}
.founder-reveal{position:relative;height:140vh;background:#0b0e14;z-index:4;margin-bottom:-1px}
.founder-reveal-sticky{position:sticky;top:0;height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.founder-reveal-circle{width:42vmin;height:42vmin;border-radius:50%;background:#fff;transform:scale(var(--reveal,0));transform-origin:center center;will-change:transform;box-shadow:0 30px 120px -40px rgba(255,255,255,.25)}
.founder-reveal-hint{position:absolute;top:32px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:#E63946;font-size:11px;letter-spacing:.32em;text-transform:uppercase;font-weight:600;opacity:calc(1 - var(--reveal,0) * 1.6);transition:opacity .25s ease;pointer-events:none;z-index:5}
.founder-reveal-hint-arrow{display:inline-flex;animation:revealHintBob 1.6s ease-in-out infinite}
@keyframes revealHintBob{0%,100%{transform:translateY(0);opacity:.6}50%{transform:translateY(8px);opacity:1}}
.experience-head{width:min(1320px,calc(100% - 72px));margin:0 auto 28px}
.experience-head h2{font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:-.05em;font-weight:300;margin:0;color:var(--ink)}
.experience-shell{width:min(1320px,calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:stretch}
.founder-col{display:flex;flex-direction:column;gap:20px}
.founder-media{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:#e8e4dc;flex:1;max-height:62vh}
.founder-media img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(100%) contrast(1.04)}
.experience-right{display:flex;flex-direction:column;gap:18px}
.experience-cards{display:flex;flex-direction:column;gap:14px}
.exp-card{position:relative;background:#0a0a0a;color:#fff;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px 26px;display:flex;flex-direction:column;gap:12px}
.exp-card .kicker{margin:0;color:rgba(255,255,255,.6);font-size:10px;letter-spacing:.19em;font-weight:600}
.exp-card .kicker span{background:var(--red)}
.exp-bignum{font-family:Inter,sans-serif;font-size:clamp(72px,8vw,112px);font-weight:800;line-height:.9;letter-spacing:-.05em;color:#fff;display:flex;align-items:flex-start;gap:6px}
.exp-bignum i{font-style:normal;color:rgba(255,255,255,.35);font-weight:600;font-size:.55em;line-height:1;margin-top:.12em}
.exp-card h3{font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#fff;letter-spacing:.01em;margin:0;line-height:1.4}
.exp-card p{font-family:Inter,sans-serif;font-size:13.5px;line-height:1.55;color:#d4d4d8;font-weight:400;margin:0}
.experience-sign{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-top:4px}
.experience-sign .founder-signature{width:140px;height:auto;filter:contrast(1.1)}
.experience-sign .sign-name{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:0}
.experience-sign .sign-role{font-family:Inter,sans-serif;font-size:12px;font-weight:300;color:rgba(15,18,25,.7);margin:0;letter-spacing:.02em}


/* Values */
.values{padding:130px 0}
.values-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(217,217,217,.15);border:1px solid rgba(217,217,217,.15)}
.values article{padding:32px 22px;background:var(--sapphire-deep);min-height:255px}
.values article b{font-size:11px;color:#ffb7b7;letter-spacing:.14em}
.values article h3{font-size:31px;letter-spacing:-.065em;font-weight:300;margin:56px 0 14px}
.values article p{font-size:14px;line-height:1.6;color:rgba(247,249,250,.65)}

/* Manifesto / Contact */
.manifesto{padding:165px 0}
.manifesto h2{font-size:clamp(48px,7vw,108px);line-height:.91;letter-spacing:-.085em;font-weight:300;max-width:1220px}
.contact{padding:140px 0}
.contact-shell{display:grid;grid-template-columns:1fr .82fr;gap:84px}
.contact h2{font-size:clamp(52px,7vw,102px);line-height:.9;letter-spacing:-.085em;font-weight:300}
.contact-copy>p:not(.kicker){color:rgba(217,217,217,.62);font-size:18px;line-height:1.65;max-width:560px;margin-top:27px}
.contact-form{display:grid;gap:18px}
label{display:grid;gap:8px;color:rgba(217,217,217,.58);font-size:10px;text-transform:uppercase;letter-spacing:.15em}
input,textarea{border:1px solid rgba(217,217,217,.14);background:rgba(217,217,217,.035);padding:17px 15px;color:white;outline:none;transition:.25s}
textarea{min-height:140px;resize:vertical}
input:focus,textarea:focus{border-color:var(--red);box-shadow:inset -5px 0 0 var(--red)}
.contact-form button{border:0;background:var(--pearl);color:var(--ink);padding:18px;cursor:pointer;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:700;transition:.35s var(--ease)}
.contact-form button:hover{background:#fff;transform:translateY(-3px)}
.contact-form span{float:right;color:var(--red)}
.site-footer{background:#0a0d12;color:rgba(217,217,217,.72);padding:72px 56px 32px;font-family:inherit}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:56px;max-width:1280px;margin:0 auto;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,.08)}
.footer-col h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin:0 0 18px;font-weight:600}
.footer-col p{font-size:13px;line-height:1.6;color:rgba(217,217,217,.6);margin:14px 0 0;max-width:280px;text-transform:none;letter-spacing:0}
.footer-col ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}
.footer-col li{font-size:13px;color:rgba(217,217,217,.65);text-transform:none;letter-spacing:0}
.footer-col a{color:inherit;text-decoration:none;transition:color .25s var(--ease)}
.footer-col a:hover{color:#fff}
.footer-logo{width:160px;display:block}
.footer-legal{max-width:1280px;margin:0 auto;padding-top:28px;text-align:center;color:rgba(217,217,217,.42)}
.footer-legal-links{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;font-size:11px;letter-spacing:.08em;margin-bottom:14px}
.footer-legal-links a{color:rgba(217,217,217,.6);text-decoration:none}
.footer-legal-links a:hover{color:#fff}
.footer-legal-links span{opacity:.4}
.footer-legal-copy{font-size:11px;letter-spacing:.06em;margin:0 0 10px;color:rgba(217,217,217,.55)}
.footer-disclaimer{font-size:10.5px;line-height:1.65;max-width:780px;margin:0 auto;color:rgba(217,217,217,.38);letter-spacing:.01em}

/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:1s var(--ease)}
.reveal.visible{opacity:1;transform:none}
.delay-1{transition-delay:.12s}
.delay-2{transition-delay:.24s}
.delay-3{transition-delay:.36s}

/* keyframes */
@keyframes pathMove{0%{stroke-dashoffset:560;opacity:.15}20%,72%{opacity:1}100%{stroke-dashoffset:-280;opacity:.16}}
@keyframes travel{0%{offset-distance:0%;opacity:0}8%{opacity:1}84%{opacity:1}100%{offset-distance:100%;opacity:0}}
@keyframes dotPulse{50%{transform:scale(1.65);box-shadow:0 0 0 17px rgba(161,24,24,.07),0 0 36px rgba(161,24,24,.42)}}
@keyframes floatRibbon{0%,100%{transform:translate3d(0,0,0) rotate(var(--ribbon-rotate,0deg))}50%{transform:translate3d(0,22px,0) rotate(calc(var(--ribbon-rotate,0deg) + 3deg))}}
.ribbon-a{--ribbon-rotate:-18deg}
.ribbon-b{--ribbon-rotate:22deg}
.ribbon-c{--ribbon-rotate:14deg}

/* responsive */
@media (max-width: 1100px){
  .section-heading{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr 1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){
  .site-header{padding:18px 20px}
  .brand img{width:188px}
  .header-link{display:none}
  .hero-shell,.statement-shell,.portfolio-shell,.experience-shell,.values-shell,.manifesto-shell,.contact-shell{width:min(100% - 40px,760px)}
  h1{font-size:clamp(63px,18vw,118px)}
  .scroll-mark{display:none}
  .statement,.portfolio,.experience,.values,.manifesto,.contact{padding:96px 0}
  .statement-bottom,.section-heading,.portfolio-foot,.experience-shell,.contact-shell,.bridge-card{grid-template-columns:1fr;gap:30px}
  .product-grid{grid-template-columns:1fr}
  .product-card{min-height:460px}
  .bridge{padding:74px 0}
  .bridge-card{width:calc(100% - 40px);min-height:auto}
  .bridge-copy{padding:34px 28px}
  .bridge-art{min-height:310px}
  .bridge-art img{width:260px}
  .art-dot{transform:translate(calc(-50% - 2px),calc(-50% + 35px))}
  .values-grid{grid-template-columns:1fr}
  .values article{min-height:auto}
  .values article h3{margin-top:30px}
  .menu-panel{grid-template-columns:1fr;padding:60px 28px}
  .menu-panel>p{writing-mode:initial}
  .menu-meta{display:none}
  .site-footer{padding:48px 22px 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px;padding-bottom:32px}
  .footer-col:first-child{grid-column:1/-1}
  .transition-copy{gap:15px;justify-content:flex-start;padding-left:18px;animation:bandScroll 15s linear infinite}
  .transition-copy p{font-size:26px}
  .metric b{padding-bottom:12px}
  .product-brujesin{width:auto;height:64%;top:10%}
  .product-melanoderm{width:70%;top:14%}
  .product-otosan{width:78%;top:15%}
  @keyframes bandScroll{to{transform:translateX(-35%)}}
}

@media (pointer:coarse){
  .cursor-dot{display:none}
  body.cursor-active,body.cursor-active a,body.cursor-active button,body.cursor-active input,body.cursor-active textarea{cursor:auto}
}

/* ============ HERO TRUSTED BY ============ */
.hero-trust{margin-top:50px;display:flex;flex-direction:column;gap:16px}
.trust-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(217,217,217,.5);font-weight:600}
.trust-logos{display:flex;align-items:center;gap:38px;flex-wrap:wrap}
.trust-logo{font-size:15px;font-weight:600;letter-spacing:-.01em;color:rgba(217,217,217,.82);display:inline-flex;align-items:center;gap:9px}
.trust-logo::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.7}
.trust-logo.is-placeholder{color:rgba(217,217,217,.4);font-weight:500}
.trust-logo.is-placeholder::before{opacity:.35}
.trust-logo.is-placeholder i{font-style:normal;font-size:9px;letter-spacing:.12em;color:var(--red);opacity:.85}

/* ============ COMPAÑÍA (statement + 3 cards) ============ */
.company{padding:150px 0 130px}
.company-shell{width:min(1320px,calc(100% - 72px));margin:auto}
.company-statement{font-size:clamp(30px,4.2vw,62px);line-height:1.05;letter-spacing:-.055em;font-weight:300;max-width:17ch;margin:0 0 32px}
.company-sub{max-width:600px;margin:0 0 0 auto;font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:rgba(15,18,25,.58)}
.company-cards{margin-top:74px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ccard{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:344px;padding:34px;border-radius:24px;overflow:hidden;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ccard:hover{transform:translateY(-9px)}
.ccard-body h3{font-size:clamp(24px,2vw,31px);line-height:1.04;letter-spacing:-.045em;font-weight:400;margin:0 0 14px}
.ccard-body p{font-size:14.5px;line-height:1.58;margin:0}
.ccard-cta{margin-top:30px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px}
.ccard-cta i{font-style:normal;transition:transform .35s var(--ease)}
.ccard:hover .ccard-cta i{transform:translateX(5px)}
.ccard-arrow{align-self:flex-end;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:20px;transition:.35s var(--ease)}
.ccard-mark{align-self:flex-end}
.ccard-mark img{width:44px;opacity:.92;filter:brightness(1.3)}
.ccard-accent{background:var(--sapphire-deep);color:#f7f9fa}
.ccard-accent .ccard-body p{color:rgba(247,249,250,.72)}
.ccard-accent .ccard-arrow{background:rgba(255,255,255,.1);color:#fff}
.ccard-accent:hover .ccard-arrow{background:var(--red)}
.ccard-accent .ccard-cta i{color:#ffb7b7}
.ccard-dark{background:var(--dusk);color:var(--pearl)}
.ccard-dark::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 10%,rgba(167,182,188,.16),transparent 42%);pointer-events:none}
.ccard-dark .ccard-body p{color:rgba(217,217,217,.62)}
.ccard-dark .ccard-cta i{color:var(--red)}
.ccard-grad{background:linear-gradient(150deg,#cdd6d8,#a7b6bc 58%,#7f9298);color:var(--ink)}
.ccard-grad .ccard-body p{color:rgba(19,22,28,.7)}
.ccard-grad .ccard-arrow{background:rgba(15,18,25,.12);color:var(--ink)}
.ccard-grad:hover .ccard-arrow{background:var(--red);color:#fff}
.ccard-grad .ccard-cta i{color:var(--red)}

/* ============ PRODUCTOS DESTACADOS (featured, dark) ============ */
.featured{padding:170px 0 150px;background:linear-gradient(180deg,#06080c,#0b0e14 22%,#0f141d 58%,#0b0e14)}
.featured-shell{width:min(1320px,calc(100% - 72px));margin:auto}
.featured-head{text-align:center;max-width:680px;margin:0 auto 70px}
.featured-head .kicker{justify-content:center}
.featured-head h2{font-size:clamp(40px,5vw,76px);line-height:.96;letter-spacing:-.07em;font-weight:300;margin:0 0 18px}
.featured-sub{color:rgba(217,217,217,.6);font-size:17px;margin:0}
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feat-card{position:relative;min-height:560px;border-radius:26px;overflow:hidden;isolation:isolate;background:#0f141b;box-shadow:0 24px 60px -32px rgba(0,0,0,.85);transition:transform .55s var(--ease)}
.feat-card:hover{transform:translateY(-10px)}
.feat-card .visual{position:absolute;inset:0;transition:.8s var(--ease)}
.feat-card:hover .visual{transform:scale(1.04)}
.feat-card:hover .product-pack{transform:translateX(-50%) translateY(-8px) rotate(var(--pack-rotate,0deg))}
.feat-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(transparent 40%,rgba(5,8,12,.86));pointer-events:none}
.feat-chip{position:absolute;z-index:3;top:22px;left:22px;padding:8px 16px;border-radius:999px;background:rgba(217,217,217,.16);backdrop-filter:blur(10px);font-size:12px;font-weight:600;color:#fff}
.feat-go{position:absolute;z-index:3;top:20px;right:20px;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(217,217,217,.35);color:#fff;font-size:17px;transition:.35s var(--ease)}
.feat-card:hover .feat-go{background:var(--red);border-color:var(--red)}
.feat-hover{position:absolute;z-index:3;left:0;right:0;top:45%;text-align:center;transform:translateY(8px);color:#fff;font-size:clamp(26px,2.4vw,34px);font-weight:300;letter-spacing:-.03em;opacity:0;transition:.45s var(--ease);pointer-events:none}
.feat-card:hover .feat-hover{opacity:1;transform:none}
.feat-foot{position:absolute;z-index:3;left:24px;right:24px;bottom:24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.feat-foot small{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.feat-foot h3{font-size:clamp(24px,2.2vw,32px);line-height:1;letter-spacing:-.05em;font-weight:300;margin:8px 0 0;color:#fff}
.feat-tag{font-size:11px;letter-spacing:.03em;color:rgba(255,255,255,.66);text-align:right;max-width:46%}
.featured-foot{margin-top:64px;display:flex;justify-content:space-between;gap:30px;align-items:center;padding-top:32px;border-top:1px solid rgba(217,217,217,.12)}
.featured-foot p{max-width:560px;color:rgba(217,217,217,.62);font-size:16px;margin:0}
.featured-foot a{font-size:12px;text-transform:uppercase;letter-spacing:.11em;font-weight:600;color:#fff;white-space:nowrap}
.featured-foot a span{margin-left:10px;color:var(--red)}

/* ============ SERVICIOS (light, animated bg, Porsche-style) ============ */
.services{position:relative;padding:140px 0;background:linear-gradient(180deg,#eef0f1,#e7eaec 55%,#eceef0);overflow:hidden}
.services-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.services-bg span{position:absolute;border-radius:50%;filter:blur(64px);opacity:.55;animation:svcFloat 26s ease-in-out infinite}
.services-bg span:first-child{width:42vw;height:42vw;left:-8vw;top:-12vw;background:radial-gradient(circle,rgba(167,182,188,.55),transparent 66%)}
.services-bg span:last-child{width:40vw;height:40vw;right:-10vw;bottom:-14vw;background:radial-gradient(circle,rgba(161,24,24,.07),transparent 66%);animation-delay:-13s}
@keyframes svcFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(0,42px)}}
.services-shell{position:relative;z-index:1;width:min(1320px,calc(100% - 72px));margin:auto}
.services-head{margin-bottom:54px;max-width:780px}
.services-head h2{font-size:clamp(34px,4.4vw,64px);line-height:.98;letter-spacing:-.06em;font-weight:300;margin:0;color:var(--ink)}
.svc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.svc-card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 18px 48px -30px rgba(15,18,25,.42);display:flex;flex-direction:column;transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.svc-card:hover{transform:translateY(-8px);box-shadow:0 30px 64px -30px rgba(15,18,25,.5)}
.svc-media{aspect-ratio:4/3;background:linear-gradient(145deg,#dfe4e6,#c3ced1);display:grid;place-items:center;position:relative;overflow:hidden}
.svc-media::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 24%,rgba(167,182,188,.55),transparent 56%)}
.svc-slot{position:relative;z-index:1;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(15,18,25,.42);font-weight:600;border:1px dashed rgba(15,18,25,.25);padding:8px 12px;border-radius:6px}
.svc-body{padding:28px 24px 30px;display:flex;flex-direction:column;flex:1}
.svc-body h3{font-size:20px;line-height:1.13;letter-spacing:-.03em;font-weight:500;color:var(--ink);margin:0 0 12px}
.svc-body p{font-size:14px;line-height:1.55;color:rgba(15,18,25,.6);margin:0 0 22px}
.svc-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:9px;border:1px solid rgba(15,18,25,.25);border-radius:999px;padding:11px 18px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);transition:.35s var(--ease)}
.svc-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.svc-btn i{font-style:normal;transition:transform .35s var(--ease)}
.svc-btn:hover i{transform:translateX(4px)}

/* ============ RESPONSIVE — new components ============ */
@media(max-width:1100px){
  .company-cards{grid-template-columns:1fr}
  .feat-grid{grid-template-columns:1fr 1fr}
  .svc-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .company,.featured,.services{padding:92px 0}
  .company-shell,.featured-shell,.services-shell{width:min(100% - 40px,760px)}
  .company-sub{margin-left:0}
  .company-cards{gap:16px}
  .feat-grid{grid-template-columns:1fr}
  .feat-card{min-height:470px}
  .svc-grid{grid-template-columns:1fr}
  .hero-trust .trust-logos{gap:18px}
  .featured-foot{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(prefers-reduced-motion:reduce){
  .services-bg span{animation:none}
  .kicker span{animation:none}
}

/* ============ PULSING KICKER DOT ============ */
@keyframes kdot{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.5);opacity:.5}}
.kicker span{animation:kdot 2.4s var(--ease) infinite}

/* ============ PORTAFOLIO DESTACADO (horizontal product cards) ============ */
.prod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.prod-card{display:flex;align-items:center;gap:18px;background:linear-gradient(152deg,#151c25,#0d1117 72%);border:1px solid rgba(217,217,217,.08);border-radius:22px;padding:28px;min-height:250px;position:relative;overflow:hidden;transition:transform .5s var(--ease),border-color .5s var(--ease)}
.prod-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 26% 30%,rgba(167,182,188,.14),transparent 52%);pointer-events:none}
.prod-card:hover{transform:translateY(-7px);border-color:rgba(167,182,188,.26)}
.prod-media{flex:0 0 42%;align-self:stretch;display:grid;place-items:center;position:relative;z-index:1}
.prod-media img{max-height:188px;width:auto;filter:drop-shadow(0 18px 26px rgba(0,0,0,.55));transition:transform .55s var(--ease)}
.prod-card:hover .prod-media img{transform:scale(1.05)}
.prod-body{flex:1;position:relative;z-index:1}
.prod-body h3{font-size:clamp(22px,1.9vw,28px);font-weight:500;letter-spacing:-.035em;margin:0 0 10px;color:#fff}
.prod-body p{font-size:13.5px;line-height:1.52;color:rgba(217,217,217,.64);margin:0 0 20px}
.prod-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(217,217,217,.28);border-radius:999px;padding:10px 17px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;transition:.35s var(--ease)}
.prod-card:hover .prod-btn{background:#fff;color:var(--ink);border-color:#fff}
.prod-btn i{font-style:normal;color:var(--red);transition:transform .35s var(--ease)}
.prod-card:hover .prod-btn i{transform:translate(2px,-2px);color:var(--ink)}

/* ============ FAQ (accordion) ============ */
.faq{padding:135px 0}
.faq-shell{width:min(960px,calc(100% - 72px));margin:auto}
.faq-head{text-align:center;margin-bottom:50px}
.faq-head .kicker{justify-content:center}
.faq-head h2{font-size:clamp(40px,5vw,72px);font-weight:300;letter-spacing:-.06em;line-height:.96;margin:0 0 16px}
.faq-sub{color:rgba(217,217,217,.6);font-size:16px;margin:0}
.faq-list{display:flex;flex-direction:column;gap:14px}
.faq-item{position:relative;border:1px solid rgba(167,182,188,.22);border-radius:16px;background:rgba(217,217,217,.025);overflow:hidden;transition:border-color .4s var(--ease),background .4s var(--ease),transform .4s var(--ease),box-shadow .4s var(--ease)}
.faq-item::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--red);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease)}
.faq-item:hover{border-color:rgba(217,217,217,.42);background:rgba(217,217,217,.06);box-shadow:0 18px 40px -28px rgba(0,0,0,.6)}
.faq-item:hover::before{transform:scaleY(1)}
.faq-item summary{transition:padding-left .4s var(--ease),color .35s var(--ease)}
.faq-item:hover summary{padding-left:34px}
.faq-item[open]{border-color:rgba(161,24,24,.55);background:rgba(161,24,24,.05)}
.faq-item[open]::before{transform:scaleY(1)}
.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 28px;font-size:clamp(15px,1.4vw,18px);font-weight:500;color:#fff}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary i{position:relative;flex:none;width:14px;height:14px}
.faq-item summary i::before,.faq-item summary i::after{content:"";position:absolute;background:var(--red);border-radius:2px}
.faq-item summary i::before{top:6px;left:0;width:14px;height:2px}
.faq-item summary i::after{top:0;left:6px;width:2px;height:14px;transition:transform .35s var(--ease)}
.faq-item[open] summary i::after{transform:scaleY(0)}
.faq-a{padding:0 28px 26px}
.faq-a p{margin:0;max-width:66ch;color:rgba(217,217,217,.72);font-size:15px;line-height:1.64}
.faq-a a{color:#fff;border-bottom:1px solid var(--red);white-space:nowrap}
.faq-item[open] .faq-a{animation:faqOpen .42s var(--ease)}
@keyframes faqOpen{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* ============ NOVEDADES / BLOG ============ */
.blog{padding:130px 0}
.blog-shell{width:min(1320px,calc(100% - 72px));margin:auto}
.blog-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:54px}
.blog-head h2{font-size:clamp(34px,4.2vw,60px);font-weight:300;letter-spacing:-.05em;margin:0 0 14px}
.blog-sub{color:rgba(217,217,217,.6);font-size:16px;margin:0;max-width:48ch}
.blog-all{flex:none;display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(217,217,217,.22);border-radius:999px;padding:13px 22px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--pearl);transition:.35s var(--ease)}
.blog-all:hover{background:#fff;color:var(--ink);border-color:#fff}
.blog-all span{color:var(--red)}.blog-all:hover span{color:var(--ink)}
.blog-grid{display:flex;gap:24px;align-items:stretch;max-width:1200px;margin:0 auto}
.blog-card{display:flex;flex-direction:column;flex:1;min-width:0;transition:flex .6s cubic-bezier(.25,1,.5,1)}
.blog-grid:hover .blog-card{flex:.85}
.blog-grid .blog-card:hover{flex:1.3}
.blog-media{height:300px;border-radius:18px;overflow:hidden;background:linear-gradient(150deg,#1a222b,#0e141b);display:block;margin-bottom:20px;border:1px solid rgba(217,217,217,.08)}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,1,.5,1);display:block;filter:saturate(1.05)}
.blog-card:hover .blog-media img{transform:scale(1.05)}
.blog-card h3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:calc(1.26em * 3)}
.blog-media .svc-slot{color:rgba(217,217,217,.4);border-color:rgba(217,217,217,.22)}
.blog-date{font-size:12px;color:rgba(217,217,217,.5);letter-spacing:.04em;margin-bottom:10px;display:flex;align-items:center;gap:9px}
.blog-date::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--red);opacity:.6}
.blog-card h3{font-size:clamp(18px,1.6vw,22px);font-weight:400;letter-spacing:-.02em;line-height:1.26;color:#fff;margin:0 0 18px}
.blog-more{margin-top:auto;display:inline-flex;align-items:center;gap:9px;font-size:11px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:rgba(217,217,217,.8);padding-top:14px;border-top:1px solid rgba(217,217,217,.12)}
.blog-more i{font-style:normal;color:var(--red);transition:transform .35s var(--ease)}
.blog-card:hover .blog-more i{transform:translateX(4px)}


/* ============ SECTION BACKGROUNDS (own their own color, no body wash) ============ */
body{background:#0F1219}
.company{background:linear-gradient(180deg,#D9D9D9,#d3d4d4)}
.featured{background:linear-gradient(180deg,#06080c,#0b0e14 22%,#0f141d 58%,#0b0e14)}
.services{background:linear-gradient(180deg,#eef0f1,#e7eaec 55%,#eceef0)}
.bridge{background:linear-gradient(180deg,#eceef0 0%, #1a2028 6%, #0b0e14 18%, #0b0e14 100%)}
.values{background:#243D49}
.manifesto{background:#D9D9D9}
.contact{background:#0a0d12}
.faq{background:#0F1219}
.blog{background:#0c0f15}
.experience{background:#fff}

/* ============ RESPONSIVE — batch 2 ============ */
@media(max-width:1100px){
  .prod-grid{grid-template-columns:1fr}
  .blog-grid{flex-wrap:wrap}
  .blog-grid .blog-card{flex:1 1 calc(50% - 12px)}
  .blog-grid:hover .blog-card,.blog-grid .blog-card:hover{flex:1 1 calc(50% - 12px)}
}
@media(max-width:900px){
  .blog-head{flex-direction:column;align-items:flex-start;gap:24px}
}
@media(max-width:760px){
  .faq,.blog{padding:90px 0}
  .faq-shell{width:min(100% - 40px,760px)}
  .blog-grid .blog-card,.blog-grid:hover .blog-card,.blog-grid .blog-card:hover{flex:1 1 100%}
  .faq-item summary{padding:20px 22px}
  .faq-a{padding:0 22px 22px}
}
@media(max-width:560px){
  .prod-card{flex-direction:column;text-align:center;min-height:0}
  .prod-media{flex-basis:auto;width:100%}
  .prod-media img{max-height:170px}
  .prod-btn{margin-top:4px}
}

/* ============ BATCH 3 — refinements ============ */
/* Pilares strip: solid sapphire-deep so text stays legible while scrolling */
.transition-band{background:#243D49;color:#E7ECF2;padding:34px 0}
.transition-copy p{color:#E7ECF2}

/* Product images on clean white tiles (neutralises packshot backgrounds) */
.prod-media{flex:0 0 42%;align-self:stretch;display:grid;place-items:center;position:relative;z-index:1;background:#fff;border-radius:16px;padding:18px;margin:2px 0}
.prod-media img{max-height:176px;width:auto;mix-blend-mode:multiply;filter:none;transition:transform .55s var(--ease)}
.prod-card:hover .prod-media img{transform:scale(1.05)}

/* "Dónde Encontrarnos" → plomo (lead gray), legible light text */
.ccard-grad{background:linear-gradient(150deg,#5b636b,#474e56 60%,#363c43);color:#EDEFF1}
.ccard-grad .ccard-body p{color:rgba(237,239,241,.74)}
.ccard-grad .ccard-arrow{background:rgba(255,255,255,.12);color:#fff}
.ccard-grad:hover .ccard-arrow{background:var(--red);color:#fff}
.ccard-grad .ccard-cta i{color:#ffb7b7}

/* Sobre Avantys — modern two-column hierarchy (eyebrow left, statement right) */
.company-top{display:grid;grid-template-columns:.34fr 1fr;gap:clamp(24px,5vw,72px);align-items:start;margin-bottom:78px}
.company-top .kicker{margin:0;padding-top:12px}
.company-statement{font-size:clamp(28px,3.5vw,54px);line-height:1.07;letter-spacing:-.045em;font-weight:300;max-width:24ch;margin:0 0 26px;color:var(--ink)}
.company-sub{font-size:clamp(16px,1.4vw,18px);line-height:1.62;color:rgba(15,18,25,.6);max-width:56ch;margin:0}

/* Servicios — stock imagery with brand duotone overlay */
.svc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.svc-media::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(150deg,rgba(36,61,73,.82),rgba(15,18,25,.5) 58%,rgba(161,24,24,.2));mix-blend-mode:multiply}

/* Founder — areas of expertise list */
.founder-list{list-style:none;margin:26px 0 22px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:11px 26px;max-width:560px}
.founder-list li{position:relative;padding-left:20px;font-size:15px;color:rgba(15,18,25,.74);line-height:1.4}
.founder-list li::before{content:"";position:absolute;left:0;top:8px;width:6px;height:6px;border-radius:50%;background:var(--red)}

@media(max-width:760px){
  .company-top{grid-template-columns:1fr;gap:20px;margin-bottom:48px}
  .company-top .kicker{padding-top:0}
  .founder-list{grid-template-columns:1fr}
}

/* Intro rotating word */
.intro-tag[data-intro-rotator]{position:relative;display:inline-block;min-width:9ch;height:1.25em;vertical-align:baseline;color:rgba(245,241,234,.92);opacity:0;transform:translateY(6px);transition:opacity .9s ease .35s,transform .9s var(--ease) .35s}
.intro.lit .intro-tag[data-intro-rotator]{opacity:1;transform:none}
.intro-rot-word{position:absolute;left:0;top:0;white-space:nowrap;opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease),transform .55s var(--ease);font-weight:500;color:#fff}
.intro-rot-word.is-active{opacity:1;transform:none}
.intro-rot-word.is-leaving{opacity:0;transform:translateY(-10px);transition:opacity .35s ease,transform .45s var(--ease)}

/* Hero philosophy rotator */
.hero-philosophy{display:flex;flex-direction:column;gap:10px;text-transform:none;letter-spacing:0;font-weight:300;color:rgba(245,241,234,.55);max-width:460px;min-width:340px}
.hero-phil-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.45);font-weight:500;line-height:1}
.hero-phil-rotator{position:relative;height:1.4em;overflow:hidden;font-size:clamp(12px,.85vw,13px);line-height:1.4}
.hero-phil-word{position:absolute;left:0;top:0;right:0;color:rgba(245,241,234,.55);font-weight:300;letter-spacing:-.005em;opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .7s var(--ease);white-space:nowrap}
.hero-phil-word.is-active{opacity:1;transform:none}
.hero-phil-word.is-leaving{opacity:0;transform:translateY(-14px);transition:opacity .45s ease,transform .55s var(--ease)}
/* ccard CTA hover → red */
.ccard .ccard-cta{transition:color .35s var(--ease)}
.ccard:hover .ccard-cta{color:var(--red)}
.ccard:hover .ccard-cta i{color:var(--red)}
.ccard-accent .ccard-mark img,.ccard-grad .ccard-mark img{width:44px;opacity:.92;filter:brightness(1.3)}
.ccard-grad .ccard-mark img{filter:none;opacity:.78}

/* Rounded contact form */
.contact-form input,.contact-form textarea{border-radius:14px}
.contact-form button{border-radius:999px}

/* Services cards unified with Sobre Avantys ccards */
.svc-card{background:var(--dusk);color:var(--pearl);border-radius:24px;padding:34px;min-height:344px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:none;overflow:hidden;position:relative}
.svc-card::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 84% 10%,rgba(167,182,188,.16),transparent 42%);pointer-events:none}
.svc-card .ccard-mark{align-self:flex-end;position:relative;z-index:1}
.svc-card .ccard-mark img{width:44px;opacity:.92;filter:brightness(1.3)}
.svc-card .svc-body{padding:0;position:relative;z-index:1;margin-top:24px}
.svc-card .svc-body h3{font-size:clamp(22px,1.7vw,28px);line-height:1.06;letter-spacing:-.04em;font-weight:400;color:var(--pearl);margin:0 0 14px}
.svc-card .svc-body p{font-size:14.5px;line-height:1.58;color:rgba(217,217,217,.66);margin:0 0 26px}
.svc-card .svc-btn{border-color:rgba(247,249,250,.32);color:var(--pearl)}
.svc-card .svc-btn:hover{background:var(--pearl);color:var(--ink);border-color:var(--pearl)}

/* ===== Intro stack (centered with isotipo) ===== */
.intro-inner--stack{flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center;font-family:Inter,system-ui,sans-serif}
.intro-mark{width:104px;height:104px;object-fit:contain;opacity:0;transform:translateY(8px) scale(.92);transition:opacity 1.1s var(--ease),transform 1.2s var(--ease)}
.intro.lit .intro-mark{opacity:1;transform:none}
.intro-inner--stack .intro-tag[data-intro-rotator]{display:block;min-width:14ch;height:1.35em;text-align:center}
.intro-inner--stack .intro-rot-word{left:50%;transform:translate(-50%,12px);transition:opacity .8s var(--ease),transform .9s var(--ease)}
.intro-inner--stack .intro-rot-word.is-active{transform:translate(-50%,0)}
.intro-inner--stack .intro-rot-word.is-leaving{transform:translate(-50%,-12px);transition:opacity .7s ease,transform .8s var(--ease)}

/* ===== Sobre Avantys — sticky reveal ===== */
.about-sticky{background:#000;color:var(--pearl);font-family:Inter,system-ui,sans-serif;padding:140px 0 120px;position:relative}
.trust-strip{width:min(1320px,calc(100% - 72px));margin:70px auto 0;display:flex;flex-direction:column;align-items:center;gap:24px;padding-top:40px}
.trust-strip .trust-label{margin:0;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(217,217,217,.5);font-weight:600}
.trust-strip img{width:100%;max-width:1100px;height:auto;opacity:.92}
.about-shell{width:min(1320px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,96px);align-items:start;position:relative}
.about-left{position:sticky;top:112px;padding:20px 0;align-self:start}
.about-left .kicker{margin:0 0 28px}
.about-title{font-weight:300;font-size:clamp(40px,5.2vw,84px);line-height:.98;letter-spacing:-.045em;color:#fff;margin:0 0 28px}
.about-title .about-dot{color:var(--red);font-weight:400}
.about-lead{font-size:17px;line-height:1.62;color:rgba(217,217,217,.62);max-width:46ch;margin:0 0 18px;font-weight:400}
.about-right{display:flex;flex-direction:column;gap:0;overflow:visible;padding-bottom:10vh}
.about-slot{display:contents}
.about-card{position:sticky;top:112px;width:100%;max-width:520px;padding:40px;border-radius:20px;background:linear-gradient(145deg,#111419,#0a0c10 70%);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px -40px rgba(0,0,0,.8);margin-bottom:8vh;opacity:1;transform:none;transition:background-color .3s ease,border-color .3s ease}
.about-card:hover{background:linear-gradient(145deg,#161b21,#0f1114 70%);border-color:rgba(255,255,255,.18)}
.about-slot:nth-child(1) .about-card{z-index:10}
.about-slot:nth-child(2) .about-card{z-index:20}
.about-slot:nth-child(3) .about-card{z-index:30}
.about-slot:last-child .about-card{margin-bottom:0}
.about-icon{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;background:color-mix(in oklab,var(--sapphire) 12%,transparent);border:1px solid var(--sapphire);color:var(--sapphire);margin-bottom:24px}
.about-icon svg{width:24px;height:24px}
.about-card h3{font-weight:400;font-size:clamp(24px,2vw,30px);line-height:1.15;letter-spacing:-.025em;color:#fff;margin:0 0 16px}
.about-card p{font-size:17px;line-height:1.62;color:rgba(217,217,217,.62);margin:0;font-weight:400}
@media(max-width:900px){
  .about-shell{grid-template-columns:1fr;gap:24px}
  .about-left{position:relative;top:auto;padding:20px 0 8px}
  .about-card{position:relative;top:auto;margin-bottom:20px}
  .about-sticky{padding:80px 0 60px}
}
@media(max-width:560px){
  .about-card{padding:30px}
  .about-icon{margin-bottom:18px}
}


/* ============ MANIFESTO V2 (scroll-driven expand) ============ */
.manifesto-v2{height:220vh;background:#0b0b0d;position:relative}
.manifesto-v2 .manifesto-sticky{position:sticky;top:0;height:100vh;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}
.manifesto-card{position:relative;overflow:hidden;background:#000;will-change:width,height,border-radius,transform;box-shadow:0 60px 120px -40px rgba(0,0,0,.6)}
.manifesto-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding:14px}
@media (max-width:900px){.manifesto-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:10px}}
@media (max-width:560px){.manifesto-grid{grid-template-columns:repeat(2,1fr);gap:8px;padding:8px}}
.manifesto-col{overflow:hidden;border-radius:14px;height:100%}
.manifesto-col-track{display:flex;flex-direction:column;gap:14px;will-change:transform}
.manifesto-tile{flex-shrink:0;width:100%;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:#222}
.manifesto-tile img{width:100%;height:100%;object-fit:cover;display:block}
.manifesto-overlay{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(0,0,0,.55) 0%,rgba(0,0,0,.78) 70%,rgba(0,0,0,.9) 100%);pointer-events:none}
.manifesto-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;color:#fff;z-index:2}
.manifesto-kicker{margin:0 0 28px;justify-content:center}
.manifesto-title{font-family:Inter,sans-serif;font-weight:300;font-size:clamp(30px,4.6vw,68px);line-height:1.08;letter-spacing:-.025em;max-width:1100px;margin:0 0 40px;color:#fff}
.manifesto-title b{color:var(--red);font-weight:400;font-size:.5em;margin-left:.12em;vertical-align:middle}
.manifesto-cta{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#000;padding:16px 34px;border-radius:999px;font-family:Inter,sans-serif;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:transform .35s ease,opacity .35s ease;cursor:pointer}
.manifesto-cta:hover{transform:scale(1.05);opacity:.92}

/* === Contact + Footer — black bookend (unified dark strip) === */
.contact.tone-noir{background:#000;color:var(--cream);position:relative}
.contact.tone-noir::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(245,241,234,.18),transparent);pointer-events:none}

.contact.tone-noir h2{color:var(--cream)}
.contact.tone-noir .contact-copy>p:not(.kicker){color:rgba(245,241,234,.7)}
.contact.tone-noir .kicker{color:rgba(245,241,234,.66)}
.contact.tone-noir label{color:rgba(245,241,234,.6);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.contact.tone-noir input,
.contact.tone-noir textarea{border:1px solid rgba(245,241,234,.16);background:rgba(245,241,234,.035);color:var(--cream)}
.contact.tone-noir input::placeholder,
.contact.tone-noir textarea::placeholder{color:rgba(245,241,234,.32)}
.contact.tone-noir input:focus,
.contact.tone-noir textarea:focus{border-color:var(--cream);box-shadow:inset -5px 0 0 var(--red);background:rgba(245,241,234,.07);outline:none}
.contact.tone-noir .contact-form button{background:var(--cream);color:#000;font-weight:700;letter-spacing:.14em;padding:22px;font-size:12px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.contact.tone-noir .contact-form button:hover{background:#fff;color:#000;transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.55)}
.contact.tone-noir .contact-form span{color:var(--red)}

/* Footer claro (#A7B6BC) con transición suave desde el contacto negro */
.contact.tone-noir{position:relative}
.contact.tone-noir::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(167,182,188,.45),transparent);pointer-events:none;z-index:2}
.contact.tone-noir > *{position:relative;z-index:1}
.footer-bridge{height:64px;background:#1d333d}
.site-footer{background:#A7B6BC;color:rgba(18,34,42,.78);border-top:1px solid rgba(18,34,42,.14);padding-top:84px}

.site-footer .footer-grid{border-bottom:1px solid rgba(18,34,42,.16)}
.site-footer .footer-col h4{color:#0f1d23;font-weight:700}
.site-footer .footer-col p,
.site-footer .footer-col li{color:rgba(18,34,42,.72)}
.site-footer .footer-col a{color:rgba(18,34,42,.82);transition:color .25s var(--ease)}
.site-footer .footer-col a:hover{color:var(--red)}
.site-footer .footer-logo{filter:brightness(0) saturate(100%) invert(9%) sepia(18%) saturate(1200%) hue-rotate(155deg);opacity:.9}
.site-footer .footer-legal{color:rgba(18,34,42,.6)}
.site-footer .footer-legal-links a{color:rgba(18,34,42,.68);border-bottom:1px solid rgba(18,34,42,.18)}
.site-footer .footer-legal-links a:hover{color:var(--red);border-bottom-color:var(--red)}
.site-footer .footer-legal-links span{color:rgba(18,34,42,.4)}
.site-footer .footer-legal-copy{color:rgba(18,34,42,.68)}
.site-footer .footer-disclaimer{color:rgba(18,34,42,.58)}
.site-footer .footer-b2b a{color:rgba(18,34,42,.75);border-bottom:1px solid rgba(18,34,42,.28)}
.site-footer .footer-b2b a:hover{color:var(--red);border-bottom-color:var(--red)}



/* Bookend continuo: degradado sutil entre hero (tone-dusk) y compañía (about-sticky) */
.hero{position:relative}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.55) 55%,#000 100%);pointer-events:none;z-index:1}
.about-sticky{position:relative}
.about-sticky::before{content:"";position:absolute;left:0;right:0;top:0;height:140px;background:linear-gradient(180deg,#06080c 0%,rgba(0,0,0,.85) 45%,rgba(0,0,0,0) 100%);pointer-events:none;z-index:0}
.about-sticky > *{position:relative;z-index:1}

/* Bookend continuo: degradado sutil entre compañía (about-sticky) y portafolio (featured) */
.about-sticky::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(6,8,12,.45) 60%,#06080c 100%);pointer-events:none;z-index:0}
.featured{position:relative}
.featured::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,#06080c 0%,rgba(6,8,12,.65) 40%,rgba(6,8,12,0) 100%);pointer-events:none;z-index:0}
.featured-shell{position:relative;z-index:1}

/* ===== Hero Organic Biotech Background ===== */
.hero-bio{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#06080c}
.hero-bio-base{position:absolute;inset:-10%;background:
  radial-gradient(ellipse 70% 60% at calc(72% + var(--bx,0px)) calc(30% + var(--by,0px)), rgba(36,61,73,.35) 0%, rgba(36,61,73,0) 60%),
  radial-gradient(ellipse 60% 55% at calc(85% + var(--bx,0px) * -.6) calc(68% + var(--by,0px) * -.6), rgba(161,24,24,.14) 0%, rgba(161,24,24,0) 65%),
  radial-gradient(ellipse 90% 80% at 50% 50%, #0a1419 0%, #06080c 70%);
  transition:background-position 2s var(--ease);animation:bioBreath 14s ease-in-out infinite}
.hero-bio-blob{position:absolute;border-radius:50%;filter:blur(40px);opacity:.7;mix-blend-mode:screen;will-change:transform,opacity;transition:opacity .3s ease;transform:translate3d(var(--bx,0px),var(--by,0px),0) scale(var(--bs,1))}
.hero-bio-blob--teal{width:26vw;height:26vw;left:56%;top:14%;background:radial-gradient(circle,#3a4f68 0%,rgba(40,65,110,.35) 45%,rgba(30,55,100,0) 72%);opacity:.45}
.hero-bio-blob--ember{width:20vw;height:20vw;left:72%;top:42%;background:radial-gradient(circle,#9e2a2a 0%,rgba(140,30,30,.3) 45%,rgba(120,20,20,0) 72%);opacity:.4}
.hero-bio-blob--deep{width:30vw;height:30vw;left:60%;bottom:6%;background:radial-gradient(circle,#23424a 0%,rgba(30,55,65,.35) 45%,rgba(26,48,56,0) 72%);opacity:.55}
.hero-bio-blob.is-pushed{opacity:.95;filter:blur(28px)}
.hero-bio-svg{position:absolute;inset:0;width:100%;height:100%;opacity:.45;mix-blend-mode:screen}
.hero-cell{transform-origin:center;transform-box:fill-box}
.hero-cell--a{animation:bioCellA 12s ease-in-out infinite}
.hero-cell--b{animation:bioCellB 16s ease-in-out infinite}
.hero-cell--c{animation:bioCellC 14s ease-in-out infinite}
.hero-cell--d{animation:bioCellD 18s ease-in-out infinite}
.hero-cell--e{animation:bioCellE 9s ease-in-out infinite}
.hero-bio-grid{position:absolute;inset:0;background-image:
  linear-gradient(rgba(245,241,234,.035) 1px,transparent 1px),
  linear-gradient(90deg,rgba(245,241,234,.035) 1px,transparent 1px);
  background-size:80px 80px;mask-image:radial-gradient(ellipse 90% 80% at 50% 40%, #000 30%, transparent 80%);pointer-events:none}
.hero-bio-grain{position:absolute;inset:0;opacity:.05;background-image:radial-gradient(circle at 20% 20%, rgba(255,255,255,.8) .5px, transparent .6px),radial-gradient(circle at 80% 70%, rgba(255,255,255,.6) .5px, transparent .6px);background-size:26px 26px,31px 31px;pointer-events:none;mix-blend-mode:overlay}
.hero-bio-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 100% 80% at 50% 50%, transparent 40%, rgba(6,8,12,.7) 95%);pointer-events:none}

@keyframes bioBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@keyframes bioCellA{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.15)}}
@keyframes bioCellB{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-50px,40px) scale(.88)}}
@keyframes bioCellC{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-30px,-50px) scale(1.2)}}
@keyframes bioCellD{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,30px) scale(.92)}}
@keyframes bioCellE{0%,100%{transform:translate(0,0) scale(1);opacity:.9}50%{transform:translate(-25px,20px) scale(1.3);opacity:.55}}

@media (prefers-reduced-motion: reduce){
  .hero-bio-base,.hero-bio-blob,.hero-cell{animation:none !important}
}

/* Bridge wellness/science animation */
.bridge-anim{position:absolute;inset:0;width:100%;height:100%;display:block}
.bridge-core{transform-origin:200px 200px;animation:bridgeBreath 4.2s ease-in-out infinite}
.bridge-rings .ring{transform-origin:200px 200px;animation:bridgeBreath 5.5s ease-in-out infinite}
.bridge-rings .r2{animation-delay:.5s;animation-duration:6.2s}
.bridge-rings .r3{animation-delay:1s;animation-duration:7.4s}
.bridge-orbit{transform-origin:200px 200px;animation:bridgeSpin 22s linear infinite}
.bridge-ecg{stroke-dasharray:520;stroke-dashoffset:520;animation:bridgeEcg 3.6s ease-in-out infinite}
@keyframes bridgeBreath{0%,100%{transform:scale(1);opacity:.85}50%{transform:scale(1.12);opacity:1}}
@keyframes bridgeSpin{to{transform:rotate(360deg)}}
@keyframes bridgeEcg{0%{stroke-dashoffset:520}55%{stroke-dashoffset:0}100%{stroke-dashoffset:-520}}

/* Hero blobs — lava lamp: soft, blurry, organic. Cursor parts them. */
.hero-bio-blob{filter:blur(70px) !important;opacity:.65 !important;mix-blend-mode:screen !important;border:none;transition:opacity .35s ease, filter .35s ease}
.hero-bio-blob--teal{width:32vw !important;height:32vw !important;background:radial-gradient(circle,#3a4f68 0%,rgba(50,75,130,.4) 45%,rgba(30,55,100,0) 75%) !important;opacity:.4 !important}
.hero-bio-blob--ember{width:24vw !important;height:24vw !important;background:radial-gradient(circle,#9e2a2a 0%,rgba(150,35,35,.4) 45%,rgba(120,20,20,0) 75%) !important;opacity:.35 !important}
.hero-bio-blob--deep{width:36vw !important;height:36vw !important;background:radial-gradient(circle,#23424a 0%,rgba(35,65,75,.4) 45%,rgba(20,40,48,0) 75%) !important;opacity:.5 !important}
.hero-bio-blob.is-pushed{opacity:.85 !important;filter:blur(48px) !important}

/* ============ SERVICIOS v2 — sticky media + glass color cards ============ */
.services-v2{background:#06080c;color:var(--pearl);padding:140px 0 160px;position:relative;overflow:clip}
.services-v2::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 18% 12%,rgba(36,61,73,.45),transparent 60%),radial-gradient(700px 500px at 92% 88%,rgba(161,24,24,.16),transparent 60%);pointer-events:none}
.svc2-shell{position:relative;z-index:1;width:min(1360px,calc(100% - 72px));margin:auto;display:grid;grid-template-columns:minmax(380px,1fr) minmax(0,1.35fr);gap:96px;align-items:flex-start}
.svc2-intro{position:sticky;top:120px;align-self:start;max-height:calc(100vh - 140px)}
.svc2-intro-inner{display:flex;flex-direction:column;gap:24px}
.svc2-intro h2{font-size:clamp(40px,4vw,64px);line-height:.98;letter-spacing:-.05em;font-weight:300;color:var(--pearl);margin:0}
.svc2-lede{font-size:15.5px;line-height:1.6;color:rgba(217,217,217,.62);margin:0;max-width:380px}
.svc2-cta{align-self:flex-start;margin-top:8px}

.svc2-stack{display:flex;flex-direction:column;gap:0;max-width:680px;margin-left:auto;padding-bottom:10vh;overflow:visible}
.svc2-card{position:sticky;top:120px;border-radius:26px;overflow:hidden;min-height:580px;display:flex;align-items:flex-end;isolation:isolate;box-shadow:0 40px 80px -40px rgba(0,0,0,.7);margin-bottom:8vh}
.svc2-stack > .svc2-card:nth-child(1){z-index:10}
.svc2-stack > .svc2-card:nth-child(2){z-index:20}
.svc2-stack > .svc2-card:nth-child(3){z-index:30}
.svc2-stack > .svc2-card:nth-child(4){z-index:40}
.svc2-stack > .svc2-card:last-child{margin-bottom:0}

.svc2-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform 1.2s var(--ease)}
.svc2-card:hover .svc2-bg{transform:scale(1.04)}
.svc2-card::before{content:"";position:absolute;inset:0;z-index:1;mix-blend-mode:multiply;opacity:.85}
.svc2-card[data-tone="teal"]::before{background:linear-gradient(155deg,#243d49 10%,#0f2129 90%)}
.svc2-card[data-tone="red"]::before{background:linear-gradient(155deg,#a11818 5%,#3a0c0c 90%)}
.svc2-card[data-tone="sapphire"]::before{background:linear-gradient(155deg,#a7b6bc 5%,#3b4a52 90%);mix-blend-mode:overlay;opacity:.9}
.svc2-card[data-tone="cream"]::before{background:linear-gradient(155deg,#e8e0d2 5%,#3d2f1c 90%);mix-blend-mode:overlay;opacity:.85}

.svc2-glass{position:relative;z-index:2;margin:28px;padding:34px 34px 30px;border-radius:20px;background:rgba(10,12,18,.42);backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(247,249,250,.14);max-width:520px;color:#fff}
.svc2-num{display:inline-block;font-size:11px;letter-spacing:.22em;font-weight:600;color:rgba(255,255,255,.7);margin-bottom:14px}
.svc2-glass h3{font-size:clamp(26px,2.4vw,38px);line-height:1.04;letter-spacing:-.035em;font-weight:400;margin:0 0 14px;color:#fff}
.svc2-glass p{font-size:15px;line-height:1.6;color:rgba(255,255,255,.82);margin:0 0 22px}
.svc2-link{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#fff;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:4px;transition:color .35s var(--ease),border-color .35s var(--ease)}
.svc2-link i{font-style:normal;transition:transform .35s var(--ease)}
.svc2-link:hover{color:var(--brand-red);border-color:var(--brand-red)}
.svc2-link:hover i{transform:translateX(4px)}

/* Per-tone accent on the glass border for subtle pop */
.svc2-card[data-tone="teal"] .svc2-glass{border-color:rgba(167,201,213,.28)}
.svc2-card[data-tone="red"] .svc2-glass{border-color:rgba(255,180,180,.28)}
.svc2-card[data-tone="sapphire"] .svc2-glass{border-color:rgba(220,230,235,.32)}
.svc2-card[data-tone="cream"] .svc2-glass{border-color:rgba(255,235,210,.3)}

@media (max-width:980px){
  .svc2-shell{grid-template-columns:1fr;gap:48px}
  .svc2-intro{position:relative;top:0}
  .svc2-stack{padding-bottom:0}
  .svc2-card{position:relative;top:auto;min-height:460px;margin-bottom:24px}
  .svc2-glass{margin:18px;padding:24px}
}

/* ===== Fluid section transitions: no hard bands, all blends ~220-260px ===== */
/* Kill the white/silver strip at top of bridge — both neighbors are dark */
.bridge{background:#0b0e14 !important}
.bridge{position:relative}
.bridge::before{content:"";position:absolute;left:0;right:0;top:0;height:240px;background:linear-gradient(180deg,#06080c 0%,rgba(11,14,20,.85) 55%,rgba(11,14,20,0) 100%);pointer-events:none;z-index:0}
.bridge > *{position:relative;z-index:1}

/* featured (dark) -> services-v2 (dark): soften the seam from below */
.featured{position:relative}
.featured::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;background:linear-gradient(180deg,rgba(6,8,12,0) 0%,rgba(6,8,12,.85) 60%,#06080c 100%);pointer-events:none;z-index:0}

/* services-v2 -> bridge: blend out to bridge color */
.services-v2{position:relative}
.services-v2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(180deg,rgba(6,8,12,0) 0%,rgba(8,11,16,.8) 55%,#0b0e14 100%);pointer-events:none;z-index:2}
.svc2-shell{position:relative;z-index:3}

/* experience (white) -> values (sapphire-deep): organic SVG diagonal cut (no gradient band) */
.experience{position:relative;overflow:hidden;padding-bottom:0}
.experience::after,.experience::before{display:none !important}
/* Seamless section transitions — unified tone palette bridges */
.section-cut{display:block;width:100%;height:160px;background:linear-gradient(180deg,#0a0d12 0%,#152430 55%,#243D49 100%);position:relative;z-index:3;margin:0;padding:0}
.section-cut-line{display:none}

/* Global seamless fades between adjacent tones on the home landing */
.brujesin-spot.tone-noir{background:#0a0d12;position:relative}
.featured.tone-dusk{position:relative}
.featured.tone-dusk::after{content:"";position:absolute;left:0;right:0;bottom:-160px;height:220px;background:linear-gradient(180deg,rgba(11,14,20,0) 0%,#090b10 55%,#050608 100%);pointer-events:none;z-index:2}
.services-orb::before{background:linear-gradient(180deg,#050608 0%,rgba(5,6,8,.7) 55%,transparent 100%) !important;height:200px !important}
.brujesin-spot.tone-noir::before{content:"";position:absolute;left:0;right:0;top:0;height:80px;background:linear-gradient(180deg,#0F1219,rgba(10,13,18,0));pointer-events:none;z-index:1}
/* brujesin -> servicios: handled by .services-bento::before (noir to paper) */
/* servicios -> faq: handled by .services-bento::after (paper to dusk) */
.services-bento::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,transparent 0%,rgba(15,18,25,.55) 70%,var(--dusk) 100%);pointer-events:none;z-index:1}

/* Home: seamless fades between prod-showcase → FAQ → blog → values → contact */
.prod-showcase{position:relative}
.prod-showcase::after{content:"";position:absolute !important;left:0;right:0;bottom:-140px;height:200px;background:linear-gradient(180deg,rgba(10,13,18,0) 0%,rgba(13,16,22,.75) 55%,#0F1219 100%);pointer-events:none;z-index:2}
.faq{position:relative}
.faq::before{content:"";position:absolute;left:0;right:0;top:-1px;height:160px;background:linear-gradient(180deg,#0F1219 0%,rgba(15,18,25,.55) 60%,rgba(15,18,25,0) 100%);pointer-events:none;z-index:1}
.faq::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:200px;background:linear-gradient(180deg,rgba(15,18,25,0) 0%,rgba(14,17,22,.7) 55%,#0c0f15 100%);pointer-events:none;z-index:1}
.blog{position:relative}
.blog::before{content:"";position:absolute;left:0;right:0;top:-1px;height:160px;background:linear-gradient(180deg,#0c0f15 0%,rgba(12,15,21,.55) 60%,rgba(12,15,21,0) 100%);pointer-events:none;z-index:1}
.blog::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:240px;background:linear-gradient(180deg,rgba(12,15,21,0) 0%,#000 100%);pointer-events:none;z-index:2}
.blog-shell,.faq-shell{position:relative;z-index:3}

.values{position:relative;padding-top:110px}
.values::before{display:none !important}
.values::after{content:"";position:absolute;left:0;right:0;bottom:0;height:240px;background:linear-gradient(180deg,rgba(36,61,73,0) 0%,rgba(20,28,34,.7) 55%,#0b0b0d 100%);pointer-events:none;z-index:1}
.values .wrap,.values-shell{position:relative;z-index:2}

/* ===== SERVICES PARALLAX — 3 columns of image tiles ===== */
.svc-parallax{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start;width:100%}
.svc-col{display:flex;flex-direction:column;gap:18px;will-change:transform;transform:translate3d(0,var(--ty,0px),0);transition:transform .08s linear}
.svc-col[data-offset="60"]{padding-top:60px}
.svc-col[data-offset="120"]{padding-top:120px}
.svc-tile{position:relative;border-radius:18px;overflow:hidden;background:#0a0d12;display:block;text-decoration:none;color:inherit}
.svc-tile.is-service{aspect-ratio:3/4}
.svc-tile.is-ambient{aspect-ratio:4/5;opacity:.78}
.svc-tile-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.svc-tile:hover .svc-tile-img{transform:scale(1.05)}
.svc-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,8,12,0) 38%,rgba(6,8,12,.82) 100%);pointer-events:none;z-index:1}
.svc-tile.is-service[data-tone="teal"]::after{background:linear-gradient(180deg,rgba(36,61,73,0) 30%,rgba(15,33,41,.94) 100%)}
.svc-tile.is-service[data-tone="red"]::after{background:linear-gradient(180deg,rgba(161,24,24,0) 30%,rgba(58,12,12,.95) 100%)}
.svc-tile.is-service[data-tone="sapphire"]::after{background:linear-gradient(180deg,rgba(167,182,188,0) 30%,rgba(59,74,82,.94) 100%)}
.svc-tile.is-service[data-tone="cream"]::after{background:linear-gradient(180deg,rgba(232,224,210,0) 30%,rgba(61,47,28,.94) 100%)}
.svc-tile-meta{position:absolute;left:22px;right:22px;bottom:20px;z-index:2;color:#fff}
.svc-tile-meta .svc-num{display:block;font-size:11px;letter-spacing:.22em;font-weight:600;opacity:.82;margin-bottom:10px}
.svc-tile-meta h3{font-size:clamp(17px,1.4vw,22px);line-height:1.18;letter-spacing:-.02em;font-weight:400;margin:0 0 14px;color:#fff}
.svc-tile-meta .svc-link{display:inline-flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:3px;color:#fff;transition:color .35s,border-color .35s}
.svc-tile-meta .svc-link i{font-style:normal;transition:transform .35s}
.svc-tile:hover .svc-tile-meta .svc-link{color:#ffb7b7;border-color:#ffb7b7}
.svc-tile:hover .svc-tile-meta .svc-link i{transform:translateX(4px)}
@media (max-width:980px){
  .svc-parallax{grid-template-columns:1fr;gap:14px}
  .svc-col{transform:none !important;padding-top:0 !important}
  .svc-tile.is-ambient{display:none}
}

/* manifesto-v2 -> contact: both very dark, ensure no line */
.manifesto-v2{position:relative}
.manifesto-v2::after{content:"";position:absolute;left:0;right:0;bottom:0;height:200px;background:linear-gradient(180deg,rgba(11,11,13,0) 0%,rgba(10,12,17,.85) 60%,#0a0d12 100%);pointer-events:none;z-index:5}

/* ===========================================================
   SHOP / PRODUCT PAGES — Avantys Labs editorial e-commerce
   Dark dusk + sapphire + red dot · matches homepage system
   =========================================================== */
.shop{
  background:var(--dusk);
  color:var(--pearl);
  min-height:100vh;
  font-family:Inter,system-ui,-apple-system,sans-serif;
  font-weight:300;
  letter-spacing:-.005em;
}
.shop a{color:inherit;text-decoration:none}
.shop-wrap{width:min(1320px,calc(100% - 72px));margin-inline:auto}
@media (max-width:760px){ .shop-wrap{width:min(100% - 40px,760px)} }


.lang-toggle{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 14px;
  border:1px solid rgba(217,217,217,.16);
  border-radius:999px;font-size:10px;letter-spacing:.14em;
}
.lang-toggle button{
  background:none;border:0;padding:2px 4px;cursor:pointer;
  font:inherit;font-size:10px;letter-spacing:.14em;
  color:rgba(245,241,234,.5);transition:color .2s;
}
.lang-toggle button.is-active{color:var(--cream);font-weight:600}
.lang-toggle span{color:rgba(217,217,217,.22)}
header .lang-toggle{margin-right:0}

/* Hero — dark editorial like homepage */
.shop-hero{
  position:relative;
  padding:clamp(120px,16vh,180px) clamp(28px,4vw,56px) clamp(80px,10vh,120px);
  overflow:hidden;
  isolation:isolate;
}
.shop-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:
    radial-gradient(60% 80% at 80% 20%,rgba(167,182,188,.10),transparent 70%),
    radial-gradient(40% 60% at 10% 80%,rgba(161,24,24,.10),transparent 70%),
    var(--dusk);
}
.shop-hero::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:160px;
  background:linear-gradient(180deg,rgba(15,18,25,0),var(--dusk));
  pointer-events:none;
}
.shop-hero-inner{width:min(1320px,calc(100% - 0px));margin-inline:auto;max-width:980px}
.shop-kicker{
  display:inline-flex;align-items:center;gap:12px;
  font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;
  color:rgba(245,241,234,.6);margin:0 0 32px;
}
.shop-kicker span{
  width:7px;height:7px;border-radius:50%;background:var(--red);
  box-shadow:0 0 14px rgba(161,24,24,.55);
}
.shop-hero h1{
  font-family:Inter,sans-serif;font-weight:300;
  font-size:clamp(48px,7vw,104px);
  line-height:.96;letter-spacing:-.045em;
  margin:0 0 22px;color:#fff;
}
.shop-hero h1 em{font-style:italic;font-weight:300;color:var(--sapphire)}
.shop-sub{
  font-size:clamp(15px,1.2vw,18px);line-height:1.6;
  max-width:560px;color:rgba(245,241,234,.7);font-weight:300;margin:0;
}

/* Product grid — dark with sapphire glass cards (matches .ccard) */
.shop-grid{
  width:min(1320px,calc(100% - 72px));margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:clamp(20px,2.4vw,32px);
  padding:clamp(40px,6vh,80px) 0 clamp(80px,10vh,140px);
}
@media (max-width:760px){ .shop-grid{width:min(100% - 40px,760px)} }

.shop-card{
  position:relative;
  display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(36,61,73,.34) 0%,rgba(15,18,25,.78) 100%);
  border:1px solid rgba(167,182,188,.14);
  border-radius:22px;overflow:hidden;
  backdrop-filter:blur(14px);
  transition:transform .5s var(--ease),border-color .35s var(--ease),box-shadow .5s var(--ease);
}
.shop-card::before{
  content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;
  background:radial-gradient(120% 80% at 50% -10%,rgba(167,182,188,.12),transparent 60%);
  opacity:0;transition:opacity .5s var(--ease);
}
.shop-card:hover{
  transform:translateY(-6px);
  border-color:rgba(167,182,188,.32);
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6),0 0 0 1px rgba(167,182,188,.08) inset;
}
.shop-card:hover::before{opacity:1}

.shop-card-media{
  aspect-ratio:4/5;
  background:
    radial-gradient(80% 60% at 50% 20%,rgba(167,182,188,.18),transparent 70%),
    linear-gradient(180deg,#1a2530 0%,#0e141a 100%);
  overflow:hidden;position:relative;
}
.shop-card-media img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .9s var(--ease),filter .6s var(--ease);
  filter:brightness(.96) contrast(1.02);
}
.shop-card:hover .shop-card-media img{transform:scale(1.05);filter:brightness(1) contrast(1.05)}

.shop-card-body{
  padding:22px 24px 26px;
  display:flex;flex-direction:column;gap:10px;flex:1;
}
.shop-card-tag{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(167,182,188,.85);font-weight:500;margin:0;
}
.shop-card-body h3{
  font-family:Inter,sans-serif;font-weight:300;letter-spacing:-.02em;
  font-size:22px;line-height:1.15;color:var(--cream);margin:0;
}
.shop-card-pres{font-size:12px;color:rgba(245,241,234,.5);margin:0}
.shop-card-foot{
  margin-top:auto;padding-top:18px;
  display:flex;align-items:center;justify-content:space-between;
  border-top:1px solid rgba(167,182,188,.12);
}
.shop-card-price{
  font-size:17px;font-weight:500;letter-spacing:-.01em;color:#fff;
}
.shop-card-cta{
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  color:var(--red);
  display:inline-flex;align-items:center;gap:8px;
  transition:gap .35s var(--ease);
}
.shop-card:hover .shop-card-cta{gap:12px}

.shop-footer{
  background:var(--sapphire-deep);color:rgba(247,249,250,.7);
  padding:36px clamp(28px,4vw,56px);
  font-size:11px;letter-spacing:.08em;text-align:center;
  border-top:1px solid rgba(167,182,188,.12);
}
.shop-footer p{margin:0}

.shop-empty{padding:180px 0 220px;text-align:center}
.shop-empty h1{
  font-family:Inter,sans-serif;font-weight:200;
  font-size:120px;letter-spacing:-.05em;margin:0 0 12px;color:#fff;
}
.shop-empty p{color:rgba(245,241,234,.6);margin:0 0 20px}
.shop-empty a{color:var(--red);font-weight:500;letter-spacing:.08em;text-transform:uppercase;font-size:12px}

/* ============== PDP ============== */
.shop-crumbs{
  width:min(1320px,calc(100% - 72px));margin-inline:auto;
  display:flex;gap:10px;align-items:center;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  color:rgba(245,241,234,.55);
  padding:clamp(28px,4vh,48px) 0 12px;
}
.shop-crumbs span{color:rgba(245,241,234,.25)}
.shop-crumbs a:hover{color:var(--cream)}
@media (max-width:760px){ .shop-crumbs{width:min(100% - 40px,760px)} }

.pdp{
  width:min(1320px,calc(100% - 72px));margin-inline:auto;
  display:grid;grid-template-columns:1.05fr 1fr;
  gap:clamp(40px,6vw,96px);
  padding:24px 0 clamp(80px,10vh,120px);
  align-items:start;
}
@media (max-width:880px){ .pdp{grid-template-columns:1fr} }
@media (max-width:760px){ .pdp{width:min(100% - 40px,760px)} }

.pdp-media{
  position:sticky;top:96px;
  background:
    radial-gradient(80% 60% at 50% 20%,rgba(167,182,188,.18),transparent 70%),
    linear-gradient(180deg,#1a2530 0%,#0e141a 100%);
  border:1px solid rgba(167,182,188,.14);
  border-radius:24px;overflow:hidden;
  aspect-ratio:4/5;
}
.pdp-media img{width:100%;height:100%;object-fit:cover;display:block}
.pdp-badge{
  position:absolute;top:22px;left:22px;
  background:rgba(15,18,25,.7);
  border:1px solid rgba(167,182,188,.2);
  backdrop-filter:blur(12px);
  color:var(--cream);
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  padding:8px 14px;border-radius:999px;
}

.pdp-info{padding-top:8px}
.pdp-tagline{
  display:inline-flex;align-items:center;gap:10px;
  font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  color:rgba(167,182,188,.9);margin:0 0 18px;
}
.pdp-tagline::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--red);
  box-shadow:0 0 12px rgba(161,24,24,.5);
}
.pdp-title{
  font-family:Inter,sans-serif;font-weight:300;
  font-size:clamp(36px,4.6vw,58px);
  line-height:1.02;letter-spacing:-.035em;
  margin:0 0 14px;color:#fff;
}
.pdp-presentation{font-size:13px;color:rgba(245,241,234,.55);margin:0 0 32px;letter-spacing:.02em}

.pdp-price{
  display:flex;align-items:baseline;gap:14px;
  padding:20px 0;
  border-top:1px solid rgba(167,182,188,.14);
  border-bottom:1px solid rgba(167,182,188,.14);
  margin-bottom:28px;
}
.pdp-price-main{
  font-family:Inter,sans-serif;font-weight:400;
  font-size:34px;letter-spacing:-.02em;color:#fff;
}
.pdp-price-ref{font-size:12px;color:rgba(245,241,234,.5);letter-spacing:.04em}

.pdp-qty{display:flex;align-items:center;gap:18px;margin-bottom:24px}
.pdp-qty>span{
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
  color:rgba(245,241,234,.55);
}
.pdp-qty-ctrl{
  display:inline-flex;align-items:center;
  border:1px solid rgba(167,182,188,.22);
  border-radius:999px;overflow:hidden;background:rgba(15,18,25,.4);
}
.pdp-qty-ctrl button{
  background:none;border:0;width:38px;height:38px;
  font-size:18px;cursor:pointer;color:var(--cream);
}
.pdp-qty-ctrl input{
  width:44px;text-align:center;border:0;background:none;color:var(--cream);
  font:inherit;font-weight:500;-moz-appearance:textfield;
}
.pdp-qty-ctrl input::-webkit-outer-spin-button,
.pdp-qty-ctrl input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

.pdp-cta{display:flex;flex-direction:column;gap:10px;margin-bottom:32px}
.pdp-cta .btn-primary,
.pdp-cta .btn-secondary{
  font:inherit;font-weight:500;
  border-radius:999px;padding:16px 26px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  cursor:not-allowed;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border:1px solid transparent;
  transition:background .25s,color .25s,border-color .25s;
}
.pdp-cta .btn-primary{
  background:var(--red);color:#fff;
  box-shadow:0 12px 28px -14px rgba(161,24,24,.65);
}
.pdp-cta .btn-primary em{
  font-style:normal;opacity:.7;font-size:10px;letter-spacing:.16em;font-weight:400;
}
.pdp-cta .btn-secondary{
  background:transparent;color:var(--cream);
  border-color:rgba(167,182,188,.28);
}

.pdp-trust{
  list-style:none;padding:0;margin:0;
  display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;
  font-size:12px;color:rgba(245,241,234,.65);
}
.pdp-trust li{display:flex;align-items:center;gap:8px}

/* Tabs section — slightly elevated panel */
.pdp-tabs{
  position:relative;
  padding:clamp(60px,8vh,100px) 0 clamp(60px,8vh,100px);
  background:linear-gradient(180deg,rgba(15,18,25,0) 0%,rgba(36,61,73,.18) 100%);
}
.pdp-tabs::before{
  content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;
  width:min(1320px,calc(100% - 72px));height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,182,188,.25),transparent);
}
.pdp-tabs-inner{width:min(1320px,calc(100% - 72px));margin-inline:auto}
@media (max-width:760px){ .pdp-tabs-inner{width:min(100% - 40px,760px)} }

.pdp-tabs-bar{
  display:flex;flex-wrap:wrap;gap:4px;margin-bottom:32px;
}
.pdp-tabs-bar button{
  background:none;border:0;padding:14px 18px;cursor:pointer;
  font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  color:rgba(245,241,234,.5);
  border-bottom:1px solid transparent;
  transition:color .25s,border-color .25s;
}
.pdp-tabs-bar button:hover{color:var(--cream)}
.pdp-tabs-bar button.is-active{color:#fff;border-bottom-color:var(--red)}
.pdp-tabs-body{
  max-width:780px;
  font-size:16px;line-height:1.75;font-weight:300;
  color:rgba(245,241,234,.78);
}

/* Related */
.pdp-related{
  position:relative;
  padding:clamp(60px,8vh,100px) 0 clamp(80px,10vh,140px);
}
.pdp-related::before{
  content:"";position:absolute;left:50%;transform:translateX(-50%);top:0;
  width:min(1320px,calc(100% - 72px));height:1px;
  background:linear-gradient(90deg,transparent,rgba(167,182,188,.2),transparent);
}
.pdp-related-inner{width:min(1320px,calc(100% - 72px));margin-inline:auto}
@media (max-width:760px){ .pdp-related-inner{width:min(100% - 40px,760px)} }
.pdp-related h2{
  font-family:Inter,sans-serif;font-weight:300;letter-spacing:-.03em;
  font-size:clamp(26px,2.8vw,38px);color:#fff;margin:0 0 32px;
}
.pdp-related .shop-grid{
  width:auto;margin-inline:0;padding:0;
}


/* =========================================================================
   Servicios — Orbital layout (restored)
   ========================================================================= */
.services-orb{background:#050608;color:#f5f1ea;padding:140px 0 120px;position:relative;overflow:hidden}
.services-orb::before{content:"";position:absolute;inset:0 0 auto 0;height:160px;background:linear-gradient(180deg,#000 0%,rgba(0,0,0,.85) 45%,transparent 100%);pointer-events:none}
.services-orb::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,transparent 0%,rgba(6,8,12,.6) 60%,#06080c 100%);pointer-events:none}
.svo-shell{position:relative;z-index:1;width:min(1360px,calc(100% - 72px));margin:auto}
.svo-kicker{margin-bottom:60px;color:rgba(245,241,234,.55)}
.svo-grid{position:relative;min-height:min(680px,78vh);display:block}
.svo-item{position:absolute;max-width:290px;color:#f5f1ea}
.svo-item h3{font:400 20px/1.25 Inter,sans-serif;letter-spacing:-.01em;margin:0 0 10px}
.svo-item p{font:300 13px/1.6 Inter,sans-serif;color:rgba(245,241,234,.55);margin:0}
.svo-item--tl{top:20px;left:0}
.svo-item--tr{top:120px;right:0;text-align:right}
.svo-item--b{bottom:20px;left:50%;transform:translateX(-50%);text-align:center}
.svo-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.svo-orb{position:relative;width:min(340px,34vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 35%,#e83a3a 0%,#c43030 45%,#7a1414 100%);box-shadow:0 0 0 0 rgba(196,48,48,.6),0 30px 80px -20px rgba(196,48,48,.5);animation:svo-pulse 2.6s ease-in-out infinite}
@keyframes svo-pulse{0%,100%{box-shadow:0 0 0 0 rgba(196,48,48,.55),0 30px 80px -20px rgba(196,48,48,.5);transform:scale(1)}50%{box-shadow:0 0 0 40px rgba(196,48,48,0),0 30px 80px -20px rgba(196,48,48,.5);transform:scale(1.04)}}
.svo-orb-ring{position:absolute;inset:-2%;border-radius:50%;border:1px solid rgba(255,255,255,.22);transform:rotate3d(1,.3,0,72deg)}
.svo-orb-ring--2{transform:rotate3d(.3,1,0,72deg);border-color:rgba(255,255,255,.14)}
.svo-orb-dashes{display:none}
.svo-title{position:absolute;top:50%;transform:translateY(-50%);font:300 clamp(52px,7vw,120px)/1 Inter,sans-serif;letter-spacing:-.04em;color:#f5f1ea;white-space:nowrap;pointer-events:none}
.svo-title--l{right:calc(50% + min(200px,19vw))}
.svo-title--r{left:calc(50% + min(200px,19vw))}
.svo-cta{margin-top:64px;display:flex;justify-content:center}
@media (max-width:980px){
  .services-orb{padding:96px 0 80px}
  .svo-kicker{margin-bottom:32px}
  .svo-grid{min-height:auto;display:flex;flex-direction:column;gap:32px;align-items:center;text-align:center}
  .svo-item,.svo-item--tl,.svo-item--tr,.svo-item--b{position:static;transform:none;max-width:420px;text-align:center}
  .svo-center{position:relative;order:-1;height:220px}
  .svo-orb{width:200px}
  .svo-title{display:none}
  .svo-cta{margin-top:40px}
}

/* =========================================================================
   Portafolio — Product showcase (black -> white on hover)
   ========================================================================= */
.prod-showcase{background:#0a0d12;color:#f5f1ea;padding:130px 0 130px;position:relative;overflow:hidden}
.prod-showcase::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,#06080c 0%,rgba(10,13,18,.6) 55%,transparent 100%);pointer-events:none;z-index:1}
.prod-showcase::after{content:"";position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.6) 60%,#000 100%);pointer-events:none;z-index:1}
.pshow-shell{position:relative;z-index:2;width:min(1320px,calc(100% - 72px));margin:auto}
.pshow-head{display:flex;justify-content:space-between;align-items:end;gap:32px;border-bottom:1px solid rgba(245,241,234,.14);padding-bottom:28px;margin-bottom:48px}
.pshow-head h2{font:300 clamp(40px,5.4vw,68px)/1.02 Inter,sans-serif;letter-spacing:-.04em;margin:12px 0 0;color:#f5f1ea}
.pshow-head .kicker{margin:0;color:rgba(245,241,234,.55)}
.pshow-all{color:#f5f1ea;font-size:13px;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid rgba(245,241,234,.4);padding-bottom:4px;transition:color .3s var(--ease),border-color .3s var(--ease);white-space:nowrap}
.pshow-all i{font-style:normal;margin-left:6px;transition:transform .3s var(--ease);display:inline-block}
.pshow-all:hover{color:var(--red);border-color:var(--red)}
.pshow-all:hover i{transform:translateX(4px)}

.pshow-grid{display:none}
/* Carousel single-product */
.pshow-frame{position:relative;display:grid;grid-template-columns:120px 1fr;gap:28px;padding:36px;border-radius:30px;border:1px solid rgba(245,241,234,.14);background:#000}
.pshow-thumbs{display:flex;flex-direction:column;gap:16px}
.pshow-thumb{width:100px;height:100px;padding:0;border-radius:16px;border:2px solid rgba(245,241,234,.12);background:#f5f3ee;overflow:hidden;cursor:pointer;transition:border-color .35s var(--ease),transform .35s var(--ease)}
.pshow-thumb img{width:100%;height:100%;object-fit:contain;padding:10px;display:block}
.pshow-thumb:hover{border-color:rgba(245,241,234,.35)}
.pshow-thumb.is-active{border-color:var(--red)}
.pshow-stage{position:relative;display:grid;min-height:460px}
.pshow-slide{grid-area:1/1;display:grid;grid-template-columns:1.05fr 1fr;gap:36px;align-items:center;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear .5s;pointer-events:none}
.pshow-slide.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s linear 0s;pointer-events:auto}
.pshow-slide .pshow-media{aspect-ratio:1;background:#f5f3ee;border-radius:22px;overflow:hidden;display:grid;place-items:center}
.pshow-slide .pshow-media img{width:100%;height:100%;object-fit:contain;padding:28px}
.pshow-info{display:flex;flex-direction:column;gap:14px;color:#f5f1ea;padding-right:12px}
.pshow-info h3{font:400 clamp(30px,3.4vw,44px)/1.05 Inter,sans-serif;letter-spacing:-.02em;margin:0;color:#fff}
.pshow-info p{font:300 15px/1.6 Inter,sans-serif;color:rgba(245,241,234,.68);margin:0;max-width:46ch}
.pshow-info .pshow-tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--red)}
.pshow-info .pshow-cta{margin-top:12px;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;padding:14px 26px;border-radius:999px;background:var(--red);color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;transition:transform .35s var(--ease),background .35s var(--ease)}
.pshow-info .pshow-cta i{font-style:normal;transition:transform .3s var(--ease)}
.pshow-info .pshow-cta:hover{transform:translateY(-2px)}
.pshow-info .pshow-cta:hover i{transform:translateX(4px)}
.pshow-dots{position:absolute;left:0;right:0;bottom:-40px;display:flex;justify-content:center;gap:8px}
.pshow-dot{width:26px;height:6px;border-radius:999px;border:0;background:rgba(245,241,234,.22);cursor:pointer;padding:0;transition:background .3s var(--ease),width .3s var(--ease)}
.pshow-dot.is-active{background:var(--red);width:44px}
.pshow-dot:hover{background:rgba(245,241,234,.45)}
.pshow-dot.is-active:hover{background:var(--red)}

@media (max-width:980px){.prod-showcase{padding:96px 0 96px}.pshow-head{flex-direction:column;align-items:flex-start;gap:16px}.pshow-frame{grid-template-columns:1fr;padding:22px}.pshow-thumbs{flex-direction:row;overflow-x:auto;gap:12px}.pshow-thumb{width:72px;height:72px;flex:0 0 auto}.pshow-slide{grid-template-columns:1fr;gap:20px}.pshow-stage{min-height:auto}}



/* =========================================================================
   Productos (Home) — shop CTA + WhatsApp + opt-ins
   ========================================================================= */
.prod-home{background:#06080c;color:#f5f1ea;padding:130px 0 130px;position:relative}
.prod-home::before{content:"";position:absolute;left:0;right:0;top:0;height:120px;background:linear-gradient(180deg,#050608 0%,rgba(6,8,12,.6) 55%,transparent 100%);pointer-events:none}
.prod-home-shell{position:relative;z-index:1;width:min(1200px,calc(100% - 72px));margin:auto;text-align:center}
.prod-home-head{max-width:720px;margin:0 auto 56px}
.prod-home-head .kicker{justify-content:center;display:inline-flex}
.prod-home-head h2{font:300 clamp(36px,5vw,64px)/1.05 Inter,sans-serif;letter-spacing:-.03em;margin:16px 0 20px}
.prod-home-dot{color:var(--red);font-weight:400}
.prod-home-lead{font:300 16px/1.7 Inter,sans-serif;color:rgba(245,241,234,.62);margin:0 auto;max-width:560px}
.prod-home-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:44px}
.prod-home-card{display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 20px;border:1px solid rgba(245,241,234,.08);border-radius:18px;background:linear-gradient(180deg,rgba(245,241,234,.03),rgba(245,241,234,.01));text-decoration:none;color:#f5f1ea;transition:transform .35s ease,border-color .35s ease,background .35s ease}
.prod-home-card:hover{transform:translateY(-4px);border-color:rgba(200,54,42,.4);background:linear-gradient(180deg,rgba(200,54,42,.05),rgba(245,241,234,.02))}
.prod-home-media{width:100%;aspect-ratio:1;display:grid;place-items:center}
.prod-home-media img{max-width:82%;max-height:82%;object-fit:contain;filter:drop-shadow(0 20px 30px rgba(0,0,0,.4))}
.prod-home-card span{font:500 12px/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.85)}
.prod-home-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:56px}
.prod-home-optins{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid rgba(245,241,234,.1);border-bottom:1px solid rgba(245,241,234,.1);max-width:900px;margin:0 auto}
.prod-home-optin{display:flex;flex-direction:column;gap:6px;padding:22px 24px;text-decoration:none;color:#f5f1ea;text-align:left;transition:background .3s ease,color .3s ease;border-right:1px solid rgba(245,241,234,.1)}
.prod-home-optin:last-child{border-right:none}
.prod-home-optin em{font-style:normal;font:400 11px/1.3 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.5)}
.prod-home-optin span{font:300 15px/1.3 Inter,sans-serif;color:#f5f1ea;display:inline-flex;align-items:center;gap:8px}
.prod-home-optin span i{font-style:normal;transition:transform .3s ease}
.prod-home-optin:hover{background:rgba(200,54,42,.06);color:var(--red)}
.prod-home-optin:hover span{color:var(--red)}
.prod-home-optin:hover span i{transform:translateX(4px)}
@media (max-width:820px){
  .prod-home{padding:80px 0}
  .prod-home-grid{grid-template-columns:1fr;gap:16px}
  .prod-home-optins{grid-template-columns:1fr}
  .prod-home-optin{border-right:none;border-bottom:1px solid rgba(245,241,234,.1)}
  .prod-home-optin:last-child{border-bottom:none}
}

/* =========================================================================
   /nosotros — brand story page
   ========================================================================= */
.nos-page{background:#fff;color:var(--ink);font-family:Inter,sans-serif}
.nos-hero{padding:160px 0 100px;text-align:center;background:linear-gradient(180deg,#f5f1ea 0%,#fff 100%)}
.nos-hero .kicker{justify-content:center;display:inline-flex;color:rgba(15,18,25,.6)}
.nos-hero h1{font:300 clamp(48px,7vw,96px)/1.02 Inter,sans-serif;letter-spacing:-.035em;margin:20px 0 24px;color:var(--ink)}
.nos-hero h1 em{font-style:italic;font-weight:300;color:var(--red)}
.nos-hero p{max-width:640px;margin:0 auto;font:300 17px/1.7 Inter,sans-serif;color:rgba(15,18,25,.7)}
.nos-shell{width:min(1200px,calc(100% - 72px));margin:0 auto}
.nos-story{padding:80px 0}
.nos-story-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start}
.nos-story h2{font:300 clamp(32px,4vw,52px)/1.05 Inter,sans-serif;letter-spacing:-.03em;margin:0}
.nos-story p{font:300 16px/1.75 Inter,sans-serif;color:rgba(15,18,25,.72);margin:0 0 18px}
.nos-vm{background:#1d333d;color:#f5f1ea;padding:110px 0}
.nos-vm-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.nos-vm-block .kicker{color:rgba(245,241,234,.6)}
.nos-vm-block h3{font:300 clamp(28px,3.4vw,44px)/1.1 Inter,sans-serif;letter-spacing:-.02em;margin:12px 0 18px;color:#f5f1ea}
.nos-vm-block p{font:300 15px/1.75 Inter,sans-serif;color:rgba(245,241,234,.72);margin:0}
.nos-founder{padding:120px 0;background:#fff}
.nos-founder-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start}
.nos-founder-media{border-radius:6px;overflow:hidden}
.nos-founder-media img{width:100%;height:auto;display:block}
.nos-founder-right{display:flex;flex-direction:column;gap:18px}
.nos-founder h2{font:300 clamp(32px,4vw,52px)/1.05 Inter,sans-serif;letter-spacing:-.03em;margin:0 0 12px}
.nos-founder p{font:300 15px/1.75 Inter,sans-serif;color:rgba(15,18,25,.72);margin:0}
.nos-founder-bignum{font:200 clamp(72px,10vw,140px)/1 Inter,sans-serif;color:var(--red);letter-spacing:-.04em;margin:0 0 8px}
.nos-founder-sign{margin-top:28px;padding-top:24px;border-top:1px solid rgba(15,18,25,.1)}
.nos-founder-sign img{width:150px;height:auto;filter:contrast(1.1)}
.nos-founder-sign .sn{font:600 12px/1.4 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin:8px 0 2px}
.nos-founder-sign .sr{font:300 13px/1.4 Inter,sans-serif;color:rgba(15,18,25,.6);margin:0}
.nos-cta{background:#050608;color:#f5f1ea;text-align:center;padding:120px 24px}
.nos-cta h2{font:300 clamp(36px,5vw,72px)/1.05 Inter,sans-serif;letter-spacing:-.03em;margin:0 0 20px}
.nos-cta h2 em{font-style:italic;color:var(--red);font-weight:300}
.nos-cta p{color:rgba(245,241,234,.65);font:300 16px/1.7 Inter,sans-serif;max-width:520px;margin:0 auto 36px}
@media (max-width:820px){
  .nos-hero{padding:120px 0 60px}
  .nos-story-grid,.nos-vm-grid,.nos-founder-grid{grid-template-columns:1fr;gap:32px}
  .nos-story,.nos-vm,.nos-founder{padding:70px 0}
  .nos-cta{padding:80px 24px}
}

/* ============ BRUJESÍN SPOTLIGHT — dual split editorial ============ */
.prod-spot { padding: clamp(80px, 12vw, 160px) 0; background: #0a0d12; }
.prod-spot-shell { max-width: 1240px; margin: 0 auto; padding: 0 clamp(20px, 4vw, 48px); display: flex; flex-direction: column; gap: 56px; }
.prod-spot-head { max-width: 780px; }
.prod-spot-head h2 { font-family: "Instrument Serif", serif; font-weight: 400; font-size: clamp(40px, 5.6vw, 72px); line-height: 1.02; letter-spacing: -0.02em; color: #f4f1ea; margin: 14px 0 18px; }
.prod-spot-head .prod-home-lead { color: rgba(244,241,234,.62); max-width: 620px; font-size: 15px; line-height: 1.65; }

.prod-spot-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-radius: 32px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.06);
  box-shadow: 0 40px 120px rgba(0,0,0,.55);
  isolation: isolate;
}

/* Card halves */
.prod-spot-card {
  position: relative;
  min-height: 640px;
  padding: clamp(32px, 5vw, 64px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  text-decoration: none;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.prod-spot-card.is-sport { background: #0f1a2a; color: #f4f1ea; }
.prod-spot-card.is-cbd { background: #efe8dc; color: #0a0d12; text-align: right; }
.prod-spot-card.is-cbd .prod-spot-copy { margin-left: auto; }
.prod-spot-card.is-cbd .prod-spot-media { justify-content: flex-end; }

.prod-spot-tag {
  display: inline-block;
  font: 700 10px/1 "Inter", sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: 8px 12px;
  margin-bottom: 24px;
}
.prod-spot-tag.solid { background: #b81f2b; color: #fff; }
.prod-spot-tag.ghost { color: #b81f2b; border: 1px solid #b81f2b; }

.prod-spot-title {
  font-family: "Instrument Serif", serif;
  font-weight: 400;
  font-size: clamp(52px, 7vw, 96px);
  line-height: .92;
  letter-spacing: -0.02em;
  margin: 0 0 20px;
}
.prod-spot-title em { font-style: italic; }
.prod-spot-copy { max-width: 320px; font-size: 15px; line-height: 1.6; opacity: .68; margin: 0 0 28px; }
.prod-spot-card.is-sport .prod-spot-copy { color: rgba(255,255,255,.7); opacity: 1; }

.prod-spot-cta {
  display: inline-flex; align-items: center; gap: 10px;
  font: 700 11px/1 "Inter", sans-serif;
  letter-spacing: .24em; text-transform: uppercase;
}
.prod-spot-cta i { font-style: normal; transition: transform .35s ease; display: inline-block; }
.prod-spot-card:hover .prod-spot-cta i { transform: translateX(6px); }

.prod-spot-media {
  position: relative;
  margin-top: 32px;
  display: flex;
  align-items: flex-end;
  min-height: 300px;
}
.prod-spot-media img {
  position: relative;
  z-index: 2;
  height: clamp(260px, 32vw, 400px);
  width: auto;
  object-fit: contain;
  filter: drop-shadow(0 30px 40px rgba(0,0,0,.35));
  transition: transform .8s cubic-bezier(.2,.7,.2,1);
}
.prod-spot-card:hover .prod-spot-media img { transform: translateY(-10px) scale(1.04); }
.prod-spot-glow {
  position: absolute; inset: auto 0 -40px 0; height: 260px;
  filter: blur(80px); border-radius: 50%; opacity: .55;
}
.prod-spot-glow.sport { background: radial-gradient(circle, rgba(59,130,246,.35), transparent 70%); }
.prod-spot-glow.cbd { background: radial-gradient(circle, rgba(10,13,18,.15), transparent 70%); }

/* Red seam divider */
.prod-spot-seam {
  position: absolute; left: 50%; top: 0; bottom: 0; width: 1px;
  background: rgba(184,31,43,.35);
  transform: translateX(-50%);
  z-index: 3;
  pointer-events: none;
}
.prod-spot-seam-pill {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: #b81f2b; color: #fff;
  padding: 48px 14px; border-radius: 999px;
  pointer-events: none;
}
.prod-spot-seam-pill span {
  display: block;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font: 700 10px/1 "Inter", sans-serif;
  letter-spacing: .32em; text-transform: uppercase;
  white-space: nowrap;
}

.prod-spot-actions {
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: center;
  margin-top: 8px;
}

/* Secondary strip */
.prod-spot-strip {
  display: flex; justify-content: space-between; align-items: center;
  gap: 32px; flex-wrap: wrap;
  padding-top: 32px; border-top: 1px solid rgba(255,255,255,.08);
}
.prod-spot-strip-lead h4 { font-family: "Instrument Serif", serif; color: #f4f1ea; font-size: 22px; margin: 0; font-weight: 400; }
.prod-spot-strip-lead p { color: rgba(244,241,234,.4); font-size: 10px; letter-spacing: .22em; text-transform: uppercase; margin: 4px 0 0; }

.prod-spot-strip-items { display: flex; gap: 14px; flex-wrap: wrap; }
.prod-spot-mini {
  display: flex; align-items: center; gap: 14px;
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1);
  padding: 12px 18px 12px 12px; border-radius: 18px;
  min-width: 240px; text-decoration: none;
  transition: border-color .3s ease, background .3s ease, transform .3s ease;
}
.prod-spot-mini:hover { border-color: rgba(184,31,43,.5); background: rgba(255,255,255,.05); transform: translateY(-2px); }
.prod-spot-mini-media {
  width: 56px; height: 56px; background: #fff; border-radius: 12px;
  overflow: hidden; display: grid; place-items: center; flex-shrink: 0;
}
.prod-spot-mini-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.prod-spot-mini p { color: #f4f1ea; font-size: 14px; margin: 0; font-weight: 500; }
.prod-spot-mini span { color: rgba(244,241,234,.45); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; }

@media (max-width: 860px) {
  .prod-spot-grid { grid-template-columns: 1fr; }
  .prod-spot-card { min-height: auto; }
  .prod-spot-card.is-cbd { text-align: left; }
  .prod-spot-card.is-cbd .prod-spot-copy { margin-left: 0; }
  .prod-spot-card.is-cbd .prod-spot-media { justify-content: flex-start; }
  .prod-spot-seam { left: 0; right: 0; top: 50%; bottom: auto; width: auto; height: 1px; transform: translateY(-50%); }
  .prod-spot-seam-pill { padding: 12px 24px; }
  .prod-spot-seam-pill span { writing-mode: horizontal-tb; transform: none; }
}


/* ============ Brujesín Sport Spotlight (viewport-contained) ============ */
.brujesin-spot{background:#0a0d12;color:#f5f1ea;padding:80px 0 60px;position:relative}
.brjs-shell{max-width:1400px;margin:0 auto;padding:0 24px;height:calc(100vh - 140px);min-height:560px;max-height:820px;display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:stretch}
.brjs-media{position:relative;border-radius:20px;overflow:hidden;background:#000}
.brjs-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.1)}
.brjs-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,13,18,.55) 0%,rgba(10,13,18,.15) 50%,rgba(196,48,48,.35) 100%);mix-blend-mode:multiply}
.brjs-bottle{position:absolute;right:4%;bottom:4%;width:38%;max-width:280px;filter:drop-shadow(0 30px 40px rgba(0,0,0,.6))}
.brjs-content{display:flex;flex-direction:column;justify-content:center;padding:20px 0}
.brjs-h{font-size:clamp(36px,4.6vw,64px);line-height:1.02;letter-spacing:-.02em;margin:14px 0 18px;font-weight:500}
.brjs-h em{font-style:italic;color:#c43030}
.brjs-lead{font-size:17px;line-height:1.55;color:rgba(245,241,234,.72);max-width:52ch;margin-bottom:22px}
.brjs-chips{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:26px}
.brjs-chips span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,241,234,.85);padding:0;border:0;background:none}
.brjs-chips span + span::before{content:"•";color:#E53E3E;margin-right:12px;font-size:13px;line-height:1}

.brjs-cta{display:flex;gap:12px;flex-wrap:wrap}
.brjs-strip{max-width:1400px;margin:60px auto 0;padding:28px 24px;display:grid;grid-template-columns:auto repeat(3,1fr);gap:20px;align-items:center;border-top:1px solid rgba(245,241,234,.1)}
.brjs-strip-lead h4{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.6);margin:0}
@media (max-width:900px){.brjs-shell{grid-template-columns:1fr;height:auto;max-height:none}.brjs-media{height:60vh}.brjs-strip{grid-template-columns:1fr 1fr}}

/* ============ Nosotros bridge ============ */
.nos-bridge{background:#f5f1ea;padding:100px 0}
.nos-bridge-card{background:#0a0d12;color:#f5f1ea;border-radius:24px;padding:60px;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:center;overflow:hidden;position:relative}
.nos-bridge-copy h2{font-size:clamp(30px,3.4vw,44px);line-height:1.1;margin:14px 0 16px;font-weight:500}
.nos-bridge-copy p{color:rgba(245,241,234,.75);font-size:17px;line-height:1.55;margin-bottom:24px;max-width:48ch}
.nos-bridge-art{position:relative;height:280px;display:flex;align-items:center;justify-content:center}
.nos-bridge-orb{width:120px;height:120px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#e83a3a 0%,#c43030 45%,#7a1414 100%);animation:svo-pulse 3s ease-in-out infinite;position:relative;z-index:2}
.nos-bridge-ring{position:absolute;border:1px solid rgba(245,241,234,.18);border-radius:50%}
.nos-bridge-ring.r1{width:180px;height:180px}
.nos-bridge-ring.r2{width:240px;height:240px;border-color:rgba(245,241,234,.12)}
.nos-bridge-ring.r3{width:300px;height:300px;border-color:rgba(245,241,234,.07)}
@media (max-width:900px){.nos-bridge-card{grid-template-columns:1fr;padding:36px}}

/* Soft bridge: services-orb (#050608) -> brujesin-spot (#0a0d12) */
.services-orb{position:relative}
.services-orb::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;background:linear-gradient(180deg,rgba(5,6,8,0) 0%,rgba(8,10,15,.7) 55%,#0a0d12 100%);pointer-events:none;z-index:2}
.brujesin-spot.tone-noir{position:relative}
.brujesin-spot.tone-noir::before{content:"";position:absolute;left:0;right:0;top:0;height:180px;background:linear-gradient(180deg,#0a0d12 0%,rgba(10,13,18,.5) 55%,rgba(10,13,18,0) 100%);pointer-events:none;z-index:1}

/* ============ Header cart ============ */
.cart-trigger{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid rgba(245,241,234,.22);background:transparent;color:inherit;cursor:pointer;transition:background .25s,border-color .25s}
.cart-trigger:hover{background:rgba(245,241,234,.1)}
.cart-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:#c43030;color:#fff;font-size:10px;font-weight:600;display:flex;align-items:center;justify-content:center}

/* ============ Cart drawer ============ */
.cartd-scrim{position:fixed;inset:0;background:rgba(4,6,9,.55);opacity:0;pointer-events:none;transition:opacity .35s;z-index:120}
.cartd-scrim.is-open{opacity:1;pointer-events:auto}
.cartd{position:fixed;top:0;right:0;height:100%;width:min(420px,92vw);background:#0a0d12;color:#f5f1ea;transform:translateX(102%);transition:transform .45s cubic-bezier(.22,1,.36,1);z-index:121;display:flex;flex-direction:column;border-left:1px solid rgba(245,241,234,.1)}
.cartd.is-open{transform:translateX(0)}
.cartd-top{display:flex;align-items:center;justify-content:space-between;padding:24px;border-bottom:1px solid rgba(245,241,234,.1)}
.cartd-top h3{font-size:15px;letter-spacing:.14em;text-transform:uppercase;margin:0;font-weight:500}
.cartd-top h3 span{opacity:.5}
.cartd-top button{background:none;border:0;color:inherit;font-size:26px;line-height:1;cursor:pointer}
.cartd-empty{padding:32px 24px;color:rgba(245,241,234,.6);font-size:14px}
.cartd-list{list-style:none;margin:0;padding:12px 24px;overflow-y:auto;flex:1}
.cartd-list li{display:grid;grid-template-columns:64px 1fr;gap:14px;padding:16px 0;border-bottom:1px solid rgba(245,241,234,.08)}
.cartd-list img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:12px}
.cartd-list p{margin:0 0 4px;font-size:14px}
.cartd-list span{font-size:13px;color:rgba(245,241,234,.6)}
.cartd-qty{display:flex;align-items:center;gap:10px;margin-top:10px}
.cartd-qty button{width:26px;height:26px;border-radius:999px;border:1px solid rgba(245,241,234,.2);background:none;color:inherit;cursor:pointer}
.cartd-qty b{font-size:13px;font-weight:500;min-width:14px;text-align:center}
.cartd-rm{width:auto!important;border:0!important;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,241,234,.45)!important;padding:0 4px}
.cartd-foot{padding:20px 24px 28px;border-top:1px solid rgba(245,241,234,.1)}
.cartd-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px;font-size:14px}
.cartd-total b{font-size:20px;font-weight:500}
.cartd-checkout{display:block;text-align:center;padding:16px;border-radius:999px;background:#c43030;color:#fff;text-decoration:none;font-size:13px;letter-spacing:.12em;text-transform:uppercase;transition:background .25s}
.cartd-checkout:hover{background:#e03a3a}
.cartd-checkout.is-disabled{pointer-events:none;opacity:.35}

/* ============ Home product grid ============ */
.shopgrid{background:#0a0d12;color:#f5f1ea;padding:120px 0;position:relative}
.shopgrid-shell{max-width:1400px;margin:0 auto;padding:0 24px}
.shopgrid-head{max-width:640px;margin-bottom:56px}
.shopgrid-head h2{font-size:clamp(34px,4.2vw,58px);line-height:1.05;letter-spacing:-.02em;margin:14px 0 16px;font-weight:500}
.shopgrid-dot{color:#c43030}
.shopgrid-sub{font-size:17px;line-height:1.55;color:rgba(245,241,234,.68)}
.shopgrid-strip{position:relative;display:flex;align-items:center;gap:14px}
.shopgrid-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:2px;padding:6px 2px 18px;flex:1;scrollbar-width:none}
.shopgrid-track::-webkit-scrollbar{display:none}
.shopgrid-track > .shopgrid-card{flex:0 0 300px;scroll-snap-align:start}
.shopgrid-nav{flex:0 0 auto;width:52px;height:52px;border-radius:999px;border:1px solid rgba(245,241,234,.22);background:rgba(245,241,234,.04);color:#f5f1ea;font-size:18px;cursor:pointer;transition:background .25s,color .25s,border-color .25s,opacity .25s}
.shopgrid-nav:hover:not(:disabled){background:#c43030;border-color:#c43030}
.shopgrid-nav:disabled{opacity:.25;cursor:default}
@media (max-width:700px){.shopgrid-track > .shopgrid-card{flex:0 0 78%}.shopgrid-nav{width:44px;height:44px}}

.shopgrid-card{background:#11151c;border:1px solid rgba(245,241,234,.08);border-radius:24px;overflow:hidden;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.22,1,.36,1),background .4s,border-color .4s}
.shopgrid-card:hover{transform:translateY(-6px);background:#151a22;border-color:rgba(245,241,234,.18)}
.shopgrid-media{display:block;position:relative;background:#0e131a;aspect-ratio:1/1;overflow:hidden}
.shopgrid-media img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.shopgrid-media::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(180deg,rgba(10,13,18,0),rgba(10,13,18,.55));pointer-events:none}
.shopgrid-flag{position:absolute;top:12px;right:12px;z-index:2;background:rgba(196,48,48,.92);color:#fff;font-size:10px;letter-spacing:.14em;text-transform:uppercase;padding:6px 10px;border-radius:999px}
.shopgrid-benefit{font-size:13.5px;line-height:1.5;color:rgba(245,241,234,.72);margin:0}
@media (hover:hover){.shopgrid-card:hover .shopgrid-media img{transform:scale(1.04)}}

.shopgrid-body{padding:22px;display:flex;flex-direction:column;gap:8px;flex:1}
.shopgrid-cat{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(245,241,234,.5)}
.shopgrid-body h3{font-size:17px;font-weight:500;margin:0;line-height:1.25}
.shopgrid-body h3 a{color:inherit;text-decoration:none}
.shopgrid-pres{font-size:13px;color:rgba(245,241,234,.55);margin:0}
.shopgrid-foot{margin-top:auto;padding-top:16px;display:flex;flex-direction:column;gap:12px}
.shopgrid-price{font-size:19px;font-weight:500}
.shopgrid-add{width:100%;padding:13px 16px;border-radius:999px;border:1px solid rgba(245,241,234,.25);background:transparent;color:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.shopgrid-add:hover{background:#c43030;border-color:#c43030;color:#fff}

/* ============ Bundle ============ */
.bundle{background:#0e1218;color:#f5f1ea;padding:110px 0}
.bundle-shell{max-width:1240px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.bundle-media{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;border-radius:28px;padding:28px}
.bundle-media img{width:100%;height:100%;object-fit:contain}
.bundle-copy h2{font-size:clamp(32px,3.8vw,52px);line-height:1.05;margin:14px 0 16px;font-weight:500}
.bundle-dot{color:#c43030}
.bundle-lead{font-size:17px;line-height:1.55;color:rgba(245,241,234,.7);max-width:48ch}
.bundle-list{list-style:none;margin:22px 0;padding:0;display:flex;flex-direction:column;gap:10px}
.bundle-list li{position:relative;padding-left:20px;font-size:14px;color:rgba(245,241,234,.78)}
.bundle-list li::before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:#c43030}
.bundle-foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:8px}
.bundle-prices{display:flex;flex-direction:column}
.bundle-was{font-size:13px;color:rgba(245,241,234,.45);text-decoration:line-through}
.bundle-now{font-size:26px;font-weight:500}
.bundle-add{padding:16px 26px;border-radius:999px;border:0;background:#c43030;color:#fff;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.bundle-add:hover{background:#e03a3a}
@media (max-width:900px){.bundle-shell{grid-template-columns:1fr}}

/* ============ Testimonials ============ */
.tstm{background:#0e1218;color:#f5f1ea;padding:110px 0}
.tstm-shell{max-width:1240px;margin:0 auto;padding:0 24px}
.tstm-head{max-width:640px;margin-bottom:48px}
.tstm-head h2{font-size:clamp(30px,3.4vw,46px);line-height:1.08;margin:14px 0 0;font-weight:500}
.tstm-dot{color:#c43030}
.tstm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.tstm-card{margin:0;background:rgba(245,241,234,.04);border:1px solid rgba(245,241,234,.08);border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:16px;transition:background .35s,transform .35s}
.tstm-card:hover{background:rgba(245,241,234,.07);transform:translateY(-4px)}
.tstm-stars{color:#c43030;letter-spacing:.18em;font-size:13px}
.tstm-card blockquote{margin:0;font-size:16px;line-height:1.6;color:rgba(245,241,234,.85)}
.tstm-card figcaption{display:flex;flex-direction:column;gap:3px;margin-top:auto}
.tstm-card figcaption b{font-size:14px;font-weight:500}
.tstm-card figcaption span{font-size:12px;color:rgba(245,241,234,.5)}

/* ============ Aliados readiness card ============ */
.ali-readiness{background:#080a0c;padding:0 24px 110px}
.ali-readiness-card{position:relative;overflow:hidden;max-width:1040px;margin:0 auto;background:
  radial-gradient(120% 150% at 100% 0%, rgba(196,48,48,.42) 0%, rgba(196,48,48,.10) 34%, rgba(0,0,0,0) 62%),
  linear-gradient(115deg,#141b20 0%,#16242c 45%,#101418 100%);
  color:#f5f1ea;border-radius:26px;padding:58px 60px 62px;border:1px solid rgba(245,241,234,.07)}
.ali-readiness-card .kicker{color:rgba(245,241,234,.55)}
.ali-readiness-card h2{font-family:'Instrument Serif',Georgia,serif;font-size:clamp(32px,4.2vw,54px);margin:14px 0 18px;font-weight:400;line-height:1.05;letter-spacing:-.01em}
.ali-readiness-dot{color:#d81f26}

.ali-dot{color:#c43030}
.ali-readiness-card p{font-size:17px;line-height:1.7;color:rgba(245,241,234,.66);max-width:58ch}
.ali-readiness-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.ali-readiness-cta{display:inline-flex;align-items:center;gap:12px;padding:17px 30px;border-radius:999px;background:#d81f26;color:#fff;text-decoration:none;font-size:12.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;transition:background .25s,transform .25s;border:1px solid transparent}
.ali-readiness-cta:hover{background:#e8332f;transform:translateY(-1px)}
.ali-readiness-cta--ghost{background:transparent;color:#f5f1ea;border:1px solid rgba(245,241,234,.22)}
.ali-readiness-cta--ghost:hover{background:rgba(245,241,234,.08);border-color:rgba(245,241,234,.4)}
@media(max-width:640px){.ali-readiness-card{padding:38px 26px 42px}}

/* footer b2b link */
.footer-b2b{margin:0 0 14px;font-size:12px;letter-spacing:.08em}
.footer-b2b a{color:rgba(245,241,234,.55);text-decoration:none;border-bottom:1px solid rgba(245,241,234,.2)}
.footer-b2b a:hover{color:#f5f1ea}

/* ---- Hero manifiesto (home) ---- */
.manifesto-hero{height:100svh;background:#0b0b0d}
.manifesto-hero .manifesto-sticky{position:relative;height:100svh}
.manifesto-hero .manifesto-card{box-shadow:none}
.manifesto-hero .manifesto-content{padding-top:96px}
.manifesto-hero .manifesto-title{max-width:1180px;margin-bottom:36px}
.manifesto-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px}
.manifesto-cta--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5)}
.manifesto-cta--ghost:hover{background:rgba(255,255,255,.12)}
.manifesto-scroll{position:absolute;left:50%;transform:translateX(-50%);bottom:26px;z-index:3;display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:rgba(255,255,255,.62);font-size:10px;letter-spacing:.2em;text-transform:uppercase}
.manifesto-scroll i{font-style:normal}
.manifesto-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:180px;background:linear-gradient(180deg,rgba(11,11,13,0) 0%,rgba(11,11,13,.85) 65%,#0b0b0d 100%);pointer-events:none;z-index:4}
@media (max-width:700px){.manifesto-hero .manifesto-content{padding-top:110px}.manifesto-actions{flex-direction:column;width:100%;max-width:320px}.manifesto-actions .manifesto-cta{width:100%;justify-content:center}}

/* ---- Banda de aliados integrada al hero ---- */
.partners-band--hero{position:relative;z-index:6;margin-top:-1px;background:linear-gradient(180deg,#0b0b0d 0%,#0a0d12 100%)}
.partners-band--hero .trust-strip{margin-top:0;padding:44px 0 26px}
.partners-band--hero .trust-strip img{opacity:.55;filter:grayscale(1);transition:opacity .45s ease,filter .45s ease}
.partners-band--hero .trust-strip:hover img{opacity:1;filter:grayscale(0)}

/* ---- Nav desktop ---- */
.header-nav{display:flex;align-items:center;gap:26px}
.header-nav .header-link{transition:color .3s ease}
.header-nav .header-link:hover{color:#fff}
@media (max-width:980px){.header-nav{display:none}}

/* ============ Trust bar (below hero) ============ */
.trustbar{background:#050608;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:2}
.trustbar-shell{max-width:1200px;margin:0 auto;padding:26px 32px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.trustbar-item{display:flex;align-items:flex-start;gap:12px;color:rgba(255,255,255,.82)}
.trustbar-item svg{color:#E53E3E;flex:none;margin-top:2px}
.trustbar-item strong{display:block;font-size:.86rem;font-weight:600;letter-spacing:.01em;color:#fff}
.trustbar-item span{display:block;font-size:.76rem;line-height:1.45;color:rgba(255,255,255,.5);margin-top:3px}
@media (max-width:900px){.trustbar-shell{grid-template-columns:repeat(2,1fr);padding:22px 20px}}
@media (max-width:520px){.trustbar-shell{grid-template-columns:1fr}}

/* ============ How to buy ============ */
.howbuy{position:relative;z-index:2;padding:104px 0}
.howbuy-shell{max-width:1120px;margin:0 auto;padding:0 32px}
.howbuy-head h2{font-size:clamp(2rem,4vw,3rem);line-height:1.06;margin:14px 0 0;letter-spacing:-.02em}
.howbuy-head h2 b{color:#E53E3E}
.howbuy-steps{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:none}
.howbuy-steps li{background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:30px 26px;transition:background .35s ease,transform .35s ease,border-color .35s ease}
.howbuy-steps li:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);transform:translateY(-4px)}
.howbuy-num{font-size:.74rem;letter-spacing:.22em;color:#E53E3E;font-weight:600}
.howbuy-steps h3{margin:14px 0 8px;font-size:1.12rem;font-weight:600;color:#fff}
.howbuy-steps p{margin:0;font-size:.9rem;line-height:1.6;color:rgba(255,255,255,.58)}
.howbuy-cta{display:inline-block;margin-top:36px;padding:14px 28px;border-radius:999px;background:#fff;color:#0a0d12;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;text-decoration:none;transition:background .3s ease,color .3s ease}
.howbuy-cta:hover{background:#E53E3E;color:#fff}
@media (max-width:860px){.howbuy{padding:76px 0}.howbuy-steps{grid-template-columns:1fr}.howbuy-shell{padding:0 20px}}

/* ============ Contact statement ============ */
.contact-statement{font-size:clamp(2.4rem,5.2vw,4.2rem);line-height:.98;letter-spacing:-.03em}
.contact-statement b{color:#E53E3E}
.contact-lead{max-width:46ch;font-size:.98rem;line-height:1.7;color:rgba(255,255,255,.62);margin-top:22px}
.contact-facts{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:12px}
.contact-facts li{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;font-size:.9rem;color:rgba(255,255,255,.78);border-top:1px solid rgba(255,255,255,.08);padding-top:12px}
.contact-facts li span{min-width:92px;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.4)}
.contact-facts a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(229,62,62,.6)}
.contact-facts a:hover{color:#E53E3E}

/* ============ WhatsApp floating CTA ============ */
.wa-fab{position:fixed;right:20px;bottom:20px;z-index:70;width:52px;height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#1d333d;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12);transition:transform .3s ease,background .3s ease}
.wa-fab:hover{transform:translateY(-3px);background:#25603f}
@media (max-width:520px){.wa-fab{right:14px;bottom:14px;width:48px;height:48px}}

/* ============ Hero CTAs (rojo signature) ============ */
.manifesto-hero .manifesto-cta{background:#fff;color:#000;border:1px solid #fff;box-shadow:0 14px 34px rgba(0,0,0,.18)}
.manifesto-hero .manifesto-cta:hover{background:#c02f2f;border-color:#c02f2f;color:#fff;opacity:1}
.manifesto-hero .manifesto-cta--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.75);box-shadow:none}
.manifesto-hero .manifesto-cta--ghost:hover{background:#E53E3E;border-color:#E53E3E}

/* ============ Aliados: banda sin corte de color ============ */
.partners-band--hero{background:none;border:0;margin-top:-140px;padding-top:140px}
.partners-band--hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,13,18,0) 0%,rgba(10,13,18,.55) 38%,#0a0d12 100%);pointer-events:none;z-index:-1}
.partners-band--hero .trust-strip{padding:54px 0 40px;border:0}
.partners-band--hero .trust-strip img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0%,#000 12%,#000 88%,transparent 100%)}

/* ============ Bundle: imagen única ============ */
.bundle-media--single{grid-template-columns:1fr;padding:0;overflow:hidden;background:#0a0d12}
.bundle-media--single img{width:100%;height:100%;object-fit:cover;border-radius:28px}

/* ============ Brujesín: foto editorial en el spotlight ============ */
.brjs-bottle--photo{right:5%;bottom:5%;width:46%;max-width:340px;border-radius:16px;box-shadow:0 26px 60px rgba(0,0,0,.55);filter:none}

/* ============ Carrito: formulario de pedido ============ */
.cartd-form{display:flex;flex-direction:column;gap:12px;padding:20px;overflow-y:auto}
.cartd-form label{display:flex;flex-direction:column;gap:6px}
.cartd-form label span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cartd-form input,.cartd-form textarea{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:11px 13px;color:#fff;font-size:14px;font-family:inherit;transition:border-color .25s ease}
.cartd-form input:focus,.cartd-form textarea:focus{outline:none;border-color:#E53E3E}
.cartd-err{color:#E53E3E;font-size:12px;margin:0}
.cartd-note{font-size:11px;line-height:1.5;color:rgba(255,255,255,.45);margin:10px 0 0;text-align:center}
.cartd-back{background:none;border:0;color:rgba(255,255,255,.6);font-size:12px;cursor:pointer;padding:6px}
.cartd-back:hover{color:#fff}
.cartd-checkout{width:100%;text-align:center;border:0;cursor:pointer;background:#E53E3E;color:#fff;border-radius:999px;padding:14px 20px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:background .3s ease}
.cartd-checkout:hover{background:#c02f2f}
.cartd-checkout.is-disabled,.cartd-checkout:disabled{opacity:.45;pointer-events:none}
.cartd-done{padding:32px 22px;display:flex;flex-direction:column;gap:14px;text-align:center}
.cartd-done h4{font-size:20px;margin:0;color:#fff}
.cartd-done h4::after{content:"";}
.cartd-done p{font-size:14px;line-height:1.6;color:rgba(255,255,255,.62);margin:0}
.cartd-help{font-size:12px;color:rgba(255,255,255,.6);text-decoration:underline}
.cartd-help:hover{color:#fff}

/* ============ /nosotros: sub-navegación sticky ============ */
.nos-subnav{position:sticky;top:0;z-index:40;background:rgba(10,13,18,.72);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nos-subnav-inner{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}
.nos-subnav-inner::-webkit-scrollbar{display:none}
.nos-subnav a{flex:0 0 auto;padding:15px 0;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.55);position:relative;transition:color .3s ease}
.nos-subnav a::after{content:"";position:absolute;left:0;right:100%;bottom:9px;height:1px;background:#E53E3E;transition:right .35s ease}
.nos-subnav a:hover{color:#fff}
.nos-subnav a:hover::after{right:0}
.nos-subnav a:focus-visible{outline:2px solid #E53E3E;outline-offset:4px;border-radius:3px}
.nos-page [id]{scroll-margin-top:72px}
@media (max-width:640px){.nos-subnav-inner{gap:18px;padding:0 16px}}

/* Partners strip — unified premium dark band, transparent logos */
.partners-band--hero{background:linear-gradient(180deg,rgba(8,10,14,0) 0%,#080a0e 42%,#0a0d12 100%)}
.partners-band--hero::before{background:none}
.trust-strip .trust-logos{width:100%;max-width:1080px;display:flex;align-items:center;justify-content:space-between;gap:clamp(24px,6vw,80px);flex-wrap:wrap;padding:8px 0 4px}
.trust-strip .trust-logo{display:flex;align-items:center;justify-content:center;color:#f4f5f7;opacity:.5;transition:opacity .45s ease,transform .45s ease}
.trust-strip .trust-logo svg{height:26px;width:auto;display:block}
.trust-strip:hover .trust-logo{opacity:.72}
.trust-strip .trust-logo:hover{opacity:1;transform:translateY(-2px)}
@media (max-width:720px){.trust-strip .trust-logos{justify-content:center;gap:28px}.trust-strip .trust-logo svg{height:20px}}

.trust-strip .trust-logo::before,.trust-strip .trust-logo::after,.trust-strip .trust-logos::before{content:none!important;display:none!important}

/* Banda de aliados reubicada bajo "Sobre Avantys" */
.partners-band--hero{background:linear-gradient(180deg,#06080c 0%,#080a0e 50%,#0a0d12 100%);margin-top:0;padding-top:0}
.partners-band--hero::before{background:none;content:none}

/* ============ Comparador de productos ============ */
.cmp{background:#0a0d12;color:#f5f1ea;padding:110px 0}
.cmp-shell{max-width:1240px;margin:0 auto;padding:0 24px}
.cmp-head{max-width:620px;margin-bottom:44px}
.cmp-head h2{font-size:clamp(30px,3.6vw,48px);line-height:1.06;margin:14px 0 14px;font-weight:500}
.cmp-dot{color:#c43030}
.cmp-sub{font-size:16px;line-height:1.6;color:rgba(245,241,234,.66)}
.cmp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px}
.cmp-card{background:#11151c;border:1px solid rgba(245,241,234,.08);border-radius:24px;overflow:hidden;padding:0 0 22px;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .4s}
@media (hover:hover){.cmp-card:hover{transform:translateY(-5px);border-color:rgba(245,241,234,.18)}}
.cmp-media{aspect-ratio:16/10;overflow:hidden;background:#0e131a}
.cmp-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.22,1,.36,1)}
@media (hover:hover){.cmp-card:hover .cmp-media img{transform:scale(1.04)}}
.cmp-card h3{font-size:18px;font-weight:500;margin:20px 22px 12px;line-height:1.25}
.cmp-specs{margin:0;padding:0 22px;display:flex;flex-direction:column;gap:12px}
.cmp-specs div{display:flex;flex-direction:column;gap:3px}
.cmp-specs dt{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,241,234,.45)}
.cmp-specs dd{margin:0;font-size:14px;color:rgba(245,241,234,.82);display:flex;align-items:center;gap:9px}
.cmp-level{display:inline-flex;gap:4px}
.cmp-level i{width:7px;height:7px;border-radius:50%;background:rgba(245,241,234,.22)}
.cmp-level i.is-on{background:#c43030}
.cmp-foot{margin-top:auto;padding:20px 22px 0;display:flex;flex-direction:column;gap:14px}
.cmp-price{font-size:19px;font-weight:500}
.cmp-actions{display:flex;align-items:center;gap:12px}
.cmp-link{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,241,234,.6);text-decoration:none;border-bottom:1px solid rgba(245,241,234,.22);padding-bottom:2px}
.cmp-link:hover{color:#fff;border-bottom-color:#fff}
.cmp-add{margin-left:auto;min-height:48px;padding:0 22px;border-radius:999px;border:0;background:#c43030;color:#fff;font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .25s,transform .15s}
.cmp-add:hover{background:#e03a3a}
.cmp-add:active{transform:scale(.98)}

/* ============ Objeciones ============ */
.objrow{background:#0e1218;color:#f5f1ea;padding:56px 0;border-top:1px solid rgba(245,241,234,.07);border-bottom:1px solid rgba(245,241,234,.07)}
.objrow-shell{max-width:1240px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px}
.objrow-item strong{display:block;font-size:14px;font-weight:600;margin-bottom:7px}
.objrow-item p{margin:0;font-size:13.5px;line-height:1.6;color:rgba(245,241,234,.62)}

/* ============ Barra de compra móvil ============ */
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;align-items:center;gap:14px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(10,13,18,.96);backdrop-filter:blur(14px);border-top:1px solid rgba(245,241,234,.12);transform:translateY(110%);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.buybar.is-on{transform:translateY(0)}
.buybar-info{display:flex;flex-direction:column;min-width:0;flex:1}
.buybar-info b{font-size:12.5px;font-weight:500;color:#f5f1ea;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar-info span{font-size:15px;font-weight:600;color:#fff}
.buybar-actions{display:flex;align-items:center;gap:10px}
.buybar-ghost{min-height:48px;padding:0 14px;border-radius:999px;border:1px solid rgba(245,241,234,.25);background:transparent;color:#f5f1ea;font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.buybar-cta{min-height:48px;padding:0 26px;border-radius:999px;border:0;background:#c43030;color:#fff;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;transition:transform .15s}
.buybar-cta:active{transform:scale(.97)}
@media (max-width:820px){.buybar{display:flex}.site-footer{padding-bottom:110px}}

/* ============ Carrito: pasos y móvil ============ */
.cartd-steps{display:flex;gap:10px;list-style:none;margin:0;padding:0 22px 14px;border-bottom:1px solid rgba(245,241,234,.08)}
.cartd-steps li{display:flex;align-items:center;gap:7px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:rgba(245,241,234,.4)}
.cartd-steps li + li::before{content:"";width:18px;height:1px;background:rgba(245,241,234,.2);margin-right:4px}
.cartd-steps li b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid currentColor;font-size:10px;font-weight:600}
.cartd-steps li.is-on{color:#fff}
.cartd-steps li.is-done{color:rgba(196,48,48,.9)}
.cartd-checkout{min-height:52px}
@media (max-width:820px){
  .cartd{width:100%;max-width:none;height:100dvh}
  .cartd-foot{position:sticky;bottom:0;background:inherit;padding-bottom:calc(16px + env(safe-area-inset-bottom))}
  .shopgrid-add,.bundle-add{min-height:48px}
  .shopgrid-card:active,.cmp-card:active{transform:scale(.985)}
}

@media (prefers-reduced-motion:reduce){
  .buybar,.shopgrid-media img,.cmp-media img,.cmp-card,.shopgrid-card{transition:none!important;animation:none!important}
}
@media (max-width:820px){.wa-fab{bottom:calc(84px + env(safe-area-inset-bottom));z-index:69}}

/* ===== Contacto → footer: transición invisible ===== */
.footer-bridge{display:none}
.contact.tone-noir{background:#000;position:relative}
.contact.tone-noir::after{content:"";position:absolute;left:0;right:0;bottom:0;height:220px;pointer-events:none;
  background:linear-gradient(180deg,rgba(167,182,188,0) 0%,rgba(167,182,188,.06) 45%,rgba(167,182,188,.28) 78%,#A7B6BC 100%)}
.site-footer{border-top:0;padding-top:64px;margin-top:0}

/* ===== Contacto WhatsApp ===== */
.contact-form button.contact-wa-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;width:100%;
  padding:18px 26px;border:0;border-radius:999px;cursor:pointer;background:#25D366;color:#08210f;
  font:inherit;font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease;box-shadow:0 12px 30px -14px rgba(37,211,102,.7)}
.contact-form button.contact-wa-btn:hover{background:#1fbe5b;transform:translateY(-1px);box-shadow:0 18px 40px -16px rgba(37,211,102,.85)}
.contact-form button.contact-wa-btn:active{transform:scale(.985)}
.contact-note{margin:14px 0 0;font-size:12px;letter-spacing:.04em;color:rgba(245,241,234,.5);text-align:center}

/* ===== Diagnóstico B2B (nosotros) ===== */
.ali-readiness{background:#080a0c;padding:0 24px 110px}
.ali-readiness-card{position:relative;overflow:hidden;max-width:1040px;margin:0 auto;padding:64px 60px;
  border-radius:26px;border:1px solid rgba(245,241,234,.12);
  background:radial-gradient(120% 140% at 100% 0%,rgba(216,31,38,.24) 0%,rgba(216,31,38,0) 52%),#0d1116}
.ali-readiness-copy{position:relative;max-width:64ch}
.ali-readiness-card h2{font-family:'Instrument Serif',Georgia,serif;font-weight:400;line-height:1.05;
  letter-spacing:-.015em;font-size:clamp(32px,4.4vw,56px);margin:16px 0 18px;color:#f5f1ea}
.ali-readiness-card h2 em{font-style:italic;color:rgba(245,241,234,.68)}
.ali-readiness-facts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px;padding:0}
.ali-readiness-facts li{padding:8px 16px;border-radius:999px;border:1px solid rgba(245,241,234,.18);
  font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,241,234,.72)}
@media(max-width:640px){.ali-readiness-card{padding:38px 24px 42px}}

/* ============ Fix pack: bandas, footer, diagnóstico, reveal ============ */

/* Reveal a prueba de fallos: si el script legacy no corre, el contenido se ve igual */
@keyframes reveal-fallback{to{opacity:1;transform:none}}
.reveal{animation:reveal-fallback .01s linear 2.5s forwards}
.reveal.visible{animation:none}

/* /nosotros — unificar la banda Visión/Misión con Los principios */
.nos-page .nos-vm{padding-bottom:70px}
.nos-page .values{background:#1d333d;padding-top:40px;padding-bottom:110px}
.nos-page .values article{background:#1d333d;border:0}
.nos-page .values-grid{background:rgba(245,241,234,.12);border:1px solid rgba(245,241,234,.12)}
.nos-page .values::after{background:linear-gradient(180deg,rgba(29,51,61,0) 0%,rgba(23,40,48,.75) 60%,#111b21 100%);height:200px}

/* Contacto → pie de página: transición larga y limpia */
.contact.tone-noir::after{display:none}
.footer-bridge{height:0;background:transparent}
.site-footer{background:#16262e;color:rgba(230,238,241,.74);border-top:0;padding-top:110px;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:0;height:180px;background:linear-gradient(180deg,#000 0%,rgba(11,18,22,.72) 45%,rgba(22,38,46,0) 100%);pointer-events:none}
.site-footer>*{position:relative;z-index:1}
.site-footer .footer-grid{border-bottom:1px solid rgba(230,238,241,.14)}
.site-footer .footer-col h4{color:#f2f7f8}
.site-footer .footer-col p,
.site-footer .footer-col li{color:rgba(230,238,241,.7)}
.site-footer .footer-col a{color:rgba(230,238,241,.82)}
.site-footer .footer-logo{filter:none;opacity:.92}
.site-footer .footer-legal,
.site-footer .footer-legal-copy,
.site-footer .footer-disclaimer{color:rgba(230,238,241,.58)}
.site-footer .footer-legal-links a,
.site-footer .footer-b2b a{color:rgba(230,238,241,.78);border-bottom-color:rgba(230,238,241,.24)}
.site-footer .footer-legal-links span{color:rgba(230,238,241,.35)}

/* Diagnóstico B2B — tarjeta split con dial animado */
.ali-readiness-card--split{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.ali-readiness-card--split .ali-readiness-copy{max-width:none}
.ali-readiness-steps{list-style:none;margin:26px 0 30px;padding:0;display:flex;flex-direction:column;gap:12px}
.ali-readiness-steps li{display:flex;align-items:center;gap:14px;font-size:14.5px;color:rgba(245,241,234,.78)}
.ali-readiness-steps b{font-size:11px;letter-spacing:.14em;color:#E53E3E;min-width:24px}
.ali-readiness-card--split .ali-readiness-facts{margin:24px 0 0}
.rdial{display:flex;flex-direction:column;align-items:center;gap:16px}
.rdial-ring{position:relative;width:min(260px,70vw);aspect-ratio:1}
.rdial-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.rdial-num b{font-size:54px;font-weight:300;letter-spacing:-.04em;color:#f5f1ea;line-height:1}
.rdial-num span{font-size:12px;letter-spacing:.18em;color:rgba(245,241,234,.45)}
.rdial-label{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,241,234,.45);margin:0}
.rdial-pillars{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 18px}
.rdial-pillars li{display:flex;align-items:center;gap:9px;font-size:12.5px;color:rgba(245,241,234,.42);transition:color .5s ease}
.rdial-pillars li i{width:7px;height:7px;border-radius:50%;background:rgba(245,241,234,.2);transition:background .5s ease,box-shadow .5s ease}
.rdial-pillars li.is-on{color:rgba(245,241,234,.85)}
.rdial-pillars li.is-on i{background:#E53E3E;box-shadow:0 0 12px rgba(229,62,62,.6)}
@media(max-width:900px){.ali-readiness-card--split{grid-template-columns:1fr;gap:38px}}

/* ── /nosotros: unificación tipográfica con el home ───────────────── */
.nos-page .kicker,
.nos-page .ali-readiness-facts li{
  font-family:Inter,sans-serif;font-size:12px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
}
.nos-subnav a{font-family:Inter,sans-serif;font-size:12px;font-weight:600;letter-spacing:.14em}
.nos-bridge-copy h2,
.ali-readiness-card h2{
  font-family:Inter,sans-serif;font-weight:300;
  font-size:clamp(32px,4vw,52px);line-height:1.05;letter-spacing:-.03em;
}
.ali-readiness-card h2 em{font-style:italic;font-weight:300}
.nos-bridge-copy p,
.ali-readiness-card p{font:300 16px/1.7 Inter,sans-serif}
.ali-readiness-steps li{font:300 15px/1.7 Inter,sans-serif}
.ali-readiness-steps b{font-family:Inter,sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em}
.ali-readiness-cta,
.nos-page .button{font-family:Inter,sans-serif;font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase}

/* ── Brujesín Sport: CTA principal en rojo ────────────────────────── */
.brjs-cta .button.solid{background:#E53E3E;color:#fff;border:1px solid #E53E3E}
.brjs-cta .button.solid:hover{background:#c62f2f;border-color:#c62f2f;transform:translateY(-3px)}

/* ── /productos: puente al footer del home ────────────────────────── */
.shop .footer-bridge{display:block;height:0;background:transparent}

/* ============ MÓVIL: optimización del funnel de compra ============ */
html{overflow-x:clip}
body{overflow-x:clip}

@media (max-width:820px){
  /* Carrusel de productos edge-to-edge */
  .shopgrid{padding:76px 0}
  .shopgrid-shell{padding:0}
  .shopgrid-head{padding:0 20px;margin-bottom:30px}
  .shopgrid-sub{font-size:15.5px}
  .shopgrid-strip{gap:0}
  .shopgrid-nav{display:none}
  .shopgrid-track{gap:14px;padding:6px 0 14px;scroll-padding-left:20px;scroll-snap-type:x mandatory}
  .shopgrid-track::before,.shopgrid-track::after{content:"";flex:0 0 20px}
  .shopgrid-track > .shopgrid-card{flex:0 0 86%;scroll-snap-align:center}
  .shopgrid-media{aspect-ratio:4/5}
  .shopgrid-body{padding:16px 16px 18px;gap:6px}
  .shopgrid-body h3{font-size:18px}
  .shopgrid-benefit{font-size:13px}
  .shopgrid-foot{padding-top:12px;gap:10px}
  .shopgrid-price{font-size:22px;font-weight:600}
  .shopgrid-add{min-height:52px;font-size:12px;background:rgba(245,241,234,.06)}
  .shopgrid-add:active{transform:scale(.97);background:#c43030;border-color:#c43030;color:#fff}
  .shopgrid-card:active{transform:scale(.985)}

  /* Secciones más compactas */
  .cmp,.objrow,.tstm,.howbuy,.faq,.blog{padding-top:76px;padding-bottom:76px}
}

/* Puntos de progreso del carrusel */
.shopgrid-dots{display:none}
@media (max-width:820px){
  .shopgrid-dots{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:4px;padding:0 20px}
  .shopgrid-dots button{width:8px;height:8px;padding:0;border-radius:999px;border:0;background:rgba(245,241,234,.24);transition:width .3s,background .3s}
  .shopgrid-dots button.is-on{width:26px;background:#c43030}
}

/* Barra de compra móvil contextual */
.buybar-info b{font-size:13px}
.buybar-cta:active,.buybar-ghost:active{transform:scale(.97)}
@media (max-width:820px){
  .buybar{gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}
  .buybar-cta{padding:0 22px}
}

/* Carrito tipo hoja en móvil */
@media (max-width:820px){
  .cartd{border-left:0}
  .cartd-top{padding:16px 20px}
  .cartd-steps{padding:0 20px 12px;gap:8px}
  .cartd-steps li{font-size:10px}
  .cartd-steps li + li::before{width:12px}
  .cartd-list{padding:8px 20px}
  .cartd-form{padding:16px 20px 20px}
  .cartd-form input,.cartd-form textarea{min-height:48px;font-size:16px}
  .cartd-foot{padding:14px 20px calc(16px + env(safe-area-inset-bottom));z-index:2}
  .cartd-qty button{width:34px;height:34px}
}

/* Comparador y miniaturas del carrito en móvil */
.cartd-list img{object-fit:cover;background:#11151c}
@media (max-width:820px){
  .cmp-shell{padding:0}
  .cmp-head{padding:0 20px;margin-bottom:26px}
  .cmp-grid{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding:2px 0 12px;scrollbar-width:none}
  .cmp-grid::-webkit-scrollbar{display:none}
  .cmp-grid::before,.cmp-grid::after{content:"";flex:0 0 20px}
  .cmp-grid > .cmp-card{flex:0 0 84%;scroll-snap-align:center}
  .cmp-media{aspect-ratio:16/9}
  .cmp-card h3{margin:16px 18px 10px}
  .cmp-specs{padding:0 18px;gap:10px}
  .cmp-foot{padding:16px 18px 0}
}

@media (max-width:820px){
  .blog-grid{flex-direction:column;gap:26px}
  .blog-card:nth-child(n+4){display:none}
  .blog-media{height:210px;margin-bottom:14px}
  .blog-head{margin-bottom:28px}
}

/* ================= MÓVIL v2 — barra de compra, rieles y limpieza ================= */

/* Barra de compra: descartable + no tapa el FAB */
.buybar-close{flex:0 0 auto;width:30px;height:30px;border-radius:999px;border:1px solid rgba(245,241,234,.18);background:transparent;color:rgba(245,241,234,.7);font-size:18px;line-height:1;display:none;align-items:center;justify-content:center}
@media (max-width:820px){
  .buybar-close{display:flex}
  body.has-buybar .wa-fab{bottom:calc(96px + env(safe-area-inset-bottom))}
  body:not(.has-buybar) .wa-fab{bottom:20px}
  .site-footer{padding-bottom:40px}
}

/* Testimonios: riel horizontal con snap */
.tstm-dots{display:none}
@media (max-width:820px){
  .tstm-shell{padding:0}
  .tstm-head{padding:0 20px;margin-bottom:26px}
  .tstm-grid{display:flex;overflow-x:auto;gap:14px;scroll-snap-type:x mandatory;padding:2px 0 12px;scrollbar-width:none}
  .tstm-grid::-webkit-scrollbar{display:none}
  .tstm-grid::before,.tstm-grid::after{content:"";flex:0 0 20px}
  .tstm-grid > .tstm-card{flex:0 0 86%;scroll-snap-align:center;padding:26px}
  .tstm-card:hover{transform:none}
  .tstm-dots{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:6px;padding:0 20px}
  .tstm-dots button{width:8px;height:8px;padding:0;border-radius:999px;border:0;background:rgba(245,241,234,.24);transition:width .3s,background .3s}
  .tstm-dots button.is-on{width:26px;background:#c43030}
}

/* Sobre Avantys: tarjetas en riel horizontal (móvil) */
@media (max-width:820px){
  .about-shell{width:100%;padding:0}
  .about-left{padding:0 20px 8px}
  .about-right{display:flex;flex-direction:row;overflow-x:auto;gap:14px;padding:2px 0 14px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .about-right::-webkit-scrollbar{display:none}
  .about-right::before,.about-right::after{content:"";flex:0 0 20px}
  .about-slot{display:flex;flex:0 0 86%;scroll-snap-align:center}
  .about-card{position:relative!important;top:auto!important;margin-bottom:0;max-width:none;width:100%;padding:26px}
  .about-sticky{padding:76px 0 60px}
}

/* Ficha de producto: volver al catálogo */
.pdp-back{display:none}
@media (max-width:820px){
  .pdp-back{display:block;position:sticky;top:64px;z-index:45;margin-top:64px;background:rgba(10,13,18,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(245,241,234,.08)}
  .pdp-back a{display:flex;align-items:center;min-height:48px;padding:0 20px;color:#f5f1ea;text-decoration:none;font-size:13px;letter-spacing:.04em}
  .shop-crumbs{display:none}
}
.pdp-backfoot{display:flex;justify-content:center;padding:0 20px 46px}
.pdp-backfoot a{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid rgba(245,241,234,.22);color:#f5f1ea;text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}

/* /nosotros: diagnóstico simplificado en móvil */
@media (max-width:820px){
  .nos-page .rdial,
  .nos-page .ali-readiness-steps,
  .nos-page .ali-readiness-facts{display:none}
  .nos-page .ali-readiness-card--split{display:block;padding:32px 22px 34px;background:linear-gradient(150deg,#141b20,#101418);}
  .nos-page .ali-readiness-card p{font-size:15.5px;line-height:1.6}
  .nos-page .ali-readiness-cta{display:flex;width:100%;justify-content:center;min-height:52px;margin-top:24px}
  .nos-subnav a,.nos-subnav button{min-height:48px;display:inline-flex;align-items:center}
}

/* Áreas tocables y compactación general en móvil */
@media (max-width:820px){
  .faq details summary,.faq-item summary,.faq summary{min-height:52px;display:flex;align-items:center}
  .contact-form input,.contact-form textarea,.ctc-form input,.ctc-form textarea{min-height:48px;font-size:16px}
  .contact-form button,.ctc-form button{min-height:52px}
  section{scroll-margin-top:72px}
  .about-sticky,.tstm,.cmp,.objrow,.howbuy,.faq,.blog,.ctc,.otosan,.partners,.trust{padding-top:76px;padding-bottom:76px}
  html,body{overflow-x:hidden}
}
