@font-face{font-family:'DM Sans';src:url('assets/fonts/DMSans-Variable.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Ysabeau SC';src:url('assets/fonts/YsabeauSC-Variable.ttf') format('truetype');font-display:swap}
@font-face{font-family:'Dark Twenty';src:url('assets/fonts/DarkTwenty.otf') format('opentype');font-display:swap}

:root{
  --blue:#1F3363;--blue-2:#263f79;--red:#CC1C4C;--white:#fff;--cream:#F7F1E8;--ink:#142245;
  --lime:#CEDF00;--cyan:#0C8FCB;--yellow:#F8B817;--purple:#9E27B5;--muted:#66708A;
  --border:rgba(31,51,99,.14);--shadow:0 24px 70px rgba(31,51,99,.13);--header-h:82px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff}
body{margin:0;font-family:'DM Sans',sans-serif;color:var(--blue);background:#fff;overflow-x:clip}
body.is-intro-running{overflow:hidden}
a{text-decoration:none;color:inherit}img,video{display:block;max-width:100%}button,input{font:inherit}button{color:inherit}
.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--red)}
.eyebrow i{width:28px;height:1px;background:currentColor;display:block}.eyebrow-light{color:#fff}
h1,h2,h3{font-family:'Ysabeau SC',sans-serif;letter-spacing:-.045em;margin:0;color:inherit}
h1{font-size:clamp(56px,7.3vw,112px);line-height:.82;font-weight:780;text-transform:uppercase}
h2{font-size:clamp(44px,6vw,88px);line-height:.9;font-weight:760;text-transform:uppercase}
h3{font-size:clamp(25px,3vw,44px);line-height:.95;font-weight:760}
h1 em,h2 em,h3 em{display:block;font-family:'Dark Twenty',cursive;font-style:normal;font-weight:400;letter-spacing:0;text-transform:lowercase;line-height:.7;color:var(--red)}
p{font-size:16px;line-height:1.62;color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 23px;border-radius:999px;border:1px solid transparent;font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}
.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff;box-shadow:0 10px 26px rgba(31,51,99,.17)}.btn-outline{background:#fff;border-color:var(--border);color:var(--blue)}.btn-light{background:#fff;color:var(--blue)}.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff;background:rgba(255,255,255,.05)}.btn-lime{background:var(--lime);color:var(--blue)}

/* intro */
.intro{position:fixed;inset:0;z-index:999;background:#fdfbf8;display:grid;place-items:center;overflow:hidden;transition:opacity .55s ease,visibility .55s ease}.intro.is-done{opacity:0;visibility:hidden;pointer-events:none}.intro-glow{position:absolute;border-radius:999px;filter:blur(40px);opacity:.45}.intro-glow-a{width:34vw;height:34vw;left:-12vw;bottom:-18vw;background:rgba(204,28,76,.17)}.intro-glow-b{width:30vw;height:30vw;right:-10vw;top:-12vw;background:rgba(31,51,99,.15)}
.intro-brand{position:absolute;top:34px;left:50%;transform:translateX(-50%)}.intro-brand img{width:230px}.intro-kicker{position:absolute;top:19%;left:50%;transform:translateX(-50%);font-family:'Ysabeau SC',sans-serif;font-size:clamp(16px,1.6vw,24px);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin:0;white-space:nowrap;opacity:0;animation:introText 2.35s ease forwards}.intro-caption{position:absolute;bottom:36px;left:50%;transform:translateX(-50%);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:rgba(31,51,99,.58)}
.hands-stage{position:relative;width:min(900px,92vw);height:360px}.hand{position:absolute;top:50%;width:360px;height:160px;transform:translateY(-50%);will-change:transform}.human-hand{left:-44%;animation:humanMeet 2.45s cubic-bezier(.2,.72,.2,1) forwards}.bear-hand{right:-44%;animation:bearMeet 2.45s cubic-bezier(.2,.72,.2,1) forwards}
.hand-forearm{position:absolute;left:0;top:57px;width:185px;height:67px;border-radius:30px 0 0 30px;background:linear-gradient(180deg,#e5b08d,#c98c68);box-shadow:inset 0 10px 16px rgba(255,255,255,.2)}.hand-palm{position:absolute;left:145px;top:44px;width:118px;height:92px;border-radius:54% 48% 50% 44%;background:linear-gradient(145deg,#edbf9e,#c98b66);box-shadow:0 12px 28px rgba(56,34,24,.17),inset 7px 7px 12px rgba(255,255,255,.2)}
.finger{position:absolute;display:block;height:22px;border-radius:999px;background:linear-gradient(180deg,#efc3a4,#d29470);transform-origin:left center;box-shadow:0 5px 10px rgba(72,39,23,.12)}.finger-1{left:222px;top:45px;width:115px;transform:rotate(-11deg)}.finger-2{left:234px;top:70px;width:126px;transform:rotate(-3deg)}.finger-3{left:230px;top:95px;width:118px;transform:rotate(5deg)}.finger-4{left:215px;top:119px;width:93px;transform:rotate(13deg)}.finger-5{left:173px;top:31px;width:78px;height:24px;transform:rotate(-42deg)}
.bear-sleeve{position:absolute;right:0;top:52px;width:184px;height:76px;border-radius:0 34px 34px 0;background:linear-gradient(180deg,#274786,#112b5b)}.bear-cuff{position:absolute;right:162px;top:56px;width:45px;height:69px;background:#fff;border-radius:18px 0 0 18px}.bear-palm{position:absolute;right:184px;top:40px;width:112px;height:103px;border-radius:48%;background:radial-gradient(circle at 35% 30%,#f3a759 0 13%,#d77b25 46%,#b96419 100%);filter:drop-shadow(0 12px 16px rgba(90,45,10,.2))}.bear-finger{position:absolute;width:72px;height:29px;border-radius:999px;background:radial-gradient(circle at 35% 35%,#f0a052,#c36b1e 70%);transform-origin:right center}.bear-finger-1{right:246px;top:46px;transform:rotate(14deg)}.bear-finger-2{right:270px;top:72px;width:86px;transform:rotate(4deg)}.bear-finger-3{right:267px;top:100px;width:82px;transform:rotate(-7deg)}.bear-finger-4{right:247px;top:124px;width:65px;transform:rotate(-15deg)}
.contact-pulse{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;opacity:0;animation:pulseHost 2.45s ease forwards}.contact-pulse i{position:absolute;inset:0;border:1px solid rgba(204,28,76,.6);border-radius:50%;animation:ring 1s ease-out 1.25s both}.contact-pulse i:nth-child(2){border-color:rgba(31,51,99,.55);animation-delay:1.38s}.contact-pulse i:nth-child(3){animation-delay:1.51s}
@keyframes humanMeet{0%{transform:translate(-44vw,-50%) rotate(-6deg)}42%,68%{transform:translate(2px,-50%) rotate(0)}100%{transform:translate(-46vw,-50%) rotate(-5deg);opacity:0}}@keyframes bearMeet{0%{transform:translate(44vw,-50%) rotate(6deg)}42%,68%{transform:translate(-2px,-50%) rotate(0)}100%{transform:translate(46vw,-50%) rotate(5deg);opacity:0}}@keyframes ring{0%{transform:scale(.2);opacity:0}20%{opacity:1}100%{transform:scale(1.75);opacity:0}}@keyframes pulseHost{0%,43%{opacity:0}48%,72%{opacity:1}100%{opacity:0}}@keyframes introText{0%,10%{opacity:0;transform:translate(-50%,12px)}25%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-8px)}}

/* header */
.site-header{position:sticky;top:0;z-index:100;height:var(--header-h);background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(31,51,99,.09)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:250px;height:auto}.header-actions{display:flex;align-items:center;gap:8px}.nav-link{font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:820;letter-spacing:.08em;text-transform:uppercase;padding:12px 15px;border-radius:999px}.nav-link:hover{background:rgba(31,51,99,.06)}.menu-button{display:none;width:46px;height:46px;border:1px solid var(--border);background:#fff;border-radius:50%}.menu-button span{display:block;width:20px;height:2px;background:var(--blue);margin:4px auto;transition:.2s ease}

/* hero */
.hero{position:relative;min-height:calc(100svh - var(--header-h));overflow:hidden;background:linear-gradient(135deg,#fff 0%,#fbf6ef 60%,#f5edf0 100%)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(31,51,99,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(31,51,99,.045) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,#000 0%,transparent 82%)}.hero-orb{position:absolute;border-radius:50%;filter:blur(18px);opacity:.55}.hero-orb-a{width:28vw;height:28vw;background:rgba(204,28,76,.12);right:-7vw;top:5vh}.hero-orb-b{width:22vw;height:22vw;background:rgba(31,51,99,.11);left:-6vw;bottom:2vh}.hero-giant{position:absolute;left:50%;top:49%;transform:translate(-50%,-50%);font-family:'Ysabeau SC',sans-serif;font-size:clamp(140px,18vw,320px);font-weight:900;letter-spacing:-.07em;white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(31,51,99,.10);user-select:none}.hero-inner{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:10px;padding:58px 0 72px}.hero-copy{position:relative;z-index:5;max-width:630px}.hero-copy h1{margin-top:18px}.hero-copy h1 em{font-size:.75em;margin-top:.08em}.hero-copy p{font-size:clamp(15px,1.25vw,18px);max-width:590px;margin:28px 0 0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.hero-proof{display:flex;gap:9px;flex-wrap:wrap;margin-top:23px}.hero-proof span{font-size:11px;font-weight:750;letter-spacing:.05em;text-transform:uppercase;color:var(--blue);padding:9px 12px;border:1px solid var(--border);background:rgba(255,255,255,.72);border-radius:999px}.hero-bear-wrap{position:relative;align-self:stretch;min-height:650px;display:grid;place-items:end center;isolation:isolate;transform:translate3d(var(--bear-x,0),var(--bear-y,0),0) rotate(var(--bear-r,0deg));transition:transform .12s linear;will-change:transform}.hero-bear{position:relative;z-index:4;max-height:min(78vh,740px);width:auto;filter:drop-shadow(0 34px 38px rgba(31,51,99,.2));transform-origin:bottom center;animation:bearFloat 5s ease-in-out infinite}.bear-shadow{position:absolute;z-index:1;bottom:5.5%;left:50%;width:60%;height:8%;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(31,51,99,.23),transparent 68%);filter:blur(8px)}.cursor-hint{position:absolute;z-index:8;top:18%;right:6%;display:flex;align-items:center;gap:8px;padding:9px 11px;background:rgba(255,255,255,.86);border:1px solid var(--border);border-radius:999px;font-size:10px;font-weight:750;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);box-shadow:0 10px 30px rgba(31,51,99,.08)}.cursor-hint span{color:var(--red)}.float-object{position:absolute;z-index:3;filter:drop-shadow(0 18px 24px rgba(31,51,99,.15));will-change:transform;transition:transform .12s linear}.float-object img{height:100%;width:auto;object-fit:contain}.float-object-one{width:72px;height:155px;left:6%;top:15%}.float-object-two{width:72px;height:150px;right:1%;top:44%}.float-object-three{width:100px;height:85px;left:3%;bottom:15%}.hero-scroll{position:absolute;z-index:8;bottom:22px;left:50%;transform:translateX(-50%);border:0;background:transparent;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:rgba(31,51,99,.66);cursor:pointer}.hero-scroll span{display:block;width:1px;height:25px;background:var(--red);margin:8px auto 0;animation:scrollCue 1.5s ease-in-out infinite}@keyframes bearFloat{50%{transform:translateY(-8px) rotate(.3deg)}}@keyframes scrollCue{50%{transform:scaleY(.5);transform-origin:top}}

/* reveal */
.reveal-up{opacity:0;transform:translateY(32px);transition:opacity .75s cubic-bezier(.2,.65,.2,1),transform .75s cubic-bezier(.2,.65,.2,1)}.reveal-up.is-visible{opacity:1;transform:none}

/* marquee */
.product-marquee{position:relative;padding:110px 0 92px;background:var(--blue);overflow:hidden;border-radius:0 0 58px 58px}.marquee-head{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:30px;margin-bottom:48px}.marquee-head h2{color:#fff;max-width:690px}.marquee-head h2 em{color:#fff}.marquee-head p{color:rgba(255,255,255,.72);margin:0;max-width:440px}.marquee-viewport{display:grid;gap:14px;overflow:hidden}.marquee-row{display:flex;gap:14px;width:max-content;will-change:transform}.product-tile{width:248px;height:274px;border-radius:28px;background:#fff;overflow:hidden;display:grid;grid-template-rows:1fr auto;padding:18px 18px 16px;box-shadow:0 20px 42px rgba(0,0,0,.12)}.product-tile-image{display:grid;place-items:center;min-height:0}.product-tile img{height:185px;width:auto;max-width:92%;object-fit:contain;filter:drop-shadow(0 13px 15px rgba(31,51,99,.13))}.product-tile-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(31,51,99,.1);padding-top:11px}.product-tile strong{font-family:'Ysabeau SC',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}.product-tile span{font-size:10px;color:var(--red);font-weight:800}

/* route intro */
.route-story{padding:clamp(92px,11vw,160px) 0;background:#fff}.route-story-inner{max-width:1050px}.route-story h2{font-size:clamp(46px,6vw,84px);margin:18px 0 28px;text-transform:none;line-height:1.02;letter-spacing:-.04em}.animated-copy .char{opacity:.16;transition:opacity .08s linear}.route-actions{display:flex;align-items:center;gap:20px}.route-actions span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}

/* stacked cards */
.stack-section{position:relative;background:#0f1f43;padding:110px 0 170px;border-radius:58px 58px 0 0}.stack-heading{padding-bottom:52px}.stack-heading h2{color:#fff;max-width:920px;margin-top:18px}.stack-heading h2 em{color:#fff}.stack-cards{width:min(1240px,calc(100% - 48px));margin-inline:auto}.stack-card{position:sticky;top:calc(var(--header-h) + 20px);min-height:650px;border-radius:42px;padding:28px 30px 30px;overflow:hidden;box-shadow:0 26px 80px rgba(0,0,0,.22);transform-origin:center top;will-change:transform}.stack-card + .stack-card{margin-top:70vh}.stack-card-store{background:#fff7ee;color:var(--blue)}.stack-card-mayoreo{background:#F7B914;color:var(--blue);top:calc(var(--header-h) + 42px)}.stack-card-vending{background:#118ACA;color:#fff;top:calc(var(--header-h) + 64px)}.stack-card-top{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid currentColor}.stack-card-top a{font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.stack-number{font-family:'Ysabeau SC',sans-serif;font-size:58px;font-weight:850;letter-spacing:-.06em;line-height:.8}.stack-tag{font-family:'Ysabeau SC',sans-serif;font-size:12px;font-weight:820;letter-spacing:.08em;text-transform:uppercase}.stack-card-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:38px;min-height:540px;padding-top:28px}.stack-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.stack-copy h3{font-size:clamp(38px,4vw,60px);max-width:9ch}.stack-copy h3 em{font-size:.88em}.stack-copy p{color:inherit;opacity:.72;max-width:480px;margin:22px 0}.stack-copy ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}.stack-copy li{font-size:14px;font-weight:650;padding-left:22px;position:relative}.stack-copy li:before{content:'↗';position:absolute;left:0;color:var(--red)}.stack-card-vending .stack-copy li:before{color:#fff}.stack-media{border-radius:32px;overflow:hidden;min-height:470px;background:rgba(255,255,255,.34);display:grid;place-items:center}.stack-media img{width:100%;height:100%;object-fit:cover}.store-media img{object-fit:contain;padding:18px}.vending-media img{object-fit:contain;padding:30px}

/* store reveal */
.store-reveal{position:relative;overflow:hidden;background:var(--blue);padding:120px 0 105px}.store-glow{position:absolute;width:42vw;height:42vw;border-radius:50%;right:-8vw;top:-10vw;background:rgba(204,28,76,.22);filter:blur(45px)}.store-reveal-grid{display:grid;grid-template-columns:.78fr 1.22fr;align-items:center;gap:30px}.store-reveal-copy{position:relative;z-index:4}.store-reveal h2{color:#fff;margin:18px 0 22px}.store-reveal h2 em{color:#fff}.store-reveal p{color:rgba(255,255,255,.72);max-width:500px}.store-reveal .btn{margin-top:10px}.store-scene{position:relative;min-height:650px;will-change:transform}.store-render{position:absolute;z-index:2;width:min(760px,100%);right:0;bottom:0;filter:drop-shadow(0 30px 42px rgba(0,0,0,.25))}.store-bear{position:absolute;z-index:3;height:380px;width:auto;left:0;bottom:0;filter:drop-shadow(0 25px 25px rgba(0,0,0,.24))}

/* timeline */
.visit-path{padding:110px 0;background:#fff}.visit-head{text-align:center;max-width:800px;margin:0 auto 70px}.visit-head h2{margin:16px 0 12px}.visit-head p{margin:0}.timeline{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:42px;padding-top:28px}.timeline-line{position:absolute;top:48px;left:12%;right:12%;height:2px;background:rgba(31,51,99,.12)}.timeline-line i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--red),var(--blue));transition:width .08s linear}.timeline-step{text-align:center;position:relative}.timeline-step>span{position:relative;z-index:2;display:grid;place-items:center;width:42px;height:42px;margin:0 auto 30px;border-radius:50%;background:#fff;border:2px solid var(--red);font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:850;box-shadow:0 0 0 9px #fff}.timeline-step h3{font-size:28px}.timeline-step p{max-width:300px;margin:12px auto 0}

/* videos */
.video-story{padding:110px 0;background:#f5f0e8}.video-head{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:34px}.video-head h2{color:var(--blue);grid-column:1/3;max-width:950px;margin-top:18px}.video-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.video-card{position:relative;height:600px;border-radius:32px;overflow:hidden;background:#111;box-shadow:var(--shadow)}.video-card video{width:100%;height:100%;object-fit:cover}.video-card:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(7,15,36,.78))}.video-card-copy{position:absolute;z-index:2;left:30px;right:30px;bottom:28px;color:#fff}.video-card-copy span{font-family:'Ysabeau SC',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase}.video-card-copy h3{font-size:35px;margin-top:8px;max-width:420px}.metric-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border-radius:28px;overflow:hidden}.metric-strip article{padding:30px 26px;background:#fff;border-right:1px solid var(--border)}.metric-strip article:nth-child(2){background:var(--red);color:#fff}.metric-strip article:nth-child(3){background:var(--blue);color:#fff}.metric-strip strong{display:block;font-family:'Ysabeau SC',sans-serif;font-size:52px;line-height:1;font-weight:850}.metric-strip span{display:block;font-size:12px;margin-top:6px;opacity:.8}

/* faq */
.faq-section{padding:120px 0;background:#fff}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.faq-copy{position:sticky;top:calc(var(--header-h) + 30px)}.faq-copy h2{margin:16px 0 18px}.faq-copy p{max-width:430px}.faq-copy img{height:300px;width:auto;margin:30px auto 0;filter:drop-shadow(0 20px 26px rgba(31,51,99,.16))}.faq-list{border-top:1px solid var(--border)}.faq-list details{border-bottom:1px solid var(--border)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:25px 0;cursor:pointer;font-family:'Ysabeau SC',sans-serif;font-size:19px;font-weight:760;letter-spacing:-.02em}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-family:'DM Sans',sans-serif;font-size:22px;font-weight:300;transition:transform .2s ease}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{margin:0;padding:0 40px 24px 0}

/* cta */
.cta-section{padding:0 0 110px;background:#fff}.cta-banner{position:relative;min-height:500px;border-radius:36px;overflow:hidden;background-image:url('assets/img/cta-tu-punto-ideal.png');background-size:cover;background-position:center var(--cta-y,50%);box-shadow:var(--shadow)}.cta-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,37,76,.78),rgba(22,37,76,.35),rgba(22,37,76,.66))}.cta-content{position:relative;z-index:2;min-height:500px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px}.cta-content h2{color:#fff;max-width:780px;margin:18px 0 28px}.cta-content h2 em{color:#fff}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}

/* locator */
.locator-section{padding:110px 0;background:#f5f0e8}.locator-head{text-align:center;max-width:850px}.locator-head h2{margin:18px 0 12px}.locator-head p{margin:0}.locator-shell{margin-top:42px;display:grid;grid-template-columns:420px 1fr;min-height:620px;background:#fff;border:1px solid var(--border);border-radius:30px;overflow:hidden;box-shadow:var(--shadow)}.locator-panel{padding:24px;display:flex;flex-direction:column}.locator-search span{display:block;font-family:'Ysabeau SC',sans-serif;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}.locator-search input{width:100%;height:52px;border-radius:14px;border:1px solid var(--border);padding:0 14px;outline:none;color:var(--blue)}.locator-search input:focus{border-color:rgba(31,51,99,.4);box-shadow:0 0 0 4px rgba(31,51,99,.06)}.locator-search-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}.locator-search-actions .btn{padding:0 12px}.locator-filters{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.filter-chip{border:1px solid var(--border);background:#fff;border-radius:999px;padding:8px 11px;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.filter-chip.is-active{background:var(--blue);border-color:var(--blue);color:#fff}.locator-list{display:grid;gap:8px;overflow:auto;padding-right:3px}.location-item{border:1px solid var(--border);border-radius:18px;padding:14px;cursor:pointer;transition:.2s ease;outline:none}.location-item:hover,.location-item:focus-visible{transform:translateY(-1px);border-color:rgba(31,51,99,.28)}.location-item.is-active{background:#f4f7fb;border-color:rgba(31,51,99,.33)}.location-item[hidden]{display:none}.location-item div{display:flex;justify-content:space-between;align-items:center;gap:10px}.location-item div>span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--red);font-weight:800}.location-item h3{font-size:21px}.location-item p{font-size:12px;line-height:1.45;margin:9px 0 0}.locator-empty{font-size:13px;padding:18px;border:1px dashed var(--border);border-radius:16px}.locator-map{min-height:620px;background:#e8edf2}.locator-map iframe{width:100%;height:100%;min-height:620px;border:0}

/* footer */
.site-footer{background:#071633;color:#fff;padding:70px 0 20px}.footer-grid{display:grid;grid-template-columns:1.4fr .7fr .7fr 1fr;gap:44px;align-items:start}.footer-brand img{width:180px}.footer-brand p{color:rgba(255,255,255,.68)}.site-footer h3{font-size:14px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}.site-footer a{display:block;font-size:13px;color:rgba(255,255,255,.7);margin:8px 0}.footer-mark{height:180px;overflow:hidden;display:flex;align-items:flex-start;justify-content:flex-end}.footer-mark img{height:280px;width:auto;transform:translateY(-5px)}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:18px;display:flex;justify-content:space-between;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.5)}

/* thanks */
.thanks-page{min-height:100svh;background:linear-gradient(135deg,#fff 0,#f6f0e8 62%,#f6eaee)}.thanks-header .header-inner{justify-content:center}.thanks-main{position:relative;min-height:calc(100svh - var(--header-h));overflow:hidden}.thanks-grid{min-height:calc(100svh - var(--header-h));display:grid;grid-template-columns:1fr 1fr;align-items:center}.thanks-copy{position:relative;z-index:2}.thanks-copy h1{margin:18px 0 24px}.thanks-copy p{max-width:540px}.thanks-copy .btn{margin-top:8px}.thanks-bear{align-self:end;display:flex;justify-content:center}.thanks-bear img{max-height:78vh;width:auto;filter:drop-shadow(0 28px 35px rgba(31,51,99,.18))}.thanks-orb{position:absolute;border-radius:50%;filter:blur(30px)}.thanks-orb-a{width:420px;height:420px;background:rgba(204,28,76,.13);right:-100px;top:-100px}.thanks-orb-b{width:360px;height:360px;background:rgba(31,51,99,.1);left:-120px;bottom:-120px}

/* responsive */
@media(max-width:1050px){
  :root{--header-h:76px}.brand img{width:215px}.nav-link{display:none}.menu-button{display:block}.header-actions{position:absolute;top:calc(100% + 10px);right:24px;width:min(310px,calc(100vw - 48px));padding:14px;background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:stretch}.header-actions.is-open{display:flex}.header-actions .nav-link{display:block}.header-actions .btn{width:100%}
  .hero-inner{grid-template-columns:.9fr 1.1fr}.hero-bear-wrap{min-height:610px}.cursor-hint{display:none}.stack-card-grid{grid-template-columns:1fr 1.15fr}.store-reveal-grid{grid-template-columns:1fr}.store-reveal-copy{max-width:750px}.store-scene{min-height:560px}.store-render{left:50%;right:auto;transform:translateX(-50%);width:75%}.store-bear{left:8%}.locator-shell{grid-template-columns:360px 1fr}
}
@media(max-width:780px){
  .container,.stack-cards{width:calc(100% - 30px)}h1{font-size:clamp(48px,14vw,74px)}h2{font-size:clamp(40px,12vw,62px)}
  .intro-brand img{width:190px}.intro-kicker{top:21%;font-size:13px}.hands-stage{height:260px;transform:scale(.72)}
  .hero{min-height:auto}.hero-inner{min-height:auto;grid-template-columns:1fr;padding:52px 0 48px}.hero-copy{text-align:center;margin-inline:auto}.hero-copy .eyebrow{justify-content:center}.hero-copy p{font-size:15px}.hero-actions,.hero-proof{justify-content:center}.hero-bear-wrap{min-height:520px;margin-top:-10px}.hero-bear{max-height:520px}.float-object-one{left:6%;top:9%}.float-object-two{right:2%;top:44%}.float-object-three{left:3%;bottom:12%}.hero-scroll{display:none}.hero-giant{top:72%;font-size:39vw}
  .product-marquee{padding:78px 0 68px;border-radius:0 0 36px 36px}.marquee-head{grid-template-columns:1fr;gap:12px}.product-tile{width:200px;height:228px;border-radius:22px}.product-tile img{height:145px}.route-story{padding:84px 0}.route-story h2{font-size:43px}.route-actions{align-items:flex-start;flex-direction:column}.route-actions span{line-height:1.6}
  .stack-section{padding:80px 0 110px;border-radius:36px 36px 0 0}.stack-card{position:relative;top:auto!important;min-height:auto;border-radius:28px;padding:20px}.stack-card + .stack-card{margin-top:18px}.stack-card-top{grid-template-columns:64px 1fr;gap:10px}.stack-card-top a{grid-column:2}.stack-number{font-size:42px}.stack-card-grid{grid-template-columns:1fr;min-height:auto;gap:24px}.stack-copy h3{max-width:none}.stack-media{min-height:320px;order:-1}.store-media{min-height:290px}.vending-media{min-height:340px}
  .store-reveal{padding:82px 0 64px}.store-scene{min-height:430px}.store-render{width:92%}.store-bear{height:250px;left:0}.visit-path{padding:84px 0}.visit-head{text-align:left;margin-bottom:46px}.timeline{grid-template-columns:1fr;gap:0;padding-left:34px}.timeline-line{left:20px;right:auto;top:21px;bottom:21px;width:2px;height:auto}.timeline-line i{width:100%!important;height:0;background:linear-gradient(var(--red),var(--blue))}.timeline-step{text-align:left;padding:0 0 34px 42px}.timeline-step>span{position:absolute;left:-34px;top:0;margin:0}.timeline-step h3{padding-top:7px}.timeline-step p{margin:10px 0 0}
  .video-story{padding:84px 0}.video-head{display:block}.video-grid{grid-template-columns:1fr}.video-card{height:500px}.metric-strip{grid-template-columns:1fr}.metric-strip article{border-right:0;border-bottom:1px solid var(--border)}
  .faq-section{padding:84px 0}.faq-grid{grid-template-columns:1fr;gap:40px}.faq-copy{position:relative;top:auto}.faq-copy img{height:220px}.cta-section{padding-bottom:84px}.cta-banner,.cta-content{min-height:420px}.cta-banner{border-radius:26px}.cta-content{padding:24px}.cta-actions{flex-direction:column;width:100%;max-width:300px}.cta-actions .btn{width:100%}
  .locator-section{padding:84px 0}.locator-shell{grid-template-columns:1fr}.locator-map,.locator-map iframe{min-height:400px}.locator-panel{padding:18px}.footer-grid{grid-template-columns:1fr 1fr}.footer-mark{display:none}.thanks-grid{grid-template-columns:1fr;text-align:center;padding-top:50px}.thanks-copy p{margin-inline:auto}.thanks-bear img{max-height:48vh}
}
@media(max-width:480px){
  .brand img{width:185px}.header-inner{gap:10px}.header-actions{right:15px;width:calc(100vw - 30px)}.hands-stage{transform:scale(.58)}.intro-kicker{white-space:normal;text-align:center;width:80%}.hero-bear-wrap{min-height:440px}.hero-bear{max-height:450px}.float-object{transform:scale(.8)}.hero-copy h1 em{font-size:.72em}.product-tile{width:180px;height:210px}.product-tile img{height:128px}.stack-card-top{grid-template-columns:52px 1fr}.stack-number{font-size:36px}.stack-media{min-height:280px}.video-card{height:440px}.video-card-copy{left:20px;right:20px;bottom:20px}.video-card-copy h3{font-size:30px}.faq-list summary{font-size:17px}.cta-content h2{font-size:40px}.locator-search-actions{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-bottom{gap:12px;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.intro{display:none}.reveal-up{opacity:1;transform:none;transition:none}.hero-bear,.hero-scroll span{animation:none}.marquee-row{transform:none!important}.animated-copy .char{opacity:1!important}}


/* === update: intro hands image assets === */
.hands-stage{position:relative;width:min(1100px,90vw);height:340px;display:flex;align-items:center;justify-content:center}
.hand-asset{position:absolute;top:50%;max-width:min(47vw,760px);height:auto;will-change:transform,opacity;filter:drop-shadow(0 18px 35px rgba(7,22,51,.16))}
.hand-human{right:50%;transform:translate3d(58vw,-50%,0) rotate(-6deg);animation:introHumanMeet 2.45s cubic-bezier(.22,.68,.1,1) forwards}
.hand-bear{left:50%;transform:translate3d(-58vw,-50%,0) rotate(6deg);animation:introBearMeet 2.45s cubic-bezier(.22,.68,.1,1) forwards}
.intro.is-done .hand-human,.intro.is-done .hand-bear{opacity:0}
@keyframes introHumanMeet{0%{transform:translate3d(58vw,-50%,0) rotate(-6deg)}55%{transform:translate3d(6.4vw,-50%,0) rotate(-2deg)}72%{transform:translate3d(1.2vw,-50%,0) rotate(0deg)}100%{transform:translate3d(2vw,-50%,0) rotate(0deg)}}
@keyframes introBearMeet{0%{transform:translate3d(-58vw,-50%,0) rotate(6deg)}55%{transform:translate3d(-6.4vw,-50%,0) rotate(2deg)}72%{transform:translate3d(-1.2vw,-50%,0) rotate(0deg)}100%{transform:translate3d(-2vw,-50%,0) rotate(0deg)}}
@media(max-width:780px){.hands-stage{height:220px}.hand-asset{max-width:min(55vw,420px)}.hand-human{transform:translate3d(64vw,-50%,0) rotate(-6deg)}.hand-bear{transform:translate3d(-64vw,-50%,0) rotate(6deg)}@keyframes introHumanMeet{0%{transform:translate3d(64vw,-50%,0) rotate(-6deg)}55%{transform:translate3d(8vw,-50%,0) rotate(-2deg)}72%{transform:translate3d(1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(2vw,-50%,0) rotate(0deg)}}@keyframes introBearMeet{0%{transform:translate3d(-64vw,-50%,0) rotate(6deg)}55%{transform:translate3d(-8vw,-50%,0) rotate(2deg)}72%{transform:translate3d(-1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(-2vw,-50%,0) rotate(0deg)}}}

/* === update: hero perfumoso multiple views === */
.hero-bear-wrap{position:relative}
.hero-bear-stage{position:relative;z-index:2;max-width:min(500px,92%);margin-inline:auto;transform:translate3d(var(--bear-x,0),var(--bear-y,0),0) rotate(var(--bear-r,0deg));transition:transform .18s ease}
.hero-bear-frame{position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease, visibility .22s ease;display:block;width:100%;height:auto;filter:drop-shadow(0 26px 34px rgba(31,51,99,.22))}
.hero-bear-frame.is-active{position:relative;opacity:1;visibility:visible;pointer-events:auto}
.hero-bear-frame-mirror{transform:scaleX(-1)}
.cursor-hint{display:none!important}
@media(max-width:780px){.hero-bear-stage{max-width:min(430px,96%)}}

/* === update: marquee centered === */
.marquee-head-centered{display:block;text-align:center;max-width:860px}.marquee-head-centered h2{margin:0 auto}.marquee-head-centered h2 em{display:block}

/* === update: footer without image === */
.footer-grid{grid-template-columns:1.4fr .8fr .8fr}


.hero-bear-wrap{transform:none!important;transition:none!important;will-change:auto!important}
.hands-stage{transform:none!important}
@media(max-width:780px){.hands-stage{transform:none!important}}
@media(max-width:480px){.hands-stage{transform:none!important}}


/* === v3 fine-tuning: intro hand alignment === */
.hand-human{top:53%;right:50%;transform:translate3d(56vw,-50%,0) rotate(-4deg)}
.hand-bear{top:53%;left:50%;transform:translate3d(-56vw,-50%,0) rotate(4deg)}
@keyframes introHumanMeetAligned{0%{transform:translate3d(56vw,-50%,0) rotate(-4deg)}55%{transform:translate3d(6vw,-50%,0) rotate(-1.5deg)}72%{transform:translate3d(1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(2vw,-50%,0) rotate(0deg)}}
@keyframes introBearMeetAligned{0%{transform:translate3d(-56vw,-50%,0) rotate(4deg)}55%{transform:translate3d(-6vw,-50%,0) rotate(1.5deg)}72%{transform:translate3d(-1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(-2vw,-50%,0) rotate(0deg)}}
.hand-human{animation:introHumanMeetAligned 2.45s cubic-bezier(.22,.68,.1,1) forwards}
.hand-bear{animation:introBearMeetAligned 2.45s cubic-bezier(.22,.68,.1,1) forwards}
@media(max-width:780px){
  .hand-human{top:54%;transform:translate3d(60vw,-50%,0) rotate(-4deg)}
  .hand-bear{top:54%;transform:translate3d(-60vw,-50%,0) rotate(4deg)}
  @keyframes introHumanMeetAlignedMobile{0%{transform:translate3d(60vw,-50%,0) rotate(-4deg)}55%{transform:translate3d(7vw,-50%,0) rotate(-1.5deg)}72%{transform:translate3d(1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(2vw,-50%,0) rotate(0deg)}}
  @keyframes introBearMeetAlignedMobile{0%{transform:translate3d(-60vw,-50%,0) rotate(4deg)}55%{transform:translate3d(-7vw,-50%,0) rotate(1.5deg)}72%{transform:translate3d(-1vw,-50%,0) rotate(0deg)}100%{transform:translate3d(-2vw,-50%,0) rotate(0deg)}}
  .hand-human{animation:introHumanMeetAlignedMobile 2.45s cubic-bezier(.22,.68,.1,1) forwards}
  .hand-bear{animation:introBearMeetAlignedMobile 2.45s cubic-bezier(.22,.68,.1,1) forwards}
}


/* === v4: intro handshake rebuilt from the reference === */
.hands-stage-handshake{
  position:relative;
  width:100vw;
  max-width:none;
  height:min(66vh,650px);
  margin-top:2vh;
  overflow:visible;
  transform:none!important;
}
.handshake-half{
  position:absolute;
  left:50%;
  top:52%;
  width:min(1320px,96vw);
  max-width:none;
  height:auto;
  transform-origin:center center;
  filter:drop-shadow(0 22px 38px rgba(7,22,51,.14));
  will-change:transform,opacity;
}
.handshake-left{
  clip-path:inset(0 50% 0 0);
  transform:translate3d(calc(-50% - 48vw),-50%,0);
  animation:handshakeLeftMeet 2.45s cubic-bezier(.22,.68,.1,1) forwards;
}
.handshake-right{
  clip-path:inset(0 0 0 50%);
  transform:translate3d(calc(-50% + 48vw),-50%,0);
  animation:handshakeRightMeet 2.45s cubic-bezier(.22,.68,.1,1) forwards;
}
@keyframes handshakeLeftMeet{
  0%{transform:translate3d(calc(-50% - 48vw),-50%,0)}
  58%{transform:translate3d(calc(-50% - 3.2vw),-50%,0)}
  76%{transform:translate3d(calc(-50% + .7vw),-50%,0)}
  100%{transform:translate3d(-50%,-50%,0)}
}
@keyframes handshakeRightMeet{
  0%{transform:translate3d(calc(-50% + 48vw),-50%,0)}
  58%{transform:translate3d(calc(-50% + 3.2vw),-50%,0)}
  76%{transform:translate3d(calc(-50% - .7vw),-50%,0)}
  100%{transform:translate3d(-50%,-50%,0)}
}
.hands-stage-handshake .contact-pulse{
  left:50%;
  top:56%;
  transform:translate(-50%,-50%);
}
.intro.is-done .handshake-half{opacity:0}
@media(max-width:780px){
  .hands-stage-handshake{height:min(52vh,420px);margin-top:4vh}
  .handshake-half{top:53%;width:min(940px,118vw)}
}

/* === v4: slower cursor-follow and slower view rotation === */
.hero-bear-stage{transition:transform .34s cubic-bezier(.2,.72,.2,1)}
.hero-bear-frame{transition:opacity .38s ease,visibility .38s ease}


/* === v5 final fixes: restore separate intro hands, no split seam === */
.hands-stage{
  position:relative;
  width:min(1200px,96vw);
  height:min(54vh,430px);
  margin-inline:auto;
  display:block;
  transform:none!important;
  overflow:visible;
}
.hands-stage .contact-pulse{
  left:50%;
  top:59%;
  transform:translate(-50%,-50%);
}
.hand-asset{
  position:absolute;
  top:57%;
  height:auto;
  will-change:transform,opacity;
  filter:drop-shadow(0 18px 35px rgba(7,22,51,.15));
}
.hand-bear{
  z-index:2;
  left:50%;
  width:min(56vw,880px);
  transform:translate3d(calc(-100% - 54vw),-50%,0) rotate(0deg);
  animation:introBearConvergeV5 2.35s cubic-bezier(.22,.68,.1,1) forwards;
}
.hand-human{
  z-index:3;
  left:50%;
  width:min(54vw,860px);
  transform:translate3d(54vw,-50%,0) rotate(0deg);
  animation:introHumanConvergeV5 2.35s cubic-bezier(.22,.68,.1,1) forwards;
}
@keyframes introBearConvergeV5{
  0%{transform:translate3d(calc(-100% - 54vw),-50%,0) rotate(0deg)}
  65%{transform:translate3d(calc(-100% - 6vw),-50%,0) rotate(0deg)}
  100%{transform:translate3d(calc(-100% + 3vw),-50%,0) rotate(0deg)}
}
@keyframes introHumanConvergeV5{
  0%{transform:translate3d(54vw,-50%,0) rotate(0deg)}
  65%{transform:translate3d(7vw,-50%,0) rotate(0deg)}
  100%{transform:translate3d(-2.6vw,-50%,0) rotate(0deg)}
}
.intro.is-done .hand-asset{opacity:0}
@media(max-width:780px){
  .hands-stage{height:min(36vh,250px);width:min(1100px,100vw)}
  .hand-asset{top:59%}
  .hand-bear{width:min(66vw,560px)}
  .hand-human{width:min(64vw,540px)}
}

/* === v5 final fixes: subtler and more cursor-sensitive hero === */
.hero-bear-stage{
  max-width:min(470px,88%);
  transform:translate3d(var(--bear-x,0),var(--bear-y,0),0) rotate(var(--bear-r,0deg));
  transition:transform .14s linear;
  will-change:transform;
}
.hero-bear-frame{
  transition:opacity .22s ease, visibility .22s ease;
}
.hero-bear-frame[data-view="back"]{display:none!important}
#heroMagnet{cursor:pointer}
.float-object{
  transition:transform .14s linear;
}


/* === v6: intro handshake clean overlap, no visible cut === */
.hands-stage{
  position:relative;
  width:min(1360px,96vw);
  height:min(56vh,430px);
  margin-inline:auto;
  overflow:hidden;
  transform:none!important;
}
.hand-asset{
  position:absolute;
  top:58%;
  height:auto;
  filter:drop-shadow(0 18px 35px rgba(7,22,51,.14));
  will-change:transform,opacity;
}
.hand-bear{
  z-index:2;
  left:50%;
  width:min(41vw,620px);
  transform:translate3d(calc(-100% - 52vw),-50%,0);
  animation:introBearConvergeV6 2.35s cubic-bezier(.22,.68,.1,1) forwards;
}
.hand-human{
  z-index:3;
  left:50%;
  width:min(39vw,580px);
  transform:translate3d(52vw,-50%,0);
  animation:introHumanConvergeV6 2.35s cubic-bezier(.22,.68,.1,1) forwards;
}
@keyframes introBearConvergeV6{
  0%{transform:translate3d(calc(-100% - 52vw),-50%,0)}
  68%{transform:translate3d(calc(-100% - 5vw),-50%,0)}
  100%{transform:translate3d(calc(-100% + 78px),-50%,0)}
}
@keyframes introHumanConvergeV6{
  0%{transform:translate3d(52vw,-50%,0)}
  68%{transform:translate3d(6vw,-50%,0)}
  100%{transform:translate3d(-66px,-50%,0)}
}
.hands-stage .contact-pulse{left:50%;top:58%;transform:translate(-50%,-50%)}
.intro.is-done .hand-asset{opacity:0}
@media(max-width:780px){
  .hands-stage{height:min(36vh,250px)}
  .hand-asset{top:60%}
  .hand-bear{width:min(51vw,420px);animation:introBearConvergeV6Mobile 2.35s cubic-bezier(.22,.68,.1,1) forwards}
  .hand-human{width:min(49vw,390px);animation:introHumanConvergeV6Mobile 2.35s cubic-bezier(.22,.68,.1,1) forwards}
  @keyframes introBearConvergeV6Mobile{
    0%{transform:translate3d(calc(-100% - 58vw),-50%,0)}
    68%{transform:translate3d(calc(-100% - 6vw),-50%,0)}
    100%{transform:translate3d(calc(-100% + 42px),-50%,0)}
  }
  @keyframes introHumanConvergeV6Mobile{
    0%{transform:translate3d(58vw,-50%,0)}
    68%{transform:translate3d(8vw,-50%,0)}
    100%{transform:translate3d(-34px,-50%,0)}
  }
}

/* === v6: hero bear follows cursor again and swaps views more clearly === */
.hero-bear-stage{
  max-width:min(490px,90%);
  transform:translate3d(var(--bear-x,0),var(--bear-y,0),0) rotate(var(--bear-r,0deg));
  transition:transform .12s linear;
  will-change:transform;
}
.hero-bear-frame{transition:opacity .2s ease, visibility .2s ease}
.hero-bear-frame[data-view="back"]{display:none!important}
#heroMagnet{cursor:pointer}
.float-object{transition:transform .12s linear}
