/* Port del CSS de wearecollins.com (entry + crítico inline), mismos tokens y selectores. Fuentes sustitutas: Instrument Serif / Inter. */
:root{
  --view-transition-easing:cubic-bezier(.5,.3,0,1);
  --ease-out-expo:cubic-bezier(.19,1,.22,1);--ease-out-cubic:cubic-bezier(.215,.61,.355,1);--ease-in-out-sine:cubic-bezier(.445,.05,.55,.95);--ease-in-out-cubic:cubic-bezier(.645,.045,.355,1);
  --color-black:#000;--color-white:#fff;--color-off-white:#f8f8f7;--color-off-black:#140700;--color-mid-white:#d0d0c8;--color-mid-black:#5e5855;
  --color-grey-10:#1d1d1d;--color-grey-30:#4c4c4c;--color-grey-60:#7a7a7a;--color-grey-80:#ccc;--color-grey-97:#f7f7f7;
  --color-html:#f8f8f7;--color-background:var(--color-off-white);--color-mid:var(--color-mid-black);--color-foreground:var(--color-off-black);
  --color-button-background:var(--color-black);--color-button-foreground:var(--color-white);
  --border-radius:1rem;--shadow-sm:0px 21px 13px 0px rgba(0,0,0,.06),0px 9px 9px 0px rgba(0,0,0,.1),0px 2px 5px 0px rgba(0,0,0,.11);
  --section-padding:3rem;--section-gap:1.5rem;--gutter-width:1rem;--columns:4;--grid-padding-min:1.5rem;
  --grid-padding:max(var(--grid-padding-min),calc((100vw - var(--max-width))/2));
  --column-width:((100vw - (var(--grid-padding) * 2) - (var(--gutter-width) * (var(--columns) - 1)))/var(--columns));
  --max-width:768px;
  --font-family-primary:"Instrument Serif",serif;--font-family-secondary:"Inter",sans-serif;
  --font-size-xl:3rem;--font-size-primary:1.8125rem;--font-size-title-lg:1.5rem;--font-size-title-sm:1.12rem;--font-size-paragraph:1.12rem;--font-size-eyebrow:1rem;--font-size-cta:.875rem;--font-size-meta:.75rem;
  --line-height-xl:1;--line-height-primary:1.05;--line-height-title-lg:1.05;--line-height-title-sm:1.2;--line-height-paragraph:1.35;--line-height-eyebrow:1.3;--line-height-cta:1;--line-height-meta:1;
  --letter-spacing-xl:-.02em;--letter-spacing-primary:-.02em;--letter-spacing-title-lg:0;--letter-spacing-eyebrow:-.01rem;--letter-spacing-cta:-.01rem;--letter-spacing-meta:-.04rem;
  --cian:#1a9cc2;
}
@media (width >= 768px){:root{--section-padding:4rem;--section-gap:3rem;--columns:8;--grid-padding-min:1rem;--max-width:960px;--font-size-xl:3.625rem;--font-size-primary:2rem;--font-size-title-lg:1.625rem}}
@media (width >= 960px){:root{--section-padding:5rem;--columns:10;--max-width:1244px;--font-size-xl:4.5rem;--font-size-primary:2.25rem;--font-size-title-lg:1.75rem}}

[theme=light]{--color-background:var(--color-off-white);--color-mid:var(--color-mid-black);--color-foreground:var(--color-off-black);--color-button-background:var(--color-black);--color-button-foreground:var(--color-white);background-color:var(--color-background);color:var(--color-foreground)}
[theme=dark]{--color-background:var(--color-off-black);--color-mid:var(--color-mid-white);--color-foreground:var(--color-white);--color-button-background:var(--color-white);--color-button-foreground:var(--color-black);background-color:var(--color-background);color:var(--color-foreground)}

*,*:before,*:after{box-sizing:border-box}
html{background-color:var(--color-html);color:var(--color-foreground);font-family:var(--font-family-secondary),sans-serif;font-weight:400;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;transition:background-color .6s var(--ease-in-out-sine),color .6s var(--ease-in-out-sine)}
body{margin:0;min-height:100dvh;position:relative}
h1,h2,h3,h4,h5,h6,p{margin:0}
h1,h2,h3,h4{text-wrap:balance}
li,p{text-wrap:pretty}
ul{list-style:none;margin:0;padding:0}
img{display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
.root{background-color:var(--color-background);top:0;transition:background-color .6s var(--ease-in-out-sine),color .6s var(--ease-in-out-sine)}
.index-page{min-height:100vh}
.nuxt-icon{display:inline-block;line-height:0}
.nuxt-icon svg{width:1em;height:1em;display:block}
.pend{color:var(--cian)!important}
.ribbon{position:fixed;left:0;right:0;bottom:0;z-index:8;background:var(--cian);color:#fff;font-size:12px;padding:5px var(--grid-padding);text-align:center;margin:0}
body:has(.ribbon) footer .credit{padding-bottom:4rem}

/* ===== header ===== */
.app-header{color:var(--color-foreground);pointer-events:none;position:fixed;top:0;transform:translateY(0);transition:.45s transform var(--ease-out-cubic);width:100%;z-index:9}
.app-header:before{background-color:var(--color-background);content:"";top:0;right:0;bottom:0;left:0;position:absolute;transition:opacity .4s var(--ease-in-out-sine);transition-delay:.2s}
.app-header.header--at-top:before{opacity:0;transition-delay:0s}
.app-header.header--hidden{transform:translateY(-100%)}
.app-header .header{align-items:center;display:grid;grid-template-areas:". logo menu";grid-template-columns:1fr 1fr 1fr;padding:max(1.25rem,calc(.75rem + env(safe-area-inset-top))) var(--grid-padding) 1.25rem;position:relative;z-index:1}
@media (width >= 768px){.app-header .header{grid-template-areas:"logo . menu";grid-template-columns:repeat(3,1fr);padding:max(1.25rem,calc(.75rem + env(safe-area-inset-top))) 2.5rem 1.25rem}}
.app-header a,.app-header button{color:inherit;pointer-events:auto}
.app-header .logo{grid-area:logo;width:fit-content;font-weight:600;letter-spacing:.14em;font-size:1.05rem;line-height:1}
@media (width < 768px){.app-header .logo{justify-self:center}}
.app-header .menu-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;grid-area:menu;justify-content:center;justify-self:end;position:relative;padding:0}
.app-header .menu-btn:before{content:"";height:48px;position:absolute;width:48px}
.app-header .menu-btn svg{height:1rem;width:1rem;fill:currentColor;overflow:visible;transition:.45s transform var(--ease-in-out-cubic)}
.app-header .menu-btn svg rect{transform-origin:center center;transition:.45s transform var(--ease-in-out-cubic)}
.app-header .menu-btn svg[state=cross]{transform:rotate(180deg)}
.app-header .menu-btn svg[state=cross] rect:first-child{transform:rotate(45deg) translateY(25%)}
.app-header .menu-btn svg[state=cross] rect:nth-child(2){transform:rotate(-45deg) translateY(-25%)}
.menu{position:fixed;inset:0;z-index:8;overflow:auto}
.menu[hidden]{display:none}
.menu .grid{transform:scale(1);transition:transform .8s var(--ease-out-expo)}
.menu.menu-enter-from .grid{transform:scale(.9)}
html.menu-open .app-header{color:var(--color-white)}

/* ===== head ===== */
.head{align-items:center;display:grid;gap:2rem;grid-template-columns:100%;grid-template-rows:1fr 1fr 1fr;justify-content:center;min-height:90svh;padding:0 var(--grid-padding);text-align:center}
@media (width >= 768px){.head{gap:4rem}}
.head .laurels,.head__title{grid-column:1/2;transition:1s opacity ease,2s transform var(--ease-out-expo)}
.head__title{font:400 var(--font-size-xl)/var(--line-height-xl) var(--font-family-primary);font-feature-settings:"kern" on,"liga" on;grid-row:2/3;letter-spacing:var(--letter-spacing-xl);margin-block:-.175em;max-width:16ch;justify-self:center}
@media (width < 768px){.head__title{font-size:2.3rem}}
.head .laurels{grid-row:3/4}
.laurels{align-items:center;display:flex;flex-direction:column;font:400 var(--font-size-meta)/var(--line-height-meta) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;gap:1.5rem;letter-spacing:var(--letter-spacing-meta);margin:0 auto;max-width:500px;position:relative;width:100%}
.laurels__title{color:var(--color-mid)}
.laurels .grid{display:flex;flex-direction:row;flex-wrap:wrap;gap:.8rem;justify-content:center;max-width:600px;width:100%}
.award{align-items:center;display:flex;gap:.25rem}
.laurel{display:block;font-size:1.5em}
.laurel svg{width:.75em;height:1.1em}
.laurel--right{transform:scaleX(-1)}
.head--page{min-height:0;grid-template-rows:auto auto;padding-top:calc(6rem + var(--section-padding));padding-bottom:3rem;gap:1.5rem;text-align:left;justify-content:start;justify-items:start}
.head--page hgroup :where(h1,p){max-width:none}
.head--page .lead{color:var(--color-mid);font:400 var(--font-size-paragraph)/var(--line-height-paragraph) var(--font-family-secondary);max-width:48ch}

/* ===== reel (caja de video) ===== */
.reel{column-gap:var(--gutter-width);display:grid;grid-template-columns:repeat(var(--columns),1fr);grid-template-rows:auto;margin-bottom:calc(20vh + var(--section-padding));padding-left:var(--grid-padding);padding-right:var(--grid-padding);position:relative;transform-origin:top center}
@media (width >= 768px){.reel{margin-bottom:calc(10vh + var(--section-padding))}}
.reel .preview-wrapper{background-color:var(--color-grey-80);border-radius:1rem;clip-path:xywh(10% 0 80% 85% round 1rem);cursor:pointer;grid-column:1/span var(--columns);position:relative;width:100%;transition:2s clip-path var(--ease-out-expo) .2s}
.reel .preview-wrapper.in-view{clip-path:xywh(0 0 100% 100% round 1rem)}
@media (width < 768px){.reel .preview-wrapper{aspect-ratio:9/16}}
.reel--still{margin-bottom:var(--section-padding)}
.wrapper{border-radius:inherit;height:100%;overflow:clip;place-content:center;position:relative;vertical-align:bottom;width:100%}
.wrapper img{border-radius:inherit;height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;overflow:clip;position:absolute;width:100%}
.wrapper .slide{opacity:0;animation:slide 24s infinite}
.wrapper .slide:nth-child(2){animation-delay:6s}.wrapper .slide:nth-child(3){animation-delay:12s}.wrapper .slide:nth-child(4){animation-delay:18s}
@keyframes slide{0%{opacity:0;transform:scale(1.12)}6%{opacity:1}28%{opacity:1}36%{opacity:0;transform:scale(1.2)}100%{opacity:0}}
@media (prefers-reduced-motion:reduce){.wrapper .slide{animation:none;transform:scale(1.12)}.wrapper .slide:first-child{opacity:1}}
.pend-tag{position:absolute;left:1rem;bottom:1rem;font:400 var(--font-size-meta)/1 var(--font-family-secondary);color:#fff;background:var(--cian);padding:.4rem .6rem;border-radius:999px;z-index:1}

/* ===== section-head / hgroup / button ===== */
.section-head{display:flex;flex-direction:column;gap:2rem;text-wrap:pretty}
hgroup{display:flex;flex-direction:column;gap:1.25rem}
@media (width >= 768px){hgroup{gap:1.75rem}}
hgroup :where(h1,h2,p){max-width:500px;text-wrap:balance}
hgroup .primary,hgroup p{color:var(--color-mid);font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;letter-spacing:var(--letter-spacing-eyebrow)}
hgroup .primary+p{color:var(--color-foreground);font:400 var(--font-size-primary)/var(--line-height-primary) var(--font-family-primary);font-feature-settings:"kern" on,"liga" on;letter-spacing:var(--letter-spacing-primary);margin-block:-.175em}
.head--page hgroup .primary+p{font-size:var(--font-size-xl);line-height:var(--line-height-xl);letter-spacing:var(--letter-spacing-xl)}
.button{align-items:center;background:var(--color-background);border:1px solid var(--color-foreground);border-radius:6rem;color:var(--color-foreground);cursor:pointer;display:flex;font:400 var(--font-size-cta)/var(--line-height-cta) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;gap:.75rem;height:2.8125rem;justify-content:center;letter-spacing:var(--letter-spacing-cta);outline:none;padding:0 1.5rem;position:relative;transition:.8s transform var(--ease-out-expo);width:fit-content}
.button--solid{background:var(--color-foreground);border-color:transparent;color:var(--color-background)}
.button--solid:before{border-radius:inherit;box-shadow:var(--shadow-sm);content:"";inset:0;opacity:0;position:absolute;transition:.8s opacity var(--ease-out-expo)}
.button--solid:hover:before{opacity:1}
.button--translucent{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:color-mix(in oklab,var(--color-white),transparent 60%);border-color:transparent;color:var(--color-white)}
.button:active{transform:scale(.98)}
.button:focus-visible{outline:2px solid var(--cian);outline-offset:3px}

/* ===== programs (servicios) ===== */
.programs{display:flex;flex-direction:column;padding:6rem var(--grid-padding);row-gap:4rem}
.programs-list{display:flex;flex-direction:column;gap:1.5rem}
ul .program:not(:last-of-type):after,ul.underline-last-child .program:after{background-color:color-mix(in srgb,var(--color-foreground),transparent 80%);bottom:0;content:"";height:1px;left:0;pointer-events:none;position:absolute;width:100%}
.program{position:relative;transition:.25s opacity var(--ease-out-cubic);width:100%}
.program:before{background-color:var(--color-foreground);border-radius:var(--border-radius);content:"";height:100%;left:-.5rem;opacity:0;position:absolute;right:-.5rem;top:0;transform:scaleX(1.01);transition:all .5s ease}
.program a{align-items:center;display:grid;gap:.5rem;padding:1.5rem 0 .25rem;position:relative;width:100%}
@media (width >= 768px){.program a{gap:var(--gutter-width);grid-template-columns:1fr 1fr;padding:1.75rem 0 .25rem}}
@media (width >= 960px){.program a{gap:var(--gutter-width);grid-template-columns:3fr 3fr 2fr;padding:2rem 0}}
.program__title{font:400 var(--font-size-title-lg)/var(--line-height-title-lg) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;letter-spacing:var(--letter-spacing-title-lg);transition:.25s all var(--ease-out-cubic)}
.program__excerpt{color:var(--color-mid);font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;letter-spacing:var(--letter-spacing-eyebrow);transition:.25s color var(--ease-out-cubic)}
.program__arrow{color:transparent;justify-self:end;transition:.5s all var(--ease-out-cubic);font-size:1rem}
.program:has(a:hover) .program__title,.program:has(a:focus-visible) .program__title{transform:translate(1rem);color:var(--color-background)}
.program:has(a:hover) .program__excerpt,.program:has(a:focus-visible) .program__excerpt{color:var(--color-mid-white)}
.program:has(a:hover) .program__arrow,.program:has(a:focus-visible) .program__arrow{color:var(--color-background);transform:translate(-1rem)}
.program:has(a:hover):before,.program:has(a:focus-visible):before{opacity:1;transform:scale(1)}
.program--pend:after{background-color:var(--cian)!important}
.all-programs{align-items:center;display:flex;font:400 var(--font-size-cta)/var(--line-height-cta) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;gap:.5rem;letter-spacing:var(--letter-spacing-cta)}
.all-programs .arrow{font-size:1rem}

/* ===== case studies (proyectos) ===== */
.case-studies{column-gap:var(--gutter-width);display:grid;grid-template-columns:repeat(var(--columns),1fr);grid-template-rows:auto;padding:7.5rem 0 var(--section-padding) 0;row-gap:4rem}
.case-studies>*{grid-column:span var(--columns)}
.case-studies .section-head{padding-inline:var(--grid-padding)}
.carousel-root{scroll-snap-stop:always;scroll-snap-type:x mandatory;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
.carousel-root::-webkit-scrollbar{display:none}
.carousel-root>*{scroll-snap-align:center;vertical-align:top;white-space:normal}
.case-studies .shelf{align-items:end;display:grid;gap:1rem;grid-auto-columns:min-content;grid-auto-flow:column;margin:-2rem auto;max-width:100vw;padding:2rem var(--grid-padding);perspective:1000px;scroll-padding:0 var(--grid-padding);width:fit-content}
.case-studies .shelf:not(.in-view) .case-study-card .card__inner{clip-path:xywh(0 100% 100% 100% round var(--border-radius));opacity:0;transform:rotateX(50deg)}
.case-studies .shelf .case-study-card{--cw:((min(65vw,var(--max-width)) - (var(--gutter-width) * (var(--columns) - 1)))/var(--columns));width:calc(var(--cw)*4 + var(--gutter-width)*3)}
@media (width >= 768px){.case-studies .shelf .case-study-card{--cw:((var(--max-width) - (var(--gutter-width) * (var(--columns) - 1)))/var(--columns));width:calc(var(--cw)*3 + var(--gutter-width)*2)}}
.card{max-width:500px;perspective:1500px}
@media (width < 768px){.card{aspect-ratio:.8!important}}
@media (width >= 768px){.card{aspect-ratio:var(--aspect-ratio)}}
.card__inner{border-radius:var(--border-radius);position:relative;transform-origin:bottom;transition:.8s clip-path var(--ease-out-expo) calc(var(--index)*.08s),.8s transform var(--ease-out-expo) calc(var(--index)*.08s),.25s opacity var(--ease-in-out-sine) calc(var(--index)*.08s);will-change:transform;height:100%;overflow:hidden;background:#000}
.card:hover .card__inner{transform:rotateX(-10deg)}
.card .card__cover{border-radius:inherit;object-fit:cover;width:100%;height:100%}
.card a.card{align-items:end;display:flex;inset:0;justify-content:center;position:absolute;max-width:none;aspect-ratio:auto!important}
.card a span{opacity:0}
.card__label{position:absolute;inset:auto 0 0 0;padding:3rem 1rem 1.25rem;text-align:center;color:#fff;font:400 clamp(1.6rem,2.2vw,2.4rem)/1 var(--font-family-primary);letter-spacing:var(--letter-spacing-primary);background:linear-gradient(transparent,rgba(0,0,0,.5));pointer-events:none}

/* ===== arts-culture (nosotros) ===== */
.arts-culture{clip-path:xywh(var(--grid-padding) 0 calc(100% - var(--grid-padding)*2) 72% round 24px);display:grid;height:100vh;margin-top:var(--section-padding);width:100vw;margin-bottom:-28vh}
.arts-culture .stories{grid-area:1/1}
.arts-culture .section-head{align-self:center;grid-area:1/1;padding:0 var(--grid-padding);pointer-events:none;position:relative;z-index:1;color:var(--color-white)}
.arts-culture .section-head hgroup .primary{color:var(--color-white)}
.arts-culture .section-head hgroup .primary+p{color:var(--color-white)}
.arts-culture .section-head a{pointer-events:auto}
.arts-culture .section-head .button--solid{background:var(--color-white);color:var(--color-black)}
.stories{display:grid}
.stories,.stories .images{height:100%;position:relative;transform-origin:center top;width:100%}
.stories .images{border-radius:inherit;contain:paint;grid-area:1/1;will-change:transform}
.stories__bg-img{height:100%;left:0;object-fit:cover;position:absolute;top:0;transform-origin:center top;transition:.5s opacity var(--ease-in-out-sine),1s transform var(--ease-out-expo),.5s visibility;width:100%}
.stories__bg-img:not([active=true]){opacity:0;transform:scale(1.1);transition:.5s opacity var(--ease-in-out-sine),.5s transform var(--ease-in-out-sine) .5s,.5s visibility;visibility:hidden}
.stories .images:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,rgba(20,7,0,.45))}
.stories .shell{align-items:end;align-self:end;display:flex;grid-area:1/1;justify-content:space-between;padding:1rem;pointer-events:none;position:relative;width:100%}
.arts-culture:not(.arts-culture--page) .stories .shell{margin-bottom:28vh}
@media (width >= 768px){.stories .shell{padding:2rem}}
.stories.inset .shell{padding-inline:var(--grid-padding)}
@media (width < 768px){.stories.inset .shell{align-items:start;flex-direction:column;height:100%}}
.stories .links{display:grid;max-width:calc(100vw - var(--grid-padding)*2 - 2rem);width:100%}
@media (width >= 768px){.stories .links{max-width:calc(100vw - var(--grid-padding)*2 - 4rem);place-items:end}}
.stories .links .button{max-width:100%;overflow:hidden;width:fit-content}
.stories .links .button span{display:block;line-height:1.2;max-width:100%;overflow:hidden;padding:1px 0;text-overflow:ellipsis}
.stories .story-link{align-items:center;display:flex;font:400 var(--font-size-cta)/var(--line-height-cta) var(--font-family-secondary);grid-area:1/1;justify-content:end;letter-spacing:var(--letter-spacing-cta);pointer-events:auto;position:relative;text-align:right;transition:.8s transform var(--ease-out-expo),.5s opacity var(--ease-in-out-sine),.5s visibility;white-space:nowrap;width:max-content}
.stories .story-link .arrow{font-size:1rem}
.stories .story-link:not([active=true]){opacity:0;visibility:hidden}
.stories .nav{display:flex;gap:.5rem;height:fit-content;width:100%}
@media (width >= 768px){.stories .nav{gap:1rem}}
.stories .nav .progress{backdrop-filter:blur(2px);background:color-mix(in oklab,var(--color-grey-97),transparent 50%);border-radius:4px;flex:1;height:5px;overflow:clip;pointer-events:auto;width:100%}
@media (width >= 768px){.stories .nav .progress{height:3px;max-width:4rem}}
.stories .nav .progress .inner{background-color:#fff;height:100%;width:100%;--p:calc(var(--progress)*100%);clip-path:xywh(0 0 var(--p) 100% round 4px);transition:clip-path .1s linear}
.stories .controls{display:flex;grid-area:1/1;height:100%;position:relative;width:100%}
.arts-culture:not(.arts-culture--page) .stories .controls{margin-bottom:28vh}
.stories .controls button{cursor:pointer;flex:1;height:100%;opacity:0;width:100%;border:0;background:none}
.stories .controls button:nth-child(2){flex:2}

/* ===== footer / menú (.grid compartido) ===== */
footer{overflow:hidden;width:100%}
footer .credit{color:var(--color-mid);font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);letter-spacing:var(--letter-spacing-eyebrow);margin:-5rem 0 0;padding:0 var(--grid-padding) 2rem;text-align:center}
footer .credit a{color:inherit;text-decoration:underline;text-underline-offset:.2em;transition:.25s color var(--ease-in-out-sine)}
footer .credit a:hover{color:var(--color-foreground)}
footer .grid,.menu .grid{column-gap:var(--gutter-width);display:grid;grid-template-areas:"nav nav" "newsletter newsletter" "links socials";grid-template-columns:1fr 1fr;grid-template-rows:auto;min-height:100dvh;padding:8rem var(--grid-padding);place-content:center;row-gap:3.75rem;width:100%}
@media (width >= 768px){footer .grid,.menu .grid{grid-template-areas:"nav nav nav" "newsletter . socials";grid-template-columns:1fr auto 1fr;grid-template-rows:1fr min-content;padding:8rem calc(var(--grid-padding) + var(--column-width)*.5);row-gap:10rem}}
@media (width >= 960px){footer .grid,.menu .grid{padding:8rem calc(var(--grid-padding) + var(--column-width) + var(--gutter-width))}}
.grid a,.grid button{width:fit-content}
.grid .nav{align-self:center;gap:3.5rem;grid-area:nav}
.grid .nav,.grid .nav nav{align-items:center;display:flex;flex-direction:column}
.grid .nav nav{font:400 var(--font-size-xl)/var(--line-height-xl) var(--font-family-primary);font-feature-settings:"kern" on,"liga" on;gap:1rem;letter-spacing:var(--letter-spacing-xl);margin-block:-.175em;text-align:center}
.grid .nav nav a:hover{font-style:italic}
.grid .links{grid-area:links}
.grid .links,.grid .socials{color:var(--color-mid);display:flex;font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);font-feature-settings:"kern" on,"liga" on;gap:.5rem 2rem;letter-spacing:var(--letter-spacing-eyebrow);transition:.25s color var(--ease-in-out-sine)}
@media (width < 768px){.grid .links,.grid .socials{flex-direction:column;margin:0 auto}.desktop-only{display:none!important}}
@media (width >= 768px){.grid .links,.grid .socials{align-items:center}.mobile-only{display:none!important}}
.grid .socials{grid-area:socials;justify-self:end}
.grid .links a:hover,.grid .socials a:hover{color:var(--color-foreground)}
.linkBtn{background:none;border:0;cursor:pointer;position:relative;padding:0;color:var(--color-foreground);font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);letter-spacing:var(--letter-spacing-eyebrow)}
/* botón "Trabajemos juntos" con estados cta/email/success */
.head__btn{background:var(--color-button-background);color:var(--color-button-foreground);border-color:transparent;padding:0;--padding:1.5rem;--appear:.4s opacity var(--ease-in-out-sine) .1s,.6s grid-template-columns var(--ease-out-expo),0s visibility;--hide:.2s opacity var(--ease-in-out-sine),.6s grid-template-columns var(--ease-out-expo),0s visibility .2s}
.head__btn .p{display:grid;grid-area:1/1;grid-template-columns:1px .6fr 1px}
.head__btn .p>*{align-items:center;display:flex;grid-area:1/2/2/3;justify-content:center;overflow:hidden;padding:0 var(--padding)}
.head__btn .cta,.head__btn .email,.head__btn .success{opacity:0;text-wrap:nowrap;transition:var(--hide);visibility:hidden}
.head__btn .cta{grid-template-columns:1px 1fr 1px;opacity:1;transition:var(--appear);visibility:visible}
.head__btn:hover:not([status=success]) .cta,.head__btn:focus-visible:not([status=success]) .cta{grid-template-columns:1px .6fr 1px;opacity:0;transition:var(--hide);visibility:hidden}
.head__btn:hover:not([status=success]) .email,.head__btn:focus-visible:not([status=success]) .email{grid-template-columns:1px 1fr 1px;opacity:1;transition:var(--appear);visibility:visible}
.head__btn[status=success] .cta,.head__btn[status=success] .email{grid-template-columns:1px .6fr 1px;opacity:0;visibility:hidden}
.head__btn[status=success] .success{grid-template-columns:1px 1fr 1px;opacity:1;transition:var(--appear);visibility:visible}
.newsletter{align-self:center;grid-area:newsletter;max-width:300px;position:relative;width:100%}
@media (width < 768px){.newsletter{align-items:center;display:flex;flex-direction:column;margin:0 auto}}
.newsletter label{display:block;color:var(--color-foreground);font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);margin-bottom:1rem}
.input-group{display:flex;gap:.5rem;height:2.75rem;width:100%}
.input-field{align-items:center;background:var(--color-background);border:1px solid #514c49;border-radius:10rem;color:var(--color-mid);display:flex;flex:1;gap:.75rem;padding:0 1rem}
.input-field .nuxt-icon{font-size:1.1rem}
.input-field input{border:0;background:none;color:var(--color-foreground);font:400 var(--font-size-eyebrow)/1 var(--font-family-secondary);width:100%;outline:none}
.input-field input::placeholder{color:var(--color-mid)}
.input-group .button{height:2.75rem;width:2.75rem;padding:0;transition:.3s opacity var(--ease-in-out-sine),.3s transform var(--ease-out-cubic)}
.input-field:has(input:placeholder-shown)+button{opacity:0;transform:scale(.8)}

/* ===== páginas internas ===== */
.prose{max-width:768px;margin:0 auto;padding:var(--section-padding) var(--grid-padding) 0;font:400 var(--font-size-paragraph)/1.5 var(--font-family-secondary)}
.prose p{margin-bottom:1.2em}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter-width)}
@media (width < 768px){.gallery{grid-template-columns:1fr 1fr}}
.ph{display:block;aspect-ratio:1;border-radius:var(--border-radius);overflow:hidden;background:#000}
.ph img{width:100%;height:100%;object-fit:cover}
.pend-box{display:grid;place-items:center;border:1.5px dashed var(--cian);color:var(--cian);font:400 var(--font-size-cta)/1.3 var(--font-family-secondary);text-align:center;padding:1rem;background:transparent}

/* lightbox */
.lb{position:fixed;inset:0;background:rgba(20,7,0,.96);display:grid;place-items:center;z-index:30;padding:24px}
.lb[hidden]{display:none}
.lb img{max-width:min(96vw,1200px);max-height:90vh;object-fit:contain;border-radius:var(--border-radius)}
.lb-x{position:absolute;top:14px;right:18px;background:none;border:0;color:#fff;font-size:40px;cursor:pointer}

/* anclas por obra bajo el header fijo */
.program[id]{scroll-margin-top:7rem}

/* ===== logo CYAN (wordmark rojo, geométrico — sustituto Jost 700 hasta recibir el vector original) ===== */
.logo{line-height:0}
.logo__svg{width:136px;height:136px;display:block}
@media (width < 768px){.logo__svg{width:84px;height:84px}}

/* ===== menú: nav + obras (variante .grid con áreas nav/explore) ===== */
@media (width >= 768px){.menu .grid--menu{grid-template-areas:"nav explore" "newsletter socials";grid-template-columns:repeat(2,1fr);grid-template-rows:1fr min-content;padding:4rem calc(var(--grid-padding) + var(--column-width)*.5);row-gap:10rem;align-items:center}}
@media (width >= 960px){.menu .grid--menu{padding:4rem calc(var(--grid-padding) + var(--column-width) + var(--gutter-width))}}
@media (width < 768px){.menu .grid--menu{grid-template-areas:"nav nav" "news news";align-content:center}}
.grid--menu .nav{align-items:start;align-self:center}
.grid--menu .nav nav{align-items:start;text-align:left}
.grid--menu .links{padding-top:1.5rem;color:var(--color-grey-80);white-space:nowrap}
.news{grid-area:explore;display:flex;flex-direction:column;gap:1.5rem;max-width:360px;justify-self:center;width:100%}
@media (width < 768px){.news{grid-area:news;justify-self:stretch}}
.news .card{align-items:center;display:grid;gap:1rem;grid-template-columns:1fr 2fr;padding:0 .5rem 0 0;position:relative;width:100%;max-width:none;aspect-ratio:auto;perspective:none}
.news .card:before{background-color:var(--color-grey-10);border-radius:1rem;clip-path:xywh(.5rem .5rem calc(100% - 1rem) calc(100% - 1rem) round .5rem);content:"";inset:-.5rem;opacity:0;position:absolute;transition:.4s opacity var(--ease-out-cubic),.8s clip-path var(--ease-out-expo);z-index:-1}
.news .card:hover:before,.news .card:focus-visible:before{clip-path:xywh(0 0 100% 100% round 1rem);opacity:1}
.news .card .img{aspect-ratio:1/1;background-color:var(--color-mid);border-radius:.5rem;width:100%;display:block;overflow:hidden}
.news .card .img img{width:100%;height:100%;object-fit:cover}
.news .card div{display:flex;flex-direction:column;gap:.5rem}
.news .card div small{align-items:center;display:flex;font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);justify-content:space-between;letter-spacing:var(--letter-spacing-eyebrow);color:var(--color-mid)}
.news .card div h3{font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);letter-spacing:var(--letter-spacing-eyebrow)}
.news .card .arrow--forward{position:absolute;right:.5rem;top:.6rem;font-size:1rem}

.grid .links>*{flex-shrink:0}
.grid--menu .links{flex-wrap:wrap;row-gap:1rem}

.head__btn{display:grid;grid-template-columns:1fr;justify-items:stretch}

/* ===== página Nosotros (estilo /arts-culture): hero stories completo + introducción + grilla ===== */
.arts-culture--page{clip-path:none;margin:0;height:100svh;margin-bottom:0;width:100%}
.arts-culture--page .stories .shell,.arts-culture--page .stories .controls{margin-bottom:0}
.arts-culture--page .section-head{align-self:end;padding-bottom:7rem}
.arts-culture--page .section-head hgroup .primary+p{font-size:var(--font-size-xl);line-height:var(--line-height-xl);letter-spacing:var(--letter-spacing-xl);max-width:14ch}
.arts-culture--page .stories .shell{z-index:2}
.intro .prose--left{max-width:500px;margin:0;padding:0;color:var(--color-mid)}
.collab{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gutter-width) var(--gutter-width);row-gap:2.5rem}
@media (width < 768px){.collab{grid-template-columns:1fr 1fr}}
.collab__card{display:grid;gap:.6rem}
.collab__img{display:block;aspect-ratio:4/5;border-radius:var(--border-radius);overflow:hidden;background:#000}
.collab__img img{width:100%;height:100%;object-fit:cover;transition:.7s transform var(--ease-out-expo)}
.collab__card:hover .collab__img img{transform:scale(1.04)}
.collab__title{font:400 var(--font-size-title-sm)/var(--line-height-title-sm) var(--font-family-secondary)}
.collab__meta{font:400 var(--font-size-eyebrow)/var(--line-height-eyebrow) var(--font-family-secondary);color:var(--color-mid)}

/* ===== reel con stories (home): texto superpuesto como en arts-culture ===== */
.reel--stories .preview-wrapper{aspect-ratio:16/9;background:#000}
@media (width < 768px){.reel--stories .preview-wrapper{aspect-ratio:9/16}}
.reel--stories .stories{height:100%;width:100%}
.reel--stories .stories .images{position:absolute;inset:0;grid-area:auto}
.reel--stories .section-head{position:absolute;left:0;bottom:0;padding:2rem;pointer-events:none;z-index:1;color:var(--color-white);max-width:min(100%,640px)}
.reel--stories .section-head hgroup .primary,.reel--stories .section-head hgroup .primary+p{color:var(--color-white)}
.reel--stories .section-head a{pointer-events:auto;background:var(--color-white);color:var(--color-black)}
.reel--stories .stories .shell{position:absolute;inset:auto 0 0 0;padding:2rem;z-index:2}
.reel--stories .stories .nav{max-width:40%}
.reel--stories .stories .controls{position:absolute;inset:0}
.reel--stories .pend-tag{left:auto;right:1rem;top:1rem;bottom:auto}
@media (width < 768px){.reel--stories .section-head{padding:1rem 1rem 5rem}.reel--stories .stories .shell{padding:1rem}}

.logo__svg text{fill:var(--color-background)}
html.menu-open .logo__svg text{fill:var(--color-off-black)}
