/* ==========================================================================
   TESCO — hoja de estilos
   Reglas tomadas del sitio anterior (tesco.mxc.mx), recortadas a lo que usa
   esta página. Los colores viven en las variables de .tesco-root.
   Al final están los pocos añadidos propios de esta versión estática.
   ========================================================================== */
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}
:before,:after{--tw-content: ""}
html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}
body{margin:0;line-height:inherit}
hr{height:0;color:inherit;border-top-width:1px}
abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}
a{color:inherit;text-decoration:inherit}
b,strong{font-weight:bolder}
code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-.25em}
sup{top:-.5em}
table{text-indent:0;border-color:inherit;border-collapse:collapse}
button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}
button,select{text-transform:none}
button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}
:-moz-focusring{outline:auto}
:-moz-ui-invalid{box-shadow:none}
progress{vertical-align:baseline}
::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}
[type=search]{-webkit-appearance:textfield;outline-offset:-2px}
::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
summary{display:list-item}
blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}
fieldset{margin:0;padding:0}
legend{padding:0}
ol,ul,menu{list-style:none;margin:0;padding:0}
dialog{padding:0}
textarea{resize:vertical}
input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}
input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}
button,[role=button]{cursor:pointer}
:disabled{cursor:default}
img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}
img,video{max-width:100%;height:auto}
[hidden]:where(:not([hidden=until-found])){display:none}
:root{--background: 220 20% 7%;--foreground: 40 10% 92%;--card: 220 18% 10%;--card-foreground: 40 10% 92%;--popover: 220 18% 10%;--popover-foreground: 40 10% 92%;--primary: 38 92% 55%;--primary-foreground: 220 20% 7%;--secondary: 220 15% 15%;--secondary-foreground: 40 10% 80%;--muted: 220 15% 13%;--muted-foreground: 220 10% 50%;--accent: 38 92% 55%;--accent-foreground: 220 20% 7%;--destructive: 0 72% 51%;--destructive-foreground: 210 40% 98%;--border: 220 15% 16%;--input: 220 15% 16%;--ring: 38 92% 55%;--radius: .75rem;--sidebar-background: 220 18% 10%;--sidebar-foreground: 40 10% 92%;--sidebar-primary: 38 92% 55%;--sidebar-primary-foreground: 220 20% 7%;--sidebar-accent: 220 15% 15%;--sidebar-accent-foreground: 40 10% 80%;--sidebar-border: 220 15% 16%;--sidebar-ring: 38 92% 55%;--surface-glass: 220 18% 12%;--surface-elevated: 220 16% 14%;--success: 152 60% 45%;--warning: 38 92% 55%;--info: 210 80% 55%}
html{scroll-behavior:smooth}
*{border-color:hsl(var(--border))}
body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:Inter,sans-serif}
h1,h2,h3,h4,h5,h6{font-family:Space Grotesk,sans-serif}
.pointer-events-none{pointer-events:none}
.fixed{position:fixed}
.absolute{position:absolute}
.relative{position:relative}
.inset-0{top:0;right:0;bottom:0;left:0}
.inset-x-0{left:0;right:0}
.bottom-0{bottom:0}
.bottom-6{bottom:1.5rem}
.left-1\/2{left:50%}
.right-5{right:1.25rem}
.top-0{top:0}
.top-1\/2{top:50%}
.top-5{top:1.25rem}
.z-0{z-index:0}
.z-10{z-index:10}
.z-50{z-index:50}
.z-\[60\]{z-index:60}
.z-\[80\]{z-index:80}
.order-1{order:1}
.order-2{order:2}
.mx-auto{margin-left:auto;margin-right:auto}
.mb-6{margin-bottom:1.5rem}
.mt-1{margin-top:.25rem}
.mt-10{margin-top:2.5rem}
.mt-14{margin-top:3.5rem}
.mt-16{margin-top:4rem}
.mt-2{margin-top:.5rem}
.mt-20{margin-top:5rem}
.mt-3{margin-top:.75rem}
.mt-4{margin-top:1rem}
.mt-5{margin-top:1.25rem}
.mt-6{margin-top:1.5rem}
.mt-7{margin-top:1.75rem}
.mt-8{margin-top:2rem}
.block{display:block}
.flex{display:flex}
.inline-flex{display:inline-flex}
.grid{display:grid}
.hidden{display:none}
.aspect-\[4\/5\]{aspect-ratio:4/5}
.h-10{height:2.5rem}
.h-11{height:2.75rem}
.h-12{height:3rem}
.h-14{height:3.5rem}
.h-20{height:5rem}
.h-4{height:1rem}
.h-5{height:1.25rem}
.h-6{height:1.5rem}
.h-8{height:2rem}
.h-\[120\%\]{height:120%}
.h-\[calc\(100\%-5rem\)\]{height:calc(100% - 5rem)}
.max-h-0{max-height:0px}
.max-h-\[75vh\]{max-height:75vh}
.max-h-full{max-height:100%}
.min-h-screen{min-height:100vh}
.w-10{width:2.5rem}
.w-11{width:2.75rem}
.w-12{width:3rem}
.w-14{width:3.5rem}
.w-4{width:1rem}
.w-5{width:1.25rem}
.w-6{width:1.5rem}
.w-auto{width:auto}
.w-full{width:100%}
.w-px{width:1px}
.max-w-2xl{max-width:42rem}
.max-w-3xl{max-width:48rem}
.max-w-4xl{max-width:56rem}
.max-w-5xl{max-width:64rem}
.max-w-\[1320px\]{max-width:1320px}
.max-w-sm{max-width:24rem}
.max-w-xl{max-width:36rem}
.max-w-xs{max-width:20rem}
.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.translate-y-2{--tw-translate-y: .5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.resize-none{resize:none}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.flex-col{flex-direction:column}
.items-end{align-items:flex-end}
.items-center{align-items:center}
.justify-start{justify-content:flex-start}
.justify-center{justify-content:center}
.justify-between{justify-content:space-between}
.gap-1{gap:.25rem}
.gap-12{gap:3rem}
.gap-14{gap:3.5rem}
.gap-2{gap:.5rem}
.gap-3{gap:.75rem}
.gap-4{gap:1rem}
.gap-5{gap:1.25rem}
.gap-6{gap:1.5rem}
.gap-9{gap:2.25rem}
.gap-px{gap:1px}
.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}
.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}
.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}
.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}
.space-y-px>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1px * var(--tw-space-y-reverse))}
.overflow-hidden{overflow:hidden}
.break-all{word-break:break-all}
.border{border-width:1px}
.border-b{border-bottom-width:1px}
.border-l-2{border-left-width:2px}
.border-t{border-top-width:1px}
.border-accent{border-color:hsl(var(--accent))}
.border-border{border-color:hsl(var(--border))}
.border-primary{border-color:hsl(var(--primary))}
.border-primary-foreground\/15{border-color:hsl(var(--primary-foreground) / .15)}
.border-primary-foreground\/20{border-color:hsl(var(--primary-foreground) / .2)}
.border-primary-foreground\/30{border-color:hsl(var(--primary-foreground) / .3)}
.border-primary-foreground\/40{border-color:hsl(var(--primary-foreground) / .4)}
.bg-\[hsl\(var\(--tesco-ink\)\)\]{background-color:hsl(var(--tesco-ink))}
.bg-\[hsl\(var\(--tesco-ink\)\/0\.95\)\]{background-color:hsl(var(--tesco-ink)/.95)}
.bg-accent{background-color:hsl(var(--accent))}
.bg-background{background-color:hsl(var(--background))}
.bg-border{background-color:hsl(var(--border))}
.bg-card{background-color:hsl(var(--card))}
.bg-primary{background-color:hsl(var(--primary))}
.bg-primary-foreground\/10{background-color:hsl(var(--primary-foreground) / .1)}
.bg-secondary{background-color:hsl(var(--secondary))}
.bg-gradient-to-t{background-image:linear-gradient(to top,var(--tw-gradient-stops))}
.from-\[hsl\(var\(--tesco-ink\)\)\]{--tw-gradient-from: hsl(var(--tesco-ink)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--tesco-ink) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}
.via-\[hsl\(var\(--tesco-ink\)\/0\.35\)\]{--tw-gradient-to: hsl(var(--tesco-ink) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--tesco-ink)/.35) var(--tw-gradient-via-position), var(--tw-gradient-to)}
.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}
.object-contain{-o-object-fit:contain;object-fit:contain}
.object-cover{-o-object-fit:cover;object-fit:cover}
.p-4{padding:1rem}
.p-5{padding:1.25rem}
.p-6{padding:1.5rem}
.p-7{padding:1.75rem}
.p-9{padding:2.25rem}
.px-1{padding-left:.25rem;padding-right:.25rem}
.px-3{padding-left:.75rem;padding-right:.75rem}
.px-4{padding-left:1rem;padding-right:1rem}
.px-5{padding-left:1.25rem;padding-right:1.25rem}
.px-6{padding-left:1.5rem;padding-right:1.5rem}
.px-7{padding-left:1.75rem;padding-right:1.75rem}
.px-8{padding-left:2rem;padding-right:2rem}
.px-9{padding-left:2.25rem;padding-right:2.25rem}
.py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.py-2{padding-top:.5rem;padding-bottom:.5rem}
.py-20{padding-top:5rem;padding-bottom:5rem}
.py-24{padding-top:6rem;padding-bottom:6rem}
.py-3{padding-top:.75rem;padding-bottom:.75rem}
.py-4{padding-top:1rem;padding-bottom:1rem}
.py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.pb-20{padding-bottom:5rem}
.pl-4{padding-left:1rem}
.pl-6{padding-left:1.5rem}
.pt-20{padding-top:5rem}
.pt-28{padding-top:7rem}
.pt-8{padding-top:2rem}
.text-left{text-align:left}
.text-center{text-align:center}
.text-2xl{font-size:1.5rem;line-height:2rem}
.text-3xl{font-size:1.875rem;line-height:2.25rem}
.text-4xl{font-size:2.25rem;line-height:2.5rem}
.text-\[10px\]{font-size:10px}
.text-\[12px\]{font-size:12px}
.text-\[13px\]{font-size:13px}
.text-\[14px\]{font-size:14px}
.text-\[15px\]{font-size:15px}
.text-\[clamp\(2\.3rem\,9vw\,5rem\)\]{font-size:clamp(2.3rem,9vw,5rem)}
.text-\[clamp\(2rem\,6vw\,3\.6rem\)\]{font-size:clamp(2rem,6vw,3.6rem)}
.text-base{font-size:1rem;line-height:1.5rem}
.text-lg{font-size:1.125rem;line-height:1.75rem}
.text-xl{font-size:1.25rem;line-height:1.75rem}
.font-bold{font-weight:700}
.font-extrabold{font-weight:800}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.uppercase{text-transform:uppercase}
.leading-\[0\.98\]{line-height:.98}
.leading-\[1\.05\]{line-height:1.05}
.leading-relaxed{line-height:1.625}
.tracking-\[-0\.035em\]{letter-spacing:-.035em}
.tracking-\[-0\.03em\]{letter-spacing:-.03em}
.tracking-\[0\.12em\]{letter-spacing:.12em}
.tracking-\[0\.16em\]{letter-spacing:.16em}
.tracking-\[0\.18em\]{letter-spacing:.18em}
.tracking-\[0\.22em\]{letter-spacing:.22em}
.tracking-\[0\.28em\]{letter-spacing:.28em}
.tracking-\[0\.3em\]{letter-spacing:.3em}
.tracking-tight{letter-spacing:-.025em}
.text-accent{color:hsl(var(--accent))}
.text-accent-foreground{color:hsl(var(--accent-foreground))}
.text-foreground{color:hsl(var(--foreground))}
.text-muted-foreground{color:hsl(var(--muted-foreground))}
.text-primary{color:hsl(var(--primary))}
.text-primary-foreground{color:hsl(var(--primary-foreground))}
.text-primary-foreground\/50{color:hsl(var(--primary-foreground) / .5)}
.text-primary-foreground\/60{color:hsl(var(--primary-foreground) / .6)}
.text-primary-foreground\/70{color:hsl(var(--primary-foreground) / .7)}
.text-primary-foreground\/75{color:hsl(var(--primary-foreground) / .75)}
.text-primary-foreground\/80{color:hsl(var(--primary-foreground) / .8)}
.text-primary-foreground\/85{color:hsl(var(--primary-foreground) / .85)}
.opacity-0{opacity:0}
.opacity-70{opacity:.7}
.opacity-90{opacity:.9}
.outline-none{outline:2px solid transparent;outline-offset:2px}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.duration-500{transition-duration:.5s}
.duration-500{animation-duration:.5s}
.tesco-root{--background: 0 0% 100%;--foreground: 226 45% 12%;--card: 0 0% 100%;--card-foreground: 226 45% 12%;--popover: 0 0% 100%;--popover-foreground: 226 45% 12%;--primary: 231 49% 33%;--primary-foreground: 0 0% 100%;--secondary: 220 25% 96%;--secondary-foreground: 231 49% 24%;--muted: 220 20% 95%;--muted-foreground: 226 12% 42%;--accent: 38 82% 52%;--accent-foreground: 226 45% 12%;--border: 220 18% 89%;--input: 220 18% 89%;--ring: 231 49% 33%;--radius: .25rem;--tesco-ink: 228 52% 10%;font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif}
.tesco-root h1,.tesco-root h2,.tesco-root h3,.tesco-root h4{font-family:Plus Jakarta Sans,Inter,system-ui,sans-serif;letter-spacing:-.03em}
.tesco-root [data-reveal]{opacity:0;transform:translate3d(0,34px,0);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
.tesco-root [data-reveal].tesco-in{opacity:1;transform:translateZ(0)}
.tesco-root [data-reveal-zoom]{opacity:0;transform:scale(.94);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1.1s cubic-bezier(.22,1,.36,1)}
.tesco-root [data-reveal-zoom].tesco-in{opacity:1;transform:scale(1)}
.tesco-root .tesco-hero-overlay{background:linear-gradient(90deg,hsl(var(--tesco-ink) / .86),hsl(var(--tesco-ink) / .6) 45%,hsl(var(--tesco-ink) / .32)),linear-gradient(180deg,hsl(var(--tesco-ink) / .45) 0%,transparent 35%,hsl(var(--tesco-ink) / .7) 100%)}
.tesco-root .tesco-kenburns{animation:tesco-kenburns 24s ease-out infinite alternate;transform-origin:center center}
.tesco-root .tesco-scroll-dot{animation:tesco-scroll 2.2s ease-in-out infinite}
.tesco-root .tesco-navlink:after{content:"";position:absolute;left:0;bottom:-6px;height:2px;width:100%;background:hsl(var(--accent));transform:scaleX(0);transform-origin:right center;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.tesco-root .tesco-navlink:hover:after,.tesco-root .tesco-navlink[data-active=true]:after{transform:scaleX(1);transform-origin:left center}
.tesco-root .tesco-card{transition:transform .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1);box-shadow:0 24px 60px -44px hsl(var(--tesco-ink) / .55)}
.tesco-root .tesco-card:hover{transform:translateY(-8px);box-shadow:0 40px 90px -40px hsl(var(--tesco-ink) / .55)}
.tesco-root .tesco-zoom-img{transition:transform .9s cubic-bezier(.22,1,.36,1)}
.tesco-root .tesco-zoom-parent:hover .tesco-zoom-img{transform:scale(1.08)}
.tesco-root .tesco-grid-texture{background-image:linear-gradient(hsl(var(--primary) / .06) 1px,transparent 1px),linear-gradient(90deg,hsl(var(--primary) / .06) 1px,transparent 1px);background-size:64px 64px}
.tesco-root .tesco-dark-texture{background-image:radial-gradient(circle at 12% 20%,hsl(var(--accent) / .16) 0%,transparent 32%),radial-gradient(circle at 88% 78%,hsl(231 60% 55% / .22) 0%,transparent 38%),linear-gradient(hsl(0 0% 100% / .035) 1px,transparent 1px),linear-gradient(90deg,hsl(0 0% 100% / .035) 1px,transparent 1px);background-size:auto,auto,72px 72px,72px 72px}
.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.hover\:bg-accent:hover{background-color:hsl(var(--accent))}
.hover\:bg-primary:hover{background-color:hsl(var(--primary))}
.hover\:bg-primary-foreground:hover{background-color:hsl(var(--primary-foreground))}
.hover\:text-accent:hover{color:hsl(var(--accent))}
.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}
.hover\:text-primary:hover{color:hsl(var(--primary))}
.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}
.focus\:border-primary:focus{border-color:hsl(var(--primary))}
.group:hover .group-hover\:max-h-24{max-height:6rem}
.group:hover .group-hover\:translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group:hover .group-hover\:translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}
.group:hover .group-hover\:bg-accent{background-color:hsl(var(--accent))}
.group:hover .group-hover\:text-accent-foreground{color:hsl(var(--accent-foreground))}
.group:hover .group-hover\:opacity-100{opacity:1}
.data-\[active\=true\]\:text-primary[data-active=true]{color:hsl(var(--primary))}
@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}}
@media (min-width: 768px){.md\:mt-20{margin-top:5rem}.md\:flex{display:flex}.md\:h-14{height:3.5rem}.md\:h-\[88px\]{height:88px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-end{align-items:flex-end}.md\:justify-between{justify-content:space-between}.md\:p-10{padding:2.5rem}.md\:px-8{padding-left:2rem;padding-right:2rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:py-32{padding-top:8rem;padding-bottom:8rem}.md\:pb-28{padding-bottom:7rem}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}}
@media (min-width: 1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[0\.95fr_1\.05fr\]{grid-template-columns:.95fr 1.05fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:gap-20{gap:5rem}}
@keyframes tesco-kenburns{0%{transform:scale(1.06) translateZ(0)}to{transform:scale(1.16) translate3d(-1.2%,-1%,0)}}
@keyframes tesco-scroll{0%,to{transform:translateY(0);opacity:.35}50%{transform:translateY(9px);opacity:1}}

/* ==========================================================================
   Añadidos de la versión estática
   ========================================================================== */

/* Lo oculto se queda oculto aunque la clase traiga display. */
[hidden]{display:none !important}

/* Dos utilidades que el sitio anterior no llegó a usar:
   el contador de fotos y la fila de enlaces de la página 404. */
.left-5{left:1.25rem}
@media (min-width:640px){.sm\:gap-9{gap:2.25rem}}

/* El encabezado fijo no debe tapar el título al llegar por un enlace. */
#nosotros,#servicios,#proyectos,#contacto{scroll-margin-top:80px}
@media (min-width:768px){#nosotros,#servicios,#proyectos,#contacto{scroll-margin-top:88px}}

/* Trampa para robots de spam en el formulario. */
.tesco-trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Puntos del visor de fotos. */
.tesco-puntos span{width:.5rem;height:.5rem;border-radius:9999px;background:hsl(var(--primary-foreground)/.35);transition:background-color .3s,transform .3s}
.tesco-puntos span[data-activo="true"]{background:hsl(var(--accent));transform:scale(1.25)}

/* Aviso del formulario cuando algo falla. */
.tesco-aviso-error{color:hsl(var(--destructive))}

/* Quien pide menos movimiento en su sistema, lo recibe. */
@media (prefers-reduced-motion:reduce){
  .tesco-root .tesco-kenburns,.tesco-root .tesco-scroll-dot{animation:none}
  .tesco-root [data-reveal],.tesco-root [data-reveal-zoom]{opacity:1;transform:none;transition:none}
}
