@import url("./brand.css");
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:112px}
body{margin:0;background:var(--color-cream);color:var(--color-navy);font:400 16px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-underline-offset:5px}
img{max-width:100%;display:block;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--font-body);font-weight:400;text-wrap:balance}
h1{font-size:var(--text-h1);line-height:1.2;letter-spacing:-.025em}
h2{font-size:var(--text-h2);line-height:1.3;letter-spacing:-.015em}
h3{font-size:22px;line-height:1.4}
p{max-width:64ch}
p+p{margin-top:16px}
ul{padding-left:20px}
:focus-visible{outline:3px solid currentColor;outline-offset:5px}
[hidden]{display:none!important}
.container{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.section{padding-block:88px}
.section-navy{background:var(--color-navy);color:var(--color-cream)}
.section-gray{background:var(--color-gray)}
.eyebrow{display:block;font-size:12px;letter-spacing:.17em;text-transform:uppercase;line-height:1.4;margin-bottom:20px}
.eyebrow::before{content:'';display:inline-block;vertical-align:middle;width:30px;height:1px;background:var(--color-gold);margin-right:12px}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:end;margin-bottom:44px}
.section-head p{max-width:57ch}
.section-head h2{max-width:24ch}
.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:12px 22px;background:var(--color-navy);border:1px solid var(--color-navy);border-radius:var(--radius-sm);color:var(--color-cream);font:400 16px/1.4 var(--font-body);text-decoration:none;transition:background .2s,color .2s}
.button:hover{background:var(--color-navy-hover)}
.button-secondary{background:transparent;color:var(--color-navy)}
.button-secondary:hover{background:var(--color-navy);color:var(--color-cream)}
.section-navy .button{background:var(--color-cream);border-color:var(--color-cream);color:var(--color-navy)}
.section-navy .button:hover{background:var(--color-cream-border)}
.section-navy .button-secondary{background:transparent;border-color:var(--color-gold);color:var(--color-cream)}
.section-navy .button-secondary:hover{background:var(--color-navy-hover)}
.button:disabled{opacity:.6;cursor:wait}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.text-link{display:inline-flex;gap:16px;align-items:center;min-height:44px;text-decoration:none;border-bottom:1px solid var(--color-gold)}
.text-link:hover{text-decoration:underline}
.logo{display:block;width:124px;aspect-ratio:984 / 512;background:currentColor;mask:url('./altea-logo.png') center/contain no-repeat;-webkit-mask:url('./altea-logo.png') center/contain no-repeat;color:var(--color-gold);flex-shrink:0}
.site-header{position:sticky;top:0;z-index:50;background:var(--color-navy);color:var(--color-cream);border-bottom:1px solid rgb(252 250 247 / 15%)}
.header-inner{display:flex;min-height:96px;gap:32px;align-items:center;justify-content:space-between}
.site-header a[aria-label="Altéa, inicio"]{text-decoration:none}
.site-header a[aria-label="Altéa, inicio"] .logo{aspect-ratio:984/405;mask-image:url('./altea-wordmark.png');-webkit-mask-image:url('./altea-wordmark.png')}
.site-header a[aria-label="Altéa, inicio"]::after{content:'DIGITAL STUDIO';display:block;text-align:center;font-size:8px;line-height:1.4;letter-spacing:.18em;color:var(--color-gold);margin-top:5px}
.site-nav{display:flex;align-items:center;gap:25px}
.site-nav a{font-size:15px;text-decoration:none;padding-block:10px}
.site-nav a:hover{text-decoration:underline}
.site-nav .button{font-size:14px;padding:10px 16px;min-height:44px;border-color:var(--color-gold);background:transparent;color:var(--color-cream)}
.menu-toggle{display:none;background:transparent;border:1px solid var(--color-gold);border-radius:4px;color:inherit;min-height:44px;padding:8px 14px}
.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--color-cream);color:var(--color-navy);padding:10px 20px}
.skip-link:focus{top:10px}
.hero{padding-top:72px;padding-bottom:0}
.hero-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:72px;align-items:center;padding-bottom:68px}
.hero h1{max-width:20ch}
.hero .lead{margin-top:26px;max-width:59ch}
.hero-art{border-left:1px solid rgb(252 250 247 / 20%);padding-left:56px;align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.hero-art .logo{width:100%;max-width:285px;margin-bottom:36px}
.hero-art p{max-width:26ch;font-size:15px;line-height:1.6}
.hero-specialties{list-style:none;margin:0;padding:22px 0;display:flex;justify-content:space-between;gap:16px;border-top:1px solid rgb(252 250 247 / 20%);font-size:14px}
.hero-specialties li::before{content:'·';color:var(--color-gold);margin-right:12px}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px}
.intro h2{max-width:24ch}
.intro .note{margin-top:24px;border-left:2px solid var(--color-gold);padding-left:20px;font-size:15px}
.services{display:grid;grid-template-columns:1fr 1fr;gap:0 56px}
.service{display:grid;grid-template-columns:34px 1fr;gap:16px;border-top:1px solid var(--color-cream-border);padding:28px 0 34px}
.service .number{font-size:13px;padding-top:6px}
.service h3{max-width:26ch;margin-bottom:16px}
.service p{margin-bottom:20px}
.tags{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:14px;padding:0;list-style:none;margin:0 0 14px}
.tags li{padding-bottom:4px;border-bottom:1px solid var(--color-cream-border)}
.section-tail{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid var(--color-cream-border);padding-top:26px;margin-top:8px}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;list-style:none;padding:0;margin:0}
.steps li{border-top:1px solid var(--color-gold);padding-top:18px}
.steps .number{display:block;font-size:14px;margin-bottom:24px}
.steps h3{font-size:20px;margin-bottom:14px}
.steps p{font-size:16px}
.solutions{border-top:1px solid var(--color-cream-border)}
.solution{display:grid;grid-template-columns:50px .85fr 1.15fr;gap:30px;padding:30px 0;border-bottom:1px solid var(--color-cream-border);align-items:start}
.solution .number{padding-top:5px;font-size:13px}
.solution h3{font-size:24px;margin-bottom:7px}
.solution .descriptor{font-size:14px;max-width:30ch}
.solution .text-link{margin-top:14px}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 24px}
.work-card .project-art{height:200px;background:var(--color-gray);display:flex;align-items:center;justify-content:center;font-size:32px;letter-spacing:.06em;margin-bottom:20px;color:var(--color-navy);border-bottom:2px solid var(--color-gold)}
.work-card:first-child{grid-column:span 2}
.work-card:first-child .project-art{font-size:50px}
.work-card:nth-child(3) .project-art,.work-card:nth-child(6) .project-art{background:var(--color-navy);color:var(--color-cream)}
.work-card h3{font-size:17px;margin-bottom:10px;font-weight:700}
.work-card p{font-size:15px}
.studio{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}
.studio-sign{padding-top:28px;border-top:1px solid var(--color-gold)}
.studio-sign .logo{color:var(--color-navy);width:230px;margin-bottom:32px}
.studio-copy h2{margin-bottom:26px}
.studio-copy p:last-child{border-left:2px solid var(--color-gold);padding-left:22px;margin-top:28px}
.faq-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:72px}
.faq-list details{border-top:1px solid var(--color-cream-border)}
.faq-list details:last-child{border-bottom:1px solid var(--color-cream-border)}
summary{cursor:pointer;list-style:none;padding:22px 34px 22px 0;position:relative;font-size:18px;line-height:1.4}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';position:absolute;right:4px;top:19px;font-size:25px}
details[open] summary::after{content:'−'}
details p{padding-bottom:24px}
.form-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.form-copy h2{margin-bottom:24px}
.form-copy .note{margin-top:24px;font-size:15px}
.benefits{display:flex;flex-direction:column;gap:8px;list-style:none;padding:0;margin-top:26px;font-size:15px}
.benefits li::before{content:'—';margin-right:12px}
.form-panel{border:1px solid var(--color-cream-border);background:var(--color-cream);padding:32px;border-radius:4px}
form{display:grid;gap:16px}
.field{display:grid;gap:7px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label,legend{font-size:15px}
input,textarea,select{width:100%;min-width:0;min-height:46px;background:transparent;border:1px solid rgb(28 34 54 / 40%);border-radius:4px;color:var(--color-navy);padding:10px 12px}
textarea{resize:vertical;min-height:126px}
input::placeholder,textarea::placeholder{color:rgb(28 34 54 / 70%)}
fieldset{margin:0;padding:0;border:0;min-width:0}
.ratings{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.ratings label{display:flex;align-items:center;gap:6px;border:1px solid var(--color-cream-border);padding:8px;min-height:44px;cursor:pointer}
.ratings input{width:16px;min-height:16px;accent-color:var(--color-navy);padding:0}
.consent{display:flex;align-items:flex-start;gap:12px;line-height:1.5}
.consent input{width:18px;min-height:18px;margin-top:4px;flex-shrink:0;accent-color:var(--color-navy)}
.form-status{min-height:24px;font-size:15px}
.form-status[data-state='error']{border-left:3px solid var(--color-navy);padding-left:12px;font-weight:700}
.form-panel .button{width:100%}
.contact-links{display:flex;align-items:flex-start;flex-direction:column;gap:12px;margin-top:28px}
.contact-links a{overflow-wrap:anywhere}
.report{border-top:1px solid var(--color-cream-border);margin-top:24px;padding-top:24px}
.report h3{margin-bottom:16px}
.report ul{list-style:none;padding:0}
.report li{margin:14px 0}
.report meter{width:100%;height:15px;accent-color:var(--color-navy)}
.closing .container{display:flex;justify-content:space-between;align-items:center;gap:40px}
.closing p{margin-top:20px;max-width:52ch}
.site-footer{padding:38px 0;background:var(--color-navy);color:var(--color-cream);border-top:1px solid rgb(252 250 247 / 20%)}
.footer-main{display:flex;justify-content:space-between;align-items:center;gap:32px}
.footer-main .logo{width:136px}
.footer-main p{font-size:14px}
.footer-links{display:flex;gap:20px;flex-wrap:wrap;font-size:14px}
.footer-bottom{margin-top:32px;border-top:1px solid rgb(252 250 247 / 15%);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:12px}
.noscript{padding:12px 20px;background:var(--color-gray);color:var(--color-navy)}
.service-hero{padding:64px 0 70px}
.service-hero h1{max-width:24ch}
.service-hero p{margin-top:24px}
.service-back{font-size:14px;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.detail-item{border-top:1px solid var(--color-cream-border);padding-top:24px}
.detail-item h3{margin-bottom:16px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery img{aspect-ratio:3/4;object-fit:cover;border-radius:4px}
@media(min-width:901px){.site-nav{display:flex!important}}
@media(max-width:1050px){.site-nav{gap:16px}.site-nav .button{display:none}.hero-grid{gap:40px}.hero-art{padding-left:36px}.steps{grid-template-columns:repeat(2,1fr);gap:36px}}
@media(max-width:900px){.container{width:calc(100% - 48px)}.header-inner{min-height:88px}.site-header .logo{width:112px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;inset:88px 0 auto;background:var(--color-navy);padding:22px 24px;box-shadow:0 8px 12px rgb(28 34 54 / 12%);flex-direction:column;align-items:stretch;gap:5px}.site-nav.is-open{display:flex}.site-nav .button{display:flex}.site-nav a{min-height:44px}.hero-grid{grid-template-columns:1.4fr .6fr;gap:36px}.hero-art{padding-left:28px}.hero-art .logo{margin-bottom:22px}.hero-art p{font-size:14px}.section-head,.intro,.studio,.form-layout,.faq-layout{gap:36px}.services{gap:0 28px}.solution{grid-template-columns:25px 1fr 1.3fr;gap:20px}.hero-specialties{flex-wrap:wrap;justify-content:flex-start;gap:12px 24px}.work-grid{grid-template-columns:1fr 1fr}.work-card:first-child{grid-column:auto}.work-card:first-child .project-art{font-size:32px}.form-panel{padding:24px}.field-row{grid-template-columns:1fr}.ratings{gap:5px}.ratings label{padding:6px}.detail-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){html{scroll-padding-top:100px}.container{width:calc(100% - 40px)}.section{padding-block:56px}.hero{padding-top:44px}.hero-grid{grid-template-columns:1fr;padding-bottom:40px;gap:0}.hero-art{display:none}.hero h1{max-width:18ch}.hero .lead{margin-top:22px}.hero .actions{flex-direction:column;align-items:stretch;gap:12px}.hero-specialties{display:grid;grid-template-columns:1fr 1fr;font-size:12px;gap:12px 10px;padding-block:20px}.hero-specialties li::before{margin-right:5px}.section-head,.intro,.studio,.faq-layout,.form-layout{grid-template-columns:1fr;gap:26px}.section-head{margin-bottom:30px}.services,.steps{grid-template-columns:1fr}.service{padding:24px 0;grid-template-columns:24px 1fr;gap:10px}.service h3{font-size:22px}.section-tail{align-items:flex-start;flex-direction:column;gap:16px}.steps{gap:30px}.steps .number{margin-bottom:12px}.solution{grid-template-columns:24px 1fr;gap:12px;padding-block:26px}.solution-copy{grid-column:2}.solution h3{font-size:22px}.solution .descriptor{max-width:none}.work-grid{gap:28px 16px}.work-card .project-art{height:130px;font-size:23px}.work-card:first-child .project-art{font-size:23px}.work-card h3{font-size:15px}.work-card p{font-size:14px}.studio-sign .logo{width:150px;margin-bottom:18px}.studio-sign{padding-top:20px}.studio-sign p{font-size:14px}.faq-layout{gap:30px}summary{font-size:17px}.form-panel{padding:22px 18px}.closing .container{display:block}.closing .button{margin-top:26px}.footer-main{align-items:flex-start;flex-direction:column;gap:24px}.footer-bottom{flex-direction:column;gap:10px}.detail-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr 1fr;gap:10px}.service-hero{padding:44px 0 48px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
@media print{.site-header,.actions,form,.site-nav,.footer-links{display:none}.section{padding-block:24px}.section-navy,.site-footer{background:white;color:#1C2236}.logo{color:#1C2236}}

/* Selector de idioma (inyectado por assets/i18n.mjs en el header de todas las páginas) */
.lang-switch{display:flex;align-items:center;gap:2px;order:2;margin-left:auto}
.lang-switch button{background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--color-cream);font:inherit;font-size:13px;letter-spacing:.05em;min-height:36px;padding:6px 8px;cursor:pointer;opacity:.85}
.lang-switch button:hover{opacity:1;text-decoration:underline}
.lang-switch button[aria-pressed='true']{border-color:var(--color-gold);color:var(--color-gold);opacity:1}
.menu-toggle{order:3}
.site-nav{order:1}
@media(max-width:900px){.lang-switch{gap:0;margin-left:0}.lang-switch button{font-size:12px;padding:6px 5px;min-height:44px}}
@media(max-width:600px){.header-inner{gap:12px}.site-header .logo{width:96px}}

/* Carrusel infinito de Estudio AI (servicios/estudio-ai.html, generado por scripts/build_carousel.py) */
.marquee{overflow:hidden;display:grid;gap:16px;margin:8px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee-row{display:flex;width:max-content;gap:16px;will-change:transform}
.marquee-row img{height:clamp(240px,36vh,380px);width:auto;border-radius:4px;display:block;background:var(--color-gray,#eee)}
.marquee-row[data-dir='left']{animation:marquee-left 370s linear infinite}
.marquee-row[data-dir='right']{animation:marquee-right 365s linear infinite}
.marquee:hover .marquee-row{animation-play-state:paused}
@keyframes marquee-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes marquee-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
@media(max-width:600px){.marquee,.marquee-row{gap:10px}.marquee-row img{height:220px}}
