
:root{
  --paper:oklch(0.965 0.012 92);
  --paper-2:oklch(0.925 0.015 92);
  --ink:oklch(0.19 0.012 80);
  --ink-2:oklch(0.29 0.014 80);
  --muted:oklch(0.49 0.014 80);
  --signal:oklch(0.84 0.17 92);
  --signal-deep:oklch(0.59 0.16 86);
  --aluminium:oklch(0.69 0.018 245);
  --line:oklch(0.77 0.014 90);
  --max:1480px;
  --pad:clamp(24px,5vw,84px);
  --ease:cubic-bezier(.16,1,.3,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper);color-scheme:light}
body{margin:0;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:Archivo, sans-serif;font-size:17px;line-height:1.55;text-rendering:optimizeLegibility;padding-left:30px}
a,button,input,select,summary{touch-action:manipulation}
[id]{scroll-margin-top:90px}
body::selection{background:var(--signal);color:var(--ink)}
img,video{max-width:100%;display:block}
a{color:inherit}
button,input,select{font:inherit}
button,a,input,select,summary{outline-offset:4px}
:focus-visible{outline:3px solid var(--signal-deep)}

.skip-link{position:fixed;left:44px;top:-80px;z-index:1000;background:var(--signal);padding:12px 18px;font-weight:800;text-decoration:none;transition:top .2s}
.skip-link:focus{top:12px}
.measure-track{position:fixed;z-index:70;left:0;top:0;width:30px;height:100vh;background-color:var(--signal);background-image:repeating-linear-gradient(to bottom,transparent 0 15px,var(--ink) 15px 16px,transparent 16px 31px);border-right:1px solid var(--ink);overflow:hidden}
.measure-track span{position:absolute;left:50%;bottom:22px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font-size:9px;font-weight:800;letter-spacing:.16em;white-space:nowrap;background:var(--signal);padding:8px 0}

.site-header{position:fixed;z-index:60;top:0;left:30px;right:0;display:flex;align-items:center;justify-content:space-between;gap:32px;padding:20px var(--pad);transition:background .35s var(--ease),padding .35s var(--ease),border-color .35s;border-bottom:1px solid transparent}
.site-header.is-scrolled{background:color-mix(in oklch,var(--paper) 94%,transparent);backdrop-filter:blur(12px);border-color:var(--line);padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:baseline;gap:14px;text-decoration:none;min-width:max-content}
.brand strong{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:32px;letter-spacing:.01em;line-height:.8}
.brand span{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,42px)}
.site-nav a{font-size:14px;font-weight:600;text-decoration:none}
.site-nav a:not(.nav-cta){position:relative}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--ink);transition:right .3s var(--ease)}
.site-nav a:not(.nav-cta):hover::after{right:0}
.nav-cta{background:var(--signal);padding:13px 18px;border:1px solid var(--ink);box-shadow:4px 4px 0 var(--ink)}
.nav-cta:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink)}
.menu-toggle{display:none;border:1px solid var(--ink);background:var(--paper);min-width:48px;min-height:48px;font-weight:700}

.hero{min-height:100svh;display:grid;grid-template-columns:minmax(0,.88fr) minmax(460px,1.12fr);gap:clamp(28px,4vw,72px);align-items:end;padding:clamp(130px,14vw,190px) var(--pad) clamp(46px,6vw,84px);max-width:var(--max);margin:0 auto}
.hero-copy{align-self:center;padding-bottom:clamp(12px,4vw,72px)}
.location-line,.eyebrow{font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}
.hero h1{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(58px,7.7vw,126px);line-height:.82;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance;margin:22px 0 32px;max-width:780px}
.hero h1 span{display:block;color:var(--signal-deep)}
.hero-lead{font-size:clamp(18px,1.45vw,23px);line-height:1.45;max-width:660px;color:var(--ink-2);text-wrap:pretty}
.hero-actions{display:flex;align-items:center;gap:26px;margin:36px 0 44px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 22px;border:1px solid var(--ink);font-weight:800;text-decoration:none;cursor:pointer;transition:transform .24s var(--ease),box-shadow .24s var(--ease),background .24s}
.button-primary{background:var(--signal);color:var(--ink);box-shadow:6px 6px 0 var(--ink)}
.button-primary:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--ink)}
.text-link{font-size:14px;font-weight:800;text-underline-offset:6px;text-decoration-thickness:1px}
.text-link span{display:inline-block;margin-left:7px;transition:transform .3s var(--ease)}
.text-link:hover span{transform:translateY(5px)}
.proof-line{display:flex;gap:0;margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.proof-line div{padding:16px 22px 16px 0;margin-right:22px;border-right:1px solid var(--line)}
.proof-line div:last-child{border-right:0}
.proof-line dt{font-size:20px;font-weight:800}
.proof-line dd{margin:1px 0 0;color:var(--muted);font-size:12px}
.fine-print{font-size:11px;color:var(--muted);max-width:520px;margin-top:10px}
.hero-media{position:relative;margin:0;height:min(76vh,880px);min-height:620px;overflow:hidden;background:var(--ink)}
.hero-media::before{content:"";position:absolute;inset:14px;z-index:2;border:1px solid color-mix(in oklch,var(--paper) 70%,transparent);pointer-events:none}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:58% center;filter:saturate(.78) contrast(1.03)}
.hero-media figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:auto 1fr;gap:4px 22px;background:var(--ink);color:var(--paper);padding:18px 22px}
.hero-media figcaption span{grid-row:1/3;background:var(--signal);color:var(--ink);padding:8px 10px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;align-self:center}
.hero-media figcaption strong{font-size:16px}.hero-media figcaption small{color:var(--aluminium)}

.section-pad{padding:clamp(90px,12vw,180px) var(--pad);max-width:var(--max);margin:0 auto}
.statement{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1.65fr);gap:clamp(36px,7vw,120px);border-top:1px solid var(--line)}
.statement h2,.section-heading h2,.contact h2,.coverage h2{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(46px,6.4vw,96px);line-height:.92;letter-spacing:-.03em;text-transform:uppercase;text-wrap:balance;margin:0}
.statement>div>p{font-size:clamp(18px,2vw,28px);max-width:780px;margin:32px 0 0;color:var(--ink-2)}
.section-heading{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1.65fr);gap:clamp(36px,7vw,120px);margin-bottom:clamp(50px,8vw,110px)}
.section-heading>p:last-child{grid-column:2;max-width:720px;color:var(--muted);font-size:18px}
.service-row{display:grid;grid-template-columns:180px minmax(0,1.1fr) minmax(260px,.65fr);gap:clamp(24px,5vw,80px);align-items:start;padding:44px 0;border-top:1px solid var(--ink)}
.service-row:last-child{border-bottom:1px solid var(--ink)}
.service-index{font-size:11px;font-weight:800;letter-spacing:.15em;color:var(--signal-deep);line-height:1.2;padding-top:8px}
.service-main h3{font-size:clamp(29px,3.3vw,52px);line-height:1;margin:0 0 16px;text-wrap:balance}.service-main p{font-size:18px;max-width:690px;margin:0;color:var(--ink-2)}
.service-note{font-size:14px;margin:4px 0 0;color:var(--muted);max-width:420px}

.work-intro{padding-bottom:70px}.project{padding:0 var(--pad) clamp(100px,12vw,180px);max-width:var(--max);margin:0 auto}.project figure{margin:0}.project img,.project video{width:100%;height:min(74vh,850px);object-fit:cover;background:var(--ink)}
.project-photo:nth-of-type(even) img{object-position:center}
.project-light{background:var(--paper-2);max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-top:clamp(90px,10vw,150px)}
.project-light figure{max-width:var(--max);margin:auto}.project-light img{object-fit:contain;padding:clamp(18px,4vw,56px);background:oklch(.89 .015 90)}
.project figcaption{display:grid;grid-template-columns:180px minmax(0,1fr) minmax(250px,.55fr);gap:clamp(20px,5vw,70px);padding:24px 0;border-bottom:1px solid var(--ink)}
.project figcaption span{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.project figcaption h3{font-size:clamp(25px,3vw,46px);line-height:1.05;margin:0;text-wrap:balance}.project figcaption p{margin:0;color:var(--muted);font-size:15px}
.project-video video{background:var(--ink);object-fit:contain}.project-video{background:var(--ink);max-width:none;color:var(--paper);padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-top:clamp(90px,10vw,150px)}
.project-video figure{max-width:var(--max);margin:auto}.project-video figcaption{border-color:oklch(.45 .01 80)}.project-video figcaption p,.project-video figcaption span{color:var(--aluminium)}

.workshop-note{position:relative;min-height:86svh;background:var(--ink);color:var(--paper);overflow:hidden;display:grid;align-items:center;padding:clamp(100px,14vw,200px) max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.workshop-word{position:absolute;left:-.03em;top:50%;transform:translateY(-52%);font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(180px,31vw,560px);line-height:.7;color:oklch(.43 .012 80);letter-spacing:-.055em;white-space:nowrap}
.workshop-copy{position:relative;z-index:2;max-width:980px;margin-left:auto;width:72%}.workshop-copy .eyebrow{color:var(--signal)}.workshop-copy h2{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(52px,7.7vw,118px);line-height:.88;text-transform:uppercase;letter-spacing:-.035em;margin:22px 0 34px}.workshop-copy>p:last-child{font-size:clamp(17px,1.7vw,24px);max-width:720px;color:var(--aluminium)}
.workshop-line{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:32px;border-top:1px solid oklch(.44 .01 80);display:flex;justify-content:space-between;padding-top:14px;color:var(--signal);font-size:10px;font-weight:800;letter-spacing:.18em}
.why{border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:clamp(60px,10vw,160px)}.why-lead h2{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(58px,7vw,108px);line-height:.87;letter-spacing:-.035em;text-transform:uppercase;margin:24px 0 0}.why-copy{align-self:end;border-left:1px solid var(--ink);padding-left:clamp(28px,4vw,64px)}.why-copy p{font-size:clamp(17px,1.45vw,22px);color:var(--muted);margin:0 0 30px}.why-copy .why-emphasis{font-size:clamp(25px,2.5vw,40px);line-height:1.1;color:var(--ink);font-weight:700}

.coverage{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(0,1.2fr);gap:clamp(50px,8vw,130px);align-items:center}.coverage-map{aspect-ratio:1;position:relative;display:grid;place-items:center}.coverage-map strong{position:relative;z-index:3;font-family:ArchivoCondensed,Archivo,sans-serif;font-size:clamp(52px,7vw,104px);background:var(--signal);padding:16px 22px;border:1px solid var(--ink)}.ring{position:absolute;border:1px solid var(--ink);border-radius:50%;animation:pulse-ring 7s var(--ease) infinite}.ring-a{inset:34%}.ring-b{inset:20%;animation-delay:.7s}.ring-c{inset:5%;animation-delay:1.4s}@keyframes pulse-ring{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.035);opacity:.35}}
.coverage-copy h2{margin:20px 0 30px}.coverage-copy>p:not(.eyebrow){font-size:20px;max-width:680px;color:var(--ink-2)}.coverage-copy ul{display:grid;grid-template-columns:1fr 1fr;gap:0;list-style:none;padding:0;margin:34px 0 0;border-top:1px solid var(--line)}.coverage-copy li{padding:14px 0;border-bottom:1px solid var(--line);font-weight:600}

.faq{border-top:1px solid var(--line)}.faq-list{margin-left:calc(150px + clamp(36px,7vw,120px))}.faq details{border-top:1px solid var(--ink)}.faq details:last-child{border-bottom:1px solid var(--ink)}.faq summary{cursor:pointer;list-style:none;padding:26px 54px 26px 0;font-size:clamp(19px,2vw,27px);font-weight:700;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:10px;top:22px;font-size:30px;transition:transform .3s var(--ease)}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{max-width:780px;margin:0;padding:0 50px 28px 0;color:var(--muted)}

.contact{display:grid;grid-template-columns:minmax(0,.8fr) minmax(440px,1.2fr);gap:clamp(50px,9vw,150px);background:var(--signal);max-width:none;padding-left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)));padding-right:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad)))}
.contact h2{margin:20px 0 30px}.contact-copy>p:not(.eyebrow){font-size:20px;max-width:560px}.whatsapp-direct{display:inline-block;margin-top:24px;font-weight:800;text-underline-offset:6px}
.lead-form{background:var(--paper);border:1px solid var(--ink);padding:clamp(24px,4vw,56px);box-shadow:12px 12px 0 var(--ink)}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.field input,.field select{width:100%;min-height:54px;border:0;border-bottom:2px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);padding:11px 2px;font-size:17px}.field input::placeholder{color:oklch(.6 .01 80)}.field.is-invalid input,.field.is-invalid select{border-color:oklch(.5 .19 28)}.form-error{display:block;min-height:20px;color:oklch(.44 .19 28);font-size:12px;margin-top:5px}.submit-button{width:100%;margin-top:4px}.form-status{min-height:24px;font-size:13px;font-weight:600;margin:15px 0 0}.form-privacy{font-size:11px;color:var(--muted);margin:6px 0 0}

.site-footer{background:var(--ink);color:var(--paper);padding:58px var(--pad) 36px;display:grid;grid-template-columns:1.2fr .8fr 1fr;gap:40px;position:relative}.footer-brand{display:flex;flex-direction:column}.footer-brand strong{font-family:ArchivoCondensed,Archivo,sans-serif;font-size:54px;line-height:.9}.footer-brand span{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--aluminium)}.site-footer p{margin:0 0 6px;color:var(--aluminium);font-size:14px}.site-footer>div:nth-child(3){display:flex;flex-direction:column;align-items:flex-start;gap:7px}.site-footer a{text-underline-offset:5px}.credit{grid-column:1/-1;padding-top:28px;margin-top:8px!important;border-top:1px solid oklch(.38 .01 80);font-size:11px!important}.credit span{color:var(--signal)}
.floating-cta{display:none}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s var(--ease),transform .7s var(--ease)}.reveal.is-visible{opacity:1;transform:none}.hero-media.reveal{clip-path:inset(0 0 100% 0);transform:none;transition:clip-path 1s var(--ease)}.hero-media.reveal.is-visible{clip-path:inset(0)}

@media (max-width:1050px){
  .brand span{display:none}.site-nav{gap:18px}.hero{grid-template-columns:1fr;padding-top:130px}.hero-media{height:min(72vh,720px);min-height:500px}.hero-copy{padding-bottom:0}.statement,.section-heading{grid-template-columns:120px 1fr;gap:42px}.service-row{grid-template-columns:140px 1fr}.service-note{grid-column:2}.project figcaption{grid-template-columns:120px 1fr}.project figcaption p{grid-column:2}.faq-list{margin-left:162px}.why{grid-template-columns:1fr}.workshop-copy{width:82%}.contact{grid-template-columns:1fr}.coverage{grid-template-columns:.75fr 1.25fr}.site-footer{grid-template-columns:1fr 1fr}
}

@media (max-width:760px){
  body{padding-left:9px;font-size:16px}.measure-track{width:9px}.measure-track span{display:none}.site-header{left:9px;padding:14px 18px}.site-header.is-scrolled{padding:10px 18px}.brand strong{font-size:29px}.menu-toggle{display:block}.site-nav{position:absolute;left:0;right:0;top:100%;display:none;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:12px 18px 18px}.site-nav.is-open{display:flex}.site-nav a{padding:14px 0;min-height:48px}.nav-cta{margin-top:8px;padding:14px;box-shadow:4px 4px 0 var(--ink)}
  .hero{display:block;min-height:auto;padding:118px 18px 76px}.hero h1{font-size:clamp(55px,17vw,82px);margin:18px 0 25px}.hero-lead{font-size:18px}.hero-actions{align-items:stretch;flex-direction:column;gap:16px;margin:28px 0}.button{width:100%}.text-link{text-align:center;padding:10px}.proof-line{display:grid;grid-template-columns:1fr 1fr}.proof-line div{margin:0;padding:12px;border-right:0;border-bottom:1px solid var(--line)}.proof-line div:last-child{grid-column:1/-1}.hero-media{margin-top:42px;height:66svh;min-height:460px}.hero-media figcaption{grid-template-columns:auto 1fr;padding:13px}.hero-media figcaption span{font-size:9px}.hero-media figcaption strong{font-size:14px}
  .section-pad{padding:86px 18px}.statement,.section-heading{display:block}.eyebrow{margin-bottom:24px}.statement h2,.section-heading h2,.contact h2,.coverage h2{font-size:clamp(44px,13.5vw,68px)}.statement>div>p{font-size:19px;margin-top:25px}.section-heading{margin-bottom:44px}.section-heading>p:last-child{margin-top:20px}
  .service-row{display:block;padding:32px 0}.service-index{display:block;font-size:10px;margin-bottom:16px}.service-main h3{font-size:32px}.service-main p{font-size:17px}.service-note{margin-top:18px}
  .work-intro{padding-bottom:50px}.project,.project-light,.project-video{padding:0 18px 92px}.project-light,.project-video{padding-top:72px}.project img,.project video{height:62svh;min-height:420px}.project-light img{height:56svh;padding:16px}.project figcaption{display:block;padding:18px 0}.project figcaption span{display:block;margin-bottom:12px}.project figcaption h3{font-size:30px}.project figcaption p{margin-top:12px}
  .faq-list{margin-left:0}.why{display:block}.why-copy{margin-top:52px;padding-left:22px}
  .workshop-note{min-height:82svh;padding-left:18px;padding-right:18px}.workshop-word{font-size:44vw;left:-.06em;top:28%}.workshop-copy{width:100%;margin:0}.workshop-copy h2{font-size:clamp(50px,14vw,74px)}.workshop-line{left:18px;right:18px}
  .coverage{display:block}.coverage-map{max-width:430px;margin:0 auto 60px}.coverage-copy ul{display:block}.coverage-copy>p:not(.eyebrow){font-size:18px}
  .faq summary{font-size:19px;padding-right:46px}.faq details p{padding-right:0}
  .contact{display:block;padding-left:18px;padding-right:18px}.contact-copy{margin-bottom:50px}.lead-form{padding:24px 18px;box-shadow:7px 7px 0 var(--ink)}
  .site-footer{padding:50px 18px 100px;display:block}.site-footer>div{margin-bottom:26px}.credit{margin-top:30px!important}.floating-cta{position:fixed;z-index:55;left:24px;right:15px;bottom:12px;display:flex;align-items:center;justify-content:space-between;min-height:54px;background:var(--signal);border:1px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:0 18px;text-decoration:none;font-weight:800}.floating-cta b{font-size:24px}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}.reveal{opacity:1;transform:none}.hero-media.reveal{clip-path:none}}

/* Confirmación segura posterior al guardado */
[hidden]{display:none!important}.cf-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.contact-note{border-left:3px solid var(--signal,#d7ff3f);padding-left:1rem;font-weight:700}.lead-success{grid-column:1/-1;display:grid;grid-template-columns:8px minmax(0,1fr) minmax(260px,.65fr);gap:clamp(24px,5vw,70px);align-items:center;background:#171814;color:#f4f1e8;border:1px solid #45473e;padding:clamp(28px,5vw,72px);box-shadow:18px 18px 0 rgba(0,0,0,.25)}.success-rule{align-self:stretch;background:repeating-linear-gradient(to bottom,#d7ff3f 0 8px,transparent 8px 15px)}.success-copy h2{font-size:clamp(2.3rem,6vw,5.5rem);line-height:.92;margin:.35em 0}.success-copy p{max-width:62ch}.countdown-wrap{text-align:center;display:grid;justify-items:center;gap:16px}.countdown-ring{--progress:1;width:min(210px,55vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#d7ff3f calc(var(--progress)*1turn),#34362f 0);position:relative;transition:background .18s linear}.countdown-ring::after{content:"";position:absolute;inset:13px;border-radius:50%;background:#171814;border:1px solid #4b4e43}.countdown-ring span{position:relative;z-index:1;font-size:clamp(3.8rem,9vw,7rem);font-weight:900;font-variant-numeric:tabular-nums}.countdown-wrap p{font-size:.8rem;color:#b8b8ad;max-width:30ch}.sound-toggle{background:transparent;color:inherit;border:1px solid #55584d;padding:.65rem 1rem;cursor:pointer}.sound-toggle:hover,.sound-toggle:focus-visible{border-color:#d7ff3f}.submit-button:disabled{opacity:.55;cursor:wait}@media(max-width:760px){.lead-success{grid-template-columns:5px 1fr}.countdown-wrap{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.countdown-ring{transition:none}.lead-success{scroll-behavior:auto}}
