/* Bricks/Titan primitives with a portfolio layout and responsive adaptation. */
:root{--font-size-s:12px;--font-size-m:14px;--font-size-l:16px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:46px;--font-leading-m:18px;--font-leading-l:20px;--font-leading-5xl:50px;--bg:var(--color-white-900);--border:var(--color-steel-100);--display-size:clamp(46px,5.8vw,80px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-family);font-size:var(--font-size-l);line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--color-information-600);outline-offset:4px}img{display:block;max-width:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;letter-spacing:-.04em;line-height:1.12}h1{font-size:var(--display-size)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}p{color:var(--muted)}.muted{color:var(--color-black-500)}.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:var(--bg)}.nav-inner{max-width:1200px;margin:auto;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--spacing-xl)}.brand{display:flex;align-items:center;gap:var(--spacing-s);line-height:1.1;font-size:var(--font-size-m);letter-spacing:-.02em}.brand strong{font-weight:600}.brand img{height:36px;width:22px}nav{display:flex;gap:var(--spacing-xl);align-items:center;font-size:var(--font-size-m)}nav>a:not(.t-btn):not(.nav-connect__talk){padding:var(--spacing-2xs) 0;color:var(--muted)}nav>a[aria-current]{color:var(--fg);box-shadow:0 2px 0 var(--fg)}nav a:hover{color:var(--fg)}.language{display:flex;align-items:center;gap:var(--spacing-3xs);font-size:var(--font-size-s)}.language button{padding:var(--spacing-2xs) var(--spacing-4xs);border:0;background:none;color:var(--muted)}.language button[aria-pressed=true]{color:var(--fg);font-weight:600}.menu-toggle{display:none}.frame{max-width:1136px;margin:auto;border-left:1px solid var(--border);border-right:1px solid var(--border)}.section{padding:var(--spacing-4xl) var(--spacing-3xl);border-bottom:1px solid var(--border)}.eyebrow{font-size:var(--font-size-s);letter-spacing:.1em;font-weight:500;color:var(--muted);margin-bottom:var(--spacing-l);display:flex;align-items:center;gap:var(--spacing-2xs)}.live-dot{display:inline-block;width:6px;height:6px;background:var(--color-avocado-600);border-radius:50%;vertical-align:middle}.hero{padding-top:var(--spacing-6xl);padding-bottom:var(--spacing-5xl);position:relative;overflow:hidden}.hero h1{max-width:960px;position:relative;z-index:1}.hero-description{max-width:540px;margin-top:var(--spacing-xl);font-size:var(--font-size-l)}.actions{display:flex;flex-wrap:wrap;gap:var(--spacing-s);margin-top:var(--spacing-xl)}.t-btn{font-size:var(--font-size-m);min-height:44px;gap:var(--spacing-m);line-height:1.4;transition:background .2s,transform .2s}.t-btn--outline{background:var(--bg);border:1px solid var(--border);color:var(--fg);box-shadow:var(--elevation-0)}.t-btn--outline:hover{background:var(--color-black-100)}.t-btn--outline:active{background:var(--color-steel-100)}.hero-stamp{position:absolute;bottom:var(--spacing-5xl);right:var(--spacing-4xl);display:flex;align-items:center;flex-direction:column;gap:var(--spacing-s);font-size:9px;letter-spacing:.12em}.asterisk{font-size:130px;line-height:1;color:var(--color-orange-600);animation:turn 35s linear infinite}.discipline-strip{display:flex;align-items:center;justify-content:space-around;gap:var(--spacing-l);padding:var(--spacing-l);border-bottom:1px solid var(--border);font-size:var(--font-size-s);letter-spacing:.07em;color:var(--muted)}.discipline-strip>span:nth-child(even){color:var(--color-orange-600)}.section-heading{display:flex;justify-content:space-between;align-items:end;padding:var(--spacing-3xl);gap:var(--spacing-l)}.section-heading .eyebrow{margin-bottom:var(--spacing-m)}.section-heading>p{font-size:var(--font-size-m)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--border)}.project-card{display:block;padding:var(--spacing-m);border-bottom:1px solid var(--border);min-width:0}.project-card:nth-child(odd){border-right:1px solid var(--border)}.project-cover{height:320px;border-radius:var(--rounded-s);overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.project-cover .art{width:100%;height:100%;display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.2,.7,.2,1)}.project-card:hover .art{transform:scale(1.04)}.project-cover img{height:100%;width:100%;object-fit:cover}.project-cover .preview-label{position:absolute;left:var(--spacing-m);top:var(--spacing-m);font-size:10px;letter-spacing:.1em;z-index:1;border:1px solid currentColor;border-radius:var(--rounded-xs);padding:var(--spacing-4xs) var(--spacing-2xs);opacity:.65}.cover-violet{background:var(--color-violet-200);color:var(--color-violet-900)}.cover-orange{background:var(--color-orange-600);color:var(--color-black-900)}.cover-blue{background:var(--color-blue-900);color:var(--color-ocean-200)}.cover-green{background:var(--color-teal-200);color:var(--color-teal-900)}.art-orbit{width:170px;height:170px;border:30px solid currentColor;border-radius:50%;box-shadow:42px 0 0 -14px var(--color-violet-600),-42px 0 0 -14px var(--color-violet-600);transform:rotate(-30deg)}.art-type{font-size:90px;line-height:.85;letter-spacing:-.09em;font-weight:600;transform:rotate(-8deg)}.art-ui{background:var(--color-white-900);color:var(--color-black-900);width:66%;padding:var(--spacing-l);border-radius:var(--rounded-m);transform:rotate(-6deg);box-shadow:var(--elevation-4)}.art-ui-top{display:flex;justify-content:space-between;font-size:var(--font-size-s)}.art-ui h3{margin:var(--spacing-l) 0 var(--spacing-m);font-size:var(--font-size-xl)}.art-bars{display:flex;gap:var(--spacing-2xs);align-items:end;height:80px}.art-bars i{flex:1;background:var(--color-ocean-300);border-radius:var(--rounded-xs);height:40%}.art-bars i:nth-child(2){height:65%}.art-bars i:nth-child(3){height:50%}.art-bars i:nth-child(4){height:90%;background:var(--color-blue-600)}.art-bars i:nth-child(5){height:75%}.art-flower{font-size:210px;line-height:1}.card-meta{display:flex;justify-content:space-between;gap:var(--spacing-s);align-items:center;padding:var(--spacing-m) var(--spacing-4xs) var(--spacing-2xs)}.card-meta h3{font-size:var(--font-size-l);letter-spacing:-.02em}.card-meta p{font-size:var(--font-size-s);margin-top:var(--spacing-4xs)}.card-arrow{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;transition:background .2s}.project-card:hover .card-arrow{background:var(--color-black-900);color:var(--bg)}.services .section-heading{padding:0 0 var(--spacing-2xl)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.service-icon{font-size:var(--font-size-3xl);display:block;margin-bottom:var(--spacing-xl)}.service-grid h3{margin-bottom:var(--spacing-m)}.service-grid p{font-size:var(--font-size-m);min-height:90px}.tags{font-size:var(--font-size-s);margin-top:var(--spacing-l);padding-top:var(--spacing-m);border-top:1px solid var(--border);color:var(--muted)}.about-teaser{display:grid;grid-template-columns:1fr 1.6fr;gap:var(--spacing-4xl);align-items:center;background:var(--color-black-100)}.about-teaser img{aspect-ratio:1;object-fit:cover;border-radius:var(--rounded-s);filter:grayscale(1)}.about-teaser p:not(.eyebrow){margin:var(--spacing-l) 0}.cta{text-align:center;padding-top:var(--spacing-5xl);padding-bottom:var(--spacing-5xl);background:radial-gradient(var(--color-steel-200) .65px,transparent .65px);background-size:12px 12px}.cta .eyebrow{justify-content:center}.cta h2{font-size:clamp(32px,4.5vw,58px)}.cta p:not(.eyebrow){max-width:440px;margin:var(--spacing-l) auto}.site-footer{max-width:1136px;margin:auto;padding:var(--spacing-3xl) var(--spacing-3xl) var(--spacing-xl)}.footer-top{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-l)}.footer-social{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--spacing-s)}.footer-social .t-btn{min-height:44px;padding:var(--spacing-xs) var(--spacing-m);font-size:var(--font-size-s);gap:var(--spacing-2xs);color:var(--color-steel-900)}.footer-bottom{border-top:1px solid var(--border);padding-top:var(--spacing-l);margin-top:var(--spacing-xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-l);font-size:var(--font-size-s);color:var(--muted)}.page-intro{padding-top:var(--spacing-5xl)}.page-intro h1{margin-bottom:var(--spacing-xl)}.about-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--spacing-4xl)}.portrait img{border-radius:var(--rounded-s)}.portrait>span{display:block;font-size:var(--font-size-s);margin-top:var(--spacing-m);letter-spacing:.08em;color:var(--muted)}.bio p{margin:var(--spacing-l) 0}.bio .t-btn{margin:var(--spacing-2xs) var(--spacing-2xs) 0 0}.tool-list{display:flex;justify-content:space-between;gap:var(--spacing-l);flex-wrap:wrap}.tool-list>div{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--font-size-m)}.tool-list img{width:36px;height:36px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-4xl);padding-top:var(--spacing-5xl)}.contact-layout h1{font-size:clamp(46px,4.4vw,64px)}.lead{margin-top:var(--spacing-l)}.email-block{margin-top:var(--spacing-3xl);display:flex;flex-direction:column;gap:var(--spacing-s)}.social-links{display:flex;gap:var(--spacing-l);margin-top:var(--spacing-xl);font-size:var(--font-size-m)}.contact-decoration{font-size:160px;line-height:1;color:var(--color-orange-600);margin-top:var(--spacing-3xl)}form{border:1px solid var(--border);border-radius:var(--rounded-m);padding:var(--spacing-xl);background:var(--color-black-100)}form>p{font-size:var(--font-size-m);margin:var(--spacing-s) 0 var(--spacing-l)}form .t-field{margin-bottom:var(--spacing-l)}.contact-form .t-field:last-of-type{margin-bottom:var(--spacing-xl)}.t-input{min-width:0}.contact-form .t-select{margin:0}textarea{resize:vertical}.contact-form .t-field__hint{text-align:right;min-height:0}form .t-btn{width:100%}form .form-note{font-size:var(--font-size-s);margin-bottom:0}#form-status:empty{display:none}#form-status{color:var(--color-steel-800)}.faq h2{margin-bottom:var(--spacing-xl)}.faq-item{border-top:1px solid var(--border);padding:0}.faq-item>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-l);padding:var(--spacing-l) 0;font-size:var(--font-size-l);line-height:var(--font-leading-l);color:var(--fg)}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary::marker{content:""}.faq-item>summary>span:first-child{flex:1 1 auto;min-width:0}.faq-icon{display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;color:var(--fg)}.faq-icon [data-lucide],.faq-icon svg.lucide{width:20px;height:20px;display:block;transform-origin:center;transition:transform .3s cubic-bezier(.22,1,.36,1)}.faq-item[open] .faq-icon svg.lucide,.faq-item[open] .faq-icon [data-lucide]{transform:rotate(45deg)}.faq-panel{overflow:hidden;height:0;opacity:0;transition:height .35s cubic-bezier(.22,1,.36,1),opacity .25s ease}.faq-item.is-open>.faq-panel,.faq-item[open]:not(.faq-js)>.faq-panel{height:auto;opacity:1}.faq-panel p{max-width:740px;margin:0;padding:0 0 var(--spacing-l);font-size:var(--font-size-m);color:var(--muted)}@media (prefers-reduced-motion:reduce){.faq-icon [data-lucide],.faq-icon svg.lucide,.faq-panel{transition:none}}dialog{border:1px solid var(--border);border-radius:var(--rounded-l);padding:var(--spacing-xl);max-width:640px;width:calc(100% - 32px);max-height:85vh;box-shadow:var(--elevation-4);color:var(--fg)}dialog::backdrop{background:var(--color-blue-40);backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-l)}.timeline article{border-top:1px solid var(--border);padding:var(--spacing-l) 0}.timeline article>span{color:var(--muted);font-size:var(--font-size-s)}.timeline h3{font-size:var(--font-size-xl);margin:var(--spacing-2xs) 0}.timeline{margin-top:var(--spacing-l)}.detail-cover{height:520px;margin:0 var(--spacing-3xl) var(--spacing-3xl)}.detail-meta{display:flex;gap:var(--spacing-3xl);flex-wrap:wrap;margin-top:var(--spacing-xl)}.detail-meta dt{font-size:var(--font-size-s);color:var(--muted)}.detail-meta dd{margin:var(--spacing-2xs) 0}.detail-text{display:grid;grid-template-columns:1fr 2fr;gap:var(--spacing-xl)}.detail-text p{white-space:pre-line}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-l)}.gallery img,.gallery video{width:100%;border-radius:var(--rounded-s)}.gallery figcaption{font-size:var(--font-size-s);color:var(--muted);padding-top:var(--spacing-s)}.gallery figure{margin:0}.next-project{display:flex;align-items:center;justify-content:space-between}.text-link{text-decoration:underline;text-underline-offset:4px}.page-intro>.text-link{display:inline-block;margin-bottom:var(--spacing-3xl);font-size:var(--font-size-m)}.toast{position:fixed;bottom:var(--spacing-l);left:50%;transform:translateX(-50%);padding:var(--spacing-s) var(--spacing-l);background:var(--fg);color:var(--bg);border-radius:var(--rounded-s);z-index:50}.skip{position:fixed;left:var(--spacing-m);top:-100px;z-index:100;background:var(--bg);padding:var(--spacing-m)}.skip:focus{top:var(--spacing-m)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}[hidden]{display:none!important}@keyframes turn{to{transform:rotate(360deg)}}
@media(max-width:900px){.hero-stamp{display:none}.section{padding:var(--spacing-3xl) var(--spacing-xl)}.section-heading{padding:var(--spacing-xl)}.project-cover{height:260px}.service-grid{gap:var(--spacing-l)}.about-teaser,.about-layout,.contact-layout{gap:var(--spacing-xl)}.contact-layout{grid-template-columns:1fr 1.1fr}.contact-layout h1{font-size:46px}.email-block>a{font-size:var(--font-size-m)}.footer-top,.footer-bottom{flex-wrap:wrap}.detail-cover{margin:0 var(--spacing-xl) var(--spacing-xl)}}
@media(max-width:640px){:root{--display-size:46px}.nav-inner{height:76px;padding:0 var(--spacing-l)}.menu-toggle{display:inline-flex}.header-tools{margin-left:auto;position:relative;z-index:2}.site-header nav{display:none;position:fixed;top:76px;left:0;right:0;z-index:30;max-height:calc(100dvh - 76px);overflow-y:auto;padding:var(--spacing-l);background:var(--bg);border-bottom:1px solid var(--border);align-items:stretch;gap:var(--spacing-l);-webkit-overflow-scrolling:touch}.site-header nav.is-open{display:flex;flex-direction:column}.site-header.is-nav-open{z-index:40}.site-header.is-nav-open~.frame,.site-header.is-nav-open~main{pointer-events:none}.site-header nav.is-open>a:not(.nav-connect__talk){min-height:44px;display:flex;align-items:center}.frame{border:0}.section{padding:var(--spacing-3xl) var(--spacing-l)}.hero{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}.hero h1{font-size:clamp(36px,9.3vw,54px)}.hero .eyebrow{font-size:10px}.hero-description{font-size:var(--font-size-l)}.discipline-strip{justify-content:center;flex-wrap:wrap;gap:var(--spacing-s) var(--spacing-l);font-size:10px}.discipline-strip>span:nth-child(4){display:none}.section-heading{padding:var(--spacing-xl) var(--spacing-l);display:block}.section-heading>p{margin-top:var(--spacing-m)}.project-grid{grid-template-columns:1fr}.project-card:nth-child(odd){border-right:0}.project-cover{height:300px}.service-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}.service-grid article{padding-bottom:var(--spacing-l);border-bottom:1px solid var(--border)}.service-grid p{min-height:0}.service-icon{margin-bottom:var(--spacing-m)}.tags{margin-top:var(--spacing-m)}.about-teaser,.about-layout,.contact-layout{grid-template-columns:1fr;gap:var(--spacing-xl)}.about-teaser img{width:180px}.about-teaser h2{font-size:var(--font-size-3xl)}.portrait img{max-height:440px;width:100%;object-fit:cover}.contact-decoration{display:none}form{padding:var(--spacing-l)}.contact-layout h1{font-size:46px}.tool-list{justify-content:start}.site-footer{padding:var(--spacing-xl) var(--spacing-l)}.footer-bottom{gap:var(--spacing-m);flex-direction:column}.detail-cover{height:300px;margin:0 var(--spacing-l) var(--spacing-l)}.detail-text{grid-template-columns:1fr}.detail-meta{gap:var(--spacing-l)}.gallery{grid-template-columns:1fr}.next-project h2{font-size:var(--font-size-2xl)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Keep the source portrait ratio at every size; HTML dimensions reserve space only. */
.about-teaser>img,.portrait>img{width:100%;height:auto;max-height:none;aspect-ratio:1 / 1;object-fit:contain;align-self:start;filter:none}
.portrait{min-width:0}

.footer-logo{display:inline-flex;align-items:baseline;color:var(--fg);font-size:var(--font-size-xl);font-weight:600;letter-spacing:-.03em;line-height:1.15}
.footer-clock{display:flex;align-items:baseline;color:var(--color-steel-700)}.footer-copy{display:block;max-width:42ch;line-height:1.45}
.clock-value{display:flex;align-items:baseline;gap:var(--spacing-2xs);font-variant-numeric:tabular-nums}
.clock-value time{color:var(--fg);font-size:var(--font-size-xl);font-weight:500;letter-spacing:-.02em;line-height:1}
.clock-value [data-timezone]{font-size:var(--font-size-s)}
.tool-list>div{padding:var(--spacing-m);border:1px solid var(--border);border-radius:var(--rounded-s);flex:1;min-width:150px}
.tool-list img{width:36px;height:36px;object-fit:contain;flex:none}
@media(max-width:640px){.about-teaser>img{width:180px;height:auto}.portrait>img{width:100%;height:auto;max-height:none}.footer-bottom{align-items:flex-start;flex-direction:column;gap:var(--spacing-m)}.footer-social{position:static;display:flex;width:100%;justify-content:stretch}.footer-social .t-btn{flex:1 1 auto;min-width:calc(33.333% - var(--spacing-s))}.hero-stamp{display:none}}

/* Monochrome brand marks, with a stable reading order across breakpoints. */
.tool-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-m)}
.tool-list>div{min-width:0;min-height:80px;gap:var(--spacing-m);background:var(--color-white-900)}
.tool-list img{filter:grayscale(1);object-fit:contain}
.team-stack h2{max-width:680px;margin-bottom:var(--spacing-xl)}
.team-stack-list{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:640px){.tool-list,.team-stack-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-s)}.tool-list>div{padding:var(--spacing-s);gap:var(--spacing-s)}.tool-list img{width:32px;height:32px}.team-stack h2{font-size:var(--font-size-2xl)}}
@media(max-width:360px){.tool-list>div{font-size:var(--font-size-s)}}

/* Client strip: a continuous, user-pausable track. */
.client-section{padding:var(--spacing-xl) 0;border-bottom:1px solid var(--border);overflow:hidden}
.client-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-m);padding:0 var(--spacing-3xl) var(--spacing-l)}
.client-heading .eyebrow{margin:0}.client-toggle{min-height:36px;font-size:var(--font-size-s)}
.client-window{overflow:hidden;mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}
.client-track{display:flex;width:max-content;animation:clients-slide 34s linear infinite}
.client-group{display:flex;align-items:center;gap:var(--spacing-4xl);padding:var(--spacing-m) var(--spacing-xl);flex:none}
.client-name{width:190px;text-align:center;font-size:var(--font-size-2xl);font-weight:500;letter-spacing:-.04em;line-height:1.2;color:var(--color-black-800)}
.client-name small{display:block;font-size:var(--font-size-s);font-weight:400;letter-spacing:.03em;margin-top:var(--spacing-4xs)}
.client-section.is-paused .client-track,.client-window:hover .client-track{animation-play-state:paused}
@keyframes clients-slide{to{transform:translateX(-50%)}}
/* Editorial case studies, built on Bricks foundation values. */
.theme-violet{--case-ink:var(--color-violet-900);--case-accent:var(--color-violet-600);--case-soft:var(--color-violet-200)}
.theme-blue{--case-ink:var(--color-blue-900);--case-accent:var(--color-ocean-600);--case-soft:var(--color-ocean-200)}
.theme-orange{--case-ink:var(--color-orange-900);--case-accent:var(--color-orange-600);--case-soft:var(--color-orange-200)}
.theme-green{--case-ink:var(--color-teal-900);--case-accent:var(--color-teal-600);--case-soft:var(--color-teal-200)}
.case-intro{padding-top:var(--spacing-4xl)}.case-intro>.text-link{font-size:var(--font-size-m)}
.case-kicker{display:flex;align-items:center;gap:var(--spacing-m);margin:var(--spacing-3xl) 0 var(--spacing-l)}
.case-kicker .eyebrow{margin:0}.concept-label{font-size:var(--font-size-s);border:1px solid var(--border);border-radius:var(--rounded-xs);padding:var(--spacing-4xs) var(--spacing-2xs);color:var(--muted)}
.case-intro h1{max-width:900px;font-size:clamp(40px,6vw,80px)}.case-summary{font-size:var(--font-size-xl);max-width:640px;margin-top:var(--spacing-l)}
.case-meta{display:grid;grid-template-columns:1fr 2fr 1fr;gap:var(--spacing-xl);border-top:1px solid var(--border);padding-top:var(--spacing-l);margin:var(--spacing-3xl) 0 var(--spacing-l)}
.case-meta dt{color:var(--muted);font-size:var(--font-size-s);margin-bottom:var(--spacing-2xs)}.case-meta dd{margin:0;font-size:var(--font-size-m)}
.concept-note{font-size:var(--font-size-s);max-width:760px;color:var(--muted)}.case-jump{display:inline-flex;margin-top:var(--spacing-l);font-size:var(--font-size-m);gap:var(--spacing-m)}
.case-showcase{position:relative;padding:var(--spacing-4xl) var(--spacing-3xl) var(--spacing-l);background:var(--case-soft);overflow:hidden;color:var(--case-ink)}
.visual-label{display:block;letter-spacing:.12em;font-size:var(--font-size-s);margin-bottom:var(--spacing-xl)}.visual-caption{font-size:var(--font-size-s);text-align:center;color:var(--case-ink);margin-top:var(--spacing-xl)}
.system-preview{display:grid;grid-template-columns:190px 1fr;background:var(--color-white-900);border-radius:var(--rounded-m);overflow:hidden;box-shadow:var(--elevation-3);max-width:920px;margin:auto;color:var(--fg);border:1px solid var(--border)}
.system-preview aside{padding:var(--spacing-l);border-right:1px solid var(--border);background:var(--color-black-100);display:flex;flex-direction:column;gap:var(--spacing-2xs)}
.system-preview aside strong{font-size:var(--font-size-l);margin-bottom:var(--spacing-xl)}.preview-nav{font-size:var(--font-size-s);padding:var(--spacing-2xs) var(--spacing-s);color:var(--muted)}.preview-nav.active{background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-xs)}
.system-preview aside small{font-size:9px;letter-spacing:.08em;margin-top:auto;color:var(--muted);padding-top:var(--spacing-3xl)}
.preview-content{padding:var(--spacing-xl);min-width:0}.preview-top{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-s);color:var(--muted);margin-bottom:var(--spacing-xl)}.preview-top>span:last-child{border-radius:50%;background:var(--case-soft);padding:var(--spacing-2xs);color:var(--case-ink)}
.preview-content>h3{font-size:var(--font-size-3xl)}.preview-content>p{font-size:var(--font-size-s);margin-top:var(--spacing-2xs)}
.preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-s);margin:var(--spacing-l) 0}.preview-stats>div{border:1px solid var(--border);border-radius:var(--rounded-s);padding:var(--spacing-m)}.preview-stats small{display:block;font-size:var(--font-size-s);color:var(--muted)}.preview-stats strong{font-size:var(--font-size-3xl);font-weight:500;color:var(--case-ink)}
.preview-chart{padding:var(--spacing-l);border:1px solid var(--border);border-radius:var(--rounded-s)}.preview-chart>div:first-child{display:flex;justify-content:space-between;gap:var(--spacing-m);font-size:var(--font-size-s)}.preview-chart span{color:var(--muted)}
.chart-columns{height:130px;display:flex;gap:var(--spacing-s);align-items:flex-end;margin-top:var(--spacing-l);border-bottom:1px solid var(--border)}.chart-columns i{flex:1;height:var(--bar-height);background:var(--case-soft);border-radius:var(--rounded-xs) var(--rounded-xs) 0 0}.chart-columns i:nth-child(3n){background:var(--case-accent)}
.preview-tags{display:flex;gap:var(--spacing-s);margin-top:var(--spacing-l);flex-wrap:wrap}.preview-tags span{border:1px solid var(--border);border-radius:var(--rounded-xs);font-size:10px;padding:var(--spacing-4xs) var(--spacing-2xs)}.preview-tags span:first-child{background:var(--case-ink);color:var(--color-white-900)}
.brand-composition{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center;max-width:800px;margin:auto;padding:var(--spacing-l)}
.brand-poster{background:var(--case-ink);color:var(--case-soft);padding:var(--spacing-xl);box-shadow:var(--elevation-3);aspect-ratio:3/4;display:flex;flex-direction:column;transform:rotate(-4deg)}.brand-poster>span{font-size:var(--font-size-m)}.brand-poster>strong{font-size:130px;line-height:1.1;text-align:center;margin:auto}.brand-poster>p{color:inherit;font-size:var(--font-size-3xl);line-height:1.1;letter-spacing:-.04em}.brand-poster>small{margin-top:var(--spacing-l);font-size:9px;letter-spacing:.1em}
.brand-business{aspect-ratio:1.6;background:var(--color-white-900);padding:var(--spacing-l);box-shadow:var(--elevation-3);transform:rotate(7deg);display:flex;flex-direction:column;justify-content:space-between}.brand-business>span{font-size:var(--font-size-xl);font-weight:500;letter-spacing:-.03em}.brand-mark{font-size:90px;line-height:1;text-align:right;color:var(--case-accent)}.brand-business>small{font-size:10px}
.case-context{display:grid;grid-template-columns:1fr 1.5fr;gap:var(--spacing-4xl)}.case-lead{font-size:var(--font-size-xl);color:var(--fg);line-height:1.6;margin-bottom:var(--spacing-l)}.deliverables{list-style:none;padding:0;margin:var(--spacing-xl) 0 0}.deliverables li{border-top:1px solid var(--border);padding:var(--spacing-s) 0;font-size:var(--font-size-m);display:flex;gap:var(--spacing-m)}
.case-process{background:var(--color-black-100)}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl);margin-top:var(--spacing-2xl)}.step-number{color:var(--color-black-400);font-size:var(--font-size-3xl)}.process-grid h3{font-size:var(--font-size-xl);margin:var(--spacing-l) 0 var(--spacing-m);letter-spacing:-.02em}.process-grid p{font-size:var(--font-size-m)}
.foundation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-m);margin-top:var(--spacing-xl)}.foundation-grid>article{border:1px solid var(--border);border-radius:var(--rounded-s);padding:var(--spacing-l);display:flex;flex-direction:column;min-height:280px;overflow:hidden}.foundation-grid small{font-size:10px;letter-spacing:.08em;color:var(--muted)}.foundation-grid p{margin-top:auto;font-size:var(--font-size-m);color:var(--fg)}.foundation-grid article>span{font-size:var(--font-size-s);color:var(--muted);margin-top:var(--spacing-s)}.type-spec>strong{font-size:90px;font-weight:500;letter-spacing:-.08em;line-height:1.4}.swatches{display:flex;margin:var(--spacing-xl) 0;height:90px}.swatches i{flex:1;background:var(--case-ink)}.swatches i:nth-child(2){background:var(--case-accent)}.swatches i:nth-child(3){background:var(--case-soft)}.swatches i:nth-child(4){background:var(--color-black-100)}
.spacing-bars{display:flex;gap:var(--spacing-2xs);align-items:flex-end;height:90px;margin:var(--spacing-xl) 0}.spacing-bars i{height:25%;width:16%;background:var(--color-steel-200)}.spacing-bars i:nth-child(2){height:50%}.spacing-bars i:nth-child(3){height:75%}.spacing-bars i:nth-child(4){height:100%;background:var(--color-steel-800)}
.case-outcome{max-width:none}.case-outcome>p:not(.eyebrow){max-width:700px;font-size:var(--font-size-xl);margin-top:var(--spacing-l)}.outcome-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-s);margin-top:var(--spacing-xl)}.outcome-tags span{background:var(--color-black-100);padding:var(--spacing-2xs) var(--spacing-s);border-radius:var(--rounded-xs);font-size:var(--font-size-s)}.case-next{background:var(--color-black-100);transition:background .2s}.case-next:hover{background:var(--color-steel-100)}.case-next p:last-child{margin-top:var(--spacing-s);font-size:var(--font-size-m)}.next-arrow{font-size:var(--font-size-3xl)}
@media(max-width:760px){.system-preview{grid-template-columns:140px 1fr}.system-preview aside{padding:var(--spacing-m)}.preview-content{padding:var(--spacing-l)}.foundation-grid{grid-template-columns:1fr}.foundation-grid>article{min-height:230px}.brand-composition{gap:var(--spacing-l);padding:0}.brand-poster{padding:var(--spacing-l)}.brand-poster>strong{font-size:100px}.brand-mark{font-size:64px}.case-context{gap:var(--spacing-xl)}}
@media(max-width:640px){.client-heading{padding:0 var(--spacing-l) var(--spacing-m)}.client-name{width:150px;font-size:var(--font-size-xl)}.client-group{gap:var(--spacing-xl)}.case-kicker{flex-wrap:wrap}.case-meta{grid-template-columns:1fr 1fr;gap:var(--spacing-l)}.case-summary{font-size:var(--font-size-l)}.case-showcase{padding:var(--spacing-xl) var(--spacing-l) var(--spacing-l)}.system-preview{grid-template-columns:1fr}.system-preview aside{display:none}.preview-content{padding:var(--spacing-m)}.preview-content>h3{font-size:var(--font-size-2xl)}.preview-stats{gap:var(--spacing-2xs)}.preview-stats>div{padding:var(--spacing-s)}.preview-stats small{font-size:10px}.preview-chart{padding:var(--spacing-m)}.preview-chart>div:first-child{flex-direction:column;gap:var(--spacing-4xs)}.chart-columns{height:100px;gap:var(--spacing-2xs)}.case-context,.process-grid{grid-template-columns:1fr}.case-lead{font-size:var(--font-size-l)}.process-grid{gap:var(--spacing-l)}.process-grid article{border-top:1px solid var(--border);padding-top:var(--spacing-l)}.process-grid h3{margin-top:var(--spacing-s)}.brand-composition{grid-template-columns:1fr;gap:var(--spacing-xl);max-width:280px;padding:var(--spacing-s)}.brand-poster{transform:rotate(-3deg)}.brand-business{transform:rotate(3deg)}.case-outcome>p:not(.eyebrow){font-size:var(--font-size-l)}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none}.client-window{overflow-x:auto;mask-image:none}.client-group[aria-hidden]{display:none}.client-toggle{display:none}}
.testimonials{background:var(--color-black-100)}.testimonials-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.testimonial-notice{font-size:var(--font-size-s);max-width:250px}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-m)}.testimonial-card{margin:0;padding:var(--spacing-l);border:1px solid var(--border);border-radius:var(--rounded-s);background:var(--color-white-900);display:flex;flex-direction:column}.quote-mark{font-size:58px;line-height:1;color:var(--color-black-400);height:40px}.testimonial-card blockquote{margin:var(--spacing-m) 0 var(--spacing-xl);font-size:var(--font-size-m);line-height:1.8}.testimonial-card figcaption{display:flex;align-items:center;gap:var(--spacing-s);margin-top:auto;border-top:1px solid var(--border);padding-top:var(--spacing-l)}.review-avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--color-black-100);font-size:var(--font-size-s);flex:none}.testimonial-card figcaption strong{display:block;font-size:var(--font-size-s);font-weight:500}.testimonial-card figcaption div>span{display:block;font-size:var(--font-size-s);color:var(--muted);margin-top:var(--spacing-4xs)}
@media(max-width:760px){.testimonial-grid{grid-template-columns:1fr}.testimonials-heading{align-items:flex-start;flex-direction:column}.testimonial-notice{max-width:none}.testimonial-card blockquote{font-size:var(--font-size-l)}}
/* A lean home page; the complete collection lives in Work. */
.hero{padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-4xl)}
.hero-stamp{bottom:var(--spacing-4xl)}
.featured-work .section-heading{align-items:center;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}
.featured-work h2{font-size:var(--font-size-2xl)}
.featured-work .text-link{font-size:var(--font-size-m)}
.compact-cta{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:var(--spacing-xl);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl);background:var(--color-black-100)}
.compact-cta h2{font-size:var(--font-size-3xl)}
.work-intro{padding-bottom:var(--spacing-xl);border-bottom:0}
.work-intro h1{font-size:clamp(40px,5vw,64px)}
.about-intro h1{font-size:clamp(36px,4.5vw,58px)}
.experience-facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-l);border-top:1px solid var(--border);padding-top:var(--spacing-l);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-l)}
.experience-facts strong{display:block;font-size:var(--font-size-3xl);font-weight:500;letter-spacing:-.04em}
.experience-facts span{display:block;color:var(--muted);font-size:var(--font-size-s);margin-top:var(--spacing-2xs)}
@media(max-width:640px){.featured-work .section-heading{display:flex;align-items:flex-start;flex-direction:column;gap:var(--spacing-s)}.compact-cta{align-items:flex-start;flex-direction:column}.hero-stamp{display:none}}
/* Quiet, ruled sections: headings without overlines. */
.hero h1{margin-top:0}.hero .actions{margin-top:var(--spacing-2xl)}
.hero-name{--hn-ease-out:cubic-bezier(.22,1,.36,1);--hn-ease-in:cubic-bezier(.7,0,.3,1);--hn-line-y:.42;position:relative;display:inline-grid;vertical-align:baseline;color:inherit;text-decoration:none;outline:none;isolation:isolate}
.hero-name__sizer{grid-area:1/1;visibility:hidden;pointer-events:none;user-select:none;white-space:nowrap}
.hero-name__stage{grid-area:1/1;position:relative;display:block;min-width:100%;min-height:1.12em;white-space:nowrap}
.hero-name__layer{position:absolute;left:0;top:0;display:inline-flex;align-items:baseline;pointer-events:none;will-change:transform}
.hero-name__char{display:inline-block;transform-origin:50% 80%;will-change:transform,opacity,filter;backface-visibility:hidden}
.hero-name__char.is-space{width:.28em}
.hero-name__ink{position:absolute;left:0;right:0;bottom:.06em;height:3.5px;transform:scaleX(var(--hn-line,1)) scaleY(var(--hn-line-y));transform-origin:left bottom;background:var(--color-black-500);border-radius:1px;pointer-events:none;will-change:transform,background-color;transition:transform .6s var(--hn-ease-out),background-color .6s var(--hn-ease-out)}
.hero-name:hover,.hero-name:focus-visible{text-decoration:none;--hn-line-y:1}
.hero-name:focus-visible{outline:2px solid var(--color-information-600);outline-offset:6px;border-radius:2px}
.hero-name:hover .hero-name__ink,.hero-name:focus-visible .hero-name__ink{background:var(--color-black-900)}
@media(prefers-reduced-motion:reduce){.hero-name__char,.hero-name__ink{transition:none!important;animation:none!important;filter:none!important}}
.expertise-strip{display:grid;grid-template-columns:1fr 1fr 1.2fr;border-bottom:1px solid var(--border)}
.expertise-strip>span{padding:var(--spacing-l);font-size:var(--font-size-m);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-steel-700)}
.expertise-strip>span+span{border-left:1px solid var(--border)}
.client-cells{display:grid;grid-template-columns:220px minmax(0,1fr);padding:0;overflow:visible}
.client-cells>h2{display:flex;align-items:center;justify-content:center;padding:var(--spacing-l);font-size:var(--font-size-l);letter-spacing:-.02em;font-weight:400;border-right:1px solid var(--border)}
.client-cell-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.client-cell-list .client-name{width:auto;min-width:0;min-height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-s);font-size:var(--font-size-xl);color:var(--color-black-400);transition:color .2s}
.client-cell-list .client-name+.client-name{border-left:1px solid var(--border)}
.client-cell-list .client-name:hover{color:var(--fg)}.client-cell-list .client-name small{font-size:10px}
.minimal-heading{padding:var(--spacing-3xl) var(--spacing-l);text-align:center}
.minimal-heading h2{font-size:var(--font-size-3xl)}.minimal-heading>p{font-size:var(--font-size-m);margin:var(--spacing-m) auto 0;max-width:580px}
.audience-row{display:grid;grid-template-columns:1fr 2fr;border-bottom:1px solid var(--border)}
.audience-row>h2{display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);padding:var(--spacing-l);border-right:1px solid var(--border)}
.audience-row>div{display:flex;gap:var(--spacing-m);justify-content:center;align-items:center;padding:var(--spacing-l);background:var(--color-black-100)}
.audience-row>div>span{padding:var(--spacing-s) var(--spacing-m);background:var(--color-white-900);border:1px solid var(--border);border-radius:var(--rounded-s);font-size:var(--font-size-m);text-align:center}
.offers{border-bottom:1px solid var(--border)}.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border)}
.offer-grid article+article{border-left:1px solid var(--border)}.offer-grid h3{display:flex;align-items:center;gap:var(--spacing-m);padding:var(--spacing-l);font-size:var(--font-size-xl);border-bottom:1px solid var(--border);min-height:90px}
.offer-grid h3>span[aria-hidden]{font-size:var(--font-size-3xl)}.offer-content{padding:var(--spacing-l)}.offer-content>p{font-size:var(--font-size-m);min-height:64px}
.offer-content ul{list-style:none;margin:var(--spacing-l) 0 0;padding:0}.offer-content li{display:flex;align-items:center;gap:var(--spacing-s);padding:var(--spacing-m) 0;font-size:var(--font-size-m);border-bottom:1px solid var(--border)}.offer-content li:last-child{border:0}
.offer-cta{display:flex;align-items:center;gap:var(--spacing-l);padding:var(--spacing-xl);border-top:1px solid var(--border)}.offer-cta h3{font-size:var(--font-size-2xl);margin-right:auto}.offer-cta p{font-size:var(--font-size-m)}
.method-section{background:var(--color-black-100);border-bottom:1px solid var(--border)}.method-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-m);padding:0 var(--spacing-xl) var(--spacing-3xl)}
.method-grid article,.method-phase{background:var(--color-white-900);border:1px solid var(--border);border-radius:var(--rounded-s);overflow:hidden;display:flex;flex-direction:column}
.method-copy{padding:var(--spacing-l);flex:1}.method-copy h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-m)}.method-copy p{font-size:var(--font-size-m)}
.method-visual{position:relative;min-height:150px;display:grid;place-items:center;border-top:1px solid var(--border);background-image:linear-gradient(var(--color-black-100) 1px,transparent 1px),linear-gradient(90deg,var(--color-black-100) 1px,transparent 1px);background-size:24px 24px;overflow:hidden}
/* Resting state: nothing moves until the phase is activated in view */
.method-visual:before{content:'';height:1px;width:100%;background:var(--color-steel-300);position:absolute;top:50%;left:0;transform:scaleX(0);transform-origin:left center;will-change:transform}
.method-pill{z-index:1;background:var(--color-white-900);border:1px solid var(--border);border-radius:var(--rounded-full);padding:var(--spacing-s) var(--spacing-l);font-size:var(--font-size-m);opacity:0;will-change:transform,opacity}
.method-visual small{position:absolute;bottom:var(--spacing-s);font-size:var(--font-size-s);color:var(--muted);opacity:0;transform:translateY(8px)}
.method-copy h3,.method-copy p{opacity:0;transform:translateY(10px)}
/* Phase 01 — Entender: discovery. Soft line scan, pill emerges upward like an insight forming. */
.method-phase[data-phase="1"].is-active .method-visual:before{animation:method-line-discover .85s cubic-bezier(.22,1,.36,1) forwards}
.method-phase[data-phase="1"].is-active .method-pill{animation:method-pill-discover .7s cubic-bezier(.22,1,.36,1) .28s forwards}
.method-phase[data-phase="1"].is-active .method-visual small{animation:method-step-in .45s ease .55s forwards}
.method-phase[data-phase="1"].is-active .method-copy h3{animation:method-copy-in .55s cubic-bezier(.22,1,.36,1) .08s forwards}
.method-phase[data-phase="1"].is-active .method-copy p{animation:method-copy-in .55s cubic-bezier(.22,1,.36,1) .18s forwards}
/* Phase 02 — Definir: focus. Line draws with intent; pill slides in along the path and locks. */
.method-phase[data-phase="2"].is-active .method-visual:before{animation:method-line-define .7s cubic-bezier(.4,0,.2,1) forwards}
.method-phase[data-phase="2"].is-active .method-pill{animation:method-pill-define .65s cubic-bezier(.2,.8,.2,1) .22s forwards}
.method-phase[data-phase="2"].is-active .method-visual small{animation:method-step-in .4s ease .48s forwards}
.method-phase[data-phase="2"].is-active .method-copy h3{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .06s forwards}
.method-phase[data-phase="2"].is-active .method-copy p{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .16s forwards}
/* Phase 03 — Diseñar: commit. Line completes; pill settles with a short resolve overshoot. */
.method-phase[data-phase="3"].is-active .method-visual:before{animation:method-line-commit .65s cubic-bezier(.16,1,.3,1) forwards}
.method-phase[data-phase="3"].is-active .method-pill{animation:method-pill-commit .75s cubic-bezier(.34,1.4,.64,1) .2s forwards}
.method-phase[data-phase="3"].is-active .method-visual small{animation:method-step-in .4s ease .5s forwards}
.method-phase[data-phase="3"].is-active .method-copy h3{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .04s forwards}
.method-phase[data-phase="3"].is-active .method-copy p{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .14s forwards}
@keyframes method-line-discover{from{transform:scaleX(0);opacity:.35}to{transform:scaleX(1);opacity:1}}
@keyframes method-line-define{from{transform:scaleX(0)}55%{transform:scaleX(1.02)}to{transform:scaleX(1)}}
@keyframes method-line-commit{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes method-pill-discover{from{opacity:0;transform:translateY(14px) scale(.88);filter:blur(2px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes method-pill-define{from{opacity:0;transform:translateX(-18px) scale(.96)}70%{opacity:1;transform:translateX(2px) scale(1)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes method-pill-commit{from{opacity:0;transform:scale(.82)}60%{opacity:1;transform:scale(1.06)}to{opacity:1;transform:scale(1)}}
@keyframes method-step-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes method-copy-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  .method-visual:before,.method-pill,.method-visual small,.method-copy h3,.method-copy p{opacity:1;transform:none;filter:none;animation:none!important}
  .method-visual:before{transform:scaleX(1)}
}
.contact-intro{text-align:center;padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-3xl)}.contact-intro h1{font-size:clamp(36px,5vw,64px)}.contact-intro>p{margin-top:var(--spacing-l);font-size:var(--font-size-l)}
.contact-panel{display:grid;grid-template-columns:1.7fr 1fr;border-bottom:1px solid var(--border)}
.contact-panel form{border:0;border-radius:0;background:transparent;padding:var(--spacing-xl);display:grid;grid-template-columns:1fr 1fr;gap:0 var(--spacing-l)}
.contact-panel form>*{grid-column:1/-1}.contact-panel .contact-short-field{grid-column:auto;min-width:0;margin-bottom:var(--spacing-l)}
.contact-panel form>button{justify-self:start;width:auto;margin-top:0}.contact-panel form>.form-note{max-width:440px}
.contact-aside{padding:var(--spacing-xl);border-left:1px solid var(--border);display:flex;flex-direction:column}
.contact-aside>ul{list-style:none;padding:0;margin:0}.contact-aside>ul>li{padding:var(--spacing-l) 0;border-bottom:1px solid var(--border);font-size:var(--font-size-l);color:var(--color-steel-700)}.contact-aside>ul>li:before{content:'•';color:var(--color-steel-200);margin-right:var(--spacing-m)}
.contact-direct{display:flex;flex-direction:column;gap:var(--spacing-s);margin-top:auto;padding-top:var(--spacing-xl);align-items:flex-start}.contact-email{display:flex;align-items:center;gap:var(--spacing-2xs);flex-wrap:wrap;max-width:100%}.contact-email .t-btn--text{overflow-wrap:anywhere;max-width:100%}.contact-direct .social-links{margin-top:var(--spacing-m)}
.start-intro{text-align:left;max-width:720px;padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-2xl)}.start-intro h1{font-size:clamp(36px,5vw,56px)}.start-intro>p{margin-top:var(--spacing-l);font-size:var(--font-size-l);max-width:640px}
.start-panel{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(240px,1fr);border-bottom:1px solid var(--border);align-items:stretch}
.start-panel form{border:0;border-radius:0;background:transparent;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:0;max-width:720px}
.start-panel .start-name-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-l)}
.start-panel .start-short-field{min-width:0;margin-bottom:var(--spacing-l)}
.start-panel .req{color:var(--color-error-500);margin-left:2px;font-weight:500}
.start-panel .t-field__label{font-weight:var(--font-weight-500);color:var(--color-steel-800)}
.start-phone{display:grid;grid-template-columns:118px minmax(0,1fr);gap:var(--spacing-2xs);align-items:start}
.start-phone__code .t-select__trigger{padding-inline:var(--spacing-s);min-width:0}
.start-phone__code .t-select__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.start-choice-group{border:0;margin:0 0 var(--spacing-l);padding:0;min-width:0}
.start-choice-group>legend{padding:0;margin-bottom:var(--spacing-s)}
.start-choice-list{display:flex;flex-direction:column;gap:var(--spacing-s)}
.start-choice{display:flex;align-items:center;gap:var(--spacing-s);font-size:var(--font-size-l);color:var(--color-steel-800);cursor:pointer;user-select:none}
.start-choice input{appearance:none;-webkit-appearance:none;width:18px;height:18px;margin:0;flex:none;border:1.5px solid var(--color-steel-400);background:var(--color-white-900);display:grid;place-content:center;transition:border-color 150ms ease,background-color 150ms ease}
.start-choice input[type=checkbox]{border-radius:4px}
.start-choice input[type=radio]{border-radius:999px}
.start-choice input:hover{border-color:var(--color-steel-800)}
.start-choice input:focus-visible{outline:2px solid var(--color-information-600);outline-offset:2px}
.start-choice input[type=checkbox]:checked{background:var(--color-black-500);border-color:var(--color-black-500)}
.start-choice input[type=checkbox]:checked::before{content:"";width:10px;height:6px;border-left:2px solid var(--color-white-900);border-bottom:2px solid var(--color-white-900);transform:rotate(-45deg) translate(1px,-1px)}
.start-choice input[type=radio]:checked{border-color:var(--color-black-500)}
.start-choice input[type=radio]:checked::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--color-black-500)}
.start-panel form>button{align-self:flex-start;width:auto;margin-top:var(--spacing-s)}.start-panel form>.form-note{max-width:440px}
.start-aside{padding:var(--spacing-xl);border-left:1px solid var(--border);display:flex;flex-direction:column}
.start-aside>ul{list-style:none;padding:0;margin:0}.start-aside>ul>li{padding:var(--spacing-l) 0;border-bottom:1px solid var(--border);font-size:var(--font-size-l);color:var(--color-steel-700)}.start-aside>ul>li:before{content:'•';color:var(--color-steel-200);margin-right:var(--spacing-m)}
.testimonials{padding:0;background:var(--color-white-900)}.testimonial-grid{padding:0 var(--spacing-xl) var(--spacing-3xl)}.testimonial-card{padding:0}.testimonial-card>.quote-mark{margin:var(--spacing-l) var(--spacing-l) 0;color:var(--fg)}.testimonial-card blockquote{padding:0 var(--spacing-l)}.testimonial-card figcaption{padding:var(--spacing-l);background:var(--color-black-100)}
.minimal-faq{padding:0}.minimal-faq .faq-item>summary,.minimal-faq .faq-panel p{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.minimal-faq .faq-panel p{font-size:var(--font-size-m)}
.case-intro h1{margin-top:var(--spacing-3xl)}.case-intro>.concept-label{display:inline-block;margin-top:var(--spacing-m)}
@media(max-width:900px){.client-cells{grid-template-columns:1fr}.client-cells>h2{border-right:0;border-bottom:1px solid var(--border);padding:var(--spacing-m)}.client-cell-list .client-name{font-size:var(--font-size-l)}.audience-row{grid-template-columns:1fr}.audience-row>h2{border-right:0;border-bottom:1px solid var(--border)}.contact-panel,.start-panel{grid-template-columns:1.4fr 1fr}.offer-grid h3{font-size:var(--font-size-l);gap:var(--spacing-s)}}
@media(max-width:640px){.expertise-strip{grid-template-columns:1fr}.expertise-strip>span{padding:var(--spacing-s) var(--spacing-l)}.expertise-strip>span+span{border-left:0;border-top:1px solid var(--border)}.client-cell-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory}.client-cell-list .client-name{min-width:150px;min-height:96px;scroll-snap-align:start}.minimal-heading{padding:var(--spacing-xl) var(--spacing-l)}.audience-row>div{flex-wrap:wrap;padding:var(--spacing-m);gap:var(--spacing-2xs)}.audience-row>div>span{font-size:var(--font-size-s)}.offer-grid,.method-grid,.contact-panel,.start-panel{grid-template-columns:1fr}.offer-grid article+article{border-left:0;border-top:1px solid var(--border)}.offer-grid h3{min-height:auto;font-size:var(--font-size-xl)}.offer-content>p{min-height:0}.offer-cta{flex-wrap:wrap;padding:var(--spacing-l)}.offer-cta h3{width:100%}.method-grid{padding:0 var(--spacing-l) var(--spacing-xl)}.method-copy{padding:var(--spacing-l)}.method-visual{min-height:120px}.contact-panel form{padding:var(--spacing-l);grid-template-columns:1fr}.contact-panel .contact-short-field{grid-column:1/-1}.contact-short-field+.contact-short-field{margin-top:0}.start-panel form{padding:var(--spacing-l)}.start-panel .start-name-row{grid-template-columns:1fr}.start-phone{grid-template-columns:108px minmax(0,1fr)}.start-intro{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}.contact-aside,.start-aside{border-left:0;border-top:1px solid var(--border);padding:var(--spacing-l)}.contact-aside>ul>li{padding:var(--spacing-m) 0}.testimonial-grid{padding:0 var(--spacing-l) var(--spacing-xl)}.minimal-faq .faq-item>summary,.minimal-faq .faq-panel p{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}.contact-intro>p{font-size:var(--font-size-m)}}
/* Give the headline its own space; keep client names readable. */
.hero-stamp{display:none}
.client-cell-list .client-name{color:var(--color-black-600)}
/* Two identical tracks slide beneath an opaque, fixed title cell. */
.brand-marquee{--marquee-title:220px;position:relative;isolation:isolate;overflow:hidden;border-bottom:1px solid var(--border);background:var(--color-white-900)}
.brand-marquee>h2{position:absolute;inset:0 auto 0 0;width:var(--marquee-title);z-index:2;display:flex;align-items:center;justify-content:center;padding:var(--spacing-l);background:var(--color-white-900);border-right:1px solid var(--border);font-size:var(--font-size-l);font-weight:400;letter-spacing:-.02em;text-align:center;pointer-events:none}
.brand-marquee-window{overflow:hidden;outline-offset:-3px}.brand-marquee-window:focus-visible{outline:2px solid var(--color-information-600)}
.brand-marquee-track{width:max-content;display:flex;animation:brand-marquee-flow var(--marquee-duration,32s) linear infinite;will-change:transform}
.brand-marquee-group{display:flex;align-items:stretch;flex-shrink:0;min-width:var(--marquee-width,1136px);justify-content:space-around}
.marquee-client{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;min-width:190px;flex:1;padding:var(--spacing-l);border-right:1px solid var(--border);font-size:var(--font-size-xl);font-weight:500;letter-spacing:-.04em;line-height:1.2;color:var(--color-steel-300);text-align:center;white-space:nowrap}
.marquee-client small{font-size:10px;letter-spacing:.03em;font-weight:400;margin-top:var(--spacing-4xs)}
.marquee-client--logo{min-width:220px}
.marquee-client--logo-ikigai{min-width:240px}
.marquee-client--logo-hozar{min-width:240px}
.marquee-client--logo-audiense{min-width:240px}
.marquee-client--logo-naty{min-width:240px}
.client-logo{display:block;width:auto;height:auto;object-fit:contain}
.client-logo--ikigai{width:116px;height:auto;max-width:none}
.client-logo--hozar{width:150px;height:auto;max-width:none}
.client-logo--audiense{width:148px;height:auto;max-width:none}
.client-logo--naty{width:164px;height:auto;max-width:none}
.brand-marquee--audience{background:var(--color-black-100)}.brand-marquee--audience .brand-marquee-group{align-items:center;gap:var(--spacing-xl);padding:var(--spacing-l) var(--spacing-m)}
.marquee-audience{flex:none;min-width:220px;background:var(--color-white-900);border:1px solid var(--border);border-radius:var(--rounded-s);padding:var(--spacing-m) var(--spacing-l);text-align:center;font-size:var(--font-size-l);white-space:nowrap}
.brand-marquee:hover .brand-marquee-track,.brand-marquee:focus-within .brand-marquee-track{animation-play-state:paused}
@keyframes brand-marquee-flow{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:640px){.brand-marquee{--marquee-title:140px}.brand-marquee>h2{padding:var(--spacing-m);font-size:var(--font-size-m)}.marquee-client{min-height:96px;min-width:160px;font-size:var(--font-size-l);padding:var(--spacing-m)}.marquee-client--logo{min-width:180px}.marquee-client--logo-ikigai{min-width:160px}.marquee-client--logo-dialectia{min-width:200px}.marquee-client--logo-naty{min-width:210px}.client-logo--ikigai{height:38px;max-width:104px}.client-logo--dialectia{height:32px;max-width:130px}.client-logo--naty{height:28px;max-width:148px}.marquee-audience{min-width:190px;font-size:var(--font-size-m)}.brand-marquee--audience .brand-marquee-group{gap:var(--spacing-m);padding-top:var(--spacing-l);padding-bottom:var(--spacing-l)}}
@media(prefers-reduced-motion:reduce){.brand-marquee-window{overflow-x:auto;margin-left:var(--marquee-title)}.brand-marquee-track{animation:none;will-change:auto}.brand-marquee-group{min-width:0}.brand-marquee-group[aria-hidden="true"]{display:none}}
.art-ikigai{width:100%;height:100%;background:#776b5d}.art-ikigai svg{display:block;width:100%;height:100%}
.art-html-cover{display:block;width:100%;height:100%;border:0;pointer-events:none;background:#fff}
.project-cover:has(.art-html-cover){background:var(--color-steel-400);padding:1px}
.project-cover:has(.art-html-cover)>.art{border-radius:calc(var(--rounded-s) - 1px);overflow:hidden;background:#fff;min-height:0}
.project-card:hover .art:has(.art-html-cover){transform:none}

.rv-js .brand .rv-wrap img{visibility:hidden}

/* Hablemos + language: related by proximity, independent controls */
.site-header .nav-inner{justify-content:flex-start;gap:var(--spacing-l)}
.site-header .nav-inner>nav{margin-left:auto}
.header-tools{display:flex;align-items:center;gap:var(--spacing-2xs);margin-left:var(--spacing-2xs)}
.nav-connect__talk{display:inline-flex;align-items:center;gap:var(--spacing-2xs);min-height:44px;padding:0 var(--spacing-m);border:1px solid var(--border);border-radius:var(--rounded-s);background:var(--bg);box-shadow:var(--elevation-0);font-size:var(--font-size-m);line-height:1.4;color:var(--fg);white-space:nowrap;transition:background .2s,border-color .2s}
.nav-connect__talk:hover{background:var(--color-black-100);border-color:var(--color-steel-300);color:var(--fg)}
.nav-connect__talk:active{background:var(--color-steel-100)}
.lang-switch{position:relative;display:inline-grid;grid-template-columns:1fr 1fr;align-items:center;height:44px;width:88px;padding:4px;border:1px solid var(--border);border-radius:999px;background:var(--color-black-100);box-shadow:var(--elevation-0);flex:none;cursor:pointer}
.lang-switch__thumb{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);border-radius:999px;background:var(--bg);box-shadow:var(--elevation-1,0 1px 2px rgba(17,24,39,.08));transition:transform .25s cubic-bezier(.2,.7,.2,1);pointer-events:none;z-index:0}
.lang-switch:has([data-lang=en][aria-pressed=true]) .lang-switch__thumb{transform:translateX(100%)}
.lang-switch button{position:relative;z-index:1;display:grid;place-items:center;height:100%;width:100%;padding:0;border:0;border-radius:999px;background:transparent;opacity:.45;transition:opacity .2s}
.lang-switch button:hover{opacity:.8}
.lang-switch button[aria-pressed=true]{opacity:1}
.lang-switch .flag-icon{width:20px;height:14px;display:block;object-fit:cover;border-radius:2px;box-shadow:0 0 0 1px rgba(17,24,39,.1)}
.menu-toggle{width:44px;min-width:44px;min-height:44px;padding:0;justify-content:center}
@media(max-width:640px){
  .site-header nav.is-open .nav-connect__talk{width:100%;justify-content:center}
  .header-tools{margin-left:auto;gap:var(--spacing-s);position:relative;z-index:2}
  body.is-nav-open{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.lang-switch__thumb{transition:none}}

/* Lucide icons */
[data-lucide],svg.lucide{width:1em;height:1em;stroke:currentColor;flex:0 0 auto;display:inline-block;vertical-align:-.125em}
.t-btn [data-lucide],.t-btn svg.lucide,.text-link [data-lucide],.text-link svg.lucide,.nav-connect__talk [data-lucide],.nav-connect__talk svg.lucide,.card-arrow [data-lucide],.card-arrow svg.lucide,.next-arrow [data-lucide],.next-arrow svg.lucide,.menu-toggle [data-lucide],.menu-toggle svg.lucide,.copy-email [data-lucide],.copy-email svg.lucide,.contact-direct [data-lucide],.contact-direct svg.lucide,.footer-social [data-lucide],.footer-social svg.lucide,.case-jump [data-lucide],.case-jump svg.lucide,.deliverables [data-lucide],.deliverables svg.lucide{width:18px;height:18px}
.card-arrow [data-lucide],.card-arrow svg.lucide,.next-arrow [data-lucide],.next-arrow svg.lucide{width:16px;height:16px}
.nav-connect__talk{display:inline-flex;align-items:center;gap:var(--spacing-2xs)}
.menu-toggle{gap:var(--spacing-2xs)}
@media(max-width:640px){
  /* Full-width buttons on mobile content screens */
  .actions{flex-direction:column;align-items:stretch}
  main .t-btn{width:100%}
  main .t-btn--icon{width:32px}
  .compact-cta{align-items:stretch}
  .compact-cta .t-btn,.offer-cta .t-btn{width:100%}
  .contact-panel form>.t-btn,.contact-panel form>button{width:100%;justify-self:stretch}
}

/* Custom cursor: ocean-600 dot default, equilateral triangle on interactive */
html.custom-cursor,
html.custom-cursor *{
  cursor:none !important;
}
.cursor{
  position:fixed;
  top:0;
  left:0;
  width:18px;
  height:18px;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:9999;
  will-change:transform;
}
.cursor__dot,
.cursor__tri{
  position:absolute;
  inset:0;
  background:var(--color-ocean-600);
  transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.cursor__dot{
  border-radius:999px;
  opacity:1;
  transform:scale(1);
}
.cursor__tri{
  clip-path:polygon(50% 0%,0% 100%,100% 100%);
  opacity:0;
  transform:scale(.55) translateY(2px);
}
.cursor.cursor--pointer .cursor__dot{
  opacity:0;
  transform:scale(.55);
}
.cursor.cursor--pointer .cursor__tri{
  opacity:1;
  transform:scale(1) translateY(0);
}
.cursor.clicked .cursor__dot,
.cursor.clicked .cursor__tri{
  transition-duration:.12s;
}
.cursor.clicked:not(.cursor--pointer) .cursor__dot,
.cursor.clicked.cursor--pointer .cursor__tri{
  transform:scale(.7);
}

/* ===== Revisión oct 2026: sastrería, contacto unificado, casos narrativos ===== */
/* Cómo trabajo · cuatro fases (medida, patrón, prueba, acabado) */
@media(min-width:641px){.method-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1024px){.method-grid--four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.method-phase[data-phase="4"].is-active .method-visual:before{animation:method-line-commit .65s cubic-bezier(.16,1,.3,1) forwards}
.method-phase[data-phase="4"].is-active .method-pill{animation:method-pill-commit .75s cubic-bezier(.34,1.4,.64,1) .2s forwards}
.method-phase[data-phase="4"].is-active .method-visual small{animation:method-step-in .4s ease .5s forwards}
.method-phase[data-phase="4"].is-active .method-copy h3{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .04s forwards}
.method-phase[data-phase="4"].is-active .method-copy p{animation:method-copy-in .5s cubic-bezier(.22,1,.36,1) .14s forwards}

/* Inicio · testimonio */
.home-quote{border-top:1px solid var(--border);padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl)}
.home-quote blockquote{margin:0;max-width:820px}
.home-quote blockquote p{font-size:clamp(20px,2.2vw,28px);line-height:1.45;color:var(--fg);letter-spacing:-.01em}
.home-quote__by{margin:var(--spacing-l) 0 var(--spacing-m);font-size:var(--font-size-m);color:var(--muted)}
.home-quote__by strong{color:var(--fg);font-weight:500}

/* Contacto · motivo */
.reason-field{border:0;padding:0;margin:0 0 var(--spacing-l);min-width:0;grid-column:1/-1}
.reason-field>legend{padding:0;margin-bottom:var(--spacing-s)}
.reason-switch{display:flex;flex-wrap:wrap;gap:var(--spacing-s)}
.reason-chip{position:relative;cursor:pointer}
.reason-chip input{position:absolute;opacity:0;pointer-events:none}
.reason-chip span{display:inline-flex;align-items:center;min-height:40px;padding:0 var(--spacing-l);border:1px solid var(--border);border-radius:var(--rounded-full);font-size:var(--font-size-m);color:var(--color-steel-800);background:var(--color-white-900);transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease}
.reason-chip:hover span{border-color:var(--color-steel-400)}
.reason-chip input:checked+span{background:var(--color-steel-900,#2B3135);border-color:var(--color-steel-900,#2B3135);color:var(--color-white-900)}
.reason-chip input:focus-visible+span{outline:2px solid var(--color-information-600);outline-offset:2px}
.reason-panel{grid-column:1/-1}
.reason-panel[hidden]{display:none}
.start-choice-list--row{flex-direction:row;flex-wrap:wrap;gap:var(--spacing-s) var(--spacing-l)}
.start-choice-list--row .start-choice{font-size:var(--font-size-m)}
@media(min-width:761px){.testimonial-grid--two{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Casos · por qué, qué pasó, cómo lo resolví, resultado */
.case-story{display:grid;gap:0;padding-top:0}
.case-story__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:var(--spacing-xl);padding:var(--spacing-2xl) 0;border-top:1px solid var(--border)}
.case-story__row:first-child{border-top:0}
.case-story__row .eyebrow{margin:0;padding-top:.4em}
.case-story__text{font-size:var(--font-size-xl);line-height:1.6;color:var(--fg);max-width:640px;margin:0}
@media(max-width:760px){.case-story__row{grid-template-columns:1fr;gap:var(--spacing-s);padding:var(--spacing-xl) 0}.case-story__text{font-size:var(--font-size-l)}}
.case-story__row{align-items:start}

/* ===== Revisión 2 · oct 2026 ===== */
:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-io:cubic-bezier(.65,0,.35,1)}

/* Portada con foto */
.hero--portrait{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:var(--spacing-3xl);align-items:end;padding-top:var(--spacing-4xl);padding-bottom:var(--spacing-3xl)}
.hero--portrait h1{font-size:clamp(40px,4.4vw,58px);margin-bottom:0}
.hero--portrait .actions{margin-top:var(--spacing-xl)}
.hero__portrait{margin:0;min-width:0}
.hero__photo{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--rounded-s);background:var(--color-black-100)}
.hero__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 35%;display:block}
.hero__portrait figcaption{display:flex;justify-content:space-between;gap:var(--spacing-s);padding-top:var(--spacing-s);font-size:var(--font-size-s);color:var(--muted)}
.hero__portrait figcaption span:first-child{color:var(--fg)}
@media(max-width:900px){.hero--portrait{gap:var(--spacing-xl)}}
@media(max-width:640px){
  .hero--portrait{grid-template-columns:1fr;gap:var(--spacing-l);padding-top:var(--spacing-l);padding-bottom:var(--spacing-2xl)}
  .hero__portrait{order:-1}
  .hero__photo{aspect-ratio:16/11}
  .hero__photo img{object-position:50% 30%}
  .hero--portrait h1{font-size:clamp(30px,8.6vw,40px)}
}
/* entrada de la portada */
.rv-hero-pre .hero__text>*{opacity:0;transform:translate3d(0,22px,0)}
.rv-hero-pre .hero__photo{clip-path:inset(100% 0 0 0)}
.rv-hero-pre .hero__photo img{transform:scale(1.12)}
.rv-hero-pre figcaption{opacity:0}
.rv-hero-in .hero__text>*{transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out)}
.rv-hero-in .hero__text>*:nth-child(2){transition-delay:.18s}
.rv-hero-in .hero__photo{transition:clip-path 1.2s var(--ease-io) .1s}
.rv-hero-in .hero__photo img{transition:transform 1.8s var(--ease-out) .1s}
.rv-hero-in figcaption{transition:opacity .8s ease .9s}

/* Encabezado de proyectos y enlaces de cierre */
.featured-work .section-heading h2{font-size:clamp(28px,3vw,40px);letter-spacing:-.03em}
.section-more{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-m);padding:var(--spacing-l) var(--spacing-3xl);border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-top:-1px;font-size:var(--font-size-m);color:var(--fg);transition:background-color .3s ease}
.section-more svg,.section-more [data-lucide]{width:20px;height:20px;transition:transform .45s var(--ease-out)}
.section-more:hover{background:var(--color-black-100)}
.section-more:hover svg{transform:translateX(6px)}
.home-quote{border-bottom:0}
@media(max-width:900px){.section-more{padding:var(--spacing-l) var(--spacing-xl)}}
@media(max-width:640px){.section-more{padding:var(--spacing-l)}}

/* Selector de idioma: texto, con una línea que se desplaza (como la del nombre) */
.lang-switch{display:inline-flex;align-items:center;gap:2px;width:auto;height:44px;padding:0 var(--spacing-2xs);border:0;border-radius:0;background:transparent;box-shadow:none}
.lang-switch button{width:auto;height:auto;padding:var(--spacing-2xs) 6px;opacity:1;color:var(--color-steel-400);font:inherit;font-size:13px;font-weight:500;letter-spacing:.08em;border-radius:2px;transition:color .3s ease}
.lang-switch button:hover{color:var(--color-steel-700);opacity:1}
.lang-switch button[aria-pressed=true]{color:var(--fg)}
.lang-switch button:focus-visible{outline:2px solid var(--color-information-600);outline-offset:2px}
.lang-switch__thumb{top:auto;bottom:9px;left:calc(var(--spacing-2xs) + 6px);width:18px;height:1.5px;border-radius:1px;background:var(--fg);box-shadow:none;transition:transform .55s var(--ease-out),width .55s var(--ease-out)}
.lang-switch:has([data-lang=en][aria-pressed=true]) .lang-switch__thumb{transform:translateX(30px)}
.lang-switch.is-switching .lang-switch__thumb{width:48px}
.nav-lang{display:none}

/* Menú móvil: la línea inferior de la barra baja y descubre las opciones */
@media(max-width:640px){
  .site-header{border-bottom:0}
  .site-header:after{content:'';position:absolute;left:0;right:0;top:100%;height:1px;background:var(--border);transform:translateY(0);transition:transform .6s var(--ease-io);z-index:31}
  .site-header.is-nav-open:after{transform:translateY(var(--nav-h,0px))}
  .site-header nav,.site-header nav.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;max-height:calc(100dvh - 76px);padding:var(--spacing-s) var(--spacing-l) var(--spacing-l);gap:0;border-bottom:0;background:var(--bg);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .6s var(--ease-io),visibility 0s linear .6s}
  .site-header nav.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .6s var(--ease-io),visibility 0s}
  .site-header nav>*{opacity:0;transform:translate3d(0,-8px,0);transition:opacity .25s ease,transform .25s ease}
  .site-header nav.is-open>*{opacity:1;transform:none;transition:opacity .5s ease,transform .6s var(--ease-out)}
  .site-header nav.is-open>*:nth-child(1){transition-delay:.12s}
  .site-header nav.is-open>*:nth-child(2){transition-delay:.17s}
  .site-header nav.is-open>*:nth-child(3){transition-delay:.22s}
  .site-header nav.is-open>*:nth-child(4){transition-delay:.27s}
  .site-header nav.is-open>*:nth-child(5){transition-delay:.32s}
  .site-header nav.is-open>*:nth-child(6){transition-delay:.37s}
  .site-header nav>a:not(.nav-connect__talk){min-height:52px;display:flex;align-items:center;border-bottom:1px solid var(--color-steel-100);font-size:var(--font-size-l);color:var(--fg)}
  .site-header nav>a[aria-current]{box-shadow:none;color:var(--fg)}
  .site-header nav>a[aria-current]:before{content:'';width:6px;height:6px;border-radius:50%;background:var(--fg);margin-right:var(--spacing-s)}
  .site-header nav>.nav-connect__talk{margin-top:var(--spacing-l)}
  .nav-lang{display:flex;align-items:center;justify-content:space-between;margin-top:var(--spacing-m);font-size:var(--font-size-s);color:var(--muted)}
  .header-tools>.lang-switch{display:none}
  main,.site-footer{transition:opacity .5s ease}
  body.is-nav-open main,body.is-nav-open .site-footer{opacity:.25}
}
@media(prefers-reduced-motion:reduce){.site-header:after,.site-header nav,.site-header nav>*{transition:none!important}}

/* Carruseles en móvil: título en franja superior */
@media(max-width:640px){
  .brand-marquee>h2{position:static;width:auto;justify-content:flex-start;text-align:left;padding:var(--spacing-m) var(--spacing-l);border-right:0;border-bottom:1px solid var(--border);font-size:var(--font-size-m)}
  .brand-marquee-window{margin-left:0!important}
}

/* Márgenes móviles: una sola medianil de 24px */
@media(max-width:640px){
  .project-card{padding:var(--spacing-l) var(--spacing-l) var(--spacing-s)}
  .card-meta{padding-left:0;padding-right:0}
  .featured-work .section-heading,.section-heading{padding:var(--spacing-xl) var(--spacing-l) var(--spacing-l)}
  .contact-panel form,.contact-aside{padding:var(--spacing-xl) var(--spacing-l)}
  .testimonial-grid{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}
  .minimal-heading{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}
}

/* Contacto: tarjetas de motivo con el Radio Button del DS */
.reason-field{border:0;padding:0;margin:0 0 var(--spacing-xl);min-width:0}
.reason-field__title{padding:0;margin-bottom:var(--spacing-m);font-size:var(--font-size-l);color:var(--fg);letter-spacing:-.01em}
.reason-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-s)}
.reason-card{position:relative;display:flex;align-items:flex-start;gap:var(--spacing-2xs);padding:var(--spacing-m);border:1px solid var(--border);border-radius:var(--rounded-s);background:var(--color-white-900);cursor:pointer;transition:border-color .25s ease,box-shadow .35s ease,transform .35s var(--ease-out)}
.reason-card:hover{border-color:var(--color-steel-400);transform:translateY(-2px)}
.reason-card:has(input:checked){border-color:var(--color-steel-900);box-shadow:var(--elevation-1)}
.reason-card__body{display:flex;flex-direction:column;gap:var(--spacing-4xs);min-width:0}
.reason-card__body strong{font-weight:500;font-size:var(--font-size-m);color:var(--fg);line-height:1.3}
.reason-card__body small{font-size:14px;line-height:1.4;color:var(--muted)}
.t-radio{appearance:none;-webkit-appearance:none;flex:none;width:20px;height:20px;margin:2px 0 0;border-radius:50%;background:var(--color-white-900);box-shadow:inset 0 0 0 var(--stroke-s) var(--color-steel-700);transition:box-shadow .3s var(--ease-out);cursor:pointer}
.t-radio:hover{box-shadow:inset 0 0 0 var(--stroke-s) var(--color-steel-800)}
.t-radio:checked{box-shadow:inset 0 0 0 var(--stroke-xl) var(--color-steel-900),inset 0 0 0 20px var(--color-white-900)}
.t-radio:checked:hover{box-shadow:inset 0 0 0 var(--stroke-xl) var(--color-steel-700)}
.t-radio:focus-visible{outline:var(--stroke-s) solid var(--color-information-600);outline-offset:2px}
.contact-form__body{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--spacing-l);transition:opacity .6s ease,transform .7s var(--ease-out)}
.contact-form__body>*{grid-column:1/-1}
.contact-form__body>.contact-short-field{grid-column:auto}
.contact-form__body>button{justify-self:start}
.contact-form__body.is-entering{opacity:0;transform:translate3d(0,14px,0)}
.contact-form__body[hidden]{display:none}
.reason-panel .contact-short-field{margin-bottom:var(--spacing-l)}
@media(max-width:760px){.reason-cards{grid-template-columns:1fr}.contact-form__body{grid-template-columns:1fr}.contact-form__body>.contact-short-field{grid-column:1/-1}}
/* Contacto: lateral */
.contact-aside{gap:0;justify-content:flex-start}
.contact-block{padding:var(--spacing-l) 0;border-bottom:1px solid var(--border)}
.contact-block:first-child{padding-top:0}
.contact-block:last-child{border-bottom:0}
.contact-block .eyebrow{margin-bottom:var(--spacing-s);font-size:12px}
.contact-email{gap:var(--spacing-2xs)}
.contact-email__link{font-size:var(--font-size-l);color:var(--fg);overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--color-steel-300);text-underline-offset:5px;transition:text-decoration-color .3s ease}
.contact-email__link:hover{text-decoration-color:var(--fg)}
.contact-links{list-style:none;margin:0;padding:0}
.contact-links a{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-2xs) 0;font-size:var(--font-size-l);color:var(--fg)}
.contact-links a svg,.contact-links a [data-lucide]{width:18px;height:18px;color:var(--muted);transition:transform .4s var(--ease-out),color .3s}
.contact-links a:hover svg{transform:translate(3px,-3px);color:var(--fg)}
.contact-time{font-size:var(--font-size-3xl);letter-spacing:-.03em;color:var(--fg);font-variant-numeric:tabular-nums;line-height:1.1}
.contact-place{margin-top:var(--spacing-4xs);font-size:var(--font-size-s);color:var(--muted)}
@media(max-width:640px){.contact-aside{border-left:0;border-top:1px solid var(--border)}}

/* Aparición al hacer scroll */
.rv-reveal{opacity:0;transform:translate3d(0,18px,0)}
.rv-reveal.is-in{opacity:1;transform:none;transition:opacity .9s ease var(--rd,0ms),transform 1s var(--ease-out) var(--rd,0ms)}
.project-card.rv-reveal.is-in .art{animation:rv-cover-settle 1.4s var(--ease-out) var(--rd,0ms) both}
@keyframes rv-cover-settle{from{transform:scale(1.06)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.rv-reveal{opacity:1;transform:none}.rv-hero-pre *{opacity:1!important;transform:none!important;clip-path:none!important}}
.lang-switch button{width:34px;padding:var(--spacing-2xs) 0;text-align:center}
.lang-switch__thumb{left:0;width:16px;transform:translateX(17px);transition:transform .32s var(--ease-io),width .32s var(--ease-io)}
.lang-switch:has([data-lang=en][aria-pressed=true]) .lang-switch__thumb{transform:translateX(53px)}
.contact-form__body>button.t-btn{width:auto;min-width:200px}
.contact-form__body>.form-note{margin-top:var(--spacing-s)}
@media(max-width:640px){.contact-form__body>button.t-btn{width:100%}body.is-nav-open main,body.is-nav-open .site-footer{opacity:.12}}
.project-card--cta{display:flex;align-items:stretch}
.project-card--cta__inner{flex:1;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--spacing-m);padding:var(--spacing-xl);border:1px dashed var(--color-steel-300);border-radius:var(--rounded-s);min-height:260px;transition:border-color .3s ease,background-color .3s ease}
.project-card--cta__title{font-size:var(--font-size-2xl);letter-spacing:-.03em;color:var(--fg);max-width:14ch;line-height:1.15}
.project-card--cta:hover .project-card--cta__inner{border-color:var(--color-steel-700);background:var(--color-black-100)}

/* ===== Revisión 3 ===== */
/* Sin mayúsculas sostenidas: etiquetas en tipo de frase */
.eyebrow,.visual-label{letter-spacing:0}
.contact-block .eyebrow{font-size:var(--font-size-s)}

/* Selector de idioma · Button Group del DS */
.lang-switch{display:inline-flex;align-items:center;gap:0;height:34px;padding:2px 2px 2px 8px;border:1px solid var(--color-steel-300);border-radius:var(--rounded-s);background:var(--color-white-900);box-shadow:none;width:auto;cursor:default}
.lang-switch__icon{color:var(--color-steel-500);margin-right:6px;flex:none}
.lang-switch button{position:relative;z-index:1;width:34px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;opacity:1;font:inherit;font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--color-steel-600);cursor:pointer;transition:color .25s ease}
.lang-switch button:hover{color:var(--color-steel-800)}
.lang-switch button[aria-pressed=true]{color:var(--color-steel-900)}
.lang-switch__thumb{position:absolute;top:2px;bottom:auto;left:0;height:28px;width:34px;border-radius:4px;background:var(--color-steel-200);box-shadow:none;transform:translateX(28px);transition:transform .35s var(--ease-out),width .35s var(--ease-out);z-index:0}
.lang-switch:has([data-lang=en][aria-pressed=true]) .lang-switch__thumb{transform:translateX(62px)}
.lang-switch.is-switching .lang-switch__thumb{width:34px}

/* Hablemos · formulario centrado y contacto en franja inferior */
.contact-panel{grid-template-columns:1fr!important}
.contact-panel form{width:100%;max-width:820px;margin-inline:auto}
.contact-aside{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;border-left:0;border-top:1px solid var(--border)}
.contact-block{padding:var(--spacing-xl) var(--spacing-3xl);border-bottom:0}
.contact-block:first-child{padding-top:var(--spacing-xl)}
.contact-block+.contact-block{border-left:1px solid var(--border)}
.contact-time{font-size:var(--font-size-2xl)}
@media(max-width:900px){.contact-block{padding:var(--spacing-xl)}}
@media(max-width:760px){.contact-aside{grid-template-columns:1fr}.contact-block{padding:var(--spacing-l)}.contact-block+.contact-block{border-left:0;border-top:1px solid var(--border)}}

/* Servicios · sastrería */
.services-lead{max-width:620px;margin-top:var(--spacing-l);font-size:var(--font-size-l);color:var(--muted);line-height:1.55}
.offer-kicker{font-size:var(--font-size-s);color:var(--muted);margin-bottom:var(--spacing-2xs);min-height:0!important}
.offer-content>p:not(.offer-kicker){color:var(--fg)}
.formats{border-bottom:1px solid var(--border)}
.format-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--border)}
.format{padding:var(--spacing-xl) var(--spacing-l)}
.format+.format{border-left:1px solid var(--border)}
.format__n{display:block;font-size:var(--font-size-s);color:var(--muted);margin-bottom:var(--spacing-xl);font-variant-numeric:tabular-nums}
.format h3{font-size:var(--font-size-xl);letter-spacing:-.02em;margin-bottom:var(--spacing-s)}
.format p{font-size:var(--font-size-m);color:var(--muted);line-height:1.55}
@media(max-width:760px){.format-grid{grid-template-columns:1fr}.format+.format{border-left:0;border-top:1px solid var(--border)}.format{padding:var(--spacing-l)}.format__n{margin-bottom:var(--spacing-m)}}
/* Títulos de carrusel más visibles en móvil */
@media(max-width:640px){.brand-marquee>h2{font-size:var(--font-size-l);font-weight:500;color:var(--fg);letter-spacing:-.02em;padding:var(--spacing-l) var(--spacing-l) var(--spacing-m)}}

/* ===== Revisión 5 ===== */
/* Idioma: un botón de texto que nombra el otro idioma; la palabra rueda al cambiar */
.lang-toggle{display:inline-flex;align-items:center;gap:6px;height:44px;padding:0 var(--spacing-2xs);border:0;background:transparent;color:var(--color-steel-600);font:inherit;font-size:var(--font-size-s);cursor:pointer;border-radius:var(--rounded-s);transition:color .25s ease}
.lang-toggle:hover{color:var(--fg)}
.lang-toggle:focus-visible{outline:2px solid var(--color-information-600);outline-offset:2px}
.lang-toggle__icon{flex:none;transition:transform .8s var(--ease-out)}
.lang-toggle__roll{position:relative;display:inline-grid;height:1.3em;line-height:1.3em;overflow:hidden;text-align:left}
.lang-toggle__roll>span{grid-area:1/1;transition:transform .55s var(--ease-io),opacity .55s ease}
.lang-toggle__roll>[lang=es]{transform:translateY(100%);opacity:0}
:root[data-lang=en] .lang-toggle__roll>[lang=en]{transform:translateY(-100%);opacity:0}
:root[data-lang=en] .lang-toggle__roll>[lang=es]{transform:none;opacity:1}
:root[data-lang=en] .lang-toggle__icon{transform:rotate(180deg)}
.lang-toggle__roll>span{background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;background-repeat:no-repeat;background-position:0 100%;transition:transform .55s var(--ease-io),opacity .55s ease,background-size .4s var(--ease-out)}
.lang-toggle:hover .lang-toggle__roll>span{background-size:100% 1px}
.header-tools{gap:var(--spacing-s)}
@media(max-width:640px){.header-tools>.lang-toggle{display:none}.nav-lang .lang-toggle{height:36px;padding:0;color:var(--fg)}}
@media(prefers-reduced-motion:reduce){.lang-toggle__roll>span,.lang-toggle__icon{transition:none}}
/* Lema en el pie */
.footer-sign{display:flex;flex-direction:column;gap:var(--spacing-2xs)}
.footer-motto{margin:0;font-size:var(--font-size-s);color:var(--muted);letter-spacing:-.005em}

/* ===== Revisión 6 · retrato recortado por la línea ===== */
.hero--portrait{padding-top:var(--spacing-2xl);padding-bottom:0;align-items:end;gap:var(--spacing-2xl)}
.hero--portrait .hero__text{align-self:center;padding-bottom:var(--spacing-2xl)}
.hero__portrait{align-self:end}
.hero__photo{aspect-ratio:1122/1000;border-radius:0;background:none;overflow:hidden}
.hero__photo picture{display:block}
.hero__photo img{width:100%;height:auto;object-fit:initial;display:block}
.rv-hero-pre .hero__photo img{transform:translate3d(0,6%,0) scale(1.02)}
.hero__photo img{transform-origin:50% 100%}
@media(max-width:640px){
  .hero--portrait{padding:0;gap:0}
  .hero__portrait{order:-1;position:relative;z-index:25;margin-top:-30px;display:flex;justify-content:center;border-bottom:1px solid var(--border)}
  .hero__photo{width:74%;max-width:300px;aspect-ratio:1122/1000}
  .hero--portrait .hero__text{padding:var(--spacing-xl) var(--spacing-l) var(--spacing-2xl)}
  body.is-scrolled .site-header{z-index:40}
}
.hero--portrait{overflow:visible}

.hero__photo{aspect-ratio:1122/960}
@media(max-width:640px){.hero__portrait{margin-top:-44px}.hero__photo{aspect-ratio:1122/960}}
/* Retrato más grande en escritorio: la cabeza casi toca la línea superior */
@media(min-width:641px){
  .hero--portrait{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);padding-top:var(--spacing-m);gap:var(--spacing-l)}
  .hero--portrait h1{font-size:clamp(34px,3.4vw,48px)}
  .hero__portrait{margin-right:calc(var(--spacing-xl) * -1)}
  .hero__photo{width:100%;aspect-ratio:1122/900}
  .hero__photo img{width:100%;margin-top:-5.35%}
}
@media(max-width:640px){.hero__photo picture{will-change:transform}}

/* ===== Revisión 8 · móvil: foto fija, la línea la oculta con el scroll nativo ===== */
@media(max-width:640px){
  .hero__portrait{--poke:44px;margin-top:calc(var(--poke) * -1)}
  .hero__photo{overflow:visible;clip-path:inset(0 0 0 0)}
  .hero__photo picture{position:fixed;top:calc(76px - var(--poke));left:50%;width:min(74vw,300px);transform:translateX(-50%);will-change:auto;pointer-events:none}
  /* entrada en móvil: sin recorte, la foto sube y aparece */
  .rv-hero-pre .hero__photo{clip-path:inset(0 0 0 0)}
  .rv-hero-pre .hero__photo img{opacity:0;transform:translate3d(0,10%,0)}
  .rv-hero-in .hero__photo img{transition:opacity .9s ease .1s,transform 1.3s var(--ease-out) .1s}
}
@supports (animation-timeline: scroll()){
  @media(max-width:640px){
    .hero__photo{animation:rv-poke linear both;animation-timeline:scroll(root);animation-range:0px 44px}
    @keyframes rv-poke{from{clip-path:inset(0 0 0 0)}to{clip-path:inset(44px 0 0 0)}}
  }
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.hero__photo picture{position:static;transform:none;width:100%}.hero__photo{animation:none}}
@supports (animation-timeline: scroll()){
  @media(max-width:640px) and (prefers-reduced-motion:no-preference){
    .hero__photo picture{transform-origin:50% 100%;animation:rv-sink linear both;animation-timeline:scroll(root);animation-range:0px 280px}
    @keyframes rv-sink{from{transform:translateX(-50%) scale(1);opacity:1}to{transform:translateX(-50%) scale(.95);opacity:.55}}
  }
}

/* ===== Revisión 9 · jerarquía de las antiguas etiquetas en mayúsculas ===== */
.block-title{font-size:var(--font-size-xl);font-weight:400;letter-spacing:-.02em;color:var(--fg);margin:0 0 var(--spacing-l)}
.contact-block__title{font-size:var(--font-size-m);font-weight:500;color:var(--fg);letter-spacing:-.01em;margin:0 0 var(--spacing-s)}
.case-story__label{display:flex;align-items:baseline;gap:var(--spacing-s);margin:0;font-size:var(--font-size-l);font-weight:500;letter-spacing:-.015em;color:var(--fg);line-height:1.3}
.case-story__n{font-size:var(--font-size-s);font-weight:400;color:var(--muted);font-variant-numeric:tabular-nums}
.case-next__label{font-size:var(--font-size-s);color:var(--muted);margin:0 0 var(--spacing-s)}
.visual-label{font-size:14px;color:var(--case-ink,var(--muted))}
.work-lead{max-width:620px;margin-top:var(--spacing-l);font-size:var(--font-size-l);color:var(--muted);line-height:1.55}
.featured-work .section-heading h2{max-width:none}

/* ===== Revisión 10 · menú móvil y foto de cabecera ===== */
@media(max-width:640px){
  .hero__portrait{pointer-events:none}
  .site-header.is-nav-open,.site-header.is-nav-closing{z-index:60}
  body.is-nav-open{overflow:hidden}
  /* el contenido (y la foto) se apartan con suavidad mientras el menú está abierto.
     Sin filter ni transform en main: romperían la foto fija. */
  main,.site-footer{transition:opacity .5s ease}
  body.is-nav-open main,body.is-nav-open .site-footer{opacity:.12}
}

/* ===== Revisión 11 · coreografía del menú móvil ===== */
@media(max-width:640px){
  /* la foto se agacha bajo la línea de la barra antes de abrir el menú, y sube al cerrarlo */
  .hero__photo picture{translate:0 0;transition:translate .5s cubic-bezier(.22,1,.36,1)}
  body.nav-duck .hero__photo picture{translate:0 var(--poke,44px);transition:translate .26s cubic-bezier(.4,0,.6,1)}
  /* panel y línea: apertura rápida y suave, cierre algo más corto */
  .site-header:after{transition:transform .4s cubic-bezier(.65,0,.35,1)}
  .site-header.is-nav-open:after{transition:transform .46s cubic-bezier(.32,.72,0,1)}
  .site-header nav,.site-header nav.is-open{transition:clip-path .4s cubic-bezier(.65,0,.35,1),visibility 0s linear .4s}
  .site-header nav.is-open{transition:clip-path .46s cubic-bezier(.32,.72,0,1),visibility 0s}
  .site-header nav>*{transition:opacity .18s ease,transform .2s ease}
  .site-header nav.is-open>*{transition:opacity .35s ease,transform .45s cubic-bezier(.22,1,.36,1)}
  .site-header nav.is-open>*:nth-child(1){transition-delay:.08s}
  .site-header nav.is-open>*:nth-child(2){transition-delay:.11s}
  .site-header nav.is-open>*:nth-child(3){transition-delay:.14s}
  .site-header nav.is-open>*:nth-child(4){transition-delay:.17s}
  .site-header nav.is-open>*:nth-child(5){transition-delay:.2s}
  .site-header nav.is-open>*:nth-child(6){transition-delay:.23s}
  main,.site-footer{transition:opacity .4s ease}
}
@media(max-width:640px) and (prefers-reduced-motion:reduce){.hero__photo picture{transition:none!important}}

/* Título sobre los proyectos centrado */
.featured-work .section-heading,.featured-work .section-heading h2{justify-content:center;align-items:center;text-align:center}
@media(max-width:640px){.featured-work .section-heading{display:flex;flex-direction:column;align-items:center;text-align:center}}

/* Encabezados de página: siempre cerrados por una línea inferior (sin duplicarla con la del contenido siguiente) */
.work-intro{border-bottom:1px solid var(--border)}
.work-intro+#portfolio .project-grid,.work-intro+.offers .offer-grid{border-top:0}

/* ===== Revisión 15 · Hablemos: «¿Qué te trae por aquí?» como punto clave ===== */
.reason-field{margin-bottom:var(--spacing-2xl)}
.reason-field__title{display:block;width:100%;text-align:center;font-size:clamp(28px,3.4vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:var(--spacing-m) 0 var(--spacing-xl)}
/* título palabra a palabra */
.reason-field__title .rw{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.reason-field__title .rw>span{display:inline-block}
.reason-field.rv-pre .rw>span{transform:translate3d(0,105%,0)}
.reason-field.is-in .rw>span{transform:none;transition:transform .9s cubic-bezier(.22,1,.36,1) calc(var(--i) * 70ms)}
/* tarjetas detrás del título */
.reason-field.rv-pre .reason-card{opacity:0;transform:translate3d(0,16px,0)}
.reason-field.is-in .reason-card{transition:opacity .6s ease calc(.32s + var(--i) * 90ms),transform .8s cubic-bezier(.22,1,.36,1) calc(.32s + var(--i) * 90ms),border-color .25s ease,box-shadow .35s ease}
/* barrido de atención sobre los radios si aún no se ha elegido */
.reason-field.is-hint .reason-card{animation:rv-hint-card 1.1s cubic-bezier(.45,0,.2,1) calc(var(--i) * 180ms) both}
.reason-field.is-hint .t-radio{animation:rv-hint-radio 1.1s cubic-bezier(.45,0,.2,1) calc(var(--i) * 180ms) both}
@keyframes rv-hint-card{0%,100%{border-color:var(--border)}40%{border-color:var(--color-steel-700)}}
@keyframes rv-hint-radio{0%,100%{box-shadow:inset 0 0 0 var(--stroke-s) var(--color-steel-700)}40%{box-shadow:inset 0 0 0 var(--stroke-m) var(--color-steel-900),0 0 0 6px var(--color-steel-10)}}
.reason-field:has(input:checked) .reason-card,.reason-field:has(input:checked) .t-radio{animation:none}
@media(max-width:760px){.reason-field__title{font-size:clamp(26px,7vw,32px);margin-top:0}}
@media(prefers-reduced-motion:reduce){.reason-field .rw>span,.reason-field .reason-card{transform:none!important;opacity:1!important;animation:none!important}}
.reason-field.is-settled .reason-card{transition:border-color .25s ease,box-shadow .35s ease,transform .35s cubic-bezier(.22,1,.36,1)}

/* ===== Revisión 16 ===== */
/* Móvil: con el primer scroll la foto se agacha bajo la línea de la barra */
@media(max-width:640px){
  .hero__photo{animation:none!important}
  body.photo-tucked .hero__photo picture,body.nav-duck .hero__photo picture{translate:0 var(--poke,44px);transition:translate .38s cubic-bezier(.4,0,.2,1)}
}

/* Formulario · errores con el estado Error del Text Input del DS */
.t-field--error .t-input,.t-input[aria-invalid=true]{border-color:var(--color-error-700)}
.t-field--error .t-input:focus-visible{border-color:var(--color-error-700);box-shadow:0 0 0 1px var(--color-error-700)}
.t-field--error .t-field__label{color:var(--color-error-500)}
.t-field__error{display:flex;align-items:flex-start;gap:var(--spacing-4xs);color:var(--color-error-500);font-size:var(--font-size-s);line-height:1.35;margin-top:var(--spacing-4xs);animation:rv-err-in .35s cubic-bezier(.22,1,.36,1)}
.t-field__error[hidden]{display:none}
.t-field__error-icon{flex:none;margin-top:2px;color:var(--color-error-400)}
@keyframes rv-err-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.t-field__meta{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--spacing-m)}
.t-field__counter{margin-left:auto;white-space:nowrap;text-align:right}
.t-field__counter.is-limit{color:var(--color-error-500)}
.hp-field{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Botón de envío con loader */
.contact-submit{position:relative;min-height:48px;min-width:200px}
.contact-submit .t-loader{display:none;width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:rv-spin .8s linear infinite}
.contact-submit.is-loading .t-loader{display:inline-block}
.contact-submit.is-loading svg,.contact-submit.is-loading [data-lucide]{display:none}
.contact-submit:disabled{cursor:progress;opacity:.85}
@keyframes rv-spin{to{transform:rotate(360deg)}}
/* Aviso de error de envío */
.t-alert{display:flex;gap:var(--spacing-2xs);align-items:flex-start;margin-top:var(--spacing-m);padding:var(--spacing-s) var(--spacing-m);border-radius:var(--rounded-s);border:1px solid var(--color-error-300);background:var(--color-error-100);color:var(--color-error-800);font-size:var(--font-size-s);line-height:1.45}
.t-alert[hidden]{display:none}
.t-alert .t-field__error-icon{color:var(--color-error-600)}
.t-alert p{margin:0 0 var(--spacing-4xs)}
/* Éxito */
.contact-success{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-s);padding:var(--spacing-2xl) 0;outline:none;transition:opacity .6s ease,transform .7s cubic-bezier(.22,1,.36,1)}
.contact-success[hidden]{display:none}
.contact-success.is-entering{opacity:0;transform:translateY(14px)}
.contact-success__icon{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--color-success-100);color:var(--color-success-700)}
.contact-success__icon path{stroke-dasharray:24;stroke-dashoffset:24;animation:rv-draw-check .7s cubic-bezier(.65,0,.35,1) .25s forwards}
@keyframes rv-draw-check{to{stroke-dashoffset:0}}
.contact-success__title{font-size:clamp(26px,3vw,34px);font-weight:400;letter-spacing:-.02em;margin:var(--spacing-2xs) 0 0}
.contact-success__text{max-width:44ch;color:var(--muted);font-size:var(--font-size-m)}
.contact-success__again{margin-top:var(--spacing-s);min-height:44px}
.reason-field[hidden]{display:none}

/* Accesibilidad y uso en móvil: áreas táctiles de 44px y foco visible */
.start-choice{min-height:44px}
.contact-links a{min-height:44px}
.copy-email{width:44px!important;height:44px!important}
.t-menu__item{min-height:44px}
.project-card:focus-visible,.section-more:focus-visible{outline:2px solid var(--color-information-600);outline-offset:-4px}
.reason-card:has(.t-radio:focus-visible){border-color:var(--color-information-600);box-shadow:0 0 0 1px var(--color-information-600)}
.t-radio:focus-visible{outline:none}
@media(max-width:640px){.start-choice-list--row{flex-direction:column;gap:0}.contact-submit{width:100%}}
@media(prefers-reduced-motion:reduce){.t-field__error,.contact-success__icon path{animation:none;stroke-dashoffset:0}.contact-submit .t-loader{animation-duration:2s}}

/* Inicio · testimonios en carrusel, sobre fondo gris */
.home-quote{background:var(--color-black-100);border-top:1px solid var(--border)}
.hq-track{display:grid}
.hq-slide{grid-area:1/1;margin:0;opacity:0;transform:translate3d(0,14px,0);transition:opacity .7s ease,transform .9s cubic-bezier(.22,1,.36,1);pointer-events:none}
.hq-slide.is-active{opacity:1;transform:none;pointer-events:auto;transition-delay:.15s}
.hq-slide.is-leaving{opacity:0;transform:translate3d(0,-10px,0);transition-delay:0s}
.hq-slide blockquote{margin:0;max-width:820px}
.hq-slide blockquote p{font-size:clamp(19px,2vw,26px);line-height:1.5;color:var(--fg);letter-spacing:-.01em}
.hq-controls{display:flex;align-items:center;gap:var(--spacing-2xs);margin-top:var(--spacing-l)}
.hq-btn{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--color-steel-300);background:var(--color-white-900);color:var(--color-steel-800);cursor:pointer;transition:border-color .2s,background-color .2s}
.hq-btn:hover{border-color:var(--color-steel-900)}
.hq-count{min-width:44px;text-align:center;font-size:var(--font-size-s);color:var(--muted);font-variant-numeric:tabular-nums}
.hq-pause{margin-left:var(--spacing-2xs)}
.hq-pause .hq-i-play{display:none}
.hq-pause[aria-pressed=true] .hq-i-play{display:block}
.hq-pause[aria-pressed=true] .hq-i-pause{display:none}
.hq-progress{flex:1;height:1px;background:var(--color-steel-200);margin-left:var(--spacing-m);position:relative;overflow:hidden;max-width:240px}
.hq-progress i{position:absolute;inset:0;background:var(--color-steel-700);transform:scaleX(0);transform-origin:left}
.section-more--tinted{background:var(--color-black-100)}
.section-more--tinted:hover{background:var(--color-black-200)}
@media(max-width:640px){.hq-progress{display:none}.hq-controls{margin-top:var(--spacing-m)}}
@media(prefers-reduced-motion:reduce){.hq-slide{transition:none}}
.contact-success .contact-success__again{width:auto!important;align-self:center;justify-self:center}
.hq-slide blockquote p{font-size:clamp(18px,1.75vw,23px)}
/* Presupuesto: mismas tarjetas con radio del DS que «¿Qué te trae por aquí?» */
.budget-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-s)}
.reason-card--compact{align-items:center;padding:var(--spacing-s) var(--spacing-m);min-height:52px}
.reason-card--compact .t-radio{margin-top:0}
.reason-card--compact strong{font-variant-numeric:normal}
@media(max-width:760px){.budget-cards{grid-template-columns:1fr}}

/* ===== Revisión 17 · testimonios: solo barra de progreso anclada a «Más testimonios» ===== */
.home-quote{position:relative;padding-bottom:var(--spacing-3xl)}
.hq-track{cursor:pointer;outline:none;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.hq-track:focus-visible{outline:2px solid var(--color-information-600);outline-offset:8px;border-radius:2px}
.hq-slide{transform:translate3d(calc(var(--hq-dir,1) * 18px),0,0)}
.hq-slide.is-active{transform:none}
.hq-slide.is-leaving{transform:translate3d(calc(var(--hq-dir,1) * -18px),0,0)}
.hq-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;max-width:none;margin:0;background:transparent;z-index:2;display:block!important}
.hq-progress i{position:absolute;inset:0;background:var(--color-steel-900);transform:scaleX(0);transform-origin:left}
.home-quote.is-paused .hq-progress i{background:var(--color-steel-500)}
.home-quote+.section-more--tinted{margin-top:0}

/* Hablemos · «Lo que dicen de mí» con el formato de testimonios de Inicio */
.testimonials-quote{border-bottom:1px solid var(--border)}
.testimonials-quote__title{margin-bottom:var(--spacing-xl)}

/* Encabezado en franja propia, centrado */
.band-heading{padding:var(--spacing-xl) var(--spacing-3xl);border-top:1px solid var(--border);text-align:center;background:var(--bg)}
.band-heading h2{font-size:clamp(28px,3vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:0}
.band-heading+.home-quote{border-top:1px solid var(--border)}
@media(max-width:640px){.band-heading{padding:var(--spacing-xl) var(--spacing-l)}}
.contact-panel+.band-heading{border-top:0}

/* «Lo que dicen de mí» con el fondo de los testimonios */
.band-heading{background:var(--color-black-100)}

/* Carrusel de clientes sin título */
@media(prefers-reduced-motion:reduce){.brand-marquee--untitled .brand-marquee-window{margin-left:0}}

/* Franja bajo el carrusel de clientes */
.band-heading--clients{background:var(--bg);border-top:0;border-bottom:1px solid var(--border);padding:var(--spacing-l) var(--spacing-3xl)}
.band-heading--clients p{margin:0;font-size:clamp(18px,1.8vw,24px);letter-spacing:-.02em;color:var(--color-steel-700);line-height:1.35}
.band-heading--clients+.featured-work .project-grid{border-top:0}
@media(max-width:640px){.band-heading--clients{padding:var(--spacing-l)}}

/* Clientes y su franja en el gris del encabezado (black-500), para leerse juntos */
.brand-marquee--clients .marquee-client{color:var(--color-black-500)}
.brand-marquee--clients .client-logo{filter:brightness(0) invert(.545)}
.band-heading--clients p{color:var(--color-black-500)}

/* Gris más suave (black-400) */
.brand-marquee--clients .marquee-client{color:var(--color-black-400)}
.brand-marquee--clients .client-logo{filter:brightness(0) invert(.651)}
.band-heading--clients p{color:var(--color-black-400)}

/* Hablemos · campo de puntos bajo la franja «¿Qué te trae por aquí?»; una luz suave lo recorre de lado a lado */
.contact-panel{position:relative}
.contact-panel>form,.contact-panel>.contact-aside{position:relative;z-index:1}
.rf-field{position:absolute;left:0;right:0;top:0;z-index:0;pointer-events:none;overflow:hidden;transition:opacity .8s ease}
.rf-field>span{position:absolute;inset:0;background-image:radial-gradient(circle,currentColor .9px,transparent 1.2px);background-size:18px 18px;background-position:9px 9px}
.rf-field__base{color:var(--color-steel-200);opacity:.55}
.rf-field__glow{color:var(--color-steel-400);-webkit-mask-image:linear-gradient(90deg,transparent,#000 50%,transparent);mask-image:linear-gradient(90deg,transparent,#000 50%,transparent);-webkit-mask-size:34% 100%;mask-size:34% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:-40% 0;mask-position:-40% 0}
@keyframes rf-sweep{from{-webkit-mask-position:-45% 0;mask-position:-45% 0}to{-webkit-mask-position:145% 0;mask-position:145% 0}}
.contact-panel:has(.contact-form.has-choice) .rf-field{opacity:0}
.contact-panel:has(.contact-form.has-choice) .rf-field__glow{animation-play-state:paused}
.contact-panel:has(.reason-field.rv-pre) .rf-field{opacity:0;transition:none}
@media(prefers-reduced-motion:reduce){.rf-field__glow{animation:none;opacity:0}}

@media(max-width:760px){.rf-field__glow{-webkit-mask-image:linear-gradient(180deg,transparent,#000 50%,transparent);mask-image:linear-gradient(180deg,transparent,#000 50%,transparent)}}
/* Tarjeta iluminada al paso de la luz */
.reason-card{transition:border-color .45s ease,box-shadow .45s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.reason-card .t-radio{transition:box-shadow .45s ease}
.reason-card.is-lit{border-color:var(--color-steel-500);box-shadow:var(--elevation-1)}
.reason-card.is-lit .t-radio{box-shadow:inset 0 0 0 var(--stroke-m) var(--color-steel-900),0 0 0 5px var(--color-steel-10)}

/* Hablemos · título de cada formulario, a juego con «¿Qué te trae por aquí?» */
.form-step-title{grid-column:1/-1;text-align:center;font-size:clamp(28px,3.4vw,40px);font-weight:400;letter-spacing:-.03em;line-height:1.15;margin:var(--spacing-l) 0 var(--spacing-xl);padding-top:var(--spacing-xl);border-top:1px solid var(--border);outline:none;scroll-margin-top:120px}
.form-step-title.is-shown{animation:fst-in .8s cubic-bezier(.22,1,.36,1) both}
@keyframes fst-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:760px){.form-step-title{font-size:clamp(26px,7vw,32px)}}
@media(prefers-reduced-motion:reduce){.form-step-title.is-shown{animation:none}}

/* Puntos de la ola algo más visibles */
.rf-field>span{background-image:radial-gradient(circle,currentColor 1.05px,transparent 1.4px)}
.rf-field__base{color:var(--color-steel-300);opacity:.75}
.rf-field__glow{color:var(--color-steel-600)}
.form-step-title.is-pending{opacity:0}
.form-step-title.is-shown{animation:fst-in 1.1s cubic-bezier(.22,1,.36,1) both}

/* Malla de puntos: más grandes y en gris más suave */
.rf-field>span{background-image:radial-gradient(circle,currentColor 1.5px,transparent 1.9px);background-size:20px 20px;background-position:10px 10px}
.rf-field__base{color:var(--color-steel-200);opacity:.7}
.rf-field__glow{color:var(--color-steel-300)}
/* Borde iluminado solo en el tramo por donde pasa la luz */
.reason-card::after{content:'';position:absolute;inset:-1px;border:1px solid var(--color-steel-700);border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s ease;
  -webkit-mask-image:linear-gradient(90deg,transparent calc(var(--lp,-999px) - var(--lw,200px)/2),#000 var(--lp,-999px),transparent calc(var(--lp,-999px) + var(--lw,200px)/2));
  mask-image:linear-gradient(90deg,transparent calc(var(--lp,-999px) - var(--lw,200px)/2),#000 var(--lp,-999px),transparent calc(var(--lp,-999px) + var(--lw,200px)/2))}
.reason-field.is-waving .reason-card::after{opacity:1}
.reason-field:has(input:checked) .reason-card::after{opacity:0}
@media(max-width:760px){.reason-card::after{
  -webkit-mask-image:linear-gradient(180deg,transparent calc(var(--lp,-999px) - var(--lw,200px)/2),#000 var(--lp,-999px),transparent calc(var(--lp,-999px) + var(--lw,200px)/2));
  mask-image:linear-gradient(180deg,transparent calc(var(--lp,-999px) - var(--lw,200px)/2),#000 var(--lp,-999px),transparent calc(var(--lp,-999px) + var(--lw,200px)/2))}}
/* La iluminación completa solo en la entrada */
.reason-card.is-lit{transition:border-color .35s ease,box-shadow .35s ease}

/* Solo se ven los puntos por donde pasa la luz */
.rf-field__base{display:none}

/* Ola con puntos que crecen hacia el centro */
.rf-field>.rf-field__glow{background-image:radial-gradient(circle,currentColor var(--dot,1.1px),transparent calc(var(--dot,1.1px) + .4px))}

/* Ola: gris aún más suave */
.rf-field__glow{color:var(--color-steel-200)}
.rf-field{top:0}

/* La ola no se ve hasta que entra (tras el título y las tarjetas) */
.rf-field:not(.is-on) .rf-field__glow{visibility:hidden}

/* Ola: un pelín más suave */
.rf-field__glow{opacity:.75}

/* Foco circular e irregular dentro de la ola */
.rf-field>.rf-field__glow--spot,.rf-field>.rf-field__glow--spot{-webkit-mask-image:radial-gradient(circle closest-side,#000 20%,transparent);mask-image:radial-gradient(circle closest-side,#000 20%,transparent)}
@media(max-width:760px){.rf-field>.rf-field__glow--spot{-webkit-mask-image:radial-gradient(circle closest-side,#000 20%,transparent);mask-image:radial-gradient(circle closest-side,#000 20%,transparent)}}

/* Malla más densa para una ola más orgánica */
.rf-field>span{background-size:14px 14px;background-position:7px 7px}

/* Ola: gris más claro */
.rf-field__glow{color:var(--color-steel-200);opacity:.5}

/* Sobre mí: retrato sobre cuadrado gris; solo la cabeza sobresale por arriba (los hombros se recortan en los lados) */
.portrait--pop .pop{position:relative;aspect-ratio:1/1;margin-top:14%}
.portrait--pop .pop::before{content:"";position:absolute;inset:0;background:var(--color-black-200);border-radius:var(--rounded-s)}
.portrait--pop .pop__clip{position:absolute;inset:0;clip-path:inset(-30% 0 0 0 round 0 0 var(--rounded-s) var(--rounded-s))}
.portrait.portrait--pop .pop__clip img{position:absolute;left:50%;top:-28%;width:140%;height:auto;max-width:none;max-height:none;aspect-ratio:auto;object-fit:fill;border-radius:0;transform:translateX(-50%);filter:none}

/* Servicios r54: solo design system */
.svc-lede{max-width:560px;margin-top:var(--spacing-l);font-size:var(--font-size-l);line-height:1.55}
.svc-block{border-bottom:1px solid var(--border)}
.svc-head{padding:var(--spacing-3xl) var(--spacing-3xl) var(--spacing-xl)}
.svc-head h2{font-size:var(--font-size-3xl)}
.svc-includes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--border)}
.svc-includes li{padding:var(--spacing-xl) var(--spacing-l)}
.svc-includes li+li{border-left:1px solid var(--border)}
.svc-includes h3{margin-bottom:var(--spacing-s);font-size:var(--font-size-xl);letter-spacing:-.02em}
.svc-includes p{font-size:var(--font-size-m);line-height:1.55}
.svc-also{margin:0;padding:var(--spacing-l) var(--spacing-3xl);border-top:1px dashed var(--color-steel-300);background:var(--color-black-100);font-size:var(--font-size-m);color:var(--fg)}
.svc-k{display:block;margin-bottom:var(--spacing-4xs);font-size:var(--font-size-s);color:var(--muted)}
@media(max-width:900px){
  .svc-head{padding:var(--spacing-2xl) var(--spacing-xl) var(--spacing-l)}
  .svc-includes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .svc-includes li:nth-child(3){border-left:0}
  .svc-includes li:nth-child(n+3){border-top:1px solid var(--border)}
  .svc-also{padding:var(--spacing-l) var(--spacing-xl)}
}
@media(max-width:640px){
  .svc-head{padding:var(--spacing-xl) var(--spacing-l) var(--spacing-l)}
  .svc-includes{grid-template-columns:1fr}
  .svc-includes li+li,.svc-includes li:nth-child(n+3){border-left:0;border-top:1px solid var(--border)}
  .svc-includes li{padding:var(--spacing-l)}
  .svc-also{padding:var(--spacing-l)}
}

/* Sobre mí r56: bio limpia (titular + 3 datos + botón) */
.about-layout{align-items:center}
.bio--clean{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.bio.bio--clean .bio-lead{margin:0 0 var(--spacing-xl);font-size:var(--font-size-2xl);line-height:1.3;letter-spacing:-.02em;color:var(--fg);text-wrap:balance}
.bio-facts{align-self:stretch;margin:0 0 var(--spacing-xl);border-top:1px solid var(--border)}
.bio-facts>div{display:grid;grid-template-columns:112px minmax(0,1fr);gap:var(--spacing-l);align-items:baseline;padding:var(--spacing-m) 0;border-bottom:1px solid var(--border)}
.bio-facts dt{font-size:var(--font-size-xl);letter-spacing:-.02em;color:var(--fg);white-space:nowrap}
.bio-facts dd{margin:0;font-size:var(--font-size-m);line-height:1.5;color:var(--muted)}
.bio.bio--clean .t-btn{margin:0}
@media(max-width:640px){
  .bio.bio--clean .bio-lead{font-size:var(--font-size-xl)}
  .bio-facts>div{grid-template-columns:88px minmax(0,1fr);gap:var(--spacing-m)}
  .bio-facts dt{font-size:var(--font-size-l)}
}

/* Retratos en cuadrado (cabecera + sobre mí): más compactos, misma composición */
.portrait--pop{width:min(100%,240px)}
.portrait--pop .pop{margin-top:18%}
.portrait.portrait--pop .pop__clip picture{position:absolute;left:50%;top:-28%;width:140%;transform:translateX(-50%);display:block}
.portrait.portrait--pop .pop__clip picture img{position:static;left:auto;top:auto;width:100%;height:auto;transform:none}
.about-layout{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:var(--spacing-3xl);justify-items:start}
.about-layout .portrait--pop{justify-self:start}
@media(max-width:900px){.about-layout{grid-template-columns:minmax(0,220px) minmax(0,1fr)}}
@media(max-width:640px){
  .about-layout{grid-template-columns:1fr;justify-items:center}
  .about-layout .portrait--pop{width:min(100%,200px);justify-self:center}
}

/* Cabecera: misma foto en cuadrado que Sobre mí */
.hero--portrait{grid-template-columns:minmax(0,1fr) minmax(0,240px);gap:var(--spacing-2xl);align-items:center;padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-3xl);overflow:visible}
.hero--portrait .hero__text{align-self:center;padding-bottom:0}
.hero__portrait{align-self:center;margin:0;margin-right:0}
.hero__photo.portrait--pop{width:min(100%,240px);aspect-ratio:auto;border-radius:0;background:none;overflow:visible;margin-inline:auto}
.hero__photo.portrait--pop img{width:140%;height:auto;object-fit:fill;margin-top:0}
.rv-hero-pre .hero__photo.portrait--pop{clip-path:none;opacity:0;transform:translate3d(0,18px,0)}
.rv-hero-pre .hero__photo.portrait--pop img{transform:none;opacity:1}
.rv-hero-in .hero__photo.portrait--pop{transition:opacity .9s var(--ease-out) .08s,transform 1.1s var(--ease-out) .08s;opacity:1;transform:none}
.rv-hero-in .hero__photo.portrait--pop img{transition:none}
@media(min-width:641px){
  .hero--portrait{grid-template-columns:minmax(0,1fr) minmax(0,240px);padding-top:var(--spacing-3xl);gap:var(--spacing-2xl)}
  .hero__portrait{margin-right:0}
  .hero__photo.portrait--pop{width:240px}
}
@media(max-width:640px){
  .hero--portrait{grid-template-columns:1fr;gap:var(--spacing-xl);padding:var(--spacing-xl) 0 var(--spacing-2xl)}
  .hero__portrait{order:-1;position:relative;z-index:1;margin-top:0;display:flex;justify-content:center;border-bottom:0;pointer-events:auto}
  .hero__portrait{--poke:0px}
  .hero__photo.portrait--pop{width:min(56vw,200px);max-width:200px;overflow:visible;clip-path:none;animation:none!important}
  .hero__photo.portrait--pop picture{position:static;top:auto;left:auto;width:auto;transform:none;translate:none;will-change:auto;pointer-events:auto;animation:none!important}
  .hero--portrait .hero__text{padding:0 var(--spacing-l) var(--spacing-l)}
  body.photo-tucked .hero__photo.portrait--pop picture,
  body.nav-duck .hero__photo.portrait--pop picture{translate:none}
}

/* Sobre mí · composición foto + texto: foto más grande, base alineada con el botón «Hablemos» */
section.about-layout.section{grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:clamp(var(--spacing-xl),5vw,var(--spacing-3xl));align-items:end;justify-items:stretch}
.about-layout .portrait--pop{width:min(100%,300px);justify-self:start}
.about-layout .portrait--pop .pop{margin-top:16%}
.about-layout .bio--clean{max-width:560px;padding-bottom:0}
.about-layout .bio-facts{margin-bottom:var(--spacing-xl)}
@media(max-width:900px){section.about-layout.section{grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:var(--spacing-xl)}.about-layout .portrait--pop{width:min(100%,240px)}}
@media(max-width:640px){
  section.about-layout.section{grid-template-columns:1fr;justify-items:center;gap:var(--spacing-xl)}
  .about-layout .portrait--pop{width:min(64%,220px);justify-self:center}
  .about-layout .bio--clean{max-width:none;width:100%}
}

/* Retrato r57 · cara más contenida (el recorte entra casi a ancho del cuadro) y foto pegada al texto en escritorio */
@media(min-width:641px){
  .portrait.portrait--pop .pop__clip picture{width:108%;top:-15%}
  .portrait--pop .pop{margin-top:12%}
  .about-layout .portrait--pop .pop{margin-top:12%}
  .hero--portrait{grid-template-columns:minmax(0,600px) 280px;justify-content:center;gap:clamp(var(--spacing-xl),6vw,var(--spacing-4xl,96px))}
  .hero__photo.portrait--pop{width:280px}
}

.services-intro{padding-bottom:var(--spacing-2xl)}
.svc-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-s);margin-top:var(--spacing-xl)}
.svc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-xl);color:var(--fg)}
.svc-top [data-lucide],.svc-top svg{width:24px;height:24px;stroke-width:1.5}
.svc-top small{font-size:var(--font-size-s);color:var(--muted)}
.svc-includes li{transition:background .25s ease}
.svc-includes li:hover{background:var(--color-black-100)}
.svc-formats{background:var(--color-black-100)}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--spacing-m);padding:0 var(--spacing-3xl) var(--spacing-3xl)}
.svc-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-s);padding:var(--spacing-l);background:var(--color-white-900);border:1px solid var(--border);border-radius:var(--rounded-s);transition:border-color .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.svc-grid article:hover{border-color:var(--color-steel-300);transform:translateY(-3px)}
.svc-grid h3{font-size:var(--font-size-xl);letter-spacing:-.02em}
.svc-grid p{font-size:var(--font-size-m);line-height:1.55}
.svc-tag{padding:var(--spacing-4xs) var(--spacing-s);border:1px solid var(--border);border-radius:var(--rounded-full);font-size:var(--font-size-s);color:var(--muted)}
@media(max-width:900px){.svc-grid{grid-template-columns:1fr;padding:0 var(--spacing-xl) var(--spacing-xl)}}
@media(max-width:640px){.svc-grid{padding:0 var(--spacing-l) var(--spacing-l)}.svc-actions .t-btn{width:100%}.svc-top{margin-bottom:var(--spacing-m)}}
@media(prefers-reduced-motion:reduce){.svc-grid article,.svc-includes li{transition:none}.svc-grid article:hover{transform:none}}

/* Servicios: espaciado compacto */
.services-intro{padding-top:var(--spacing-2xl);padding-bottom:var(--spacing-xl)}
.svc-lede{margin-top:var(--spacing-m)}
.svc-actions{margin-top:var(--spacing-l)}
.svc-head{padding:var(--spacing-xl) var(--spacing-3xl) var(--spacing-l)}
.svc-includes li{padding:var(--spacing-l)}
.svc-top{margin-bottom:var(--spacing-l)}
.svc-grid{padding-bottom:var(--spacing-xl)}
.svc-grid article{padding:var(--spacing-m) var(--spacing-l) var(--spacing-l)}
.brand-marquee--audience .brand-marquee-group{padding-top:var(--spacing-m);padding-bottom:var(--spacing-m)}
.svc-faq{padding:var(--spacing-xl) 0 var(--spacing-l)}
.svc-faq .minimal-heading{padding:0 var(--spacing-xl) var(--spacing-m);text-align:left}
.svc-faq .faq-item>summary{padding-top:var(--spacing-m);padding-bottom:var(--spacing-m)}
.svc-faq .faq-panel p{padding-bottom:var(--spacing-m)}
.services-intro~.compact-cta{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}
@media(max-width:900px){.svc-head{padding:var(--spacing-l) var(--spacing-xl) var(--spacing-m)}.svc-faq .minimal-heading{padding-left:var(--spacing-l);padding-right:var(--spacing-l)}}
@media(max-width:640px){.services-intro{padding-top:var(--spacing-l)}.svc-head{padding:var(--spacing-l) var(--spacing-l) var(--spacing-m)}.svc-faq{padding-top:var(--spacing-l)}}

/* Fichas de proyecto: visuales múltiples y espaciado compacto */
.case-intro{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}
.case-intro h1{margin-top:var(--spacing-l);font-size:clamp(36px,5vw,64px)}
.case-summary{margin-top:var(--spacing-s);font-size:var(--font-size-l)}
.case-meta{margin:var(--spacing-l) 0 0;padding-top:var(--spacing-m)}
.case-visuals{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--spacing-s);padding:var(--spacing-m) var(--spacing-3xl);border-bottom:1px solid var(--border)}
.vt{margin:0;display:flex;flex-direction:column;gap:var(--spacing-2xs);min-width:0;grid-column:span 3}
.vt.w2{grid-column:span 2}.vt.w3{grid-column:span 3}.vt.w4{grid-column:span 4}.vt.w6{grid-column:span 6}
.vt-body{flex:1;display:flex;align-items:center;justify-content:center;background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-s);padding:var(--spacing-l);min-height:200px;overflow:hidden}
.vt.tall .vt-body{min-height:300px}
.vt.dark .vt-body{background:var(--case-ink);color:var(--case-soft)}
.vt figcaption{font-size:var(--font-size-s);color:var(--muted)}
.vt-panel,.vt-doc,.vt-phone,.vt-flow,.vt-type,.vt-compare,.vt-profile,.vt-frames{width:100%;max-width:420px;background:var(--color-white-900);color:var(--fg);border-radius:var(--rounded-s);box-shadow:var(--elevation-2);padding:var(--spacing-m);font-size:var(--font-size-s)}
.vt-panel>b,.vt-flow b{display:block;font-size:var(--font-size-m);font-weight:600;margin-bottom:var(--spacing-s)}
.vt-panel small{display:block;margin-top:var(--spacing-s);color:var(--muted)}
.vt-panel code,.vt-doc code{display:block;margin-top:var(--spacing-s);font-size:11px;color:var(--muted);font-family:ui-monospace,Menlo,monospace}
.vt-rows{list-style:none;margin:0;padding:0}
.vt-rows li{display:grid;grid-template-columns:auto 1fr auto;gap:var(--spacing-s);padding:var(--spacing-2xs) 0;border-top:1px solid var(--border);align-items:center}
.vt-rows b{font-weight:600}.vt-rows em{font-style:normal;background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-full);padding:0 var(--spacing-xs);font-size:11px}
.vt-bars{display:flex;align-items:flex-end;gap:6px;height:70px;border-bottom:1px solid var(--border)}
.vt-bars i{flex:1;background:var(--case-soft);border-radius:3px 3px 0 0}.vt-bars i:last-child{background:var(--case-accent)}
.vt-sw{display:flex;gap:var(--spacing-2xs)}.vt-sw i{flex:1;height:56px;border-radius:var(--rounded-xs);border:1px solid var(--border)}
.vt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-s);margin-bottom:var(--spacing-s)}.vt-stats strong{font-size:var(--font-size-2xl);letter-spacing:-.03em;display:block}
.vt-btns{display:flex;flex-wrap:wrap;gap:var(--spacing-2xs)}
.vt button{font:inherit;font-size:var(--font-size-s);border:1px solid var(--case-accent);background:var(--case-accent);color:#fff;border-radius:var(--rounded-xs);padding:var(--spacing-2xs) var(--spacing-s);cursor:default}
.vt button.ghost{background:none;color:var(--case-accent)}.vt button.h{filter:brightness(.85)}.vt button.f{outline:2px solid var(--case-accent);outline-offset:2px}.vt button.d{opacity:.4}
.vt-field{margin-top:var(--spacing-s);border:1px solid var(--border);border-radius:var(--rounded-xs);padding:var(--spacing-2xs) var(--spacing-s)}.vt-field small{margin:0}
.vt-voucher{width:min(100%,240px);aspect-ratio:3/4;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;border:1px solid currentColor;border-radius:var(--rounded-s);padding:var(--spacing-l)}
.vt-voucher strong{font-size:64px;line-height:1}.vt-voucher h3{font-size:var(--font-size-xl);color:inherit}.vt-voucher p{color:inherit;font-size:var(--font-size-s)}.vt-voucher span{font-size:11px;letter-spacing:.14em}
.vt-flow{display:flex;flex-direction:column;gap:var(--spacing-s)}.vt-flow>div{display:flex;align-items:center;gap:var(--spacing-s)}.vt-flow b{margin:0}.vt-flow i{width:24px;height:24px;border-radius:50%;background:var(--case-accent);color:#fff;display:grid;place-items:center;font-style:normal}.vt-flow p{color:var(--muted);font-size:var(--font-size-s)}
.vt-cal{display:flex;gap:var(--spacing-s);height:110px;align-items:flex-end}.vt-cal>div{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:4px;text-align:center}.vt-cal i{background:var(--case-soft);border-radius:3px}.vt-cal small{margin:0}
.vt-phone{max-width:210px;display:flex;flex-direction:column;gap:var(--spacing-s);min-height:250px;border-radius:var(--rounded-l);text-align:center;justify-content:center}.vt-phone small{color:var(--muted)}.vt-phone h3{font-size:var(--font-size-xl)}.vt-phone button{padding:var(--spacing-s)}
.vt-count{display:flex;align-items:center;justify-content:center;gap:var(--spacing-l)}.vt-count strong{font-size:var(--font-size-4xl);line-height:1}.vt-count span{width:36px;height:36px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;font-size:var(--font-size-xl)}
.vt-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-2xs);justify-content:center}.vt-chips span{background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-full);padding:2px var(--spacing-s)}
.vt-type{text-align:center}.vt-type strong{font-size:72px;line-height:1;letter-spacing:-.05em}.vt-type p{color:var(--fg)}
.vt-sync{display:flex;align-items:center;justify-content:center;gap:var(--spacing-s)}.vt-sync span{background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-xs);padding:var(--spacing-xs) var(--spacing-m)}
.vt-doc{display:grid;grid-template-columns:110px 1fr;gap:var(--spacing-m);max-width:520px}.vt-doc aside{display:flex;flex-direction:column;gap:2px;border-right:1px solid var(--border);padding-right:var(--spacing-s)}.vt-doc aside b{margin-bottom:var(--spacing-xs)}.vt-doc aside span{padding:2px var(--spacing-xs);color:var(--muted)}.vt-doc aside .on{background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-xs)}.vt-doc h3{font-size:var(--font-size-xl)}.vt-doc p{margin:var(--spacing-2xs) 0 var(--spacing-s)}
.vt-compare{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-m);max-width:480px;text-align:center}.vt-compare span{display:block;font-size:48px;line-height:1.3;font-weight:600}.vt-compare .busy{font-size:26px;letter-spacing:.1em;line-height:2.2;opacity:.7}.vt-compare small{color:var(--muted)}
.vt-profile{display:grid;grid-template-columns:48px 1fr;gap:var(--spacing-s);align-items:center;max-width:300px}.vt-profile>i{width:48px;height:48px;border-radius:50%;background:var(--case-ink);color:var(--case-soft);display:grid;place-items:center;font-style:normal;font-weight:600;font-size:var(--font-size-xl)}.vt-profile small{display:block;color:var(--muted)}.vt-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.vt-grid i{aspect-ratio:1;background:var(--case-soft)}.vt-grid .g1{background:var(--case-ink)}.vt-grid .g2{background:var(--case-accent)}
.vt-poster{text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-s)}.vt-poster strong{font-size:110px;line-height:1}.vt-poster p{color:inherit;font-size:var(--font-size-xl);line-height:1.15}.vt-poster small{letter-spacing:.14em;text-transform:uppercase}
.vt-frames{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-s);max-width:520px}.vt-frames>div{aspect-ratio:1;background:var(--case-soft);border-radius:var(--rounded-xs);display:grid;place-items:center;overflow:hidden}.vt-frames b{font-size:44px;transform:scale(var(--s));opacity:var(--o);color:var(--case-ink)}.vt-frames small{grid-column:1/-1;color:var(--muted)}
.case-story{padding-top:0;padding-bottom:var(--spacing-m)}
.case-story__row{padding:var(--spacing-l) 0;gap:var(--spacing-l)}
.case-story__text{font-size:var(--font-size-l);line-height:1.55}
.case-next.section{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}
@media(max-width:900px){.case-visuals{padding:var(--spacing-m) var(--spacing-xl)}.vt,.vt.w2,.vt.w3,.vt.w4,.vt.w6{grid-column:span 6}.vt.w2{grid-column:span 3}}
@media(max-width:640px){.case-visuals{grid-template-columns:1fr;padding:var(--spacing-m) var(--spacing-l)}.vt,.vt.w2,.vt.w3,.vt.w4,.vt.w6{grid-column:auto}.vt-body{min-height:0;padding:var(--spacing-m)}.vt.tall .vt-body{min-height:260px}.case-intro{padding-top:var(--spacing-m)}}

/* Bloque principal animado de cada caso */
@property --hxn{syntax:'<integer>';inherits:false;initial-value:0}
@property --tk{syntax:'<color>';inherits:true;initial-value:#5b2ee0}
.case-hero{padding:var(--spacing-m) var(--spacing-3xl) 0}
.hx-stage{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--spacing-l);min-height:380px;padding:var(--spacing-xl);background:var(--case-soft);color:var(--case-ink);border-radius:var(--rounded-m);overflow:hidden}
.hx-caption{font-size:var(--font-size-s);margin:var(--spacing-2xs) 0 0;color:var(--muted)}
.hx-stage *{--T:9s}
.hx-card{background:var(--color-white-900);color:var(--fg);border-radius:var(--rounded-s);box-shadow:var(--elevation-2);padding:var(--spacing-m);font-size:var(--font-size-s)}
.hx-card small{display:block;color:var(--muted);margin-bottom:var(--spacing-2xs)}
.hx-arrow{font-size:var(--font-size-3xl);opacity:.5}
.hx-stage button{font:inherit;font-size:var(--font-size-s);border:1px solid var(--case-accent);background:var(--case-accent);color:#fff;border-radius:var(--rounded-xs);padding:var(--spacing-xs) var(--spacing-m);cursor:default}
.hx-stage button.ghost{background:none;color:var(--case-accent)}
/* Ikigai */
.hx-form{width:240px;display:flex;flex-direction:column;gap:var(--spacing-xs)}
.hx-form label{display:flex;flex-direction:column;font-size:11px;color:var(--muted);gap:2px}
.hx-type{display:block;color:var(--fg);font-size:var(--font-size-m);border-bottom:1px solid var(--border);padding-bottom:2px;overflow:hidden;white-space:nowrap;width:0;animation:hx-type var(--T) steps(14,end) infinite}
.hx-type.t2{animation-delay:.9s}.hx-type.t3{animation-delay:1.8s}
@keyframes hx-type{0%{width:0}8%,92%{width:100%}98%,100%{width:0}}
.hx-press{margin-top:var(--spacing-2xs);animation:hx-press var(--T) infinite}
@keyframes hx-press{0%,34%{transform:scale(1)}37%{transform:scale(.94);filter:brightness(.85)}40%,100%{transform:scale(1)}}
.hx-voucher{width:190px;aspect-ratio:3/4;background:var(--case-ink);color:var(--case-soft);border-radius:var(--rounded-s);padding:var(--spacing-m);display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center;box-shadow:var(--elevation-3);opacity:0;animation:hx-voucher var(--T) infinite}
.hx-voucher strong{font-size:56px;line-height:1}.hx-voucher h3{font-size:var(--font-size-l);color:inherit}.hx-voucher p{color:inherit;font-size:11px}.hx-voucher span{font-size:10px;letter-spacing:.14em}
@keyframes hx-voucher{0%,38%{opacity:0;transform:scale(.8) rotate(-4deg)}46%,90%{opacity:1;transform:scale(1) rotate(-2deg)}97%,100%{opacity:0;transform:scale(.95) rotate(-2deg)}}
.hx-out{display:flex;flex-direction:column;gap:var(--spacing-xs);width:210px}
.hx-out .hx-card{display:grid;grid-template-columns:1fr auto;gap:2px var(--spacing-s);opacity:0;animation:hx-slide var(--T) infinite}
.hx-out b{font-size:var(--font-size-m)}.hx-out span{grid-column:1;color:var(--muted)}.hx-out i{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;color:#fff;background:var(--case-accent);width:22px;height:22px;border-radius:50%;display:grid;place-items:center}
.hx-wa{animation-delay:.5s!important}.hx-cal{animation-delay:1s!important}
@keyframes hx-slide{0%,46%{opacity:0;transform:translateX(-24px)}54%,90%{opacity:1;transform:none}97%,100%{opacity:0}}
/* Wedding */
.hx-phone{position:relative;width:210px;height:300px;background:var(--color-white-900);color:var(--fg);border-radius:28px;box-shadow:var(--elevation-3);overflow:hidden}
.hx-screen{position:absolute;inset:0;padding:var(--spacing-l);display:flex;flex-direction:column;justify-content:center;gap:var(--spacing-s);text-align:center;opacity:0;animation:hx-scr var(--T) infinite}
.hx-screen small{color:var(--muted)}.hx-screen h3{font-size:var(--font-size-xl)}.hx-screen p{font-size:var(--font-size-s)}
.hx-screen.s2{animation-delay:3s}.hx-screen.s3{animation-delay:6s}
@keyframes hx-scr{0%{opacity:0;transform:translateX(30px)}4%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateX(-30px)}}
.hx-tap{animation:hx-tapb var(--T) infinite}.s2 .hx-tap{animation-delay:3s}
@keyframes hx-tapb{0%,24%{transform:scale(1)}27%{transform:scale(.93);filter:brightness(.8)}30%,100%{transform:scale(1)}}
.hx-num{display:flex;align-items:center;justify-content:center;gap:var(--spacing-m)}.hx-num strong{font-size:48px;line-height:1}.hx-num span{width:34px;height:34px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center;font-size:var(--font-size-xl)}
.hx-check{width:64px;height:64px;margin:auto;border-radius:50%;background:var(--case-accent);color:#fff;display:grid;place-items:center;font-size:32px}
.hx-dash{width:260px}.hx-count{font-size:56px;line-height:1;font-weight:500;letter-spacing:-.04em;animation:hx-n var(--T) infinite;counter-reset:n var(--hxn)}
.hx-count::after{content:counter(n)}
@keyframes hx-n{0%,6%{--hxn:0}30%,90%{--hxn:148}97%,100%{--hxn:0}}
.hx-list{margin-top:var(--spacing-s)}.hx-list>div{display:flex;justify-content:space-between;padding:var(--spacing-2xs) 0;border-top:1px solid var(--border);opacity:0;animation:hx-pop var(--T) infinite;animation-delay:calc(var(--i)*.7s)}
.hx-list em{font-style:normal;background:var(--case-soft);border-radius:var(--rounded-full);padding:0 var(--spacing-xs)}
@keyframes hx-pop{0%,10%{opacity:0;transform:translateY(8px)}16%,90%{opacity:1;transform:none}97%,100%{opacity:0}}
/* Titan */
.hx-tokens,.hx-comps{--tk:#5b2ee0;animation:hx-tk 8s infinite}
.hx-tokens{width:250px}.hx-stage:has(.hx-tokens){--tk:#5b2ee0}
@keyframes hx-tk{0%,22%{--tk:#5b2ee0}27%,47%{--tk:#0e7c66}52%,72%{--tk:#d6420f}77%,97%{--tk:#1b5bd8}100%{--tk:#5b2ee0}}
.hx-chip{display:flex;align-items:center;gap:var(--spacing-xs);border:1px solid var(--border);border-radius:var(--rounded-xs);padding:var(--spacing-xs)}.hx-chip i{width:28px;height:28px;border-radius:var(--rounded-xs);background:var(--tk)}.hx-chip code{font-size:11px}
.hx-hex{position:relative;height:42px;margin-top:var(--spacing-s)}.hx-hex span{position:absolute;inset:0;font-size:32px;font-weight:500;letter-spacing:-.04em;opacity:0;animation:hx-hx 8s infinite}
.hx-hex span:nth-child(2){animation-delay:2s}.hx-hex span:nth-child(3){animation-delay:4s}.hx-hex span:nth-child(4){animation-delay:6s}
@keyframes hx-hx{0%{opacity:0;transform:translateY(8px)}4%,23%{opacity:1;transform:none}27%,100%{opacity:0}}
.hx-comps{width:280px;display:flex;flex-direction:column;gap:var(--spacing-s)}.hx-row{display:flex;align-items:center;gap:var(--spacing-xs)}
.hx-comps .hx-b{background:var(--tk);border-color:var(--tk)}.hx-comps .hx-b.o{background:none;color:var(--tk)}
.hx-badge{background:color-mix(in srgb,var(--tk) 15%,white);color:var(--tk);border-radius:var(--rounded-full);padding:0 var(--spacing-s);font-size:11px}
.hx-input{border:1px solid var(--tk);border-radius:var(--rounded-xs);padding:var(--spacing-2xs) var(--spacing-s);box-shadow:0 0 0 3px color-mix(in srgb,var(--tk) 20%,transparent)}.hx-input small{margin:0}
.hx-toggle{width:36px;height:20px;border-radius:10px;background:var(--tk);position:relative}.hx-toggle i{position:absolute;right:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff}
.hx-tabs{display:flex;gap:var(--spacing-s)}.hx-tabs b{font-weight:400;color:var(--muted);padding-bottom:2px}.hx-tabs .on{color:var(--tk);border-bottom:2px solid var(--tk)}
.hx-prog{height:6px;border-radius:3px;background:var(--border)}.hx-prog i{display:block;height:100%;width:70%;border-radius:3px;background:var(--tk)}
/* Bricks */
.hx-site{width:340px;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xs);background:var(--color-white-900);border-radius:var(--rounded-s);padding:var(--spacing-m);box-shadow:var(--elevation-3)}
.hx-blk{border-radius:var(--rounded-xs);background:var(--case-soft);animation:hx-drop 8s cubic-bezier(.3,1.4,.5,1) infinite;animation-delay:calc(var(--d)*.45s)}
.hx-blk.nav{grid-column:1/-1;height:22px;background:var(--case-ink)}.hx-blk.title{grid-column:1/3;height:34px;background:var(--case-accent)}.hx-blk.text{grid-column:1/-1;height:16px}
.hx-blk.btn{grid-column:1/2;height:26px;background:var(--case-ink)}.hx-blk.card{height:70px;border:1px solid var(--case-accent);background:none}.hx-blk.btn{margin-top:var(--spacing-2xs)}
@keyframes hx-drop{0%{opacity:0;transform:translateY(-140px) rotate(-6deg)}12%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:translateY(10px)}}
.hx-legend{display:flex;flex-direction:column;gap:var(--spacing-2xs);font-size:var(--font-size-s)}.hx-legend b{font-size:var(--font-size-xl);margin-bottom:var(--spacing-2xs)}
.hx-legend span{opacity:0;animation:hx-pop 8s infinite;animation-delay:calc(var(--d)*.45s + .6s)}.hx-legend span::before{content:'▪ ';color:var(--case-accent)}
/* Hozar */
.hx-logo{position:relative;width:200px;height:200px;animation:hx-logo var(--T) infinite}
.hx-logo .e{position:absolute;font-size:56px;line-height:1;animation:hx-gone var(--T) infinite}
.hx-logo .e1{left:10px;top:10px}.hx-logo .e2{right:10px;top:10px;animation-delay:.3s}.hx-logo .e3{left:10px;bottom:10px;animation-delay:.6s}.hx-logo .e4{right:10px;bottom:10px;animation-delay:.9s}.hx-logo .e5{left:72px;top:0;animation-delay:1.2s}.hx-logo .e6{left:72px;bottom:0;animation-delay:1.5s}
@keyframes hx-gone{0%,14%{opacity:1;transform:none}28%,88%{opacity:0;transform:scale(.4)}96%,100%{opacity:1;transform:none}}
.hx-logo .h{position:absolute;inset:0;display:grid;place-items:center;font-size:150px;line-height:1;opacity:0;animation:hx-h var(--T) infinite}
@keyframes hx-h{0%,26%{opacity:0;transform:scale(.6)}36%,88%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes hx-logo{0%,52%{transform:none}64%,88%{transform:translateX(-70px) scale(.7)}96%,100%{transform:none}}
.hx-apps{display:flex;flex-direction:column;gap:var(--spacing-s);width:0;opacity:0;animation:hx-apps var(--T) infinite}
@keyframes hx-apps{0%,56%{opacity:0;width:0;transform:translateX(30px)}66%,88%{opacity:1;width:190px;transform:none}96%,100%{opacity:0;width:0}}
.hx-prof{display:flex;align-items:center;gap:var(--spacing-xs);background:var(--color-white-900);color:var(--fg);border-radius:var(--rounded-s);padding:var(--spacing-xs);font-size:var(--font-size-s);white-space:nowrap}.hx-prof i{width:32px;height:32px;border-radius:50%;background:var(--case-ink);color:var(--case-soft);display:grid;place-items:center;font-style:normal;font-weight:600}
.hx-post{background:var(--case-ink);color:var(--case-soft);border-radius:var(--rounded-s);padding:var(--spacing-m);text-align:center;white-space:nowrap}.hx-post strong{font-size:56px;line-height:1}.hx-post p{color:inherit;font-size:var(--font-size-s)}
@media(max-width:900px){.case-hero{padding:var(--spacing-m) var(--spacing-xl) 0}.hx-stage{transform-origin:center;gap:var(--spacing-m)}.hx-arrow{display:none}.hx-voucher,.hx-out,.hx-dash,.hx-legend{display:none}}
@media(max-width:640px){.case-hero{padding:var(--spacing-s) var(--spacing-l) 0}.hx-stage{min-height:340px;padding:var(--spacing-m)}.hx-comps,.hx-tokens{width:100%}.hx-stage:has(.hx-tokens){flex-direction:column}.hx-site{width:100%}.hx-apps{display:none}}
@media(prefers-reduced-motion:reduce){.hx-stage *{animation:none!important}.hx-voucher,.hx-out .hx-card,.hx-list>div,.hx-blk,.hx-legend span,.hx-logo .h,.hx-hex span:first-child{opacity:1!important}.hx-type{width:100%}.hx-screen.s1{opacity:1}.hx-count::after{content:'148'}.hx-logo .e{display:none}.hx-apps{opacity:1;width:190px}}
.hx-hex{height:48px}.hx-sub{margin-top:var(--spacing-xs)!important}
.hx-stage{min-height:340px}

/* Ikigai: representación del panel real (paleta nogal/albura, Poppins) */
.theme-ikigai{--case-ink:#635a4f;--case-accent:#776b5d;--case-soft:#ebe3d5}

/* Screen Studio: ventana de producto + cámara */
.ss-hero{padding:var(--spacing-m) var(--spacing-3xl) 0}
.ss-stage{position:relative;aspect-ratio:2/1;border-radius:var(--rounded-m);overflow:hidden;background:radial-gradient(120% 140% at 15% 0%,#a39482 0%,#776b5d 45%,#4d443a 100%);contain:paint}
.ss-cam{position:absolute;left:0;top:0;transform-origin:0 0;padding:24px}
.ss-win{border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(20,14,8,.45),0 0 0 1px rgba(255,255,255,.08)}
@media(max-width:900px){.ss-hero{padding:var(--spacing-m) var(--spacing-xl) 0}}
@media(max-width:640px){.ss-hero{padding:var(--spacing-s) var(--spacing-l) 0}.ss-stage{aspect-ratio:4/3}}

/* Ikigai: panel real a tamaño natural (1180×680) */
.ik-app{--nogal:#776b5d;--nogal-dark:#635a4f;--nogal-mid:#8f8172;--nogal-light:#d4cdc3;--nogal-pale:#f0ebe4;--cream:#ebe3d5;--cream-dark:#e0d6c8;--gold:#9a8568;--gold-pale:#f5f0e8;--t1:#1f1f1f;--t2:#5a524a;--t3:#9a9086;--bd:rgba(119,107,93,.18);--bd2:rgba(119,107,93,.30);--shadow-sm:0 1px 3px rgba(31,31,31,.06),0 1px 2px rgba(31,31,31,.04);
  position:relative;width:1180px;height:680px;display:grid;grid-template-columns:220px 1fr;grid-template-rows:74px 1fr;background:var(--cream-dark);color:var(--t1);font-family:'Poppins',system-ui,sans-serif;font-size:15px;line-height:1.5;text-align:left}
.ik-app *{box-sizing:border-box}.ik-app h1,.ik-app h2,.ik-app h3,.ik-app p{margin:0;color:inherit;letter-spacing:0;font-family:inherit}
.ik-app .material-symbols-outlined{font-family:'Material Symbols Outlined';font-weight:400;font-style:normal;font-size:20px;line-height:1;letter-spacing:normal;text-transform:none;white-space:nowrap;direction:ltr;flex:none;-webkit-font-smoothing:antialiased;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24;user-select:none}.ik-wai{width:18px;height:18px;flex:none}
.ik-top{grid-column:1/-1;background:var(--cream);border-bottom:1px solid var(--bd);display:flex;align-items:center;justify-content:space-between;padding:14px 36px 14px 24px}.ik-top img{height:45px;width:auto}
.ik-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-radius:8px;border:1px solid var(--bd2);background:var(--cream);color:var(--t2);font-size:16px;font-weight:500;line-height:1.25;white-space:nowrap;transition:background .15s,transform .15s}
.ik-btn.sm{padding:6px 12px;font-size:14px}.ik-btn .material-symbols-outlined{font-size:20px}.ik-btn.sm .material-symbols-outlined{font-size:13px}
.ik-primary{background:var(--nogal);border-color:var(--nogal);color:#fff}.ik-btn-flash{background:var(--nogal-dark)!important;transform:scale(.97)}
.ik-logout{height:44px;background:transparent;border-color:var(--bd);font-size:15px}
.ik-nav{align-items:stretch;background:var(--cream);border-right:1px solid var(--bd);padding:20px 12px;display:flex;flex-direction:column;gap:2px}
.ik-nav small{font-size:14px;font-weight:500;color:var(--t3);padding:14px 10px 6px}.ik-nav u{display:block;height:1px;background:var(--bd);margin:8px 2px}
.ik-navi{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--t2);font-size:15px;transition:background .2s,color .2s}.ik-navi .material-symbols-outlined{font-size:22px}
.ik-navi.on{background:var(--nogal-light);color:var(--nogal);font-weight:500}
.ik-main{position:relative;overflow:hidden;padding:28px 28px 0}
.ik-view{position:absolute;inset:28px 28px 0;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .45s,transform .45s}.ik-view.on{opacity:1;transform:none}
.ik-view h1{font-size:28px;font-weight:600;letter-spacing:-.02em;line-height:1.25}
.ik-dt{margin-top:6px!important;font-size:14px;color:var(--t3)}.ik-dt span{font-weight:500;color:var(--t2);margin-left:6px}.ik-dt span::before{content:'·';margin-right:12px;color:var(--t3)}
.ik-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.ik-sc{background:var(--cream);border:1px solid var(--bd);border-radius:14px;overflow:hidden;min-height:0}
.ik-sc header{display:flex;gap:14px;padding:14px 18px 12px;border-bottom:1px solid var(--bd);align-items:flex-start}
.ik-ic{width:40px;height:40px;border-radius:50%;background:rgba(119,107,93,.1);color:var(--nogal);display:grid;place-items:center;flex:none}.ik-ic .material-symbols-outlined{font-size:22px}
.ik-card-hours .ik-ic{color:var(--nogal-mid);background:rgba(143,129,114,.12)}.ik-card-clients .ik-ic{color:var(--gold);background:rgba(154,133,104,.14)}
.ik-sc h2{font-size:18px;font-weight:600;letter-spacing:-.02em;line-height:1.25}.ik-sc header p{margin-top:2px;font-size:14px;font-weight:500;color:var(--t2)}
.ik-scb{padding:14px 18px 16px}
.ik-vl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ik-vl li{display:flex;align-items:center;gap:12px;padding:8px 12px;border:1px solid var(--bd);border-radius:10px}
.ik-av{width:36px;height:36px;border-radius:50%;background:var(--nogal-light);color:var(--nogal-dark);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}.ik-av.sm{width:30px;height:30px;font-size:11px}
.ik-vi{flex:1;min-width:0;display:flex;flex-direction:column}.ik-vi b{font-size:14px;font-weight:600}.ik-vi small{font-size:12px;color:var(--t3)}.ik-vi em{font-style:normal;font-size:12px;color:var(--t3);letter-spacing:.04em}
.ik-pill{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;background:var(--gold-pale);color:var(--gold);font-size:12px;font-weight:600}.ik-pill .material-symbols-outlined{font-size:14px}
.ik-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ik-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:58px;border:1px solid var(--bd);border-radius:10px;color:var(--nogal);font-size:14px;font-weight:600}.ik-slot .material-symbols-outlined{font-size:18px;color:var(--nogal-mid)}
.ik-rk b{flex:1;font-size:14px;font-weight:600}.ik-rb{width:24px;height:24px;border-radius:50%;background:var(--nogal-pale);color:var(--t2);display:grid;place-items:center;font-size:12px;font-weight:600}.ik-rb.top{background:var(--nogal);color:#fff}
.ik-vb{display:inline-flex;gap:4px;align-items:center;font-size:12px;font-weight:600;color:var(--nogal)}.ik-vb .material-symbols-outlined{font-size:14px}
.ik-vic{width:36px;height:36px;border-radius:10px;background:rgba(119,107,93,.12);color:var(--nogal-dark);display:grid;place-items:center}
.ik-sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.ik-sub{font-size:14px;color:var(--t3);margin-top:4px!important}
.ik-tabs{display:flex;gap:10px;border-bottom:1px solid var(--bd);padding-bottom:12px;margin-bottom:14px}
.ik-tabs span,.ik-tabs2 span{padding:10px 12px;border:1px solid var(--bd);border-radius:8px;background:rgba(31,31,31,.04);color:var(--nogal);font-size:14px;line-height:1;transition:background .2s,border-color .2s}
.ik-tabs span.active,.ik-tabs2 span.active{background:rgba(31,31,31,.08);border-color:var(--nogal);font-weight:500}
.ik-search{display:flex;gap:10px;margin-bottom:16px}.ik-search>div{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--bd2);border-radius:8px;background:var(--cream);color:var(--t3);font-size:14px}
.ik-list{display:flex;flex-direction:column;gap:12px}
.ik-bc{background:var(--cream);border:1px solid var(--bd);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-sm)}
.ik-bc header{display:flex;justify-content:space-between;gap:12px}.ik-bc h3{font-size:18px;font-weight:600}.ik-bc header p{font-size:13px;color:var(--t3)}.ik-bc header b{font-weight:500;color:var(--t2)}
.ik-bm{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.ik-code{font-size:12px;letter-spacing:.06em;color:var(--t3)}
.ik-badge{padding:3px 9px;border-radius:20px;background:var(--nogal-light);color:var(--nogal);font-size:12px;font-weight:500}
.ik-bs{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--bd);color:var(--nogal-dark)}.ik-bs b{font-size:15px;font-weight:600;color:var(--t1)}
.ik-app:not(.dlg-done) .ik-new-card{display:none}
.ik-scrim{position:absolute;inset:0;background:rgba(31,31,31,.45);display:grid;place-items:center;opacity:0;pointer-events:none;transition:opacity .35s}.dlg-open .ik-scrim{opacity:1}
.ik-dlg{width:700px;background:var(--cream-dark);border:1px solid var(--bd);border-radius:14px;box-shadow:0 12px 40px rgba(31,31,31,.25);transform:scale(.95) translateY(10px);transition:transform .45s cubic-bezier(.2,.9,.3,1)}.dlg-open .ik-dlg{transform:none}
.ik-dh{display:flex;justify-content:space-between;align-items:center;padding:20px 24px 0}.ik-dh h2{font-size:18px;font-weight:500}.ik-dh .t-done,.dlg-done .ik-dh .t-front{display:none}.dlg-done .ik-dh .t-done{display:block}
.ik-db{padding:16px 24px 8px}
.ik-flip{display:flex;justify-content:center;padding:12px 0 16px;perspective:1600px}.dlg-done .ik-flip{display:none}
.ik-card{position:relative;width:640px;height:380px;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.65,0,.25,1);border-radius:4px;box-shadow:0 4px 12px rgba(31,31,31,.08),0 2px 4px rgba(31,31,31,.04)}.ik-card.flipped{transform:rotateY(180deg)}
.ik-face{position:absolute;inset:0;border-radius:4px;overflow:hidden;backface-visibility:hidden}
.ik-front{background:#6d6154;color:#ebe3d5;padding:32px 0 32px 40px}
.ik-rings{position:absolute;inset:0;--ox:calc(100% - 36px - 16px);--oy:calc(100% - 28px - 24px);background:radial-gradient(circle at var(--ox) var(--oy),transparent 60px,rgba(235,227,213,.06) 60.5px,transparent 61px),radial-gradient(circle at var(--ox) var(--oy),transparent 130px,rgba(235,227,213,.075) 130.5px,transparent 131px),radial-gradient(circle at var(--ox) var(--oy),transparent 220px,rgba(235,227,213,.085) 220.5px,transparent 221px),radial-gradient(circle at var(--ox) var(--oy),transparent 320px,rgba(235,227,213,.09) 320.5px,transparent 321px)}
.ik-fc{position:relative;display:flex;flex-direction:column;gap:22px;max-width:calc(100% - 92px)}
.ik-front h3{font-family:'Playfair Display',Georgia,serif;font-size:42px;font-weight:500;letter-spacing:.01em;line-height:1.05;color:#ebe3d5}
.ik-parties{display:grid;grid-template-columns:1fr 1fr;gap:18px 36px}.ik-party{display:flex;flex-direction:column;gap:8px;min-width:0}
.ik-nr{display:flex;align-items:center;gap:10px}.ik-nr em{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-style:italic;letter-spacing:.02em;line-height:1.2;min-width:2rem}
.ik-fl{display:flex;align-items:center;gap:8px}.ik-fl .material-symbols-outlined{font-size:17px;color:rgba(235,227,213,.72)}
.ik-in{flex:1;min-width:0;display:flex;align-items:center;background:rgba(235,227,213,.1);border:1px solid rgba(235,227,213,.24);border-radius:3px;padding:8px 11px;font-size:14px;min-height:38px;transition:border-color .2s,background .2s;position:relative}
.ik-in .ik-ph{font-style:normal;font-weight:300;color:rgba(235,227,213,.42)}.ik-in:has(.ik-type:not(:empty)) .ik-ph{display:none}
.ik-type{color:#ebe3d5;white-space:nowrap}.ik-type.is-typing::after,.ik-svc-sel span.is-typing::after{content:'';display:inline-block;width:1px;height:1em;background:currentColor;margin-left:1px;vertical-align:-2px;animation:ss-blink .7s steps(1) infinite}
@keyframes ss-blink{50%{opacity:0}}
.ik-in:has(.is-typing){background:rgba(235,227,213,.15);border-color:rgba(235,227,213,.48)}
.ik-iss{position:absolute;left:40px;bottom:26px;display:flex;gap:28px;font-size:13px;width:calc(100% - 170px)}.ik-iss>div{display:flex;flex-direction:column;gap:4px;flex:1}.ik-iss small{font-size:12px;opacity:.85}.ik-in2{background:rgba(235,227,213,.1);border:1px solid rgba(235,227,213,.24);border-radius:3px;padding:6px 10px;font-size:13px}.ik-in2.ph{color:rgba(235,227,213,.42);font-weight:300}
.ik-sym{position:absolute;right:36px;bottom:28px;width:32px;height:48px;object-fit:contain}
.ik-back{background:#ebe3d5;color:#776b5d;transform:rotateY(180deg);display:flex;flex-direction:column;padding:16px 0 30px}
.ik-bh{display:flex;justify-content:center;padding:2px 40px 12px}.ik-bh img{width:156px;max-height:36px;object-fit:contain}
.ik-rule{height:1px;background:rgba(119,107,93,.32);width:100%}
.ik-intro{font-family:'Playfair Display',Georgia,serif;font-size:16.5px;font-style:italic;line-height:1.45;padding:10px 40px 5px;color:#776b5d!important}
.ik-rows{padding:12px 24px;flex:1}.ik-row{display:flex;gap:8px;align-items:center}
.ik-svc-sel{flex:1;min-width:0;height:42px;display:flex;align-items:center;padding:0 12px;background:var(--cream);border:1px solid var(--bd2);border-radius:8px;font-size:15px;color:var(--t1)}.ik-svc-sel .ik-ph{font-style:normal;color:var(--t3)}.ik-svc-sel:has(span:not(:empty)) .ik-ph{display:none}
.ik-qty{display:inline-flex;height:42px;border:1px solid var(--bd2);border-radius:8px;overflow:hidden;background:var(--cream)}.ik-qty b{width:36px;display:grid;place-items:center;color:var(--t2);font-weight:400}.ik-qty .material-symbols-outlined{font-size:18px}.ik-qty em{display:grid;place-items:center;min-width:40px;border-left:1px solid var(--bd);border-right:1px solid var(--bd);font-style:normal;font-weight:500;color:var(--t1)}
.ik-addsvc{align-self:center;margin:10px auto}
.ik-falds{position:absolute;left:0;right:0;bottom:-4px;display:flex;height:30px;overflow:hidden}.ik-falds img{flex:1;min-width:0;height:calc(100% + 10px);margin-bottom:-10px;object-fit:fill}
.ik-prev{display:none}.dlg-done .ik-prev{display:block}
.ik-pi{font-size:14px;color:var(--t2);margin-bottom:12px!important}.ik-pi b{color:var(--t1)}
.ik-tabs2{display:flex;gap:10px;border-bottom:1px solid var(--bd);padding-bottom:12px;margin-bottom:14px}
.ik-pp{height:300px;background:var(--cream);border:1px solid var(--bd);border-radius:14px;box-shadow:var(--shadow-sm);overflow:hidden}
.ik-pe,.ik-pw{height:100%;padding:18px;overflow:hidden}.ik-pe{background:#f0ebe3}.ik-pw{background:#e5ddd5;display:none}
.ik-app[data-tab=whatsapp] .ik-pe{display:none}.ik-app[data-tab=whatsapp] .ik-pw{display:block}
.ik-mail{background:#fff;border-radius:8px;padding:20px 26px;font-family:'Playfair Display',Georgia,serif;font-size:16px;line-height:1.7;color:#1f1f1f}.ik-mail p span{opacity:.7}.ik-mail hr{border:0;height:1px;background:#ebe3d5;margin:14px 0}.ik-mail small{display:block;font-family:'Poppins',sans-serif;font-size:12px;color:#776b5d;opacity:.7;margin-top:6px}.ik-mail b{font-family:'Poppins',sans-serif;font-size:18px;letter-spacing:.06em}.ik-li{font-size:15px;margin:2px 0 0!important}
.ik-wl{color:#075e54!important;font-size:12px;opacity:.65;margin-bottom:12px!important}
.ik-bubble{background:#fff;border-radius:8px 8px 8px 0;box-shadow:0 1px 4px rgba(0,0,0,.09);color:#1f1f1f;font-size:14px;line-height:1.65;max-width:360px;padding:13px 16px;word-break:break-word}.ik-bubble i{font-size:13px}
.ik-acts{display:flex;gap:10px;margin-top:14px}
.ik-da{display:flex;justify-content:flex-end;gap:10px;padding:12px 24px 20px}.dlg-done .ik-da{display:none}
.ik-atras,.ik-gen{display:none}.dlg-back .ik-atras,.dlg-back .ik-gen{display:inline-flex}.dlg-back .ik-next{display:none}
@media(prefers-reduced-motion:reduce){.ik-card,.ik-dlg,.ik-scrim,.ik-view{transition:none}}
.ik-agw{width:900px;height:620px;display:block;background:var(--cream)}
.ik-wtb{display:flex;gap:10px;align-items:center;padding:10px 12px;background:var(--cream-dark);border-bottom:1px solid var(--bd);height:56px}
.ik-wh{display:grid;grid-template-columns:54px repeat(6,1fr);background:var(--cream-dark);border-bottom:1px solid var(--bd);height:68px}
.ik-wh>div{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border-right:1px solid var(--bd)}.ik-wh>div:last-child{border-right:0}.ik-wh small{font-size:12px;color:var(--t3)}.ik-wh b{font-size:14px;font-weight:500;line-height:1.4}.ik-wh .td{background:var(--nogal);color:var(--cream);padding:1px 12px;border-radius:999px;font-weight:600}.ik-wh .today{background:#f0ebe4}
.ik-wg{position:relative;display:grid;grid-template-columns:54px 1fr;grid-template-rows:repeat(5,96px);height:480px}
.ik-hl{grid-column:1;grid-row:calc(var(--r) + 1);border-right:1px solid var(--bd);border-bottom:1px solid var(--bd);padding:5px 6px 0 0;font-size:11px;color:var(--t3);text-align:right;font-weight:500;line-height:1}
.ik-cols{position:absolute;left:54px;right:0;top:0;bottom:0;display:grid;grid-template-columns:repeat(6,1fr);background-image:linear-gradient(to bottom,transparent 47px,var(--bd2) 47px,var(--bd2) 48px,transparent 48px,transparent 95px,var(--bd) 95px,var(--bd) 96px);background-size:100% 96px}
.ik-cols i{border-right:1px solid var(--bd)}.ik-cols i:last-child{border:0}.ik-cols i.today{background:#f0ebe4;box-shadow:inset 1px 0 0 rgba(119,107,93,.24),inset -1px 0 0 rgba(119,107,93,.24)}
.ik-layer{position:absolute;left:54px;right:0;top:0;bottom:0}
.ik-ap{--w:calc(100% / 6);position:absolute;box-sizing:border-box;width:calc(var(--w) - 8px);left:calc(var(--w) * var(--di) + 4px);top:calc((var(--h) - 9) * 96px + 2px);height:calc(var(--dur) * 96px - 4px);padding:8px 10px 4px 7px;border-radius:4px;border-left:3px solid var(--nogal);background:var(--nogal-light);overflow:hidden;transition:top .9s cubic-bezier(.65,0,.25,1),box-shadow .2s,transform .2s;font-size:12px;line-height:1.2}
.ik-ap[data-day=lun],.ik-ap.vac{--di:0}.ik-ap[data-day=mar]{--di:1}.ik-ap[data-day=mie]{--di:2}.ik-ap[data-day=jue]{--di:3}.ik-ap[data-day=vie]{--di:4}.ik-ap[data-day=sab]{--di:5}
.ik-ap span{color:var(--t2);font-variant-numeric:tabular-nums;margin-right:6px}.ik-ap b{font-weight:500;color:var(--t1)}.ik-ap small{display:block;margin-top:2px;color:var(--t2);font-size:12px}
.ik-ap.vac{background:repeating-linear-gradient(-45deg,#eceae6,#eceae6 5px,#e2ded8 5px,#e2ded8 10px);border-left-color:#7a736a}
.ik-ap.st-gp{background:#f6f1dc;border-color:#c4a14a}.ik-ap.st-ds{background:#eef2ec;border-color:#7a9b76}.ik-ap.st-paid{background:#e8f1fa;border-color:#4a7fb5}.ik-ap.st-ns{background:#fdf0ef;border-color:#c0392b}.ik-ap.st-gf{background:#f2e6da;border-color:#8b5e3c}.ik-ap.st-mo{background:#f4f3f1;border-color:#1f1f1f}
.ik-ap.moved{top:calc((12 - 9) * 96px + 2px)}.ik-ap.lift{box-shadow:0 4px 12px rgba(31,31,31,.08),0 2px 4px rgba(31,31,31,.04);z-index:4;transform:scale(1.02)}
.ik-gd{position:absolute;top:4px;right:4px;width:6px;height:6px;border-radius:50%;background:#9a9086;transition:background .3s}.ik-gd.ok{background:#4caf50}.ik-gd.warn{background:#9a8568}.ik-ap:not(.vac) .ik-gd:not(.warn){background:#4caf50}
.vt.raw .ss-stage{border-radius:var(--rounded-s)}
/* Cursor estilo Screen Studio */
.ss-cursor{position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;z-index:5;opacity:0;transition:opacity .35s;will-change:transform}
.ss-cursor svg{position:absolute;width:36px;height:36px;display:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.35)) drop-shadow(0 6px 10px rgba(0,0,0,.22));transform-origin:0 0;transition:transform .14s cubic-bezier(.3,1.5,.5,1)}
.ss-cursor.k-arrow .c-arrow{display:block;left:-9px;top:-5px}
.ss-cursor.k-hand .c-hand{display:block;left:-16px;top:-4px}.ss-cursor.k-grab .c-grab{display:block;left:-18px;top:-20px}
.ss-cursor.k-ibeam .c-ibeam{display:block;left:-18px;top:-18px}
.ss-cursor.is-down svg{transform:scale(.8)}
.ss-cursor::after{content:'';position:absolute;left:-22px;top:-22px;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.85);background:rgba(255,255,255,.22);opacity:0;transform:scale(.25)}
.ss-cursor.is-ring::after{animation:ss-ring .6s cubic-bezier(.2,.7,.3,1)}
@keyframes ss-ring{0%{opacity:1;transform:scale(.25)}100%{opacity:0;transform:scale(1.35)}}
.ik-app .hv{transition:background .18s,border-color .18s,color .18s,transform .12s}
.ik-navi.hv{background:var(--nogal-pale)}.ik-navi.on.hv{background:var(--nogal-light)}
.ik-btn.hv{background:var(--nogal-pale)}.ik-btn.ik-primary.hv{background:var(--nogal-dark);border-color:var(--nogal-dark)}
.ik-slot.hv{background:var(--nogal-pale);border-color:var(--bd2)}.ik-tabs2 span.hv{background:rgba(31,31,31,.07)}
.ik-in.hv{border-color:rgba(235,227,213,.42)}.ik-svc-sel.hv{border-color:var(--nogal)}.ik-qty b.hv{background:var(--nogal-pale)}
.ik-app .pressed{transform:scale(.96)}
/* Estados + mensajes */
.vt.sq .ss-stage{aspect-ratio:4/3}
.ik-stw{width:760px;height:430px;display:grid;grid-template-columns:330px 1fr;gap:0;background:var(--cream-dark)}
.ik-stf{position:relative;padding:28px 24px;border-right:1px solid var(--bd);background:var(--cream)}
.ik-stf label{display:block;font-size:14px;font-weight:500;color:var(--t2);margin-bottom:6px}.ik-stf label.mt{margin-top:22px}
.ik-sel{display:flex;align-items:center;gap:10px;height:42px;padding:0 12px;background:var(--cream);border:1px solid var(--bd2);border-radius:8px;font-size:15px}.ik-sel .ik-sv{flex:1}.ik-sel .material-symbols-outlined{font-size:18px;color:var(--t3);transition:transform .25s}.open .ik-sel .material-symbols-outlined{transform:rotate(180deg)}
.ik-sel.hv{border-color:var(--nogal)}
.ik-menu{position:absolute;left:24px;right:24px;top:96px;z-index:3;background:var(--cream);border:1px solid var(--bd2);border-radius:8px;box-shadow:0 8px 24px rgba(31,31,31,.18);padding:4px;opacity:0;transform:translateY(-6px);pointer-events:none;transition:opacity .2s,transform .2s}.open .ik-menu{opacity:1;transform:none}
.ik-opt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;font-size:14px;color:var(--t2)}.ik-opt.hv{background:var(--nogal-pale);color:var(--t1)}
.ik-stp{padding:28px 24px;display:flex;flex-direction:column;gap:16px;background:var(--cream-dark)}
.ik-ap.pv{position:relative;left:0;top:0;width:100%;height:84px;transition:background .45s,border-color .45s}
.ik-stp .ik-pw{height:auto;flex:1;border-radius:14px;padding:16px;display:block}
.ik-stp .ik-bubble{max-width:none;font-size:12.5px;line-height:1.55}.ik-bubble.sw{animation:ik-sw .5s ease}
@keyframes ik-sw{0%{opacity:.2;transform:translateY(6px)}100%{opacity:1;transform:none}}
.ik-mgw{width:780px;height:560px;padding:20px 24px;background:var(--cream-dark)}
.ik-pp.ik-big{height:410px;position:relative}.ik-big .ik-pe,.ik-big .ik-pw{position:absolute;inset:0;height:auto;display:none;padding:0}
.ik-mgw[data-tab=recipient] .em-r,.ik-mgw[data-tab=buyer] .em-b,.ik-mgw[data-tab=whatsapp] .ik-pw{display:block}
.ik-big .ik-pe{background:#f0ebe3;overflow:hidden;padding:18px 0}.ik-big .ik-pw{padding:18px}.ik-big .ik-pw .ik-bubble{font-size:13.5px}
.ik-scr{will-change:transform}
.em-card{width:600px;margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;font-family:'Poppins',sans-serif}.em-card.b{width:560px}
.em-head{position:relative;background:#776b5d;padding:36px 40px 52px;min-height:150px;overflow:hidden}.em-head h1{font-family:'Playfair Display',Georgia,serif;font-size:40px;font-weight:700;color:#ebe3d5;line-height:1.05}.em-head p{margin-top:30px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:14px;line-height:1.55;color:#ebe3d5;opacity:.85}
.em-head img{position:absolute;right:36px;bottom:26px;height:50px}.em-rings{position:absolute;inset:0;--ox:calc(100% - 52px);--oy:calc(100% - 50px);background:radial-gradient(circle at var(--ox) var(--oy),transparent 60px,rgba(235,227,213,.08) 60.5px,transparent 61px),radial-gradient(circle at var(--ox) var(--oy),transparent 130px,rgba(235,227,213,.09) 130.5px,transparent 131px),radial-gradient(circle at var(--ox) var(--oy),transparent 220px,rgba(235,227,213,.1) 220.5px,transparent 221px)}
.em-body{padding:0 40px}.em-body .em-g{padding:30px 0 20px;font-family:'Playfair Display',Georgia,serif;font-size:16px;line-height:1.75;color:#1f1f1f}.em-g span{opacity:.7}
.em-hr{height:1px;background:#ebe3d5;margin:0}.em-body small{display:block;font-size:12px;color:#776b5d;opacity:.55;margin:24px 0 10px}.em-body small.c{text-align:center;font-size:11px;opacity:.45;margin:10px 0 24px}
.em-code{background:#ebe3d5;border-radius:10px;padding:24px 20px;text-align:center;font-size:32px;font-weight:600;color:#776b5d;letter-spacing:.04em}
.em-body ul{margin:0 0 24px;padding-left:20px}.em-body li{font-family:'Playfair Display',Georgia,serif;font-size:20px;font-weight:700;color:#776b5d;line-height:1.35}
.em-c{font-size:13px;color:#1f1f1f;opacity:.75;line-height:1.9;margin:0 0 24px!important}
.em-foot{margin:0 -40px;background:#776b5d;color:#ebe3d5;text-align:center;font-size:11px;padding:18px 40px}
.em-logo{padding:28px 40px 20px;text-align:center;line-height:0}.em-logo img{height:40px;width:auto;display:inline-block}
.em-card.b h2{font-family:'Playfair Display',Georgia,serif;font-size:22px;font-weight:700;color:#1f1f1f;padding-top:28px;margin-bottom:10px}.em-t{font-size:13px;color:#1f1f1f;opacity:.65;line-height:1.7;margin-bottom:18px!important}.em-t b{font-weight:600}
.em-card table{width:100%;border-collapse:collapse;margin-bottom:22px;font-size:13px}.em-card td{padding:6px 0;border-top:1px solid #ebe3d5;color:#1f1f1f}.em-card td:first-child{width:110px;font-size:12px;color:#776b5d;opacity:.55}.em-card tr:first-child td{border-top:0}.em-card td.k{font-size:15px;font-weight:600;color:#776b5d;letter-spacing:.03em}
.em-q{font-size:12.5px;color:#1f1f1f;opacity:.6;padding:20px 0 28px}
.ik-mgw{display:block;grid-template-columns:none;grid-template-rows:none}.ik-stw{grid-template-rows:none}
.ik-app .material-symbols-outlined{display:inline-block;width:1em;height:1em;overflow:hidden}
.ik-view{transition:opacity .22s,transform .35s}.ik-view.on{transition:opacity .35s .2s,transform .45s .2s}
.ik-sdot{width:10px;height:10px;border-radius:50%;flex:none;background:transparent}
.ik-sdot.st-gp{background:#c4a14a}.ik-sdot.st-ds{background:#7a9b76}.ik-sdot.st-paid{background:#4a7fb5}.ik-sdot.st-ns{background:#c0392b}.ik-sdot.st-gf{background:#8b5e3c}.ik-sdot.st-mo{background:#1f1f1f}

/* Wedding Planner: réplica del producto real (tokens Bricks/Titan, DM Sans, Material Symbols Rounded) */
.theme-wedding{--case-ink:#1f4d94;--case-accent:#3981f7;--case-soft:#e8f3fe}
.wp-app{--color-white-900:#fff;--color-black-100:#f7f7f7;--color-black-900:#1f1f1f;--color-steel-10:rgba(109,131,139,.1);--color-steel-20:rgba(109,131,139,.2);--color-steel-30:rgba(109,131,139,.3);--color-steel-100:#e7eaec;--color-steel-200:#ced6d8;--color-steel-300:#b6c1c5;--color-steel-400:#9eacb2;--color-steel-500:#85989e;--color-steel-600:#6d838b;--color-steel-700:#57696f;--color-steel-800:#414f53;--color-steel-900:#2c3438;--color-disabled-200:#dcdcdc;--color-disabled-400:#a6a6a6;--color-information-20:rgba(57,129,247,.2);--color-information-100:#e8f3fe;--color-information-600:#3981f7;--color-information-700:#2c67c5;--color-information-800:#1f4d94;--color-success-100:#f5fffb;--color-success-200:#d3efe0;--color-success-300:#b1dfc6;--color-success-400:#90d0ab;--color-success-600:#4cb076;--color-success-700:#3e9363;--color-success-900:#215a3c;--color-error-100:#f8e8ea;--color-error-600:#c62f38;--color-warning-100:#fdf6e8;--color-warning-300:#f7d8a3;--color-warning-800:#8e6520;--color-warning-700:#be882e;--color-orange-100:#fcf0e7;--color-orange-600:#ec672c;--color-orange-800:#8d3e17;--color-ocean-100:#e8f3fe;--color-ocean-500:#5c98f8;--color-ocean-800:#1f4d94;--color-red-100:#fbebea;--color-red-600:#ea4338;--color-red-800:#8c2721;--color-purple-100:#f3e9fd;--color-purple-600:#902cf5;--color-purple-800:#561a93;
  --spacing-5xs:2px;--spacing-4xs:4px;--spacing-3xs:6px;--spacing-2xs:8px;--spacing-xs:10px;--spacing-s:12px;--spacing-m:16px;--spacing-l:24px;--spacing-xl:32px;--spacing-2xl:40px;--spacing-3xl:48px;--spacing-4xl:64px;--spacing-5xl:80px;--spacing-6xl:96px;--spacing-7xl:160px;
  --rounded-xs:4px;--rounded-s:8px;--rounded-m:12px;--rounded-full:9999px;--stroke-s:1px;--stroke-m:2px;--stroke-l:3px;
  --box-shadow-0:0 0 8px var(--color-steel-10);--box-shadow-1:0 4px 12px var(--color-steel-10);--box-shadow-2:0 5px 16px var(--color-steel-20);--box-shadow-3:0 6px 20px var(--color-steel-30);
  --fs-s:12px;--fs-m:14px;--fs-l:16px;--fs-xl:20px;--fs-2xl:24px;--fs-3xl:32px;--lh-s:16px;--lh-m:18px;--lh-l:20px;--lh-xl:22px;--lh-2xl:24px;--lh-3xl:28px;--lh-4xl:36px;
  position:relative;width:1280px;height:800px;background:#fff;color:var(--color-steel-800);font-family:'DM Sans',sans-serif;font-size:14px;line-height:18px;text-align:left;display:block}
.wp-app *{box-sizing:border-box}.wp-app h1,.wp-app h2,.wp-app h3,.wp-app h4,.wp-app p{margin:0;letter-spacing:0;font-family:inherit}
.wp-app h1{font-size:32px;line-height:36px;font-weight:600;color:var(--color-steel-900)}.wp-app h2{font-size:24px;line-height:28px;font-weight:600;color:var(--color-steel-900)}.wp-app h3{font-size:20px;line-height:24px;font-weight:600;color:var(--color-steel-900)}
.wp-app .ms{font-family:'Material Symbols Rounded';font-weight:400;font-style:normal;font-size:20px;line-height:1;width:1em;height:1em;display:inline-block;vertical-align:middle;overflow:hidden;white-space:nowrap;letter-spacing:normal;text-transform:none;direction:ltr;user-select:none;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 20;flex:none}
.wp-app svg.lucide{flex:none}
.wp-top{display:flex;align-items:center;justify-content:space-between;height:70px;padding:0 32px 0 24px;border-bottom:1px solid var(--color-steel-100)}
.wp-top .brand{display:flex;align-items:center;gap:24px}.wp-top .mark{font-size:20px;line-height:24px;font-weight:600;color:var(--color-steel-900)}.wp-top .tag{font-size:12px;line-height:16px;font-weight:500;color:var(--color-steel-700);background:var(--color-steel-100);border-radius:4px;padding:2px 8px}
.wp-content{position:relative;height:calc(100% - 70px);padding:24px 80px;overflow:hidden}
.wp-view{position:absolute;inset:24px 80px 0;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .22s,transform .35s}.wp-view.on{opacity:1;transform:none;transition:opacity .35s .2s,transform .45s .2s}
.wp-app .btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:inherit;font-size:16px;font-weight:500;line-height:18px;border-radius:8px;border:1px solid transparent;padding:10px 16px;white-space:nowrap;transition:background .15s,transform .12s,box-shadow .15s}
.wp-app .btn:has(.ms:not(:only-child)){padding-left:12px;padding-right:16px}.wp-app .btn:has(.ms:last-child:not(:only-child)){padding-left:16px;padding-right:12px}
.wp-app .btn-cta{background:var(--color-steel-900);color:#fff;box-shadow:var(--box-shadow-1)}.wp-app .btn-primary{background:var(--color-steel-900);color:#fff}.wp-app .btn-secondary{background:var(--color-steel-200);color:var(--color-steel-900)}.wp-app .btn-tertiary,.wp-app .btn-text{background:transparent;color:var(--color-steel-900)}.wp-app .btn-destructive-secondary{background:var(--color-error-100);color:var(--color-error-600)}
.wp-app .btn-cta.hv,.wp-app .btn-primary.hv{background:var(--color-steel-800)}.wp-app .btn-secondary.hv{background:var(--color-steel-300)}.wp-app .btn-tertiary.hv,.wp-app .btn-text.hv{background:var(--color-steel-100)}
.wp-app .btn-icon{padding:10px}.wp-app .btn-icon .ms{font-size:16px}.wp-app .btn-icon-l .ms{font-size:24px}.wp-app .btn-sm{padding:6px 12px;font-size:14px}
.wp-app .pressed{transform:scale(.96)}
.wp-app .card{background:#fff;border:1px solid var(--color-steel-200);border-radius:8px;box-shadow:var(--box-shadow-0);padding:24px}
.wp-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px}.wp-ph .sub{margin-top:4px;color:var(--color-steel-600);font-size:14px;line-height:18px}
.wp-events{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.wp-evc{display:flex;flex-direction:column;overflow:hidden;padding:0;border-radius:12px;box-shadow:var(--box-shadow-1);transition:box-shadow .15s,border-color .15s}.wp-evc.hv{box-shadow:var(--box-shadow-2);border-color:var(--color-steel-300)}
.wp-evm{display:grid;grid-template-columns:96px 1fr;gap:24px;padding:24px;min-height:128px}
.wp-evd{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:16px 8px;border-radius:12px;background:var(--color-information-100);color:var(--color-information-800);text-align:center;min-height:96px}.wp-evd b{font-size:32px;line-height:36px;font-weight:600}.wp-evd span{font-size:12px;line-height:16px}.wp-evd .mo{font-weight:600;text-transform:uppercase;letter-spacing:.04em}.wp-evd .yr{opacity:.8}
.wp-evb{display:flex;flex-direction:column;gap:12px;min-width:0;padding-block:4px}.wp-evb .meta{display:flex;align-items:center;justify-content:space-between}.wp-evs{padding:2px 8px;border-radius:4px;background:var(--color-information-100);color:var(--color-information-700);font-size:12px;font-weight:600;line-height:16px}.wp-evb .arr{color:var(--color-steel-400)}
.wp-evb h2{color:var(--color-black-900)}.wp-evb .det{display:flex;flex-direction:column;gap:8px;margin-top:auto}.wp-evb .loc{display:flex;align-items:center;gap:4px;color:var(--color-steel-600)}.wp-evb .desc{color:var(--color-steel-600)}
.wp-eva{display:flex;justify-content:flex-end;gap:8px;padding:12px 24px;border-top:1px solid var(--color-steel-100)}
.wp-dh{display:flex;flex-direction:column;gap:8px;margin-bottom:24px}.wp-dh .back{display:inline-flex;align-items:center;gap:4px;font-size:16px;font-weight:500;color:var(--color-steel-900)}.wp-dh .sub{display:flex;gap:16px;color:var(--color-steel-600)}.wp-dh .sub span{display:inline-flex;align-items:center;gap:6px}
.wp-tabs{display:flex;gap:8px;margin-bottom:24px}.wp-tab{display:inline-flex;align-items:center;gap:4px;padding:6px 16px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;color:var(--color-steel-700);font-size:14px;font-weight:500;transition:background .15s,border-color .15s}.wp-tab.on{color:var(--color-steel-800);background:var(--color-steel-200);border-color:var(--color-steel-300)}.wp-tab.hv{border-color:var(--color-steel-300)}
.wp-pane{display:none}.wp-pane.on{display:block}
.wp-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:24px;border:1px solid var(--color-steel-200);border-radius:8px;box-shadow:var(--box-shadow-0);margin-bottom:24px}.wp-kpi{display:flex;flex-direction:column;gap:6px;min-width:0}.wp-kpi small{font-size:12px;font-weight:500;color:var(--color-steel-500);line-height:16px}.wp-kpi strong{font-size:24px;line-height:28px;font-weight:600;color:var(--color-steel-900)}.wp-kpi strong.sm{font-size:20px;line-height:24px}.wp-kpi strong.ok{color:var(--color-success-700)}.wp-kpi strong.warn{color:var(--color-warning-700)}.wp-kpi em{font-style:normal;font-size:12px;color:var(--color-steel-500);line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wp-prog{height:6px;border-radius:9999px;background:var(--color-steel-100);overflow:hidden;margin-top:4px}.wp-prog i{display:block;height:100%;border-radius:inherit;background:var(--color-success-600)}
.wp-panel{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--color-steel-200);border-radius:8px;box-shadow:var(--box-shadow-0)}.wp-panel>header{display:flex;justify-content:space-between;gap:16px}.wp-panel .ptot{display:flex;flex-direction:column;align-items:flex-end;gap:2px;color:var(--color-steel-500);font-size:12px}.wp-panel .ptot strong{font-size:24px;line-height:28px;color:var(--color-steel-900)}.wp-panel .psub{color:var(--color-steel-600);margin-top:4px}
.wp-mg{display:flex;flex-direction:column;gap:20px}.wp-mgh{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--color-steel-100)}.wp-mgh .ms{color:var(--color-success-700)}.wp-mgh h3{font-size:16px;line-height:20px}.wp-mgh small{display:block;color:var(--color-steel-500);font-size:12px}.wp-mgh strong{margin-left:auto;font-weight:600}
.wp-ml{display:grid;grid-template-columns:1.4fr 1fr auto;gap:12px;align-items:baseline}.wp-ml span:last-child{font-weight:600;text-align:right}.wp-ml span:nth-child(2){color:var(--color-steel-600)}
/* mesas */
.wp-ws{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px;align-items:start}.wp-ws .card{padding:0;overflow:hidden;border-radius:12px}
.wp-eb{display:block;color:var(--color-steel-800);font-size:12px;font-weight:600;line-height:16px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px}
.wp-ch{padding:24px;border-bottom:1px solid var(--color-steel-200)}.wp-af{display:flex;flex-direction:column;gap:12px;padding:24px}
.wp-fld{display:flex;flex-direction:column;gap:4px;font-size:12px;line-height:16px;color:var(--color-steel-600)}
.wp-in{display:flex;align-items:center;font-size:16px;line-height:22px;color:var(--color-steel-800);background:#fff;border:1px solid var(--color-steel-300);border-radius:8px;padding:8px 16px;min-height:40px;transition:border-color .15s,box-shadow .15s}.wp-in.hv{border-color:var(--color-steel-900)}.wp-in.foc{border-color:var(--color-information-600);box-shadow:0 0 0 3px var(--color-information-20)}.wp-in .ph{color:var(--color-steel-400)}.wp-in .ms{margin-left:auto;color:var(--color-steel-600)}
.wp-in:has(.is-typing){border-color:var(--color-information-600);box-shadow:0 0 0 3px var(--color-information-20)}.wp-in:has(.wp-typed:not(:empty)) .ph{display:none}
.wp-st{display:inline-grid;grid-template-columns:auto minmax(64px,auto) auto;align-items:stretch;width:100%;overflow:hidden;background:#fff;border:1px solid var(--color-steel-300);border-radius:8px;font-size:16px;line-height:22px}.wp-st>b{display:grid;place-items:center;width:40px;color:var(--color-steel-700);font-weight:400}.wp-st>b.hv{background:var(--color-steel-100)}.wp-st>em{font-style:normal;display:grid;place-items:center;border-inline:1px solid var(--color-steel-200);font-weight:600;color:var(--color-steel-800);padding:8px 6px}
.wp-pc{display:flex;flex-direction:column}.wp-pch{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--color-steel-200);flex-wrap:wrap}.wp-tb{display:flex;align-items:center;gap:16px;margin-left:auto}.wp-stat{display:flex;align-items:center;gap:4px;font-weight:500;color:var(--color-steel-600)}.wp-stat .ms{color:var(--color-steel-500)}
.wp-canvas{position:relative;height:470px;margin:16px 24px 24px;border:1px solid var(--color-steel-200);border-radius:12px;overflow:hidden;background-color:var(--color-steel-100);background-image:radial-gradient(var(--color-steel-200) 1.5px,transparent 1.5px);background-size:22px 22px;box-shadow:inset 0 0 8px var(--color-steel-10)}
.wp-tbl{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:#fff;border:2px solid var(--color-steel-900);box-shadow:var(--box-shadow-1);cursor:grab;user-select:none;transition:left .9s cubic-bezier(.65,0,.25,1),top .9s cubic-bezier(.65,0,.25,1),box-shadow .15s,opacity .35s,transform .35s}.wp-tbl.hv{box-shadow:var(--box-shadow-2)}.wp-tbl.drag{box-shadow:var(--box-shadow-3);cursor:grabbing}
.wp-tbl.round{width:92px;height:92px;border-radius:50%}.wp-tbl.imperial{width:168px;height:94px;border-radius:12px}.wp-tbl.new{opacity:0;transform:scale(.7)}
.wp-tbl .n{width:100%;padding-inline:4px;font-weight:600;font-size:12px;line-height:16px;color:var(--color-steel-900);text-align:center}.wp-tbl .c{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--color-success-100);color:var(--color-success-600)}
.wp-tbl .x,.wp-tbl .rot{position:absolute;top:-6px;width:24px;height:24px;display:grid;place-items:center;border:1px solid var(--color-steel-200);border-radius:50%;background:#fff;color:var(--color-steel-600);opacity:0;transition:opacity .15s}.wp-tbl .x{right:-6px}.wp-tbl .rot{left:-6px}.wp-tbl .x .ms,.wp-tbl .rot .ms{font-size:16px}.wp-tbl.hv .x,.wp-tbl.hv .rot{opacity:1}
.wp-es{position:absolute;inset:0;display:none}
/* overlays y diálogos */
.wp-ov{position:absolute;inset:0;background:rgba(33,54,107,.4);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;pointer-events:none;transition:opacity .3s;z-index:30}.wp-ov.on{opacity:1}
.wp-dlg{position:relative;display:flex;flex-direction:column;gap:24px;background:#fff;border-radius:8px;box-shadow:var(--box-shadow-3);padding:24px;transform:scale(.96) translateY(10px);transition:transform .4s cubic-bezier(.2,.9,.3,1)}.wp-ov.on .wp-dlg{transform:none}
.wp-dlg .dt{font-size:12px;font-weight:600;line-height:16px;color:var(--color-steel-800)}.wp-dlg .dd{font-size:14px;line-height:18px;color:var(--color-steel-700);margin-top:2px}.wp-dlg .da{display:flex;justify-content:flex-end;gap:8px}.wp-dlg .cl{position:absolute;top:16px;right:16px}
.wp-dlg.pdf{width:360px}.wp-dlg.pdf .opts{display:flex;flex-direction:column;gap:12px}.wp-co{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--color-steel-800)}.wp-cb{width:20px;height:20px;border:1px solid var(--color-steel-900);border-radius:4px;display:grid;place-items:center;color:#fff;background:#fff;transition:background .15s}.wp-cb .ms{font-size:16px;opacity:0}.wp-cb.on{background:var(--color-steel-900)}.wp-cb.on .ms{opacity:1}
.wp-dlg.td{width:1088px;max-height:790px;gap:16px}.wp-tdt{font-size:20px;line-height:24px;font-weight:600;color:var(--color-steel-900)}
.wp-tc{display:flex;gap:24px;padding:16px 24px;border:1px solid var(--color-steel-200);border-radius:12px;box-shadow:var(--box-shadow-0);overflow:hidden}.wp-set{display:flex;flex-direction:column;gap:12px;flex:0 0 176px;width:176px}
.wp-or{display:grid;place-items:center;width:100%;height:96px;background:var(--color-steel-100);border:1px solid var(--color-steel-200);border-radius:8px}.wp-or i{display:block;width:60px;height:60px;border-radius:50%;background:#fff;border:2px solid var(--color-steel-900)}
.wp-tp{flex:1;min-width:0;height:300px;display:flex;justify-content:center;align-items:center;overflow:hidden}.wp-tw{position:relative;width:200px;height:200px;flex-shrink:0}.wp-tw .ts{position:absolute;inset:0;border-radius:50%;background:#fff;border:2px solid var(--color-steel-900)}
.wp-seat{position:absolute;width:max-content;z-index:2}.wp-chip{display:inline-flex;align-items:center;gap:4px;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:600;line-height:16px;white-space:nowrap;min-width:28px;justify-content:center;font-variant-numeric:tabular-nums;border:0;font-family:inherit;transition:background .25s,color .25s}
.wp-chip.ok{background:var(--color-success-200);color:var(--color-success-900)}.wp-chip.ne{background:var(--color-steel-100);color:var(--color-steel-800)}.wp-chip .ms{font-size:16px}
.wp-gc{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-height:0}.wp-gcol{display:flex;flex-direction:column;min-height:0;height:200px;padding:0;overflow:hidden;border-radius:12px}.wp-gcol header{display:flex;flex-direction:column;gap:8px;padding:16px;border-bottom:1px solid var(--color-steel-200);position:relative}.wp-gcol header p{font-size:12px;color:var(--color-steel-600);line-height:16px}.wp-gcol header h3{padding-right:120px}.wp-gcol .clr{position:absolute;right:16px;top:12px}
.wp-gb{display:flex;flex-direction:column;gap:4px;padding:10px 8px;overflow:hidden}.wp-slot{min-height:40px;flex-shrink:0}.wp-ph2{display:flex;align-items:center;width:100%;height:40px;padding:10px 12px;border:1px dashed var(--color-steel-200);border-radius:8px;color:var(--color-steel-400);font-weight:500}
.wp-mi{display:flex;align-items:center;gap:12px;height:40px;width:100%;padding:10px 12px;border-radius:8px;color:var(--color-steel-800);font-weight:500;flex-shrink:0;transition:background .15s}.wp-mi.hv{background:var(--color-steel-100)}.wp-mi.occ{background:var(--color-success-200);color:var(--color-success-900)}.wp-mi .ms{color:var(--color-steel-500)}.wp-mi.occ .ms{color:var(--color-success-700)}.wp-mi.lift{box-shadow:var(--box-shadow-3);background:#fff;z-index:5;position:relative}
.wp-mi.fill{animation:wp-fill .5s ease}@keyframes wp-fill{0%{background:#fff;transform:scale(.97)}100%{transform:none}}
.wp-sr{display:flex;align-items:center;gap:4px;border:1px solid var(--color-steel-300);border-radius:8px;padding:8px 12px;margin:10px 8px 0;color:var(--color-steel-400)}
.wp-alg{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;line-height:16px;padding:4px 8px 4px 4px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;color:var(--color-steel-700);transition:background .2s,border-color .2s,color .2s;margin:0 4px 4px 0}
.wp-alg.sel{background:var(--bg);border-color:var(--fg);color:var(--fg)}.wp-alg.hv{border-color:var(--color-steel-400)}
.wp-ali{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--c);color:#fff}.wp-ali svg{width:12px;height:12px;stroke-width:2}
.wp-ach{display:flex;flex-wrap:wrap}.wp-div{display:flex;align-items:center;gap:8px;color:var(--color-steel-500);font-size:12px}.wp-div::before,.wp-div::after{content:'';flex:1;height:1px;background:var(--color-steel-200)}
.wp-tbt{width:100%;border-collapse:collapse;font-size:14px;line-height:18px;color:var(--color-steel-800)}.wp-tbt th,.wp-tbt td{padding:0 16px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--color-steel-200)}.wp-tbt th{height:58px;font-weight:600;border-bottom-color:var(--color-steel-400)}.wp-tbt th .ms{font-size:16px;color:var(--color-steel-700);margin-right:4px}.wp-tbt td{min-height:58px;height:58px}.wp-tbt .cs{width:48px}.wp-tbt .ac{width:1%;text-align:right}
.wp-tbt .wp-cb .ms{font-size:16px}.wp-tbt tr.newrow{display:none}.wp-tbt tr.newrow.on{display:table-row;animation:wp-row .5s ease}@keyframes wp-row{0%{background:var(--color-information-100);opacity:0}100%{background:#fff;opacity:1}}.wp-tbt tr.newrow .wp-alg{margin:0 4px 0 0}
.wp-cc{display:flex;flex-direction:column;min-height:0}.wp-cc .sel{padding:12px;border-bottom:1px solid var(--color-steel-200)}.wp-cnav{display:flex;flex-direction:column;gap:4px;padding:12px;overflow:hidden}
.wp-cn{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:8px;color:var(--color-steel-800);transition:background .15s}.wp-cn.on{background:var(--color-steel-200);color:var(--color-steel-900)}.wp-cn.hv{background:var(--color-steel-100)}.wp-cn.on.hv{background:var(--color-steel-200)}
.wp-cn .ic{width:32px;height:32px;display:grid;place-items:center;font-size:20px;border-radius:50%;color:var(--color-success-700);background:#fff;overflow:visible}.wp-cn span{display:flex;flex-direction:column;gap:2px;min-width:0}.wp-cn strong{font-size:14px;font-weight:600;line-height:18px}.wp-cn em{font-style:normal;font-size:12px;line-height:16px;color:var(--color-steel-600)}
.wp-cat{display:flex;flex-direction:column;min-height:0;padding:0}.wp-cat .cnt{color:var(--color-steel-500);font-size:12px}.wp-cat .grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:16px 24px 24px;overflow:hidden;align-content:start}
.wp-pr{display:none;flex-direction:column;gap:16px;min-height:208px;padding:24px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;box-shadow:var(--box-shadow-0);transition:border-color .2s,background .2s}.wp-pr.show{display:flex;animation:wp-in .4s ease}@keyframes wp-in{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:none}}
.wp-pr.sel{border-color:var(--color-success-400);background:var(--color-success-100)}.wp-pr .top{display:flex;justify-content:space-between;align-items:center}.wp-pr .lead{display:flex;align-items:center;gap:8px}.wp-pr .ico{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:var(--color-steel-100);color:var(--color-steel-800);font-size:24px}.wp-pr .ico .ms{font-size:24px}
.wp-pr .inc{display:none}.wp-pr.sel .inc{display:inline-flex}.wp-pr.sel .cat{display:none}.wp-pr .bd{flex:1}.wp-pr h4{font-size:16px;line-height:20px;font-weight:600;color:var(--color-steel-900);margin-bottom:8px}.wp-pr p{color:var(--color-steel-600)}.wp-pr .ft{display:flex;justify-content:space-between;align-items:center}.wp-pr .pp{display:flex;flex-direction:column;gap:2px}.wp-pr .pp strong{font-size:16px;color:var(--color-steel-800)}.wp-pr .pp span{font-size:12px;color:var(--color-steel-500)}.wp-pr .act i{font-style:normal}.wp-pr.sel .act{background:var(--color-error-100);color:var(--color-error-600)}
.wp-sb{display:grid;grid-template-columns:1fr auto;align-items:center;gap:32px;padding:16px 24px;background:var(--color-steel-900);color:#fff}.wp-sb .id{display:flex;align-items:center;gap:16px}.wp-sb .id>.ms{font-size:28px}.wp-sb .gs{display:inline-grid;grid-template-columns:auto minmax(64px,auto) auto;overflow:hidden;background:#fff;border:1px solid var(--color-steel-600);border-radius:8px;color:var(--color-steel-800);margin-top:4px}.wp-sb .gs b{width:40px;display:grid;place-items:center;font-weight:400;color:var(--color-steel-700)}.wp-sb .gs b.hv{background:var(--color-steel-100)}.wp-sb .gs em{font-style:normal;display:grid;place-items:center;border-inline:1px solid var(--color-steel-200);font-weight:600;padding:8px 6px;font-size:16px}
.wp-sb .sm{display:flex;align-items:center;gap:40px}.wp-sb .sm span{display:flex;flex-direction:column}.wp-sb small{color:var(--color-steel-400);font-size:12px;line-height:16px}.wp-sb .pg{font-size:20px;line-height:24px}.wp-sb .tt{font-size:24px;line-height:24px}
.wp-gf{display:flex;flex-direction:column;gap:16px;max-width:440px;margin-bottom:16px}.wp-cred{max-width:560px;display:flex;flex-direction:column;gap:16px;opacity:0;transform:translateY(8px);transition:opacity .4s,transform .4s}.wp-cred.on{opacity:1;transform:none}.wp-cred .warn{display:flex;align-items:center;gap:8px;color:var(--color-warning-800);background:var(--color-warning-100);border:1px solid var(--color-warning-300);border-radius:8px;padding:10px 12px;font-weight:500}
.wp-cr{display:grid;grid-template-columns:96px 1fr auto;align-items:center;gap:12px}.wp-cr .l{color:var(--color-steel-600);font-size:12px;font-weight:500}.wp-cr code{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--color-steel-100);padding:6px 10px;border-radius:4px;color:var(--color-steel-900)}.wp-cr .ms.ok{color:var(--color-success-700)}
.wp-app .hv.wp-in{border-color:var(--color-steel-900)}
.wp-typed{color:var(--color-steel-800)}.wp-typed.is-typing::after{content:'';display:inline-block;width:1px;height:1em;background:currentColor;margin-left:1px;vertical-align:-2px;animation:ss-blink .7s steps(1) infinite}
.wp-hero{height:940px}.hx-wedding .ss-stage{aspect-ratio:16/10}.wp-gcol{height:260px}
@media(max-width:640px){.hx-wedding .ss-stage{aspect-ratio:4/3}}
.vt.sq2 .ss-stage{aspect-ratio:3/2}
/* Wedding: fondo del escenario acorde al producto (steel + cuadrícula del plano) y ajustes de fidelidad */
.theme-wedding .ss-stage{background:radial-gradient(var(--color-steel-300,#b6c1c5) 1.4px,transparent 1.4px) 0 0/22px 22px,linear-gradient(135deg,#eef1f2 0%,#ced6d8 100%)}
.theme-wedding .ss-win{box-shadow:0 30px 70px rgba(44,52,56,.28),0 0 0 1px rgba(44,52,56,.08)}
.theme-ikigai .ss-stage{background:radial-gradient(120% 140% at 15% 0%,#f0ebe4 0%,#e0d6c8 55%,#d4cdc3 100%)}
.theme-ikigai .ss-win{box-shadow:0 30px 70px rgba(99,90,79,.32),0 0 0 1px rgba(99,90,79,.12)}
.wp-hero{height:1180px}.wp-tall{height:1000px}.wp-tall2{height:1130px}
.wp-app .wp-gcol{padding:0;height:290px}.wp-app .btn.dis{background:var(--color-disabled-200);color:var(--color-disabled-400);box-shadow:none}
.wp-or{position:relative}.wp-or .s1{position:absolute;top:8px;left:50%;transform:translateX(-50%)}
.wp-attn{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.wp-attn h3{font-size:20px}.wp-attn ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.wp-att{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;border:1px solid var(--color-warning-300);background:var(--color-warning-100);color:var(--color-warning-800);font-size:14px;font-weight:500}.wp-att.info{border-color:#a2c5fb;background:var(--color-information-100);color:var(--color-information-800)}.wp-att .ch{margin-left:auto;opacity:.7}
.wp-mr{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,.85fr);gap:24px;align-items:start}.wp-mgs{display:flex;flex-direction:column;gap:24px}.wp-mgs .wp-mg{gap:8px}
.wp-plan{display:flex;flex-direction:column;gap:16px}.wp-plc{display:flex;flex-direction:column;gap:8px;padding:16px!important;box-shadow:var(--box-shadow-1)}.wp-plc header{display:flex;align-items:center;gap:8px}.wp-plc header .ms:first-child{color:var(--color-steel-900)}.wp-plc header h3{flex:1;font-size:14px;line-height:18px}.wp-plc .ch{color:var(--color-steel-400)}
.wp-plc .st{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-steel-800)}.wp-plc .st strong{font-size:16px;line-height:20px}.wp-plc .st.warn{color:var(--color-warning-700)}.wp-plc ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.wp-plc li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--color-steel-600);line-height:16px}.wp-plc li .ms{font-size:16px}.wp-plc .muted{color:var(--color-steel-500)}
.wp-panel .psub u{text-decoration:underline;color:var(--color-information-700)}
.wp-cat .grid{position:relative;overflow:hidden}.wp-cat .gi{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}
.wp-cat .grid{display:block;padding:16px 24px 0}
.wp-cnav{overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-steel-400) var(--color-steel-100)}.wp-cc{height:100%}
.wp-or i{margin-top:14px}.wp-or .s1{top:4px}

/* Titan DS: hojas de especificación (fondo #F7F7F7, Poppins, marca naranja) */
@font-face{font-family:'Poppins';src:url('assets/titan/fonts/Poppins-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/titan/fonts/Poppins-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url('assets/titan/fonts/Poppins-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}
.theme-titan{--case-ink:#2c3438;--case-accent:#ff4712;--case-soft:#f7f7f7}
.theme-titan .ss-stage{background:radial-gradient(120% 140% at 15% 0%,#fff 0%,#f7f7f7 45%,#dcdcdc 100%)}
.theme-titan .ss-stage::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,71,18,.16) 0 3px,transparent 3px 16px);-webkit-mask-image:linear-gradient(to top,#000,transparent 38%);mask-image:linear-gradient(to top,#000,transparent 38%);pointer-events:none}
.theme-titan .ss-win{box-shadow:0 30px 70px rgba(44,52,56,.22),0 0 0 1px rgba(44,52,56,.07)}
.hx-titan .ss-stage{aspect-ratio:16/10}@media(max-width:640px){.hx-titan .ss-stage{aspect-ratio:4/3}}
.ts-board{--rs:8px;position:relative;width:1100px;height:720px;background:#f7f7f7;color:#3a3a3a;font-family:'Poppins',sans-serif;font-size:14px;line-height:18px;overflow:hidden;text-align:left}
.ts-board *{box-sizing:border-box}.ts-board h1,.ts-board h3,.ts-board p{margin:0;font-family:inherit;letter-spacing:0}
.ts-b1{width:1280px;height:760px}.ts-b3{height:760px}.ts-b6{width:1280px;height:640px}
.ts-board h1{font-size:46px;line-height:50px;font-weight:600;color:#3a3a3a}.ts-board h3{font-size:20px;line-height:24px;font-weight:600;color:var(--color-steel-900)}
.ts-eb{font-size:14px;font-weight:600;color:#8b8b8b;margin-bottom:4px!important}
.ts-mark{position:absolute;left:50%;bottom:22px;width:44px;transform:translateX(-50%);opacity:.95}
.ts-board:not(.ts-b1):not(.ts-b6)>.ts-eb{position:absolute;left:64px;top:48px}.ts-board:not(.ts-b1):not(.ts-b6)>h1{position:absolute;left:64px;top:68px}
/* b1 · Text Input */
.ts-l{position:absolute;left:72px;top:64px;width:560px}.ts-stg{position:relative;margin-top:64px;height:260px;display:grid;place-items:center}
.ts-fw{width:440px;position:relative}.ts-lab{display:block;font-size:12px;line-height:16px;color:var(--color-steel-600);margin-bottom:4px}
.ts-in{position:relative;display:flex;align-items:center;height:40px;padding:8px 12px 8px 16px;background:#fff;border:1px solid var(--color-steel-300);border-radius:var(--rs);font-size:16px;line-height:22px;color:var(--color-steel-800);transition:border-color .2s,box-shadow .2s,border-radius .5s}
.ts-val{white-space:nowrap}.ts-val:not(:empty){flex:1}.ts-ph{flex:1;font-style:normal;color:var(--color-steel-400)}.ts-val:not(:empty)+.ts-ph{display:none}
.ts-ic{display:grid;place-items:center;margin-left:auto;color:var(--color-steel-300);transition:color .2s}
.ts-sub{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;line-height:16px;color:var(--color-steel-600);min-height:16px}
[data-state=hover] .ts-in{border-color:var(--color-steel-900)}
[data-state=focusvisible] .ts-in{border-color:var(--color-information-600);box-shadow:0 0 0 3px rgba(57,129,247,.2)}[data-state=focusvisible] .ts-ic,[data-state=focus] .ts-ic{color:var(--color-steel-700)}
[data-state=focus] .ts-in{border-color:var(--color-steel-800)}
[data-state=error] .ts-in{border-color:var(--color-error-700)}[data-state=error] .ts-ic{color:var(--color-error-400)}[data-state=error] .ts-lab,[data-state=error] .ts-sub{color:var(--color-error-500)}
[data-state=disabled] .ts-in,[data-state=disabled] .ts-ic{border-color:var(--color-disabled-200);color:var(--color-disabled-200)}[data-state=disabled] .ts-ph,[data-state=disabled] .ts-lab,[data-state=disabled] .ts-sub{color:var(--color-disabled-200)}
.ts-sp{display:flex;align-items:center;gap:12px;justify-content:center;margin-top:28px}.ts-chip{font-size:12px;font-weight:600;padding:4px 14px;border-radius:9999px;background:#fff;border:1px solid var(--color-steel-200)}
.ts-key{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;background:#fff;border:1px solid var(--color-steel-300);border-bottom-width:3px;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}.ts-sp[data-k=focusvisible] .ts-key{opacity:1;transform:none}
.ts-r{position:absolute;left:668px;top:64px;width:552px}.ts-rh{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}
.ts-tg{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--color-steel-800);padding:6px 12px;border-radius:8px;background:#fff;border:1px solid var(--color-steel-200)}.ts-tg i{width:30px;height:16px;border-radius:12px;background:var(--color-black-400,#a6a6a6);position:relative;transition:background .25s}.ts-tg i::after{content:'';position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .25s}
.an .ts-tg i{background:var(--color-steel-900)}.an .ts-tg i::after{left:16px}.ts-tg.hv{border-color:var(--color-steel-300)}
.ts-tbl{width:100%;border-collapse:separate;border-spacing:0 4px;font-size:12px;line-height:16px}.ts-tbl th{text-align:left;font-weight:600;color:var(--color-steel-600);padding:4px 10px}.ts-tbl td{padding:10px;color:var(--color-steel-700);white-space:nowrap;transition:background .2s}.ts-tbl td.n{font-size:14px;font-weight:600;color:var(--color-steel-900)}
.ts-tbl td i,.ts-note i{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:-2px;margin-right:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12)}
.ts-row td:first-child{border-radius:8px 0 0 8px}.ts-row td:last-child{border-radius:0 8px 8px 0}.ts-row.on td{background:#fff}.ts-row.on{box-shadow:var(--elevation-1)}.ts-row.hv td{background:rgba(255,255,255,.7)}
.ts-note{margin-top:16px!important;font-size:12px;line-height:16px;color:var(--color-steel-600)}
.ts-an{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .4s}.an .ts-an{opacity:1}
.ts-an .b{position:absolute;background:rgba(57,129,247,.32);border:1px solid rgba(44,103,197,.5)}
.ts-an .lab{left:0;top:-1px;width:44px;height:16px}.ts-an .hp{left:1px;top:21px;width:16px;height:38px}.ts-an .ip{right:1px;top:21px;width:12px;height:38px}.ts-an .vp{left:17px;right:13px;top:21px;height:8px}.ts-an .hi{left:0;top:64px;width:130px;height:16px}.ts-an .co{right:0;top:64px;width:40px;height:16px}
.ts-an .c{position:absolute;font-size:13px;line-height:17px;color:#3a3a3a;white-space:nowrap}.ts-an .c b{display:block;font-size:12px;color:#2c67c5;font-weight:600}
.ts-an .c1{left:0;top:-52px}.ts-an .c7{left:250px;top:-52px}.ts-an .c2{right:458px;top:14px;text-align:right}.ts-an .c3{right:458px;top:64px;text-align:right}.ts-an .c4{left:458px;top:14px}.ts-an .c5{left:0;top:98px}.ts-an .c6{right:0;top:98px;text-align:right}
.ts-an .c::after{content:'';position:absolute;border-color:#2c67c5;border-style:solid;border-width:0}.ts-an .c2::after,.ts-an .c3::after{right:-26px;top:12px;width:22px;border-top-width:1px}.ts-an .c4::after{left:-26px;top:12px;width:22px;border-top-width:1px}
.ts-an .c1::after,.ts-an .c7::after{left:6px;top:36px;height:14px;border-left-width:1px}.ts-an .c5::after,.ts-an .c6::after{top:-14px;height:12px;border-left-width:1px}.ts-an .c5::after{left:6px}.ts-an .c6::after{right:6px}
/* b2 · Tokens */
.ts-l2{position:absolute;left:64px;top:48px;width:972px}.ts-l2 h1{margin-bottom:28px}.ts-lv{display:flex;align-items:stretch;gap:10px}.ts-lv .ar{align-self:center;color:var(--color-steel-400);font-style:normal;font-size:18px}
.ts-lvi{flex:1;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;transition:box-shadow .25s,border-color .25s,transform .25s}.ts-lvi small{font-size:12px;color:var(--color-steel-500)}.ts-lvi b{font-size:14px;font-weight:600;color:var(--color-steel-900)}.ts-lvi span{font-size:12px;line-height:16px;color:var(--color-steel-600)}.ts-lvi.on{box-shadow:var(--elevation-2);border-color:var(--color-steel-400);transform:translateY(-3px)}
.ts-ed{position:absolute;left:64px;top:316px;width:972px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:20px 24px;box-shadow:var(--elevation-0)}.ts-edh{display:flex;align-items:center;justify-content:space-between}.ts-edh code{font-family:'Poppins',sans-serif;font-size:24px;line-height:28px;font-weight:600;color:var(--color-steel-900)}
.ts-edv{display:inline-grid;grid-template-columns:auto 96px auto;border:1px solid var(--color-steel-300);border-radius:8px;overflow:hidden;font-size:16px}.ts-edv b{display:grid;place-items:center;width:44px;font-weight:500;color:var(--color-steel-700);background:#fff}.ts-edv b.hv{background:var(--color-steel-100)}.ts-edv em{font-style:normal;display:grid;place-items:center;border-inline:1px solid var(--color-steel-200);font-weight:600;color:var(--color-steel-800);padding:8px}
.ts-used{margin-top:10px!important;font-size:13px;color:var(--color-steel-600)}.ts-used b{font-weight:600;color:var(--color-steel-800);transition:color .3s}.ts-used.pulse b{color:#2c67c5}
.ts-cmp{position:absolute;left:64px;top:456px;width:972px;display:flex;align-items:flex-end;gap:40px}.ts-c1{width:330px}.ts-c1 label{display:block;font-size:12px;line-height:16px;color:var(--color-steel-600);margin-bottom:4px}.ts-in2{display:flex;align-items:center;justify-content:space-between;height:40px;padding:8px 12px 8px 16px;background:#fff;border:1px solid var(--color-steel-300);border-radius:var(--rs);font-size:16px;color:var(--color-steel-400);transition:border-radius .5s}.ts-in2 i{color:var(--color-steel-300);display:grid}
.ts-tabs{display:flex;gap:8px}.ts-tabs span{padding:6px 16px;border:1px solid var(--color-steel-200);border-radius:var(--rs);background:#fff;color:var(--color-steel-700);font-size:14px;font-weight:500;transition:border-radius .5s}.ts-tabs .on{background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}
.ts-bg{display:inline-flex;border:1px solid var(--color-steel-300);border-radius:var(--rs);overflow:hidden;background:#fff;transition:border-radius .5s}.ts-bg span{padding:6px 8px;min-width:48px;text-align:center;color:var(--color-steel-600);font-size:14px;font-weight:500}.ts-bg span+span{border-left:1px solid var(--color-steel-300)}.ts-bg .on{background:var(--color-steel-200);color:var(--color-steel-800)}
/* b3 · Colors */
.ts-pal{position:absolute;left:64px;top:140px;width:972px}.ts-ph3,.ts-pr{display:grid;grid-template-columns:110px repeat(9,1fr);gap:8px;align-items:center}.ts-ph3{margin-bottom:6px}.ts-ph3 b{font-size:11px;font-weight:500;color:var(--color-steel-500);text-align:center}.ts-pr{margin-bottom:8px}.ts-pr span{font-size:13px;font-weight:600;color:var(--color-steel-800)}
.ts-pr .sw{display:block;height:42px;border-radius:8px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}.ts-pr .sw.hl{transform:translateY(-4px) scale(1.08);box-shadow:var(--elevation-3);position:relative;z-index:3}
.ts-tt{position:absolute;width:260px;background:var(--color-steel-900);color:#fff;border-radius:8px;padding:12px 16px 14px;box-shadow:var(--elevation-3);opacity:0;pointer-events:none;transition:opacity .2s,left .35s,top .35s;z-index:6}.ts-tt.on{opacity:1}.ts-tt b{display:block;font-size:16px;line-height:20px;font-weight:600}.ts-tt span{display:block;font-size:14px;line-height:18px;margin-top:4px}
/* b4 · Status */
.ts-mx{position:absolute;left:64px;top:140px;width:972px}.ts-mh,.ts-mr{display:grid;grid-template-columns:210px repeat(5,1fr);align-items:center}.ts-ch{font-size:12px;font-weight:600;text-align:center;padding:6px 12px;border-radius:9999px;background:#fff;border:1px solid var(--color-steel-200);margin:0 10px 8px;transition:background .25s}.ts-ch.col-on{background:var(--color-steel-200);border-color:var(--color-steel-300)}.ts-ch.hv{border-color:var(--color-steel-300)}
.ts-mr{height:56px;border-top:1px solid var(--color-steel-200)}.ts-rn{font-size:12px;font-weight:500;color:var(--color-steel-600)}.ts-cell{display:flex;align-items:center;justify-content:center;gap:8px;height:100%;transition:background .25s}.ts-cell.col-on{background:rgba(255,255,255,.85)}.ts-cell em{font-style:normal;font-size:14px;color:var(--color-steel-900)}
.ts-cb{width:20px;height:20px;border:1px solid var(--color-steel-900);border-radius:4px;background:#fff;display:grid;place-items:center;color:#fff;transition:all .2s}.ts-cb.on,.ts-cb.ind{background:var(--color-steel-900)}
.ts-cb.s-hover{border-color:var(--color-steel-800)}.ts-cb.on.s-hover,.ts-cb.ind.s-hover{background:var(--color-steel-700)}.ts-cb.s-focusvisible{border-color:var(--color-information-600);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}.ts-cb.s-disabled{border-color:var(--color-disabled-200)}.ts-cb.on.s-disabled,.ts-cb.ind.s-disabled{background:var(--color-disabled-200)}.ts-cb.s-error{border-color:var(--color-error-600)}
.ts-rd{width:20px;height:20px;border-radius:50%;border:1px solid var(--color-steel-700);background:#fff;transition:all .2s}.ts-rd.on{border:4px solid var(--color-steel-900)}.ts-rd.s-hover{border-color:var(--color-steel-800)}.ts-rd.on.s-hover{border-color:var(--color-steel-700)}.ts-rd.s-focusvisible{border-color:var(--color-information-600);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}.ts-rd.s-disabled{border-color:var(--color-disabled-200)}.ts-rd.s-error{border-color:var(--color-error-600)}
.ts-tg2{width:30px;height:16px;border-radius:12px;background:var(--color-black-400,#a6a6a6);position:relative;transition:all .2s}.ts-tg2 i{position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:50%;background:#fff;transition:left .2s}.ts-tg2.on{background:var(--color-steel-900)}.ts-tg2.on i{left:16px}.ts-tg2.s-hover{background:var(--color-black-300,#c1c1c1)}.ts-tg2.on.s-hover{background:var(--color-steel-700)}.ts-tg2.s-focusvisible{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}.ts-tg2.s-disabled{background:var(--color-disabled-200)}
.ts-cell:has(.s-disabled) em{color:var(--color-disabled-400)}
.ts-ds{position:absolute;left:64px;bottom:88px;width:972px;background:#fff;border-radius:12px;padding:16px 24px;box-shadow:var(--elevation-1)}.ts-dn{display:block;font-size:16px;line-height:20px;font-weight:600;color:var(--color-steel-900);margin-bottom:4px}.ts-dt{color:var(--color-steel-700);font-size:14px;line-height:18px}
/* b5 · Typography */
.ts-spec{position:absolute;left:64px;top:140px;width:520px;height:480px;background:#fff;border-radius:12px;padding:32px;box-shadow:var(--elevation-1);display:flex;flex-direction:column;justify-content:space-between}.ts-sam{font-size:32px;line-height:36px;font-weight:600;color:#3a3a3a;transition:font-size .35s,line-height .35s,font-weight .35s;word-break:break-word}.ts-meta{border-top:1px solid var(--color-steel-200);padding-top:16px;display:flex;flex-direction:column;gap:4px}.ts-meta code{font-family:'Poppins',sans-serif;font-size:16px;font-weight:600;color:#2c67c5}.ts-meta .mv{font-size:13px;color:var(--color-steel-600)}
.ts-tyl{position:absolute;left:630px;top:140px;width:406px;display:flex;flex-direction:column;gap:4px}.ts-tr{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:8px;font-size:14px;transition:background .2s}.ts-tr code{font-family:'Poppins',sans-serif;font-weight:500;color:var(--color-steel-800)}.ts-tr span{color:var(--color-steel-600);font-size:13px}.ts-tr.on{background:#fff;box-shadow:var(--elevation-1)}.ts-tr.hv{background:rgba(255,255,255,.7)}
/* b6 · Layout */
.ts-lh{position:absolute;left:64px;right:64px;top:48px;display:flex;justify-content:space-between;align-items:flex-start}.ts-bps{display:flex;gap:8px;margin-top:8px}.ts-bp{display:flex;align-items:baseline;gap:8px;padding:8px 16px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;color:var(--color-steel-700);font-size:14px;font-weight:500;transition:background .2s}.ts-bp b{font-size:12px;font-weight:600;text-transform:uppercase;color:var(--color-steel-500)}.ts-bp.on{background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}.ts-bp.hv{border-color:var(--color-steel-300)}
.ts-vp{position:absolute;left:50%;top:190px;height:300px;transform:translateX(-50%);background:#fff;border:1px solid var(--color-steel-300);border-radius:12px;box-shadow:var(--elevation-1);display:flex;justify-content:center;overflow:hidden;transition:width .9s cubic-bezier(.65,0,.25,1)}.ts-ct{position:relative;height:100%;transition:width .9s cubic-bezier(.65,0,.25,1);background:rgba(57,129,247,.05)}
.ts-cols{position:absolute;left:42px;right:42px;top:34px;bottom:16px;display:grid;grid-template-columns:repeat(12,1fr);gap:8px}.ts-cols i{background:rgba(247,79,37,.13);border-radius:2px;display:grid;place-items:start center;padding-top:6px}.ts-cols b{font-size:10px;font-weight:600;color:#b52f0b}
.ts-wl{position:absolute;left:12px;top:8px;z-index:2;font-size:12px;font-weight:600;color:var(--color-steel-700);background:var(--color-steel-100);padding:2px 8px;border-radius:4px}
.ts-facts{position:absolute;left:64px;right:64px;bottom:84px;margin:0;padding:0;list-style:none;display:flex;justify-content:center;gap:36px;font-size:14px;color:var(--color-steel-700)}.ts-facts b{font-weight:600;color:var(--color-steel-900)}
.ss-win.ts-board{border-radius:12px}
.ts-fw{margin-left:120px}.ts-sp{margin-left:120px}
.ts-an .c4{left:auto;right:0;top:-52px;text-align:right}.ts-an .c4::after{left:auto;right:6px;top:36px;width:0;height:14px;border-top-width:0;border-left-width:1px}
.ts-an .c7{left:170px}.ts-an .c2{top:20px}.ts-an .c3{top:62px}
.ts-b1{height:700px}.ts-stg{height:236px;margin-top:56px}
.ts-b2{height:610px}.ts-ed{top:290px}.ts-cmp{top:430px}
.ts-mx{top:128px}.ts-mr{height:50px}.ts-ds{bottom:80px}
.ts-spec{height:470px}.ts-sam{overflow:hidden}
.ts-b2{height:733px}.ts-ed{top:290px;display:grid;grid-template-columns:1fr 1fr;gap:20px;background:none;border:0;padding:0;box-shadow:none}.ts-edc{background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:20px 24px;box-shadow:var(--elevation-0)}.ts-cmp{top:470px;flex-wrap:wrap;gap:40px}
.ts-board{--ss:1px}.ts-in2,.ts-tabs span,.ts-bg{border-width:var(--ss)!important}.ts-bg span+span{border-left-width:var(--ss)}
.ts-in2,.ts-tabs span,.ts-bg,.ts-bg span+span{transition:border-radius .5s,border-width .4s}
/* Titan · hoja de handoff diseño ⇄ desarrollo */
.ts-b7{width:1280px;height:660px}.ts-b7 .ts-lh{top:40px}
.ts-sot{margin-top:10px;font-size:12px;font-weight:600;color:var(--color-steel-700);padding:6px 14px;border-radius:9999px;background:#fff;border:1px solid var(--color-steel-200)}
.ts-pn{position:absolute;top:150px;height:420px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;box-shadow:var(--elevation-0);padding:20px 22px;display:flex;flex-direction:column;gap:14px}.ts-pn header{display:flex;align-items:center;gap:12px}.ts-pn header h3{font-size:16px;line-height:20px}
.ts-pd{left:64px;width:390px}.ts-pc{left:476px;width:420px}.ts-pv{left:918px;width:298px}
.ts-role{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px}.ts-role.d{background:var(--color-blueberry-100,#EDEDFB);color:var(--color-blueberry-800,#302E81)}.ts-role.v{background:var(--color-avocado-100);color:var(--color-avocado-800)}.ts-role.p{background:var(--color-steel-100);color:var(--color-steel-800)}
.ts-spl{display:flex;flex-direction:column;gap:6px}.ts-sr{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:8px;border:1px solid transparent;font-size:13px;color:var(--color-steel-700);transition:background .2s,border-color .2s}.ts-sr b{font-weight:600;color:#2c67c5;font-size:12px}.ts-sr.on{background:var(--color-information-100);border-color:#a2c5fb;color:var(--color-steel-900)}.ts-sr.hv{background:var(--color-steel-100)}.ts-sr.on.hv{background:var(--color-information-100)}
.ts-code{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:20px;color:var(--color-steel-800);background:var(--color-black-100,#f7f7f7);border-radius:8px;padding:14px 16px;white-space:pre;overflow:hidden}.ts-code .cm{color:var(--color-steel-500)}.ts-code .tk{border-radius:4px;padding:1px 3px;margin:-1px -3px;color:#2c67c5;transition:background .25s}.ts-code .tk.hl{background:rgba(57,129,247,.22)}.ts-code em{font-style:normal;color:var(--color-avocado-700);font-weight:600}
.ts-tkb{display:flex;gap:12px;margin-top:auto}.ts-tkb .ts-edv{grid-template-columns:auto 76px auto;font-size:14px}.ts-tkb .ts-edv b{width:34px}
.ts-pvb{margin:auto 0;transition:all .3s}.ts-pvb label{display:block;font-size:12px;line-height:16px;color:var(--color-steel-600);margin-bottom:4px}.ts-in3{display:flex;align-items:center;justify-content:space-between;height:40px;padding:8px 12px 8px var(--spm,16px);background:#fff;border:1px solid var(--color-steel-300);border-radius:var(--rs);font-size:16px;color:var(--color-steel-400);transition:padding .4s,border-radius .4s,box-shadow .3s}.ts-in3 i{color:var(--color-steel-300);display:grid}.ts-pvs{display:flex;justify-content:space-between;margin-top:4px;font-size:12px;color:var(--color-steel-600)}
.ts-pvb[data-hl="$rounded-s"] .ts-in3,.ts-pvb[data-hl="$stroke-s"] .ts-in3{box-shadow:0 0 0 3px rgba(57,129,247,.3)}.ts-pvb[data-hl="$spacing-m"] .ts-in3,.ts-pvb[data-hl="$spacing-2xs"] .ts-in3,.ts-pvb[data-hl="$text-input"] .ts-in3{box-shadow:0 0 0 3px rgba(57,129,247,.3);background:rgba(57,129,247,.06)}.ts-pvb[data-hl="$body-s-400"] label,.ts-pvb[data-hl="$body-s-400"] .ts-pvs{background:rgba(57,129,247,.2);border-radius:4px}
.ts-pvb{margin:auto 0}.ts-pv .ts-tabs span{padding:6px 12px}
/* Titan · creación de pantalla */
.ts-b8{width:1280px;height:780px}
.tsc-lib{position:absolute;left:40px;top:48px;width:230px;bottom:48px;display:flex;flex-direction:column;gap:6px}.tsc-lib h3{font-size:16px;line-height:20px;margin-bottom:8px}
.tsc-pill{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--color-steel-200);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:500;color:var(--color-steel-800);transition:box-shadow .2s,border-color .2s}.tsc-pill i{width:14px;height:14px;border-radius:4px;border:2px solid var(--color-steel-400);flex:none}.tsc-pill.hv{border-color:var(--color-steel-400);box-shadow:var(--elevation-1)}
.tsc-ghost{position:absolute;opacity:0;z-index:20;pointer-events:none;background:#fff;border:1px solid var(--color-steel-300);border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;color:var(--color-steel-900);box-shadow:var(--elevation-3)}
.tsc-main{position:absolute;left:300px;top:40px;width:700px}.tsc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.tsc-prods{display:flex;gap:8px}.tsc-pr{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--color-steel-700);padding:6px 14px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;transition:background .2s,border-color .2s}.tsc-pr i{width:10px;height:10px;border-radius:50%}.tsc-pr.on{background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}.tsc-pr.hv{border-color:var(--color-steel-300)}.tsc-cnt{font-size:12px;color:var(--color-steel-600)}.tsc-cnt b{color:var(--color-steel-900);font-weight:600}
.tsc-frame{position:relative;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;box-shadow:var(--elevation-2);overflow:hidden;height:670px}
.tsc-gridov{position:absolute;inset:0 24px;display:grid;grid-template-columns:repeat(12,1fr);gap:12px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:5}.tsc-gridov i{background:rgba(247,79,37,.1)}.dragging .tsc-gridov{opacity:1}
.tsc-body{padding:20px 24px;display:flex;flex-direction:column;gap:14px}.tsc-filter{display:flex;justify-content:space-between;align-items:center}
.tsc-slot{position:relative;border:1.5px dashed var(--color-steel-300);border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(231,234,236,.35);transition:border-color .3s,background .3s}.tsc-slot .ph{font-size:12px;font-weight:500;color:var(--color-steel-500)}.tsc-slot .cmp{display:none;width:100%}.tsc-slot.filled{border:0;background:none;display:block;animation:tsc-pop .5s ease}.tsc-slot.filled .ph{display:none}.tsc-slot.filled .cmp{display:block}@keyframes tsc-pop{0%{opacity:0;transform:scale(.96)}100%{opacity:1;transform:none}}
.tsc-slot.s-nav{height:70px;border-radius:0;border-width:0 0 1.5px}.tsc-slot.s-nav.filled{border-bottom:1px solid var(--color-steel-100)}.tsc-slot.s-head{height:96px}.tsc-slot.s-bg{width:260px;height:44px}.tsc-slot.s-ti{width:260px;height:44px}.tsc-slot.s-tbl{height:232px}.tsc-slot.s-head.filled,.tsc-slot.s-bg.filled,.tsc-slot.s-ti.filled,.tsc-slot.s-tbl.filled{height:auto}
.tsc-nav{display:flex;align-items:center;gap:8px;height:70px;padding:0 32px 0 24px}.tsc-nav .ring{width:34px;height:26px;background:var(--prim);-webkit-mask:url(assets/titan/titan-mark.png) center/contain no-repeat;mask:url(assets/titan/titan-mark.png) center/contain no-repeat;transition:background .5s}.tsc-nav .pn{font-size:16px;line-height:20px;font-weight:600;color:var(--prim);transition:color .5s}.tsc-nav .sp{flex:1}.tsc-nav .ib{width:32px;height:32px;border-radius:50%;border:1px solid var(--color-steel-200);margin-left:4px}.tsc-nav .avt{width:40px;height:40px;border-radius:50%;background:var(--color-steel-200);margin-left:8px}
.hd{font-size:24px;line-height:28px;font-weight:600;color:var(--color-steel-900);margin-bottom:12px!important}.tsc-tabs{display:flex;gap:8px}.tsc-tabs span{padding:6px 16px;border:1px solid var(--color-steel-200);border-radius:8px;background:#fff;color:var(--color-steel-700);font-size:14px;font-weight:500}.tsc-tabs .on{background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}
.tsc-bgp{display:inline-flex;border:1px solid var(--color-steel-300);border-radius:8px;overflow:hidden;background:#fff}.tsc-bgp span{padding:6px 8px;min-width:48px;text-align:center;color:var(--color-steel-600);font-size:14px;font-weight:500}.tsc-bgp span+span{border-left:1px solid var(--color-steel-300)}.tsc-bgp .on{background:var(--color-steel-200);color:var(--color-steel-800)}
.tsc-ti{display:flex;align-items:center;gap:8px;height:40px;padding:8px 16px 8px 12px;border:1px solid var(--color-steel-300);border-radius:8px;background:#fff;color:var(--color-steel-400);font-size:16px}.tsc-ti svg{color:var(--color-steel-400)}
.tsc-tbl{width:100%;border-collapse:collapse;font-size:14px;line-height:18px;color:var(--color-steel-800)}.tsc-tbl th,.tsc-tbl td{height:58px;padding:0 16px;text-align:left;border-bottom:1px solid var(--color-steel-200);white-space:nowrap}.tsc-tbl th{font-weight:600;border-bottom-color:var(--color-steel-400)}.tsc-tbl .nm{text-align:right}.tsc-tbl tr:hover td{background:var(--color-steel-100)}
.tsc-tbl .av{display:inline-block;width:24px;height:24px;border-radius:50%;background:var(--color-steel-200);vertical-align:middle;margin-right:8px}.tsc-tbl .lb{font-size:12px;font-weight:600;padding:2px 8px;border-radius:4px}.lb.b{background:var(--color-information-100);color:var(--color-information-800)}.lb.g{background:#e8f1ed;color:#1c462f}.lb.y{background:#fefaea;color:#947c2b}
.tsc-tbl .sd{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.sd.g{background:#4cb076}.sd.r{background:#c62f38}.sd.b{background:#3981f7}
.tsc-frame.sw .tsc-nav .pn,.tsc-frame.sw .hd,.tsc-frame.sw .tsc-tabs,.tsc-frame.sw .tsc-bgp,.tsc-frame.sw .tsc-tbl th{animation:tsc-sw .6s ease}@keyframes tsc-sw{0%{opacity:.2;transform:translateY(4px)}100%{opacity:1;transform:none}}
.tsc-ins{position:absolute;left:1030px;top:88px;width:216px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:16px 18px;box-shadow:var(--elevation-0);min-height:300px}.tsc-ins h3{font-size:16px;line-height:20px;margin-bottom:2px}.tsc-ins .t{font-size:12px;font-weight:600;color:#2c67c5;margin-bottom:12px!important}.tsc-il{display:flex;flex-direction:column;gap:10px}.tsc-il div{display:flex;flex-direction:column;gap:1px;font-size:12px}.tsc-il span{color:var(--color-steel-600)}.tsc-il b{font-weight:600;color:var(--color-steel-900)}
.tsc-prim{display:none;flex-direction:column;gap:6px}.tsc-ins.prim .tsc-prim{display:flex}.tsc-prim small{font-size:12px;color:var(--color-steel-600)}.tsc-prim div{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.tsc-prim i{width:20px;height:20px;border-radius:6px;transition:background .4s}.tsc-prim p{font-size:12px;color:var(--color-steel-600)}
.ts-b8{height:660px}.tsc-frame{height:520px}.tsc-ins{top:96px}.tsc-lib{bottom:36px}
/* Titan · valor: un cambio, todos los productos */
.tsc-tabs span{border-radius:var(--rs,8px);border-width:var(--ss,1px);padding:6px var(--spm,16px)}.tsc-bgp{border-radius:var(--rs,8px);border-width:var(--ss,1px)}.tsc-bgp span+span{border-left-width:var(--ss,1px)}.tsc-ti{border-radius:var(--rs,8px);border-width:var(--ss,1px)}.tsc-tbl th,.tsc-tbl td{padding:0 var(--spm,16px)}.tsc-tabs span,.tsc-bgp,.tsc-ti,.tsc-tbl td,.tsc-tbl th{transition:border-radius .5s,border-width .4s,padding .5s}
.ts-b9{width:1280px;height:720px}.ts-b9 .ts-lh{top:40px}
.tsm-dev{position:absolute;left:64px;top:156px;width:336px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--elevation-0)}.tsm-dev header{display:flex;align-items:center;gap:12px}.tsm-dev header h3{font-size:16px;line-height:20px}
.tsm-code{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:20px;color:var(--color-steel-800);background:var(--color-black-100,#f7f7f7);border-radius:8px;padding:12px 14px;min-height:92px;white-space:pre}.tsm-code .cm{color:var(--color-steel-500)}.tsm-code .chg{background:rgba(57,129,247,.2);border-radius:4px;color:#2c67c5;font-weight:600}
.tsm-tk{display:flex;align-items:center;justify-content:space-between}.tsm-tk code{font-family:'Poppins',sans-serif;font-size:15px;font-weight:600;color:var(--color-steel-900)}.tsm-tk .ts-edv{font-size:14px;grid-template-columns:auto 70px auto}.tsm-tk .ts-edv b{width:34px}
.tsm-up{margin-top:4px;font-size:13px;color:var(--color-steel-600);padding:10px 12px;border-radius:8px;background:var(--color-steel-100)}.tsm-up b{color:#2c7a4b;font-size:18px;font-weight:600}
.tsm-grid{position:absolute;left:430px;top:150px;display:flex;gap:18px}.tsm-col{display:flex;flex-direction:column;gap:8px}.tsm-lab{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;color:var(--color-steel-800)}.tsm-lab i{width:10px;height:10px;border-radius:50%}
.tsm-sc{width:268px;height:430px;overflow:hidden;border-radius:10px;box-shadow:var(--elevation-2)}.tsm-fr{zoom:.47;width:570px;height:auto!important;border-radius:0;box-shadow:none;border:0}.tsm-fr .tsc-body{padding:20px 24px 24px;display:flex;flex-direction:column;gap:16px}.tsm-fr.flash{animation:tsm-fl .9s ease}@keyframes tsm-fl{0%{filter:none}30%{filter:drop-shadow(0 0 0 transparent) brightness(.97);outline:3px solid rgba(57,129,247,.35);outline-offset:-3px}100%{filter:none}}
/* Titan · rediseño */
.ts-b10{width:1100px;height:733px}.ts-b10 .ts-lh{top:40px;left:64px;right:64px}.tsr-btn{margin-top:10px;display:inline-flex;font-size:14px;font-weight:600;color:#fff;background:var(--color-steel-900);padding:10px 18px;border-radius:8px;box-shadow:var(--elevation-1);transition:background .2s,transform .12s}.tsr-btn.hv{background:var(--color-steel-800)}.tsr-btn.pressed{transform:scale(.96)}
.tsr-scr{position:absolute;left:64px;top:140px;width:760px;height:540px;overflow:hidden;background:#fff;box-shadow:var(--elevation-2);transition:border-radius .6s,box-shadow .6s}.tsr-st{position:absolute;left:850px;top:140px;width:190px;display:flex;flex-direction:column;gap:10px}.tsr-st div{background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}.tsr-st small{font-size:12px;color:var(--color-steel-600)}.tsr-st b{font-size:28px;line-height:32px;font-weight:600;color:#c62f38;transition:color .5s}.tsr-st em{font-style:normal;font-size:12px;font-weight:600;color:#2c67c5;opacity:0;transition:opacity .5s}.tt .tsr-st b{color:#2c7a4b}.tt .tsr-st em{opacity:1}
.tsr-bar{display:flex;align-items:center;gap:10px;height:56px;padding:0 20px;background:#1a2b56;color:#fff;transition:all .6s}.tsr-bar .sp{flex:1}.tsr-logo{width:28px;height:28px;border-radius:50%;background:#e67e22;flex:none}.tsr-name{font-family:Georgia,serif;font-size:20px;font-style:italic;color:#f1c40f}.tsr-ib{width:26px;height:26px;background:#e74c3c;border-radius:4px}
.tsr-body{padding:18px 20px;display:flex;flex-direction:column;gap:12px}.tsr-h{margin:0;font-family:Georgia,serif;font-size:30px;line-height:34px;font-style:italic;color:#d35400;font-weight:700;transition:all .6s}
.tsr-tabs{display:flex;gap:4px}.tsr-tabs span{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.08em;padding:9px 14px;color:#fff;transition:all .6s}.tsr-tabs span:nth-child(1){background:#8e44ad;border-radius:0}.tsr-tabs span:nth-child(2){background:#16a085;border-radius:12px}.tsr-tabs span:nth-child(3){background:#7f8c8d;border-radius:4px}
.tsr-row{display:flex;justify-content:space-between;align-items:center}.tsr-bt{display:flex;gap:8px}.tsr-bt span{font-family:Arial,sans-serif;font-size:12px;color:#fff;transition:all .6s}.tsr-bt .a{background:#27ae60;border-radius:4px;padding:8px 18px}.tsr-bt .b{background:#c0392b;border-radius:0;padding:5px 10px}.tsr-bt .c{background:#2980b9;border-radius:4px;padding:11px 14px}
.tsr-in{font-family:'Courier New',monospace;font-size:13px;color:#7f8c8d;border:3px solid #e67e22;border-radius:0;padding:6px 10px;width:210px;transition:all .6s}
.tsr-tb{width:100%;border-collapse:collapse;font-family:'Courier New',monospace;font-size:12px;transition:all .6s}.tsr-tb th{background:#16a085;color:#fff;text-align:left;padding:7px 10px;transition:all .6s}.tsr-tb td{padding:7px 10px;border-bottom:1px solid #bdc3c7;transition:all .6s}.tsr-tb tr:nth-child(odd) td{background:#fdebd0}.tsr-tb tr:nth-child(even) td{background:#d6eaf8}
.tt .tsr-scr{border-radius:12px}.tt .tsr-bar{background:#fff;height:70px;border-bottom:1px solid var(--color-steel-100);color:var(--color-steel-900);padding:0 32px 0 24px}.tt .tsr-logo{border-radius:0;width:34px;height:26px;background:#4F4DD7;-webkit-mask:url(assets/titan/titan-mark.png) center/contain no-repeat;mask:url(assets/titan/titan-mark.png) center/contain no-repeat}.tt .tsr-name{font-family:'Poppins',sans-serif;font-style:normal;font-size:16px;font-weight:600;color:#4F4DD7}.tt .tsr-ib{background:#fff;border:1px solid var(--color-steel-200);border-radius:50%}
.tt .tsr-body{padding:20px 24px;gap:14px}.tt .tsr-h{font-family:'Poppins',sans-serif;font-style:normal;font-size:24px;line-height:28px;font-weight:600;color:var(--color-steel-900)}
.tt .tsr-tabs{gap:8px}.tt .tsr-tabs span{font-family:'Poppins',sans-serif;font-size:14px;letter-spacing:0;font-weight:500;padding:6px 16px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;color:var(--color-steel-700)}.tt .tsr-tabs span:nth-child(1){background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}.tt .tsr-tabs span{text-transform:capitalize}
.tt .tsr-bt{gap:0;border:1px solid var(--color-steel-300);border-radius:8px;overflow:hidden}.tt .tsr-bt span{font-family:'Poppins',sans-serif;font-size:14px;font-weight:500;border-radius:0!important;padding:6px 12px!important;background:#fff!important;color:var(--color-steel-600)}.tt .tsr-bt span+span{border-left:1px solid var(--color-steel-300)}.tt .tsr-bt .a{background:var(--color-steel-200)!important;color:var(--color-steel-800)}
.tt .tsr-in{font-family:'Poppins',sans-serif;font-size:16px;color:var(--color-steel-400);border:1px solid var(--color-steel-300);border-radius:8px;padding:8px 16px;background:#fff}
.tt .tsr-tb{font-family:'Poppins',sans-serif;font-size:14px;color:var(--color-steel-800)}.tt .tsr-tb th{background:#fff;color:var(--color-steel-800);font-weight:600;padding:0 16px;height:50px;border-bottom:1px solid var(--color-steel-400)}.tt .tsr-tb td{padding:0 16px;height:50px;border-bottom:1px solid var(--color-steel-200);background:#fff!important}
.ts-b9{height:580px}.tsm-dev{top:128px}.tsm-grid{top:128px}.tsm-sc{height:280px}
.tsm-sc{height:254px}
/* Titan · formulario */
.ts-b11{width:1100px;height:760px}.ts-b11 .ts-eb{position:absolute;left:64px;top:44px}.ts-b11>h1{position:absolute;left:64px;top:64px}
.tf-card{position:absolute;left:64px;top:156px;width:972px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:56px;box-shadow:var(--elevation-1)}.tf-col{display:flex;flex-direction:column;gap:28px}
.tf-card .ts-fw{width:100%;margin-left:0}.tf-grp{display:flex;flex-direction:column;gap:12px}.tf-grp small{font-size:12px;line-height:16px;color:var(--color-steel-600)}
.tf-o{display:flex;align-items:center;gap:8px}.tf-o em{font-style:normal;font-size:14px;color:var(--color-steel-900)}.tf-ch{display:flex;flex-direction:column;gap:12px;margin-left:28px}
.ts-cb .ic{display:none}.ts-cb.on,.ts-cb.ind{background:var(--color-steel-900);border-color:var(--color-steel-900)}.ts-cb.on .ic,.ts-cb.ind .ic{display:block;width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.ts-cb.ind .ic{height:0;width:10px;border-left:0;border-bottom:2px solid #fff;transform:none}
.tf-t{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--color-steel-900)}.tf-t em{font-style:normal}
.fv.ts-cb,.fv.ts-rd{border-color:var(--color-information-600);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}.fv.ts-tg2{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}.fv.tf-btn{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--color-information-600)}
.tf-act{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.tf-btn{display:inline-flex;font-size:16px;font-weight:500;line-height:18px;padding:10px 16px;border-radius:8px;transition:background .2s,box-shadow .2s}.tf-btn.pri{background:var(--color-steel-900);color:#fff;box-shadow:var(--elevation-1)}.tf-btn.sec{background:var(--color-steel-200);color:var(--color-steel-900)}.tf-btn.pri.hv{background:var(--color-steel-800)}.tf-btn.pri.dis{background:var(--color-disabled-200);color:var(--color-disabled-400);box-shadow:none}
.tf-keys{position:absolute;left:64px;bottom:44px;display:flex;align-items:center;gap:10px}.tf-k{font-size:12px;font-weight:600;padding:4px 12px;border-radius:6px;background:#fff;border:1px solid var(--color-steel-300);border-bottom-width:3px;color:var(--color-steel-700);transition:transform .12s,background .12s}.tf-k.on{background:var(--color-steel-900);color:#fff;transform:translateY(2px);border-bottom-width:1px}.tf-fv{font-size:13px;font-weight:600;color:#2c67c5;opacity:0;transition:opacity .3s;margin-left:10px}.tf-fv.on{opacity:1}
/* símbolo de Audiense: siempre bajo el contenido, nunca encima */
.ts-board .ts-mark{width:34px;bottom:14px;left:auto;right:28px;transform:none}
.ts-b8{height:710px}.ts-b9{height:620px}.ts-b10{height:780px}
.tsm-sc{height:238px}.ts-b11{height:690px}.tf-keys{bottom:34px}.ts-b9{height:600px}
/* Bricks DS: tablero blanco/steel, DM Sans; fondo de ladrillos (la idea de piezas que encajan) */
.theme-bricks{--case-ink:#2c3438;--case-accent:#3981f7;--case-soft:#e7eaec}
.theme-bricks .ss-stage{background:linear-gradient(135deg,#eef1f2 0%,#ced6d8 100%)}
.theme-bricks .ss-stage::before{content:'';position:absolute;inset:0;background:
 linear-gradient(rgba(109,131,139,.16) 2px,transparent 2px) 0 0/72px 28px,
 linear-gradient(90deg,rgba(109,131,139,.16) 2px,transparent 2px) 0 0/72px 56px,
 linear-gradient(90deg,rgba(109,131,139,.16) 2px,transparent 2px) 36px 28px/72px 56px;pointer-events:none;opacity:.55}
.theme-bricks .ss-win{box-shadow:0 30px 70px rgba(44,52,56,.28),0 0 0 1px rgba(44,52,56,.08)}
.bk-board{position:relative;width:1280px;height:700px;background:#fff;color:var(--color-steel-800);font-family:'DM Sans',sans-serif;font-size:14px;line-height:18px;overflow:hidden;text-align:left}.bk-board *{box-sizing:border-box}.bk-board h1,.bk-board h2,.bk-board h3,.bk-board p{margin:0;letter-spacing:0;font-family:inherit}
.bk-board h1{font-size:32px;line-height:36px;font-weight:600;color:var(--color-steel-900)}.bk-eb{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-steel-600);margin-bottom:4px!important}
/* b1 · skill */
.bk-b1{background:var(--color-black-100,#f7f7f7)}
.bk-ag{position:absolute;left:40px;top:40px;width:620px;bottom:40px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:20px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--elevation-1)}.bk-ag header{display:flex;align-items:center;gap:12px}.bk-ag header b{font-size:14px;font-weight:600;color:var(--color-steel-900)}.bk-chip{font-size:12px;font-weight:600;padding:3px 10px;border-radius:6px;background:var(--color-steel-100);color:var(--color-steel-800)}
.bk-u{align-self:flex-end;max-width:82%;background:var(--color-steel-900);color:#fff;border-radius:12px 12px 2px 12px;padding:10px 14px;font-size:14px;min-height:38px}.bk-ut.is-typing::after{content:'';display:inline-block;width:1px;height:1em;background:currentColor;margin-left:1px;vertical-align:-2px;animation:ss-blink .7s steps(1) infinite}
.bk-st{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.bk-st li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--color-steel-600);opacity:.25;transition:opacity .3s}.bk-st li.on{opacity:1}.bk-st i{width:14px;height:14px;border-radius:50%;border:2px solid var(--color-steel-300);flex:none;position:relative}.bk-st li.on i{background:var(--color-success-600);border-color:var(--color-success-600)}.bk-st code{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--color-steel-800)}
.bk-code{margin:0;font-family:ui-monospace,Menlo,monospace;font-size:12.5px;line-height:21px;color:var(--color-steel-800);background:#f7f7f7;border-radius:8px;padding:14px 16px;white-space:pre;flex:1;overflow:hidden}.bk-code .ln{display:inline-block;opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}.bk-code .ln.on{opacity:1;transform:none}.bk-code .tk{color:#2c67c5;border-radius:4px;padding:1px 3px;margin:-1px -3px;transition:background .25s}.bk-code .tk.hv{background:rgba(57,129,247,.22)}
.bk-done{font-size:13px;font-weight:600;color:#2c7a4b;background:#e8f1ed;border-radius:8px;padding:8px 12px;opacity:0;transition:opacity .4s}.bk-done.on{opacity:1}.bk-done b{margin-right:6px}
.bk-pv{position:absolute;left:700px;top:40px;width:540px;bottom:40px;border-radius:12px;overflow:hidden;background:#fff;border:1px solid var(--color-steel-200);display:flex;align-items:center;justify-content:center}.bk-page{position:absolute;inset:0;padding:24px;display:flex;flex-direction:column;gap:14px}.bk-page i{display:block;height:56px;border-radius:8px;background:var(--color-steel-100)}.bk-page i.w{height:150px}
.pv-ov{position:absolute;inset:0;background:rgba(33,54,107,.4);backdrop-filter:blur(2px);opacity:0;transition:opacity .4s}.pv-ov.on{opacity:1}
.pv-dlg{position:relative;width:360px;display:flex;flex-direction:column;gap:24px;background:#fff;border-radius:8px;padding:24px;box-shadow:0 6px 20px rgba(109,131,139,.3);opacity:0;transform:scale(.94) translateY(8px);transition:opacity .4s,transform .4s,box-shadow .3s}.pv-dlg.on{opacity:1;transform:none}
.pv-x{position:absolute;top:16px;right:16px;color:var(--color-steel-600);opacity:0;transition:opacity .4s}.pv-x.on{opacity:1}.pv-t{font-size:12px;line-height:16px;font-weight:600;color:var(--color-steel-800);opacity:0;transition:opacity .4s}.pv-t.on{opacity:1}.pv-d{font-size:14px;line-height:18px;color:var(--color-steel-700);margin-top:-16px;opacity:0;transition:opacity .4s}.pv-d.on{opacity:1}
.pv-b{display:flex;justify-content:flex-end;gap:8px;opacity:0;transition:opacity .4s}.pv-b.on{opacity:1}.pv-b span{font-size:16px;font-weight:500;line-height:18px;padding:10px 16px;border-radius:8px}.pv-b .b1{background:var(--color-steel-900);color:#fff}.pv-b .b2{background:var(--color-steel-200);color:var(--color-steel-900)}
.pv-pad{position:absolute;inset:0;pointer-events:none;border:24px solid transparent;transition:border-color .3s}
.bk-pv[data-hl="rs"] .pv-dlg{outline:3px solid rgba(57,129,247,.6);outline-offset:3px}.bk-pv[data-hl="sh"] .pv-dlg{box-shadow:0 10px 36px rgba(44,52,56,.55)}.bk-pv[data-hl="sp"] .pv-pad{border-color:rgba(57,129,247,.28)}
.bk-tip{position:absolute;width:250px;background:var(--color-steel-900);color:#fff;border-radius:8px;padding:10px 14px 12px;box-shadow:var(--elevation-3);opacity:0;pointer-events:none;transition:opacity .2s;z-index:6}.bk-tip.on{opacity:1}.bk-tip b{display:block;font-size:14px;line-height:18px;font-weight:600}.bk-tip span{display:block;font-size:13px;margin-top:2px}
/* b2 · button */
.bk-b2{height:620px;background:var(--color-black-100,#f7f7f7)}.bk-lh{position:absolute;left:56px;right:56px;top:40px;display:flex;justify-content:space-between;align-items:flex-start}
.bk-thm{display:flex;gap:6px;margin-top:6px}.bk-th{font-size:13px;font-weight:500;padding:7px 14px;border-radius:8px;border:1px solid var(--color-steel-200);background:#fff;color:var(--color-steel-700);transition:background .2s}.bk-th.on{background:var(--color-steel-200);border-color:var(--color-steel-300);color:var(--color-steel-800)}.bk-th.hv{border-color:var(--color-steel-300)}
.bk-mx{position:absolute;left:56px;top:140px;width:640px}.bk-mh,.bk-mr{display:grid;grid-template-columns:120px repeat(4,1fr);align-items:center}.bk-mh b{font-size:12px;font-weight:600;color:var(--color-steel-600);text-align:center;padding-bottom:10px}.bk-mr{height:84px;border-top:1px solid var(--color-steel-200)}.bk-rn{font-size:13px;font-weight:600;color:var(--color-steel-900)}
.bk-cell{display:flex;justify-content:center;align-items:center;height:100%;border-radius:8px;transition:background .2s}.bk-cell.hv{background:rgba(255,255,255,.9)}
.bk-bt{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:16px;line-height:18px;font-weight:500;padding:10px 16px;border-radius:8px;background:var(--bg,transparent);color:var(--fg);transition:background .35s,box-shadow .35s}.bk-bt.mini{font-size:14px;padding:8px 12px}
.bk-bt .pl{font-style:normal;font-size:18px;line-height:1;margin-right:2px}
.th-wp .bk-bt.cta{box-shadow:var(--elevation-1)}.th-wp .bk-bt.cta.s0{--bg:var(--color-steel-900)}.th-wp .bk-bt.cta.s1{--bg:var(--color-steel-800)}.th-wp .bk-bt.cta.s2{--bg:var(--color-steel-700)}.th-wp .bk-bt.cta.s3{box-shadow:none}
.bk-snip{position:absolute;left:740px;top:140px;width:484px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:20px;box-shadow:var(--elevation-1)}.bk-sh{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.bk-sh h2{font-size:24px;line-height:28px;font-weight:600}.bk-sh p{font-size:13px;color:var(--color-steel-600);margin-top:4px}
.bk-sc{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;border:1px solid var(--color-steel-200);border-radius:12px;padding:16px}.bk-sd{display:flex;flex-direction:column;align-items:center;background:var(--color-information-100);color:var(--color-information-800);border-radius:12px;padding:10px 4px}.bk-sd b{font-size:26px;line-height:30px;font-weight:600}.bk-sd small{font-size:11px;font-weight:600}.bk-sp{font-size:12px;font-weight:600;color:var(--color-information-700);background:var(--color-information-100);padding:2px 8px;border-radius:4px}.bk-sc h3{font-size:18px;line-height:22px;margin-top:6px}.bk-sc p{color:var(--color-steel-600);font-size:13px}
.bk-tip2{position:absolute;width:300px;background:var(--color-steel-900);color:#fff;border-radius:8px;padding:10px 14px 12px;box-shadow:var(--elevation-3);opacity:0;pointer-events:none;transition:opacity .2s,left .3s,top .3s;z-index:6}.bk-tip2.on{opacity:1}.bk-tip2 b{display:block;font-size:14px;font-weight:600}.bk-tip2 span{display:block;font-size:12.5px;margin-top:2px}
/* b3 · dos apps */
.bk-b3{height:640px;background:var(--color-black-100,#f7f7f7)}.bk-tk{position:absolute;left:56px;top:140px;width:230px;display:flex;flex-direction:column;gap:10px}.bk-tk h3{font-size:16px;margin-bottom:4px}.bk-tc{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--color-steel-200);border-radius:12px;padding:12px 14px;transition:box-shadow .25s,border-color .25s,transform .25s}.bk-tc code{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;color:#2c67c5}.bk-tc span{font-size:12px;color:var(--color-steel-600)}.bk-tc.on,.bk-tc.hv{border-color:var(--color-steel-400);box-shadow:var(--elevation-2);transform:translateX(4px)}
.bk-apps{position:absolute;left:316px;top:126px;display:flex;gap:20px}.bk-ap{display:flex;flex-direction:column;gap:8px}.bk-an{font-size:12px;font-weight:600;color:var(--color-steel-700)}.bk-win{width:460px;height:286px;overflow:hidden;border-radius:12px;box-shadow:var(--elevation-2);border:1px solid var(--color-steel-200);background:#fff}.bk-wa{zoom:.5;width:920px!important;height:560px!important}.bk-wa .wp-top{padding:0 24px 0 20px}.bk-wa .wp-content{padding:24px 48px}.bk-eye{font-size:14px;font-weight:600;color:var(--color-steel-600)}
.bk-apps[data-hl="font"] .bk-wa h1,.bk-apps[data-hl="font"] .bk-wa h2,.bk-apps[data-hl="font"] .bk-wa h3,.bk-apps[data-hl="font"] .bk-wa .mark{background:rgba(57,129,247,.22);border-radius:6px}
.bk-apps[data-hl="col"] .bk-wa .btn-cta,.bk-apps[data-hl="col"] .bk-wa .btn-primary,.bk-apps[data-hl="col"] .bk-wa h1,.bk-apps[data-hl="col"] .bk-wa .wp-evd{outline:8px solid rgba(57,129,247,.55);outline-offset:6px}
.bk-apps[data-hl="rs"] .bk-wa .btn,.bk-apps[data-hl="rs"] .bk-wa .wp-evc,.bk-apps[data-hl="rs"] .bk-wa .wp-kpis{outline:8px solid rgba(57,129,247,.55);outline-offset:6px}
.bk-apps[data-hl="sp"] .bk-wa .wp-content,.bk-apps[data-hl="sp"] .bk-wa .wp-top{box-shadow:inset 0 0 0 24px rgba(57,129,247,.2)}
.hx-bricks .ss-stage{aspect-ratio:16/10}@media(max-width:640px){.hx-bricks .ss-stage{aspect-ratio:4/3}}
.bk-b3{height:500px}.bk-apps{top:118px}.bk-tk{top:118px}

.bk-bt{--fg:#fff}.bk-bt.cta.s0{--bg:var(--color-pomegranate-600)}.bk-bt.cta.s2{--bg:var(--color-pomegranate-400)}.bk-bt.sec{--fg:var(--color-steel-900)}.bk-bt.sec.s0{--bg:var(--color-steel-200)}
.th-wp .bk-bt.cta.s0{--bg:var(--color-steel-900)!important}.th-wp .bk-bt.cta.s1{--bg:var(--color-steel-800)!important}.th-wp .bk-bt.cta.s2{--bg:var(--color-steel-700)!important}
.bk-b2{height:560px}

/* Hozar Hinojosa: réplica de la PWA real (390 px de ancho, DM Sans + Fraunces), con las fotos y datos de la guía */
.theme-hozar{--case-ink:#7a0d25;--case-accent:#7a0d25;--case-soft:#f1e4e6}
.theme-hozar .ss-stage{background:radial-gradient(120% 140% at 15% 0%,#a3223d 0%,#7a0d25 48%,#4a0615 100%)}
.theme-hozar .ss-win.hz-board{box-shadow:none;border-radius:0;overflow:visible;background:none}
.hx-hozar .ss-stage{aspect-ratio:16/10}@media(max-width:640px){.hx-hozar .ss-stage{aspect-ratio:4/3}}
.hz-board{display:flex;align-items:flex-start;gap:36px;text-align:left}
.hz-b3{width:1242px;height:760px}.hz-b2{width:816px;height:760px}
.hz-ph{--primary:#7a0d25;--primary-dark:#5e091c;--background:#faf9f7;--surface:#fff;--text:#181818;--text-secondary:#6b6b6b;--border:#e8e5e1;--icon-muted:#717171;--csb:#e6e6e6;--csf:#5a5a5a;--sh-search:0 1px 2px rgba(24,24,24,.08),0 4px 12px rgba(24,24,24,.04);--sh-over:0 2px 8px rgba(24,24,24,.12);
  position:relative;flex:none;width:390px;height:var(--ph,760px);overflow:hidden;border-radius:30px;background:var(--background);color:var(--text);font:400 15px/1.45 'DM Sans',system-ui,sans-serif;box-shadow:0 30px 70px rgba(40,3,12,.5),0 0 0 1px rgba(255,255,255,.1);transition:filter .7s,opacity .7s}
.hz-ph *{box-sizing:border-box}
.hz-ph h1,.hz-ph h2,.hz-ph h3,.hz-ph p{margin:0;color:inherit}
.hz-ph svg{display:block;flex-shrink:0}
.hz-ph [data-lucide],.hz-ph svg.lucide{display:block;flex-shrink:0}
.hz-b2{--ph:760px}
.hz-board[data-f]:not([data-f="0"]) .hz-ph{filter:brightness(.66) saturate(.8)}
.hz-board[data-f="1"] .hz-ph:nth-child(1),.hz-board[data-f="2"] .hz-ph:nth-child(2),.hz-board[data-f="3"] .hz-ph:nth-child(3){filter:none}
.hz-h{cursor:pointer;transition:opacity .15s,transform .12s,background .15s,border-color .15s}
.hz-h.pressed{transform:scale(.97)}
/* cabecera de inicio y búsqueda */
.hz-top{position:absolute;left:0;right:0;top:0;z-index:20;background:var(--background);box-shadow:0 1px 0 rgba(24,24,24,.06);padding:12px 20px 16px}
.hz-brand{height:80px;display:flex;align-items:center}.hz-brand img{height:64px;width:auto;max-width:none}
.hz-search{margin-top:12px;height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;border:1px solid var(--border);border-radius:8px;background:#fff;box-shadow:var(--sh-search);transition:border-color .18s;position:relative}
.hz-search:has(.is-typing),.hz-search.focus{border-color:var(--primary)}
.hz-search .hz-q{font-size:16px;font-weight:500;line-height:1.3;white-space:nowrap}
.hz-search em{font-style:normal;font-size:16px;color:var(--text-secondary);position:absolute;left:46px}
.hz-search .hz-q:not(:empty)+em{display:none}
.hz-search .hz-x{position:absolute;right:12px;width:28px;height:28px;border-radius:50%;display:none;place-items:center;color:var(--text-secondary)}
.hz-search.has-q .hz-x{display:grid}
.hz-q.is-typing::after{content:'';display:inline-block;width:1.5px;height:18px;background:var(--primary);margin-left:1px;vertical-align:-3px;animation:ss-blink .7s steps(1) infinite}
.hz-main{position:absolute;left:0;right:0;top:172px;bottom:0;overflow:hidden}
.hz-sc{transition:transform 1s cubic-bezier(.65,0,.25,1)}
.hz-v{display:none;padding-top:24px;padding-bottom:90px}.hz-v.on{display:block}
.hz-bh{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0 20px;margin-bottom:12px}
.hz-bh h2{font:700 28px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;color:var(--text)}
.hz-see{width:36px;height:36px;border-radius:50%;background:var(--csb);color:var(--csf);display:grid;place-items:center;flex:none}
.hz-blk+.hz-blk{margin-top:16px}
.hz-rail{display:flex;gap:12px;padding:0 20px 4px;overflow:hidden}
.hz-cc{flex:none;width:157.5px;display:flex;flex-direction:column;gap:8px}
.hz-cc .ph{aspect-ratio:16/9;border-radius:12px;overflow:hidden;background:var(--border)}.hz-cc img{width:100%;height:100%;object-fit:cover}
.hz-cc h3{font:700 18px/1.3 'DM Sans',sans-serif;letter-spacing:-.01em;color:var(--text)}.hz-cc p{font-size:15px;line-height:1.35;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hz-cc .st{display:flex;flex-direction:column;gap:4px}
.hz-cd{flex:none;width:168px;display:flex;flex-direction:column;gap:8px}
.hz-grid .hz-cd{width:auto}
.hz-cd .ph{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--border)}.hz-cd img{width:100%;height:100%;object-fit:cover}
.hz-cd .nm{font:600 15px/1.3 'DM Sans',sans-serif;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text)}
.hz-cd .sb{font-size:13px;line-height:1.4;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-6px}
.hz-open{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);box-shadow:var(--sh-over);font-size:12px;font-weight:600;line-height:1;color:var(--text)}
.hz-open i{width:7px;height:7px;border-radius:50%;background:#1a7f37;display:block}
.hz-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;padding:0 20px}
.hz-res h2{font:700 28px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;padding:0 20px;margin-bottom:16px}
.hz-cd.hv,.hz-cc.hv{opacity:.86}
/* barra inferior */
.hz-nav{position:absolute;left:0;right:0;bottom:0;z-index:30;height:56px;display:grid;grid-template-columns:repeat(4,1fr);padding:4px 8px;background:#fff;box-shadow:0 -1px 0 rgba(24,24,24,.06)}
.hz-nav span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:44px;color:var(--icon-muted);border-radius:8px}
.hz-nav small{font-size:11px;font-weight:500;letter-spacing:.01em;line-height:1.2}
.hz-nav .on{color:var(--primary)}.hz-nav .on small{font-weight:700}
/* ficha */
.hz-hero{position:relative;height:320px;overflow:hidden;background:var(--border)}.hz-hero img{width:100%;height:100%;object-fit:cover}
.hz-hero .hz-open{left:20px;bottom:56px}
.hz-back{position:absolute;left:20px;top:12px;z-index:5;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:var(--sh-over);display:grid;place-items:center;color:var(--text)}
.hz-sheet{position:relative;z-index:1;margin-top:-32px;padding:24px 20px 32px;border-radius:16px 16px 0 0;background:#fff;box-shadow:0 -4px 24px rgba(24,24,24,.06)}
.hz-sheet h1{font:700 28px/1.15 'Fraunces',Georgia,serif;letter-spacing:-.03em;color:var(--text)}
.hz-cta{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:12px 24px;border-radius:8px;background:var(--primary);color:#fff;font-size:16px;font-weight:600;letter-spacing:-.01em;box-shadow:0 8px 20px rgba(122,13,37,.28)}
.hz-cta.hv{background:var(--primary-dark)}
.hz-info{margin-top:32px;padding-top:16px;border-top:1px solid var(--border)}
.hz-info h2{font:700 21px/1.25 'Fraunces',Georgia,serif;letter-spacing:-.02em;margin-bottom:12px;color:var(--text)}
.hz-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--border)}
.hz-row dt{margin:0;display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px;font-weight:500}.hz-row dt svg{color:var(--icon-muted)}
.hz-row dd{margin:0;text-align:right;font-size:14px;line-height:1.4}.hz-row a{font-weight:500;text-decoration:underline;text-decoration-color:rgba(24,24,24,.25);text-underline-offset:2px}
.hz-hours{padding:12px 0;border-top:1px solid var(--border)}
.hz-acc{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:1px solid var(--border);border-radius:8px;font-size:14px;font-weight:500;background:#fff;margin-top:12px}
/* carta */
.hz-mh{position:absolute;left:0;right:0;top:0;z-index:20;background:var(--background);border-bottom:1px solid var(--border)}
.hz-mt{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:8px;padding:12px 20px}
.hz-ib{width:44px;height:44px;border-radius:50%;background:var(--surface);color:var(--text);box-shadow:var(--sh-over);display:grid;place-items:center}
.hz-mt h2{font:600 18px/1.3 'DM Sans',sans-serif;letter-spacing:-.02em;text-align:center;color:var(--text)}
.hz-tabs{display:flex;gap:8px;padding:12px 0 16px;overflow:hidden}.hz-tabs::before,.hz-tabs::after{content:'';flex:0 0 12px}
.hz-tab{flex:none;min-height:36px;padding:0 16px;display:flex;align-items:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-secondary);font-size:14px;font-weight:500;white-space:nowrap}
.hz-tab.on{border-color:var(--primary);background:var(--primary);color:#fff}
.hz-mbody{position:absolute;left:0;right:0;top:133px;bottom:0;overflow:hidden}
.hz-mc{padding:16px 20px 90px;display:flex;flex-direction:column;gap:16px}
.hz-grp{border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--sh-search);overflow:hidden}
.hz-gt{display:flex;align-items:center;gap:8px;padding:16px 16px 12px;border-bottom:1px solid var(--border);font:700 20px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;color:var(--text)}.hz-gt svg{color:var(--primary);opacity:.9}
.hz-ds{padding:0 16px}
.hz-dish{padding:16px 0;border-bottom:1px solid var(--border)}.hz-dish:last-child{border-bottom:0}
.hz-dish.gone{display:none}
.hz-dr{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.hz-dn{font:600 16px/1.35 'DM Sans',sans-serif;letter-spacing:-.01em;min-width:0}.hz-dp{flex:none;font:600 16px/1.35 'DM Sans',sans-serif;font-variant-numeric:tabular-nums;padding-top:1px}
.hz-dd{margin-top:8px;font-size:14px;line-height:1.5;color:var(--text-secondary)}
.hz-dm{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:8px;min-height:32px}
.hz-als{display:flex;flex-wrap:wrap;gap:8px}
.hz-al{width:24px;height:24px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;flex:none}
.hz-fab{position:absolute;bottom:72px;z-index:40;height:56px;border-radius:999px;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(122,13,37,.35)}
.hz-ofab{left:50%;transform:translateX(-50%);gap:8px;padding:0 24px;font-size:16px;font-weight:600;letter-spacing:-.01em;white-space:nowrap}
.hz-ffab{right:20px;width:56px;transition:background .2s,color .2s,box-shadow .2s}
.hz-ffab .x{display:none}.hz-ph.f-open .hz-ffab{z-index:55;background:#fff;color:var(--text);box-shadow:var(--sh-over)}.hz-ph.f-open .hz-ffab .x{display:block}.hz-ph.f-open .hz-ffab .sl{display:none}
.hz-ofab.hv,.hz-ffab.hv{background:var(--primary-dark)}.hz-ph.f-open .hz-ffab.hv{background:var(--background)}
.hz-bd{position:absolute;inset:0;z-index:45;background:rgba(24,24,24,.32);opacity:0;pointer-events:none;transition:opacity .25s}
.hz-sheetf{position:absolute;left:20px;right:20px;bottom:140px;z-index:50;padding:16px;border:1px solid var(--border);border-radius:16px;background:#fff;box-shadow:var(--sh-over);opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .25s,transform .25s}
.hz-ph.f-open .hz-bd{opacity:1}.hz-ph.f-open .hz-sheetf{opacity:1;transform:none}
.hz-sheetf h2{font:700 21px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;margin-bottom:16px;color:var(--text)}
.hz-chips{display:flex;flex-wrap:wrap;gap:8px}
.hz-chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 16px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);font-size:14px;font-weight:500;line-height:1;transition:background .18s,color .18s,border-color .18s}
.hz-chip.hv{border-color:rgba(24,24,24,.2)}
.hz-chip.on{background:var(--csb);border-color:rgba(24,24,24,.18);color:var(--csf)}
.hz-clear{margin-top:16px;display:flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border:1px solid rgba(24,24,24,.1);border-radius:8px;background:var(--csb);color:var(--csf);font-size:15px;font-weight:600;opacity:.48;transition:opacity .2s}
.hz-ph.has-f .hz-clear{opacity:1}
/* ofertas del día */
.hz-oh{position:absolute;left:0;right:0;top:0;z-index:20;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:12px 20px;background:var(--background);border-bottom:1px solid var(--border)}
.hz-oh .c{text-align:center;min-width:0}.hz-oh h1{font:700 22px/1.2 'Fraunces',Georgia,serif;letter-spacing:-.02em;color:var(--text)}.hz-oh p{margin-top:4px;font-size:14px;line-height:1.35;color:var(--text-secondary)}
.hz-ob{position:absolute;left:0;right:0;top:75px;bottom:0;overflow:hidden;padding:16px 20px}
/* tema propio de una carta (Colten) */
.hz-ph.hz-colten{--primary:#e85a24;--primary-dark:#c94818;--background:#f5f5f5;--surface:#e8e8e8;--text:#161616;--text-secondary:#5c5c5c;--border:#d0d0d0;--icon-muted:#6a6a6a;--sh-search:none;--sh-over:0 2px 8px rgba(0,0,0,.18)}
.hz-colten .hz-mh{background:#111;border-bottom:0;box-shadow:0 1px 0 rgba(255,255,255,.06)}
.hz-colten .hz-mt{padding-bottom:8px}.hz-colten .hz-ib{background:#2a2a2a;color:#fff;box-shadow:none}
.hz-colten .hz-mt h2 img{height:40px;width:auto;margin:auto;display:block}
.hz-colten .hz-tabs{padding:8px 0 16px}.hz-colten .hz-tab{border-color:#3a3a3a;background:#1c1c1c;color:#bdbdbd;font-weight:600;font-size:13px;letter-spacing:.01em;border-radius:4px}
.hz-colten .hz-tab.on{border-color:var(--primary);background:var(--primary);color:#fff}
.hz-colten .hz-mbody{top:128px;background:var(--background)}
.hz-colten .hz-mc{padding-top:24px}
.hz-colten .hz-grp{border:0;border-radius:10px;padding:16px;box-shadow:none}
.hz-colten .hz-gt{padding:0 0 12px;border:0;color:var(--primary);font:700 20px/1.2 'DM Sans',sans-serif;letter-spacing:-.01em}.hz-colten .hz-gt span{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.hz-colten .hz-ds{padding:0}.hz-colten .hz-dish{border-bottom:1px dotted #c4c4c4}.hz-colten .hz-dish:last-child{border-bottom:0}
.hz-ptg{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--text-secondary);display:grid;place-items:center;flex:none;transition:background .2s,color .2s}
.hz-ptg .off,.hz-dish.open .hz-ptg .on{display:none}.hz-dish.open .hz-ptg .off{display:block}
.hz-dish.open .hz-ptg{background:rgba(22,22,22,.04);color:var(--text)}
.hz-str{width:32px;height:32px;border-radius:50%;border:1px solid #d97706;background:#fbbf24;color:#92400e;display:grid;place-items:center;flex:none;box-shadow:0 1px 3px rgba(69,26,3,.18)}.hz-str svg{fill:#92400e;stroke:none}
.hz-pa{display:flex;align-items:center;gap:8px;margin-left:auto}
.hz-ph-x{position:relative;margin-top:12px;border-radius:12px;overflow:hidden;background:var(--border);height:0;transition:height .55s cubic-bezier(.65,0,.25,1)}
.hz-dish.open .hz-ph-x{height:var(--phh,190px)}.hz-ph-x img{width:100%;height:100%;object-fit:cover}
.hz-rec{position:absolute;left:8px;bottom:8px;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #d97706;border-radius:999px;background:#fbbf24;box-shadow:0 2px 8px rgba(69,26,3,.2);color:#451a03;font-size:12px;font-weight:700;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}.hz-rec svg{fill:#92400e;stroke:none}
.hz-rv{position:absolute;left:20px;bottom:72px;z-index:40;width:56px;height:56px;border-radius:50%;background:#111;border:1px solid #2a2a2a;color:#f5a623;display:grid;place-items:center;box-shadow:0 2px 10px rgba(0,0,0,.2)}.hz-rv svg{fill:currentColor}
.hz-ph ul,.hz-ph dl{margin:0;padding:0;list-style:none}
.hz-mc{position:relative;transition:transform 1s cubic-bezier(.65,0,.25,1)}
.hz-ph a{color:inherit}

.vt.hzsq .ss-stage{aspect-ratio:16/15}
.ss-stage,.vt-body{border:1px solid var(--color-steel-400)}
