/* CharrúaCode, version "comercial": Ember Dark direction with the accent swapped to brand blue. */
@font-face{font-family:"Sora";font-weight:600;font-display:swap;src:url("assets/fonts/sora-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Geist";font-weight:400;font-display:swap;src:url("assets/fonts/geist-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Geist";font-weight:500;font-display:swap;src:url("assets/fonts/geist-sans-latin-500-normal.woff2") format("woff2")}

:root{
  --bg-0:#07111d; --bg-1:#0b1726; --bg-2:#0f1e31; --bg-3:#16283e;
  --line:rgb(148 163 184 / .16); --line-strong:rgb(148 163 184 / .32);
  --fg:#f7f9fc;
  --fg-80:rgb(247 249 252 / .82); --fg-60:rgb(247 249 252 / .66); --fg-50:rgb(247 249 252 / .6);
  --accent:#5ab1ff;        /* text/lines accent */
  --accent-fill:#1d5fd0;   /* button fill, white text passes AA */
  --glow:#218bff; --accent-deep:#0b3d8c;
  --wa:#0e7a3e;            /* WhatsApp green, white text passes AA */
  --ok:#6ee7a0;
  --font-display:"Sora","Geist",system-ui,sans-serif;
  --font-body:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;
  --r-sm:8px; --r-md:12px; --r-lg:20px; --r-xl:28px;
  --ease:cubic-bezier(.2,.8,.2,1);
  --gut:clamp(16px,4vw,32px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{margin:0;background:var(--bg-0);color:var(--fg);font:400 17px/1.6 var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
button{font:inherit;color:inherit}
.wrap{width:min(1200px,100% - 2*var(--gut));margin-inline:auto}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.skip{position:fixed;left:16px;top:-80px;z-index:100;background:var(--accent-fill);color:#fff;padding:10px 16px;border-radius:8px;transition:top .2s}
.skip:focus{top:12px}

/* Type */
.display{font:600 clamp(36px,6.2vw,88px)/1.04 var(--font-display);letter-spacing:-.045em;text-wrap:balance}
.dim{color:rgb(247 249 252 / .7)}
.eyebrow{display:inline-block;font:500 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.sub,.lead{color:var(--fg-60);font-size:clamp(16px,1.5vw,19px);max-width:56ch;text-wrap:pretty}
.lead{color:var(--fg-80)}

/* Buttons: tactile fill, inner highlight, blue light under it */
.btn{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 24px;border-radius:var(--r-sm);font:500 16px/1.2 var(--font-body);letter-spacing:.005em;color:#fff;
  background:linear-gradient(180deg,#2a69d8,var(--accent-fill) 60%,#1853bd);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .35),inset 0 -2px 0 rgb(0 0 0 / .22),0 0 0 1px rgb(90 177 255 / .35);
  transition:box-shadow .4s var(--ease),transform .2s var(--ease)}
.btn::before{content:"";position:absolute;z-index:-1;left:50%;bottom:-30%;width:76%;height:46%;translate:-50% 0;
  background:var(--glow);filter:blur(16px);opacity:.75;transition:filter .5s var(--ease),opacity .5s var(--ease)}
.btn::after{content:"→";transition:transform .3s var(--ease)}
.btn:hover::before{filter:blur(10px);opacity:1}
.btn:hover::after{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn-sm{padding:10px 18px;font-size:15px}
.btn-sm::after{display:none}
.btn-lg{padding:19px 36px;font-size:18px}
.btn-block{width:100%}
.btn-ghost{background:rgb(255 255 255 / .05);box-shadow:inset 0 1px 0 rgb(255 255 255 / .08),0 0 0 1px var(--line-strong);backdrop-filter:blur(10px)}
.btn-ghost::before{display:none}
.btn-ghost:hover{background:rgb(255 255 255 / .09)}
.actions .btn-ghost::after{content:"↓"}
.actions .btn-ghost:hover::after{transform:translateY(3px)}

/* Nav: glass pill */
.nav{position:fixed;top:16px;left:50%;translate:-50% 0;z-index:50;width:min(1200px,100% - 2*var(--gut));
  display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px 10px 20px;border-radius:16px;
  background:rgb(255 255 255 / .05);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgb(255 255 255 / .09);
  transition:background .3s}
.nav.scrolled,.nav.open{background:rgb(7 17 29 / .86)}
.brand img{width:176px;height:auto}
.nav nav{display:flex;gap:6px}
.nav nav a{padding:8px 14px;border-radius:999px;font-size:15px;color:var(--fg-80);transition:color .2s,background .2s}
.nav nav a:hover{color:#fff;background:rgb(255 255 255 / .06)}
.nav nav a.active{color:#fff;background:rgb(90 177 255 / .16)}
.nav-end{display:flex;align-items:center;gap:8px}
.menu-btn{display:none;width:42px;height:42px;border-radius:10px;border:1px solid var(--line-strong);background:rgb(255 255 255 / .05);cursor:pointer;position:relative}
.menu-btn span{position:absolute;left:11px;right:11px;height:2px;border-radius:2px;background:#fff;transition:transform .3s var(--ease),top .3s var(--ease)}
.menu-btn span:first-child{top:16px}
.menu-btn span:last-child{top:24px}
.nav.open .menu-btn span:first-child{top:20px;transform:rotate(45deg)}
.nav.open .menu-btn span:last-child{top:20px;transform:rotate(-45deg)}

/* Hero */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--bg-0);padding-bottom:0}
.hero-photo{position:absolute;z-index:-3;left:0;bottom:0;width:100%;height:46%;object-fit:cover;object-position:50% 60%;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 40%);mask-image:linear-gradient(180deg,transparent 0,#000 40%)}
.hero-fade{position:absolute;z-index:3;inset:auto 0 0 0;height:20%;background:linear-gradient(180deg,transparent,var(--bg-0));pointer-events:none}
.glow{position:absolute;inset:0;z-index:-2;pointer-events:none;overflow:hidden}
.g{position:absolute;display:block}
.g1{top:-18%;left:50%;width:min(900px,90vw);height:480px;translate:-70% 0;background:var(--glow);filter:blur(110px);opacity:.55;animation:drift 18s ease-in-out infinite alternate}
.g2{top:-6%;right:-4%;width:240px;height:300px;background:#2f6bff;filter:blur(120px);opacity:.5}
.e1{top:-26%;left:50%;width:min(720px,80vw);height:460px;translate:-70% 0;border-radius:200px;background:var(--bg-0);filter:blur(100px)}
.core{top:2%;left:50%;width:160px;height:120px;translate:-50% 0;border-radius:999px;background:linear-gradient(var(--accent-deep),var(--accent));filter:blur(78px);opacity:.7}
@keyframes drift{to{transform:translateX(40px)}}
.guides{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:repeating-linear-gradient(90deg,transparent 0 calc(25% - 1px),rgb(255 255 255 / .045) calc(25% - 1px) 25%);
  -webkit-mask-image:linear-gradient(to bottom,#000 20%,transparent 75%);mask-image:linear-gradient(to bottom,#000 20%,transparent 75%)}
.noise{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-inner{position:relative;z-index:2;width:min(1200px,100% - 2*var(--gut));margin-inline:auto;padding:clamp(112px,15vh,150px) 0 0;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:24px}
.hero-inner .display{font-size:clamp(34px,4.7vw,68px)}
.hero-inner .display .dim{display:block}
.hero-inner .lead{max-width:48ch}
.actions{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.micro{font-size:14px;color:var(--fg-60)}
.pill{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;border-radius:999px;font-size:14px;color:var(--fg-80);
  background:rgb(255 255 255 / .05);border:1px solid var(--line);backdrop-filter:blur(10px)}
.spark{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px 2px rgb(90 177 255 / .7)}

/* Hero stage: phone with a sample local-business page, bleeding off the bottom */
.stage{position:relative;z-index:2;margin-top:44px;padding-bottom:56px;display:flex;justify-content:center}
.phone{position:relative;width:292px;height:600px;flex:none;border-radius:46px;padding:9px;background:linear-gradient(160deg,#27384f,#0b1726 40%);
  border:1px solid rgb(255 255 255 / .22);box-shadow:0 0 0 1px rgb(0 0 0 / .5),0 0 120px 10px rgb(33 139 255 / .38),inset 0 1px 0 rgb(255 255 255 / .25);animation:bob 7s ease-in-out infinite alternate}
@keyframes bob{to{transform:translateY(-12px)}}
.ph-notch{position:absolute;z-index:4;top:17px;left:50%;translate:-50% 0;width:84px;height:22px;border-radius:999px;background:#05090f}
/* Demo bakery site inside the phone: own warm palette, auto-scrolls so the whole mini-site is visible */
.ph-screen{--cream:#fbf6ee;--sand:#f1e6d6;--ink:#2b2118;--muted:#6b5646;--brown:#8a3f14;--vis:580px;
  position:relative;height:100%;border-radius:38px;background:var(--cream);color:var(--ink);overflow:hidden;font-family:var(--font-body)}
.ph-status{position:absolute;z-index:3;inset:0 0 auto;height:42px;padding:0 24px 0 30px;display:flex;align-items:center;justify-content:space-between;
  font:600 13px/1 var(--font-body);letter-spacing:-.01em;background:linear-gradient(var(--cream) 70%,rgb(251 246 238 / 0))}
.ph-sys{display:flex;align-items:center;gap:6px}
.sig{display:flex;align-items:flex-end;gap:1.5px;height:10px}
.sig b{width:3px;border-radius:1px;background:var(--ink)}
.sig b:nth-child(1){height:4px}.sig b:nth-child(2){height:6px}.sig b:nth-child(3){height:8px}.sig b:nth-child(4){height:10px}
.bat{position:relative;width:22px;height:11px;border-radius:3px;border:1.5px solid rgb(43 33 24 / .45)}
.bat::before{content:"";position:absolute;inset:1.5px 5px 1.5px 1.5px;border-radius:1px;background:var(--ink)}
.bat::after{content:"";position:absolute;right:-4px;top:2.5px;width:2px;height:4px;border-radius:0 1px 1px 0;background:rgb(43 33 24 / .45)}
.ph-scroll{padding:46px 12px 14px;display:grid;gap:12px;animation:phscroll 14s ease-in-out infinite;will-change:transform}
.phone:hover .ph-scroll{animation-play-state:paused}
@keyframes phscroll{0%,12%{transform:translateY(0)}45%,62%{transform:translateY(calc(-100% + var(--vis)))}92%,100%{transform:translateY(0)}}
.ph-glare{position:absolute;z-index:5;inset:9px;border-radius:38px;pointer-events:none;
  background:linear-gradient(115deg,rgb(255 255 255 / .16) 0%,rgb(255 255 255 / .04) 26%,transparent 27%,transparent 100%)}
.ds-bar{display:flex;align-items:center;gap:8px;padding:2px 2px 0}
.ds-logo{display:grid;font:700 18px/1 Georgia,"Times New Roman",serif;letter-spacing:-.01em;color:var(--brown)}
.ds-logo small{font:500 9.5px/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--muted);margin-top:3px}
.ds-demo{margin-left:auto;font-size:10.5px;font-weight:500;padding:3px 8px;border-radius:999px;background:var(--ink);color:var(--cream)}
.ds-menu{display:grid;gap:3.5px;width:18px}
.ds-menu i{height:2px;border-radius:2px;background:var(--ink)}
.ds-hero{position:relative;height:178px;border-radius:16px;overflow:hidden;background:#3a2414}
.ds-hero img{width:100%;height:100%;object-fit:cover;object-position:50% 0}
.ds-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(24 14 6 / .1) 20%,rgb(24 14 6 / .88) 100%)}
.ds-hero-txt{position:absolute;z-index:1;inset:auto 12px 12px;display:grid;gap:8px;justify-items:start;color:#fff}
.ds-hero-txt b{font:700 18px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.01em;text-wrap:balance}
.ds-open{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;padding:4px 9px;border-radius:999px;background:rgb(255 255 255 / .94);color:var(--ink)}
.ds-open i{width:7px;height:7px;border-radius:50%;background:#0e7a3e;box-shadow:0 0 0 2.5px rgb(14 122 62 / .22)}
.ds-actions{display:grid;gap:8px}
.ph-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:12px;font-weight:600;font-size:13.5px}
.ph-btn.wa{background:var(--wa);color:#fff;box-shadow:0 6px 14px -6px rgb(14 122 62 / .6)}
.ph-btn.ghost{border:1px solid rgb(43 33 24 / .35);color:var(--ink)}
.ds-sec{display:grid;gap:8px}
.ds-h{font:700 14px/1.2 Georgia,"Times New Roman",serif;color:var(--ink)}
.ds-prods{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.ds-prod{display:grid;gap:3px;padding:5px 5px 7px;border-radius:11px;background:#fff;box-shadow:0 1px 0 rgb(43 33 24 / .06),0 4px 10px -6px rgb(43 33 24 / .25)}
.ds-prod img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:7px;margin-bottom:2px}
.ds-prod span{font-size:10.5px;line-height:1.2;color:var(--ink);padding-inline:2px}
.ds-prod b{font-size:11px;font-weight:600;color:var(--brown);padding-inline:2px}
.ds-hours{display:grid;gap:5px;font-size:12px;padding:9px 11px;border-radius:12px;background:var(--sand)}
.ds-hours p{display:flex;justify-content:space-between;gap:8px}
.ds-hours b{font-weight:600}
.ds-map{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;background:var(--sand)}
.ds-map-art{flex:none;width:58px;height:46px;border-radius:8px;display:grid;place-items:center;
  background:linear-gradient(90deg,transparent 46%,#fff 46% 54%,transparent 54%),linear-gradient(0deg,transparent 40%,#fff 40% 48%,transparent 48%),#e3d6c2}
.ds-map-art svg{fill:var(--brown);stroke:#fff;stroke-width:1.4}
.ds-map p{display:grid;font-size:12px;font-weight:600;line-height:1.3}
.ds-map p span{font-weight:400;color:var(--muted)}
.ds-foot{display:flex;align-items:center;justify-content:space-between;padding:10px 2px 2px;border-top:1px solid rgb(43 33 24 / .12);font-size:10.5px;color:var(--muted)}
.ds-social{display:flex;gap:6px}
.ds-social i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--brown)}
.ds-social svg{fill:none;stroke:#fff;stroke-width:2}
.ds-social svg .dot{fill:#fff;stroke:none}
.float-chip{position:absolute;top:60px;z-index:2;width:236px;padding:14px 16px;border-radius:16px;display:grid;gap:6px;text-align:left;font-size:14px;color:var(--fg-80);
  background:rgb(15 30 49 / .9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgb(255 255 255 / .14);box-shadow:inset 0 1px 0 rgb(255 255 255 / .1),0 0 60px rgb(33 139 255 / .2)}
.float-chip b{font-weight:500;color:#fff}
.fc-title{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
.fc-left{right:calc(50% + 190px)}
.fc-right{left:calc(50% + 190px);top:150px}
.float-chip p.out{align-self:end;justify-self:end;padding:8px 12px;border-radius:12px 12px 2px 12px;background:var(--wa);color:#fff}
.float-chip .ok{color:var(--ok)}

/* Hero split (desktop): copy left, whole phone right */
@media (min-width:1024px){
  .hero{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr);align-items:center;column-gap:clamp(24px,4vw,64px);
    min-height:100vh;min-height:100dvh;padding:clamp(80px,9vh,96px) max(var(--gut),calc((100% - 1200px) / 2)) clamp(28px,4vh,48px)}
  .hero-inner{width:auto;margin:0;padding:0;align-items:flex-start;text-align:left;gap:20px}
  .hero-inner .display{font-size:clamp(38px,4.1vw,58px);line-height:1.04}
  .hero-inner .lead{max-width:44ch}
  .actions{justify-content:flex-start}
  .stage{--z:1;margin:0;padding:0;align-self:center;justify-self:center;width:100%;justify-content:center}
  .phone{zoom:var(--z)}
  .hero-inner::before{content:"";position:absolute;z-index:-1;inset:-48px -48px -56px -140px;pointer-events:none;background:radial-gradient(ellipse 75% 62% at 38% 52%,rgb(7 17 29 / .88),rgb(7 17 29 / .55) 55%,transparent 80%)}
  .hero-photo{height:40%}
  .float-chip{width:200px;z-index:6}
  .fc-left{right:auto;top:24%;left:calc(50% - 140px*var(--z) - 200px)}
  .fc-right{left:auto;top:auto;bottom:9%;right:auto;left:calc(50% + 146px*var(--z) - 6px*var(--z));width:176px}
}
@media (min-width:1024px) and (max-width:1199px){.float-chip{display:none}}
@media (min-width:1024px) and (max-height:860px){.stage{--z:.9}}
@media (min-width:1024px) and (max-height:790px){.stage{--z:.82}}
@media (min-width:1024px) and (max-height:700px){.stage{--z:.74}}
@media (min-width:1024px) and (min-height:1000px){.stage{--z:1.12}}

/* Rubros marquee */
.stack{padding:34px 0 10px;text-align:center;position:relative;z-index:2}
.stack-label{font:500 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-50);margin-bottom:24px;padding-inline:var(--gut)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;align-items:center;animation:marquee 45s linear infinite;padding-inline:9px}
.marquee-track li{padding:11px 22px;border-radius:999px;border:1px solid var(--line);background:rgb(255 255 255 / .04);font:500 18px/1 var(--font-display);color:var(--fg-80);white-space:nowrap}
@keyframes marquee{to{transform:translateX(-50%)}}

/* Sections */
.section{position:relative;padding:clamp(80px,11vw,150px) 0}
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:18px;margin-bottom:clamp(40px,6vw,72px)}
.sec-head .display,.cta-inner .display{font-size:clamp(34px,4.8vw,66px)}
.sec-head .display{max-width:20ch}

/* Bento */
.bento{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.c7{grid-column:span 7}.c5{grid-column:span 5}.c6{grid-column:span 6}
.card{--x:50%;--y:0%;position:relative;display:flex;flex-direction:column;padding:12px 12px 26px;border-radius:var(--r-lg);overflow:hidden;
  background:radial-gradient(380px circle at var(--x) var(--y),rgb(90 177 255 / .09),transparent 45%),linear-gradient(160deg,rgb(255 255 255 / .045),transparent 40%),var(--bg-1);
  border:1px solid var(--line);box-shadow:inset 0 1px 0 rgb(255 255 255 / .06);transition:border-color .3s var(--ease),transform .3s var(--ease)}
.card:hover{border-color:var(--line-strong);transform:translateY(-4px)}
.card h3{font:600 22px/1.2 var(--font-display);letter-spacing:-.025em;margin:22px 14px 8px}
.card p{color:var(--fg-60);font-size:16px;margin:0 14px}
.mini{height:252px;border-radius:var(--r-md);background:var(--bg-0);border:1px solid var(--line);position:relative;overflow:hidden;display:grid;place-items:center;padding:18px}
.mini::before{content:"";position:absolute;right:-10%;top:-40%;width:60%;height:90%;background:var(--glow);filter:blur(80px);opacity:.28}
.mini>*{position:relative}

/* mini: browser */
.browser{width:100%;max-width:440px;border-radius:10px;border:1px solid var(--line-strong);background:var(--bg-2);overflow:hidden}
.b-bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--line)}
.b-bar i{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .18)}
.b-bar span{margin-left:10px;font:13px var(--font-body);color:var(--fg-60);padding:2px 10px;border-radius:6px;background:rgb(255 255 255 / .05);display:inline-flex;align-items:center;gap:6px}
.b-bar span.url{flex:1;margin-left:8px;padding:5px 12px;font-size:15px;color:#fff}
.b-bar span.url svg{fill:none;stroke:var(--ok);stroke-width:1.6}
.b-body{padding:14px;display:grid;gap:12px}
.b-hero{display:grid;gap:7px;justify-items:start}
.b-hero b{height:10px;width:62%;border-radius:4px;background:rgb(255 255 255 / .55)}
.b-hero b.s{height:7px;width:40%;background:rgb(255 255 255 / .2)}
.b-hero em{font:500 11px var(--font-body);font-style:normal;color:#fff;background:var(--accent-fill);padding:4px 10px;border-radius:6px;margin-top:3px}
.b-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.b-cards u{height:44px;border-radius:8px;background:rgb(255 255 255 / .05);border:1px solid var(--line)}
.b-cards u.lit{border-color:rgb(90 177 255 / .5);background:rgb(90 177 255 / .12);box-shadow:0 0 24px rgb(33 139 255 / .35)}
.browser.wide{max-width:420px}

/* mini: whatsapp chat */
.chat{width:100%;max-width:330px;display:grid;gap:9px}
.bub{max-width:82%;padding:9px 13px;border-radius:14px;font-size:14px;line-height:1.4;margin:0!important;color:#fff!important}
.bub.in{background:var(--bg-3);border-bottom-left-radius:3px}
.bub.out{justify-self:end;background:var(--wa);border-bottom-right-radius:3px}

/* mini: google maps card */
.gm{width:100%;max-width:420px;display:grid;grid-template-columns:130px 1fr;border-radius:12px;overflow:hidden;border:1px solid var(--line-strong);background:var(--bg-2)}
.gm-map{display:grid;place-items:center;background:
  linear-gradient(90deg,transparent 48%,rgb(255 255 255 / .1) 48% 52%,transparent 52%),
  linear-gradient(0deg,transparent 60%,rgb(255 255 255 / .1) 60% 64%,transparent 64%),
  linear-gradient(35deg,transparent 40%,rgb(90 177 255 / .15) 40% 44%,transparent 44%),#0c1b2d}
.gm-map svg{fill:#e5484d;stroke:#fff;stroke-width:1.2;filter:drop-shadow(0 4px 8px rgb(0 0 0 / .5))}
.gm-card{display:grid;gap:3px;padding:14px;font-size:13.5px}
.gm-card b{font:600 16px var(--font-display);letter-spacing:-.02em}
.gm-card .ok{color:var(--ok)}
.gm-card .mut{color:var(--fg-60);font-size:12.5px}
.gm-btns{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.gm-btns i{font-style:normal;font-size:12px;padding:4px 10px;border-radius:999px;border:1px solid var(--line-strong);color:var(--accent)}

/* mini: responsive preview */
.resp{display:flex;align-items:flex-end;justify-content:center;gap:18px;width:100%}
.resp .browser{max-width:300px}
.mphone{width:84px;height:150px;flex:none;border-radius:16px;border:2px solid var(--line-strong);background:var(--bg-2);padding:10px 8px;display:grid;gap:6px;align-content:start;justify-items:start;box-shadow:0 0 30px rgb(33 139 255 / .25)}
.mp-bar{width:22px;height:3px;border-radius:2px;background:rgb(255 255 255 / .25);justify-self:center}
.mphone b{height:7px;width:80%;border-radius:3px;background:rgb(255 255 255 / .55)}
.mphone b.s{width:55%;background:rgb(255 255 255 / .2)}
.mphone em{font:500 9px var(--font-body);font-style:normal;color:#fff;background:var(--accent-fill);padding:3px 7px;border-radius:5px}
.mphone u{width:100%;height:46px;border-radius:7px;background:rgb(90 177 255 / .14);border:1px solid rgb(90 177 255 / .4)}

/* mini: booking */
.mini.mini-book{height:auto;min-height:252px;padding:14px}
.book{position:relative;overflow:hidden;width:100%;max-width:340px;display:grid;gap:10px;padding:12px;border-radius:var(--r-md);background:var(--bg-2);border:1px solid var(--line-strong);box-shadow:0 18px 40px -22px rgb(0 0 0 / .8)}
.book *{margin:0}
.bk-head{display:flex;align-items:center;gap:8px}
.bk-ico{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:var(--r-sm);background:rgb(90 177 255 / .12);border:1px solid rgb(90 177 255 / .35)}
.bk-ico svg{width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bk-name{flex:1;min-width:0;font:600 14px/1.2 var(--font-display);letter-spacing:-.02em;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bk-tag{flex:none;font:500 12px/1 var(--font-body);padding:4px 8px;border-radius:999px;border:1px solid var(--line-strong);color:var(--fg-80)}
.bk-svc{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:7px 10px;border-radius:var(--r-sm);background:rgb(255 255 255 / .04);border:1px solid var(--line);color:var(--fg-80)}
.bk-svc b{font-weight:500;color:#fff}
.bk-days{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.bk-days span{display:grid;justify-items:center;gap:1px;padding:6px 0;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--fg-80)}
.bk-days i{font-style:normal;font-size:12px;line-height:1.2;color:var(--fg-60)}
.bk-days b{font:600 15px/1.2 var(--font-display);color:#fff}
.bk-days .on{background:var(--accent-fill);border-color:var(--accent);box-shadow:0 0 0 3px rgb(90 177 255 / .22)}
.bk-days .on i{color:#fff}
.bk-days .off{opacity:.38}
.bk-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bk-slots span{position:relative;isolation:isolate;text-align:center;font-size:13px;line-height:1.2;padding:7px 0;border-radius:var(--r-sm);border:1px solid var(--line);color:var(--fg-80)}
.bk-slots .off{opacity:.38;text-decoration:line-through}
.bk-slots .pick{color:#fff;border-color:var(--accent)}
.bk-slots .pick::before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(180deg,#2a69d8,var(--accent-fill) 60%,#1853bd);box-shadow:0 0 16px rgb(33 139 255 / .45)}
.bk-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:2px}
.bk-sum{font:500 14px/1.2 var(--font-body);color:#fff}
.bk-ok{display:inline-flex;align-items:center;gap:6px;flex:none;padding:9px 14px;border-radius:var(--r-sm);font:500 13px/1.2 var(--font-body);color:#fff;
  background:linear-gradient(180deg,#2a69d8,var(--accent-fill) 60%,#1853bd);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .35),inset 0 -2px 0 rgb(0 0 0 / .22),0 0 0 1px rgb(90 177 255 / .35)}
.bk-ok svg,.bk-toast svg{flex:none;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bk-toast{position:absolute;left:10px;right:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--wa);color:#fff;font:500 12.5px/1.3 var(--font-body);box-shadow:0 10px 24px -8px rgb(0 0 0 / .7);opacity:0;transform:translateY(130%);pointer-events:none}
@media (prefers-reduced-motion:no-preference){
  .book{--t:8s}
  .bk-slots .pick::before{animation:bkPick var(--t) var(--ease) infinite}
  .bk-ok{animation:bkPress var(--t) var(--ease) infinite}
  .bk-toast{animation:bkToast var(--t) var(--ease) infinite}
  .book.is-paused *,.book.is-paused *::before{animation-play-state:paused}
}
@keyframes bkPick{0%,12%{opacity:0}20%,100%{opacity:1}}
@keyframes bkPress{0%,52%{transform:none}56%{transform:scale(.94)}62%,100%{transform:none}}
@keyframes bkToast{0%,58%{opacity:0;transform:translateY(130%)}66%,90%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(130%)}}

/* mini: checklist */
.check{width:100%;max-width:340px;display:grid;gap:9px}
.check li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:10px;background:var(--bg-2);border:1px solid var(--line);font-size:14px;color:var(--fg-80)}
.check svg{flex:none;width:16px;height:16px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Trabajos: tall site captures in a fixed window, auto-scroll on hover (fine pointers only) */
.works{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.work{--vh:340px;position:relative;display:flex;flex-direction:column;padding:12px 12px 26px;border-radius:var(--r-lg);overflow:hidden;
  background:linear-gradient(160deg,rgb(255 255 255 / .045),transparent 40%),var(--bg-1);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgb(255 255 255 / .06);
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.work:hover,.work:focus-within{border-color:var(--line-strong);box-shadow:inset 0 1px 0 rgb(255 255 255 / .06),0 0 0 1px rgb(90 177 255 / .25),0 18px 60px -30px rgb(33 139 255 / .55)}
.w-feat{grid-column:span 12;--vh:460px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:8px 12px;padding-bottom:12px}
.w-side{grid-column:span 6}
.shot{position:relative;border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--bg-0);overflow:hidden;box-shadow:0 22px 50px -26px rgb(0 0 0 / .85),0 0 60px -20px rgb(33 139 255 / .35)}
.shot-bar{display:flex;align-items:center;gap:6px;height:28px;padding:0 12px;background:var(--bg-2);border-bottom:1px solid var(--line)}
.shot-bar i{width:8px;height:8px;border-radius:50%;background:rgb(255 255 255 / .18)}
.shot-view{position:relative;height:var(--vh);overflow:hidden;background:var(--bg-0)}
.shot-view img{width:100%;height:auto;max-width:none;transition:translate 1.2s var(--ease)}
.shot-hint{display:none;margin-left:auto;font:500 12px/1 var(--font-body);color:var(--fg-60);white-space:nowrap;pointer-events:none;transition:opacity .3s}
.work-body{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px 14px 0}
.w-feat .work-body{justify-content:center;padding:28px 22px 28px 16px;gap:16px}
.work-tag{align-self:flex-start;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--accent);background:rgb(33 139 255 / .12);border:1px solid rgb(90 177 255 / .3)}
.work-body h3{font:600 clamp(24px,2.4vw,32px)/1.12 var(--font-display);letter-spacing:-.035em}
.work-body p{color:var(--fg-80);font-size:16px;max-width:46ch}
.work-body .btn{margin-top:auto}.w-side .work-body{flex:1;padding-bottom:4px}.w-side .work-body p{margin-bottom:10px}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .shot-hint{display:inline-flex}
  .work:hover .shot-view img,.work:focus-within .shot-view img{translate:0 calc(-100% + var(--vh));transition:translate 8s ease-in-out}
  .work:hover .shot-hint,.work:focus-within .shot-hint{opacity:0}
}

/* Scroll-fill statement */
.statement-sec{background:linear-gradient(180deg,var(--bg-0),var(--bg-1) 30%,var(--bg-0))}
.fill-text{font:600 clamp(30px,5vw,70px)/1.1 var(--font-display);letter-spacing:-.045em;color:var(--fg);max-width:22ch;text-wrap:balance}
.fill-text .line{background:linear-gradient(to right,#f7f9fc 50%,rgb(247 249 252 / .3) 50%);background-size:200% 100%;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}

/* Rubros */
.rubros{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.photo-card{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:520px;border:1px solid var(--line);isolation:isolate}
.photo-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .8s var(--ease)}
.photo-card:hover img{transform:scale(1.04)}
.shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgb(7 17 29 / .1) 20%,rgb(7 17 29 / .88) 62%,rgb(7 17 29 / .96))}
.info{position:absolute;left:0;right:0;bottom:0;padding:24px 22px;display:grid;gap:8px}
.info h3{font:600 clamp(20px,1.9vw,25px)/1.15 var(--font-display);letter-spacing:-.03em}
.info p{color:var(--fg-80);font-size:16px}

/* Plans */
.planes-sec{background:linear-gradient(180deg,var(--bg-0),var(--bg-1) 40%,var(--bg-0))}
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.plan{position:relative;display:flex;flex-direction:column;gap:16px;padding:32px 28px 28px;border-radius:var(--r-xl);
  background:linear-gradient(160deg,rgb(255 255 255 / .05),transparent 40%),var(--bg-1);border:1px solid var(--line);box-shadow:inset 0 1px 0 rgb(255 255 255 / .06)}
.plan h3{font:600 26px/1.1 var(--font-display);letter-spacing:-.03em}
.plan .tag{color:var(--fg-80);font-size:16px;min-height:3em}
.price{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:6px 0 10px;border-bottom:1px solid var(--line)}
.amt{font:600 46px/1 var(--font-display);letter-spacing:-.045em}
.per{font-size:15px;color:var(--fg-60)}
.feat{display:grid;gap:12px;margin-bottom:12px;flex:1;align-content:start}
.feat li{display:flex;gap:10px;align-items:flex-start;font-size:15.5px;color:var(--fg-80);line-height:1.45}
.feat li.lead-in{font-weight:500;color:#fff}
.feat svg{flex:none;width:18px;height:18px;margin-top:2px;fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.plan.best{translate:0 -14px;padding-top:40px;border-color:rgb(90 177 255 / .6);
  background:radial-gradient(420px 260px at 50% -10%,rgb(33 139 255 / .28),transparent 70%),linear-gradient(160deg,rgb(255 255 255 / .07),transparent 40%),var(--bg-2);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .12),0 0 0 1px rgb(90 177 255 / .25),0 0 90px -10px rgb(33 139 255 / .5)}
.badge{position:absolute;top:-14px;left:50%;translate:-50% 0;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:500;color:#fff;white-space:nowrap;
  background:linear-gradient(180deg,#2a69d8,var(--accent-fill));box-shadow:0 0 24px rgb(33 139 255 / .6),inset 0 1px 0 rgb(255 255 255 / .35)}
.lp{align-self:flex-start;margin-top:-4px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--accent);background:rgb(33 139 255 / .12);border:1px solid rgb(90 177 255 / .3)}
.cta-offer{font:500 clamp(17px,1.6vw,20px)/1.4 var(--font-body);color:var(--accent)}
.quote-band{margin-top:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:28px 32px;border-radius:var(--r-lg);
  background:radial-gradient(500px 200px at 0% 50%,rgb(33 139 255 / .18),transparent 70%),var(--bg-1);border:1px solid var(--line-strong)}
.quote-band h3{font:600 clamp(20px,2.2vw,26px)/1.2 var(--font-display);letter-spacing:-.03em;max-width:38ch;margin-bottom:6px}
.quote-band p{color:var(--fg-80)}
.promise-title{margin-top:40px;font:500 13px/1 var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-50)}
.promise{margin-top:16px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.promise li{display:flex;align-items:center;gap:12px;font-size:15px;color:var(--fg-80);padding:14px 16px;border-radius:var(--r-md);border:1px solid var(--line)}
.promise svg{flex:none;width:22px;height:22px;fill:none;stroke:var(--accent);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps li{padding:34px 26px 38px;display:grid;gap:12px;align-content:start;position:relative}
.steps li+li{border-left:1px solid var(--line)}
.steps li::before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--accent);box-shadow:0 0 14px var(--glow);transition:width .8s var(--ease)}
.steps li:hover::before{width:100%}
.steps b{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font:600 17px var(--font-display);color:var(--accent);border:1px solid rgb(90 177 255 / .45);background:rgb(90 177 255 / .08)}
.steps h3{font:600 22px/1.2 var(--font-display);letter-spacing:-.03em}
.steps p{color:var(--fg-60);font-size:16px}

/* FAQ */
.faq-wrap{max-width:860px}
.faq{border-top:1px solid var(--line)}
.qa{border-bottom:1px solid var(--line)}
.qa h3{font:inherit}
.qa button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 4px;background:none;border:0;text-align:left;cursor:pointer;
  font:600 clamp(18px,2vw,22px)/1.3 var(--font-display);letter-spacing:-.02em;color:var(--fg)}
.qa button:hover{color:#fff}
.qa button i{flex:none;position:relative;width:34px;height:34px;border-radius:50%;border:1px solid var(--line-strong);transition:background .3s,border-color .3s}
.qa button i::before,.qa button i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:var(--accent);translate:-50% -50%;transition:transform .3s var(--ease)}
.qa button i::after{transform:rotate(90deg)}
.qa button[aria-expanded="true"] i{background:rgb(90 177 255 / .14);border-color:rgb(90 177 255 / .6)}
.qa button[aria-expanded="true"] i::after{transform:rotate(0)}
.ans{padding:0 56px 26px 4px;color:var(--fg-80);max-width:70ch}

/* Final CTA */
.cta{position:relative;isolation:isolate;overflow:hidden;padding:clamp(100px,14vw,190px) 0;text-align:center;background:var(--bg-0)}
.cta-glow{inset:auto 0 0 0;height:100%;z-index:-1}
.cta-glow .g1{top:auto;bottom:-30%;left:50%;width:min(1000px,110vw);height:420px;translate:-50% 0;background:var(--glow);opacity:.6;animation:none}
.cta-glow .g2{top:auto;bottom:-10%;right:10%;opacity:.9}
.cta-glow .e1{top:-10%;bottom:auto;left:50%;width:min(1400px,140vw);height:520px;translate:-50% 0}
.cta-glow .core{top:auto;bottom:6%;width:240px;height:160px;opacity:.9}
.cta-inner{display:flex;flex-direction:column;align-items:center;gap:24px;position:relative;z-index:2}
.cta-inner .display{max-width:14ch}
.cta-inner .sub{margin-inline:auto}

/* Footer */
.footer{position:relative;background:var(--bg-0);border-top:1px solid var(--line);padding-top:clamp(48px,6vw,80px);overflow:hidden}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
.foot-grid>div{display:grid;gap:10px;align-content:start;font-size:15.5px;color:var(--fg-60)}
.foot-grid strong{font:500 13px var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-50);margin-bottom:6px}
.foot-grid a:hover{color:#fff}
.foot-brand img{width:176px;height:auto;margin-bottom:6px}
.foot-brand p{max-width:30ch}
/* Giant footer wordmark: mirrors the logo (CHARRÚA off-white, CODE brand blue), fading downwards */
.wordmark{font:600 clamp(40px,11.6vw,176px)/.86 var(--font-display);letter-spacing:-.035em;text-transform:uppercase;text-align:center;white-space:nowrap;max-width:100%;overflow:hidden;margin-top:clamp(30px,5vw,60px);padding-top:.12em;padding-bottom:.02em;user-select:none}
.wordmark span{-webkit-background-clip:text;background-clip:text;color:transparent}
.wordmark .wm-a{background-image:linear-gradient(180deg,rgb(247 249 252 / .5),rgb(247 249 252 / 0) 90%)}
.wordmark .wm-b{background-image:linear-gradient(180deg,rgb(33 139 255 / .75),rgb(33 139 255 / 0) 90%)}

/* Floating Instagram DM */
.ig-float{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7a2fc0,#c13584 55%,#d92a64);
  box-shadow:inset 0 1px 0 rgb(255 255 255 / .3),0 0 0 1px rgb(255 255 255 / .22),0 0 34px rgb(193 53 132 / .6);transition:transform .3s var(--ease),box-shadow .3s}
.ig-float:hover{transform:scale(1.07)}
.ig-float:focus-visible{outline-color:#fff}

/* Responsive */
@media (max-width:1100px){
  .rubros{grid-template-columns:1fr 1fr}
  .promise{grid-template-columns:1fr 1fr}
  .float-chip{display:none}
}
@media (max-width:980px){
  .c7,.c5,.c6{grid-column:span 12}
  .w-feat{grid-template-columns:1fr;--vh:400px}
  .w-feat .work-body{padding:20px 14px 14px}
  .w-side{grid-column:span 12}
  .plans{grid-template-columns:1fr;max-width:520px;margin-inline:auto;gap:30px}
  .plan.best{translate:0 0}
  .plan .tag{min-height:0}
  .steps{grid-template-columns:1fr 1fr}
  .steps li:nth-child(3){border-left:0}
  .steps li:nth-child(n+3){border-top:1px solid var(--line)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .menu-btn{display:block}
  .nav nav{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;gap:2px;padding:10px;border-radius:16px;
    background:#0b1726;border:1px solid rgb(255 255 255 / .12)}
  .nav.open nav{display:flex}
  .nav nav a{padding:14px 16px;font-size:17px;border-radius:10px}
}
@media (max-width:768px){
  .g{scale:.6}
  .g1,.g2,.e1{filter:blur(60px)}
  .core{filter:blur(48px)}
  .hero-photo{height:40%}
  .stage{margin-top:36px;padding-bottom:44px}
  .phone{width:270px;height:560px}
  .ph-screen{--vis:540px}
}
@media (max-width:640px){
  .rubros{grid-template-columns:1fr}
  .photo-card{min-height:380px}
  .steps{grid-template-columns:1fr}
  .steps li+li{border-left:0;border-top:1px solid var(--line)}
  .promise{grid-template-columns:1fr}
  .quote-band{padding:24px 20px}
  .quote-band .btn{width:100%}
  .ans{padding-right:4px}
}
@media (max-width:520px){
  .brand img{width:138px}
  .nav{padding-left:14px}
  .foot-grid{grid-template-columns:1fr}
  .mini{padding:12px;height:226px}
  .work{--vh:300px}
  .w-feat{--vh:340px}
  .gm{grid-template-columns:90px 1fr}
  .actions .btn{width:100%}
  .mphone{width:72px}
  .resp .browser{max-width:210px}
  .ig-float{right:14px;bottom:14px;width:56px;height:56px}
  .footer{padding-bottom:72px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .marquee{overflow:visible;-webkit-mask-image:none;mask-image:none}
  .marquee-track{flex-wrap:wrap;justify-content:center;width:auto;max-width:900px;margin-inline:auto}
}
