:root{--bg:#f3f4ef;--ink:#0b0c0b;--muted:#70736d;--green:#86f000;--line:#d8dbd3;--black:#0a0b0a;--max:1440px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,Arial,sans-serif;overflow-x:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.section{width:min(var(--max),calc(100% - 64px));margin:auto}.header{position:fixed;z-index:50;top:0;left:0;width:100%;height:84px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;transition:.35s;background:linear-gradient(180deg,rgba(0,0,0,.48),transparent)}.header.scrolled{background:rgba(9,10,9,.92);backdrop-filter:blur(14px)}.brand img{width:220px;max-height:50px;object-fit:contain;object-position:left}.nav{display:flex;gap:30px;align-items:center;color:#fff;font-size:13px}.nav a{opacity:.85}.nav a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.4);padding:12px 18px;border-radius:999px}.menu{display:none;border:0;background:transparent}.menu span{display:block;width:24px;height:1px;background:#fff;margin:6px}.hero{height:100svh;min-height:720px;position:relative;background:#050605;color:#fff;overflow:hidden}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.12) 72%),linear-gradient(0deg,rgba(0,0,0,.45),transparent 45%)}.hero-content{position:relative;z-index:2;height:100%;width:min(var(--max),calc(100% - 64px));margin:auto;display:grid;grid-template-columns:1fr 1.3fr;align-items:center;gap:80px;padding-top:80px}.hero-logo img{width:min(430px,80%);filter:brightness(0) invert(1)}.eyebrow,.index{font-size:11px;letter-spacing:.18em;text-transform:uppercase}.hero-copy h1{font-family:Manrope,sans-serif;font-size:clamp(48px,6.3vw,104px);font-weight:400;line-height:.9;letter-spacing:-.055em;margin:20px 0 26px}.hero-copy h1 em{font-style:normal;color:var(--green)}.hero-lead{font-size:17px;line-height:1.6;max-width:600px;color:rgba(255,255,255,.82)}.hero-actions{display:flex;gap:12px;margin-top:34px}.btn{padding:14px 20px;border-radius:999px;font-size:13px}.btn-solid{background:var(--green);color:#071006}.btn-glass{border:1px solid rgba(255,255,255,.45);backdrop-filter:blur(10px)}.hero-bottom{position:absolute;z-index:2;bottom:28px;left:32px;right:32px;display:flex;justify-content:flex-end;gap:26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.7)}.intro{padding:130px 0}.index{color:#687068;border-top:1px solid var(--line);padding-top:15px}.intro-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:10vw;margin-top:68px}.intro-title h2,.services-head h2,.projects-top h2,.before-head h2,.trust-head h2,.press-grid h2,.contact h2{font-family:Manrope,sans-serif;font-weight:400;letter-spacing:-.05em;line-height:.98}.intro-title h2{font-size:clamp(50px,6vw,96px);margin:0}.intro-copy{max-width:660px}.intro-copy p{font-size:17px;line-height:1.72;color:#565a55}.intro-copy .big{font-size:30px;line-height:1.35;color:#111}.signature{margin-top:54px!important;color:#111!important}.signature strong{color:#5c9d13}.story-film{width:100%;min-height:720px;display:grid;grid-template-columns:1.45fr .55fr;background:#0b0c0b;color:white}.story-image{min-height:720px}.story-image img{width:100%;height:100%;object-fit:cover}.story-panel{padding:70px 50px;align-self:end}.story-panel span{font-size:11px;letter-spacing:.18em;color:var(--green)}.story-panel h3{font-family:Manrope;font-size:38px;line-height:1.08;font-weight:400;letter-spacing:-.04em}.story-panel p{color:#aeb2ac;line-height:1.7}.story-panel a{display:inline-block;margin-top:26px;color:var(--green);font-size:13px}.services{padding:130px 0}.services-head{display:grid;grid-template-columns:1.15fr .85fr;gap:80px;margin:70px 0 80px}.services-head h2{font-size:clamp(48px,6vw,92px);margin:0}.services-head em,.projects-top em,.before-head em,.trust-head em,.press-grid em,.closing-copy em{font-style:normal;color:#6bb20d}.services-head p{align-self:end;color:#5b5f5a;line-height:1.7;max-width:520px}.service-stack{border-top:1px solid var(--line)}.service-stack article{display:grid;grid-template-columns:80px 1fr 1fr;gap:30px;padding:34px 0;border-bottom:1px solid var(--line);align-items:center;transition:.25s}.service-stack article:hover{padding-left:12px}.service-stack article span{font-size:11px;color:#6f746e}.service-stack h3{font-size:35px;font-weight:400;margin:0;letter-spacing:-.03em}.service-stack p{margin:0;color:#666b65;line-height:1.55}.statement{background:var(--green);padding:90px 32px}.statement p{max-width:var(--max);margin:auto;font-family:Manrope;font-size:clamp(42px,6vw,92px);line-height:.98;letter-spacing:-.055em}.statement strong{font-weight:500}.projects{padding:130px 0 70px}.projects-top{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;margin-bottom:70px}.projects-top h2{font-size:clamp(50px,6vw,92px);margin:0}.projects-top p{color:#666b65}.project-row{display:flex;gap:18px;overflow-x:auto;padding:0 max(32px,calc((100vw - var(--max))/2));scroll-snap-type:x mandatory;scrollbar-width:none}.project-row::-webkit-scrollbar{display:none}.project-card{flex:0 0 min(34vw,520px);scroll-snap-align:start;background:#111;color:#fff;position:relative;overflow:hidden}.project-card.wide{flex-basis:min(56vw,850px)}.project-card img{width:100%;height:68vh;min-height:560px;object-fit:cover;transition:.7s}.project-card:hover img{transform:scale(1.025)}.project-meta{position:absolute;left:0;right:0;bottom:0;padding:90px 24px 24px;background:linear-gradient(0deg,rgba(0,0,0,.82),transparent)}.project-meta span{font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}.project-meta h3{font-size:30px;font-weight:400;margin:8px 0 6px}.project-meta p{margin:0;color:#ccc;font-size:13px}.drag-note{display:flex;justify-content:space-between;padding-top:26px;font-size:12px;color:#6b706a}.before-after{padding:130px 0}.before-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;margin:70px 0}.before-head h2{font-size:clamp(48px,5.4vw,82px);margin:0}.before-head p{align-self:end;color:#636862;line-height:1.7}.ba-grid{display:grid;grid-template-columns:1fr 70px 1fr;align-items:center;gap:20px}.ba-grid figure{margin:0}.ba-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.ba-grid figcaption{font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-top:12px}.ba-arrow{text-align:center;font-size:34px}.trust{background:#0b0c0b;color:#fff;padding:120px 0 70px;overflow:hidden}.index.light{color:#8c918b;border-color:#333}.trust-head{display:grid;grid-template-columns:1.3fr .7fr;gap:80px;margin-top:70px}.trust-head h2{font-size:clamp(48px,5.5vw,84px);margin:0}.trust-head p{color:#a6aaa4;line-height:1.7;align-self:end}.logo-marquee{margin-top:80px;border-top:1px solid #272927;border-bottom:1px solid #272927;overflow:hidden}.logo-track{display:flex;width:max-content;animation:marquee 24s linear infinite}.logo-track>div{width:270px;height:150px;margin:0;border-right:1px solid #272927;background:#fff;display:grid;place-items:center;padding:25px}.logo-track .wide{width:360px}.logo-track img{max-width:85%;max-height:85px;object-fit:contain}@keyframes marquee{to{transform:translateX(-50%)}}.press{padding:130px 0}.press-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:90px;margin-top:70px}.press-kicker{color:#6f746e}.press-grid h2{font-size:clamp(45px,5vw,76px);margin:15px 0}.press-card{border:1px solid var(--line);padding:36px;align-self:end}.press-card span{font-size:10px;letter-spacing:.16em;color:#6c716b}.press-card p{line-height:1.7;color:#646963}.press-card strong{display:block;margin-top:40px;color:#5c9d13;font-size:13px}.closing{height:90vh;min-height:700px;position:relative;color:#fff}.closing>img{width:100%;height:100%;object-fit:cover}.closing-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.74),rgba(0,0,0,.15))}.closing-copy{position:absolute;left:max(32px,calc((100vw - var(--max))/2));top:50%;transform:translateY(-50%);max-width:760px}.closing-copy>img{width:330px;filter:brightness(0) invert(1);margin-bottom:50px}.closing-copy h2{font-family:Manrope;font-weight:400;font-size:clamp(50px,6vw,90px);line-height:.96;letter-spacing:-.05em;margin:0 0 40px}.closing-copy a{display:inline-block;background:var(--green);color:#071006;border-radius:999px;padding:15px 22px}.contact{padding:120px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.contact h2{font-size:clamp(50px,5.6vw,86px);margin:55px 0 0}.contact-links{display:flex;flex-direction:column;justify-content:flex-end}.contact-links a{border-bottom:1px solid var(--line);padding:20px 0;display:flex;justify-content:space-between;font-size:18px}.contact-links p{color:#727670;margin-top:28px}footer{background:#090a09;color:#fff;padding:38px 32px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:30px;font-size:11px;color:#8f938d}footer img{width:220px;filter:brightness(0) invert(1)}footer p:last-child{text-align:right}
@media(max-width:900px){.section{width:calc(100% - 36px)}.header{height:70px;padding:0 18px}.brand img{width:170px}.menu{display:block}.nav{position:fixed;inset:70px 0 auto 0;background:#0b0c0b;padding:28px 20px;display:none;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.hero{min-height:680px}.hero-content{width:calc(100% - 36px);grid-template-columns:1fr;align-content:center;gap:25px;padding-top:70px}.hero-logo img{width:235px}.hero-copy h1{font-size:clamp(48px,15vw,72px);margin-top:12px}.hero-lead{font-size:15px;max-width:420px}.hero-actions{flex-wrap:wrap}.hero-bottom{left:18px;right:18px;bottom:18px;gap:10px;justify-content:flex-start;overflow:hidden;white-space:nowrap;font-size:9px}.intro,.services,.before-after,.press,.contact{padding:90px 0}.intro-grid,.services-head,.projects-top,.before-head,.trust-head,.press-grid,.contact-grid{grid-template-columns:1fr;gap:34px;margin-top:45px}.intro-title h2,.services-head h2,.projects-top h2,.before-head h2,.trust-head h2,.press-grid h2,.contact h2{font-size:clamp(42px,12vw,64px)}.intro-copy .big{font-size:23px}.story-film{grid-template-columns:1fr;min-height:0}.story-image{min-height:52vh}.story-panel{padding:45px 22px}.story-panel h3{font-size:32px}.services-head{margin-bottom:50px}.service-stack article{grid-template-columns:42px 1fr;padding:26px 0}.service-stack article p{grid-column:2}.service-stack h3{font-size:28px}.statement{padding:60px 18px}.statement p{font-size:clamp(38px,12vw,60px)}.projects{padding:90px 0 50px}.project-row{padding:0 18px;gap:12px}.project-card,.project-card.wide{flex-basis:82vw}.project-card img{height:62vh;min-height:470px}.drag-note{padding-left:18px;padding-right:18px;gap:18px;flex-direction:column}.ba-grid{grid-template-columns:1fr}.ba-arrow{transform:rotate(90deg);padding:5px}.trust{padding-top:90px}.trust-inner{width:calc(100% - 36px)}.logo-track>div{width:220px;height:130px}.logo-track .wide{width:280px}.closing{height:82vh;min-height:620px}.closing-copy{left:18px;right:18px}.closing-copy>img{width:240px;margin-bottom:35px}.closing-copy h2{font-size:clamp(46px,13vw,68px)}footer{grid-template-columns:1fr;gap:14px;padding:32px 18px}footer p:last-child{text-align:left}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}.logo-track{animation:none}}

/* Hero refinado: imagen central libre + mensaje a la derecha */
@media (min-width:901px){
  .hero-content{
    display:block;
    position:relative;
    width:min(var(--max),calc(100% - 64px));
    margin:auto;
    height:100%;
    padding-top:0;
  }
  .hero-logo{
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
    width:28%;
    max-width:360px;
  }
  .hero-logo img{
    width:100%;
    max-width:340px;
  }
  .hero-copy{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    width:min(34vw,470px);
    max-width:470px;
    text-align:left;
  }
  .hero-copy h1{
    font-size:clamp(38px,4.15vw,68px);
    line-height:.94;
    letter-spacing:-.045em;
    margin:16px 0 22px;
  }
  .hero-lead{
    font-size:15px;
    line-height:1.55;
    max-width:455px;
  }
  .hero-actions{
    margin-top:28px;
  }
  .hero-shade{
    background:
      linear-gradient(90deg,rgba(0,0,0,.68) 0%,rgba(0,0,0,.16) 28%,rgba(0,0,0,.06) 56%,rgba(0,0,0,.58) 100%),
      linear-gradient(0deg,rgba(0,0,0,.4),transparent 45%);
  }
}

@media (max-width:900px){
  .hero-copy h1{
    font-size:clamp(40px,12vw,58px);
    line-height:.96;
  }
}

/* ===== JUANCHO · AGENTE VIRTUAL ===== */
.juancho-launcher{position:fixed;right:24px;bottom:24px;z-index:1100;border:0;background:#08121d;color:#fff;border-radius:999px;padding:8px 14px 8px 8px;display:flex;align-items:center;gap:10px;box-shadow:0 18px 45px rgba(0,0,0,.28);cursor:pointer;font:inherit;transition:transform .2s ease,box-shadow .2s ease}.juancho-launcher:hover{transform:translateY(-3px);box-shadow:0 22px 54px rgba(0,0,0,.34)}.juancho-launcher img{width:54px;height:54px;border-radius:50%;object-fit:cover;object-position:50% 35%;border:2px solid #92d21d}.juancho-launcher strong{display:block;font-size:14px;line-height:1.1}.juancho-launcher small{display:flex;align-items:center;gap:5px;color:#c6d4df;font-size:11px;margin-top:4px}.juancho-dot{width:7px;height:7px;border-radius:50%;background:#92d21d;box-shadow:0 0 0 4px rgba(146,210,29,.13)}
.juancho-chat{position:fixed;right:24px;bottom:96px;width:min(390px,calc(100vw - 32px));height:min(620px,calc(100vh - 125px));z-index:1099;background:#07111a;border:1px solid rgba(83,150,214,.35);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.38);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px) scale(.98);transition:.22s ease;color:#fff}.juancho-chat.open{opacity:1;pointer-events:auto;transform:none}.juancho-head{padding:15px 16px;background:linear-gradient(135deg,#08121d,#0e2131);display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.08)}.juancho-head img{width:48px;height:48px;border-radius:15px;object-fit:cover;object-position:50% 34%;border:1px solid rgba(146,210,29,.8)}.juancho-head-text{flex:1}.juancho-head strong{font-size:15px;display:block}.juancho-head span{font-size:11px;color:#a9c1d4}.juancho-close{border:0;background:rgba(255,255,255,.08);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:20px}.juancho-messages{flex:1;overflow:auto;padding:16px;background:radial-gradient(circle at 100% 0,rgba(33,108,178,.09),transparent 38%),#07111a;scroll-behavior:smooth}.juancho-msg{max-width:86%;padding:11px 13px;border-radius:16px;margin:0 0 10px;font-size:13.5px;line-height:1.48;white-space:pre-wrap}.juancho-msg.bot{background:#102231;border:1px solid rgba(103,157,205,.18);border-bottom-left-radius:5px}.juancho-msg.user{margin-left:auto;background:#8acb20;color:#071009;border-bottom-right-radius:5px}.juancho-quick{display:flex;gap:7px;overflow-x:auto;padding:0 14px 10px;background:#07111a;scrollbar-width:none}.juancho-quick::-webkit-scrollbar{display:none}.juancho-quick button{flex:0 0 auto;border:1px solid rgba(146,210,29,.32);background:rgba(146,210,29,.08);color:#dfead5;padding:7px 10px;border-radius:999px;font:inherit;font-size:11px;cursor:pointer}.juancho-compose{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08);background:#0a1621}.juancho-compose textarea{flex:1;resize:none;min-height:42px;max-height:100px;border:1px solid rgba(255,255,255,.13);background:#0f202e;color:#fff;border-radius:14px;padding:11px 12px;outline:none;font:inherit;font-size:13px}.juancho-compose textarea:focus{border-color:#8acb20}.juancho-send{width:44px;border:0;border-radius:14px;background:#8acb20;color:#071009;font-size:20px;font-weight:800;cursor:pointer}.juancho-send:disabled{opacity:.45;cursor:wait}.juancho-typing{display:inline-flex;gap:4px;align-items:center}.juancho-typing i{width:5px;height:5px;border-radius:50%;background:#8acb20;animation:juanchoBlink 1.1s infinite}.juancho-typing i:nth-child(2){animation-delay:.15s}.juancho-typing i:nth-child(3){animation-delay:.3s}@keyframes juanchoBlink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@media(max-width:600px){.juancho-launcher{right:14px;bottom:14px;padding-right:10px}.juancho-launcher img{width:48px;height:48px}.juancho-launcher .juancho-label{display:none}.juancho-chat{right:10px;bottom:78px;width:calc(100vw - 20px);height:min(620px,calc(100vh - 94px));border-radius:20px}}

/* Carpintería: fila completa navegable */
.service-carpentry{position:relative;padding-right:64px!important;cursor:pointer}.service-cover{position:absolute;inset:0;z-index:2}.service-arrow{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:27px;font-weight:300;color:#6bb20d;transition:.25s}.service-carpentry:hover .service-arrow{right:0;transform:translateY(-50%) rotate(8deg)}
@media(max-width:900px){.service-carpentry{padding-right:48px!important}.service-arrow{right:4px}}


/* =========================================================
   JUANCHO — PERSONAJE LIBRE, SIN CÍRCULO / SIN BURBUJA
   ========================================================= */
.juancho-launcher,
#juanchoLauncher,
.juancho-avatar,
.juancho-character,
.juancho-character-wrap,
.juancho-floating,
.juancho-agent-trigger {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    overflow: visible !important;
}

.juancho-launcher::before,
.juancho-launcher::after,
#juanchoLauncher::before,
#juanchoLauncher::after,
.juancho-avatar::before,
.juancho-avatar::after,
.juancho-character::before,
.juancho-character::after,
.juancho-floating::before,
.juancho-floating::after {
    content: none !important;
    display: none !important;
}

.juancho-launcher img,
#juanchoLauncher img,
.juancho-avatar img,
.juancho-character img,
.juancho-character-wrap img,
.juancho-floating img,
.juancho-agent-trigger img {
    border-radius: 0 !important;
    clip-path: none !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

/* El personaje queda recortado por su propia silueta/PNG, no por una máscara circular. */
