@font-face{font-family:"Geometria";src:url("fonts/geometria-medium.woff2") format("woff2"),url("fonts/geometria-medium.woff") format("woff");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Geometria";src:url("fonts/geometria-heavy.woff2") format("woff2"),url("fonts/geometria-heavy.woff") format("woff");font-style:normal;font-weight:900;font-display:swap}
:root{--color-white:#FFFFFF;--color-dark:#292941;--color-pink:#FFC1A7;--ink:var(--color-dark);--peach:var(--color-pink);color-scheme:dark;background:var(--color-dark);color:var(--color-white);--font-geometria:"Geometria",Arial,Helvetica,sans-serif;font-family:var(--font-geometria);font-weight:500;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-white);text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,video:focus-visible{outline:2px solid var(--color-pink);outline-offset:6px}img{max-width:100%;height:auto}
.skip-link{position:fixed;top:12px;left:12px;z-index:100001;padding:12px;background:var(--color-dark);transform:translateY(-200%)}.skip-link:focus{transform:none}
.intro{display:none;position:fixed;inset:0;z-index:99999;overflow:hidden;pointer-events:none;background:var(--color-dark)}
.intro-pending,.intro-pending body{overflow:hidden}.intro-pending .intro{display:block}.intro-pending .site-content{visibility:hidden}
.intro__panel{position:absolute;left:0;width:100%;height:50%;overflow:hidden;background:var(--color-pink);will-change:transform}.intro__panel--top{top:0}.intro__panel--bottom{bottom:0}
.intro__track{display:flex;width:max-content;height:100%;will-change:transform}.intro__track img{display:block;height:100%;width:auto;max-width:none;flex:none}
.theme-dark{background:var(--color-dark);color:var(--color-white)}.theme-pink{background:var(--color-pink);color:var(--color-dark);color-scheme:light}.theme-white{background:var(--color-white);color:var(--color-dark);color-scheme:light}
.hero{--hero-badge-gap:40px;--hero-max-width:843px;height:100vh;height:100svh;min-height:var(--hero-min-height,min-content);position:relative;display:grid;grid-template-columns:minmax(0,var(--hero-max-width));align-content:center;justify-content:center;padding:50px 32px;isolation:isolate}
.site-logo{position:absolute;top:26px;left:28px;display:block;width:100px;z-index:2;line-height:0}.site-logo img{width:100%;height:auto}
.hero__content{position:relative;z-index:1;width:100%;max-width:var(--hero-max-width)}.hero h1{font-family:var(--font-geometria);font-size:clamp(48px,6vw,92px);line-height:.96;letter-spacing:.035em;font-weight:900;margin:0 0 36px;text-transform:uppercase;overflow-wrap:normal}.brand-plus{color:var(--color-pink)}
.prose{font-size:17px;line-height:1.7;letter-spacing:.015em;overflow-wrap:anywhere}.prose p{margin:0 0 30px}.prose p:last-child{margin-bottom:0}.hero__text{max-width:var(--hero-max-width)}.hero__eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;margin:0 0 28px}.hero__link{display:inline-flex;gap:36px;text-decoration:none;border-bottom:0;padding:12px 0;margin-top:24px;font-size:17px}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.3;z-index:-1}.hero__badge{position:absolute;right:32px;bottom:32px;width:110px;height:110px;overflow:visible}.hero__badge text{fill:var(--color-white);font-size:13px;font-weight:900;letter-spacing:1.4px}.badge-plus{fill:var(--color-pink)}
.two-col{padding:clamp(90px,13.2vw,200px) 32px;min-height:675px;display:flex;align-items:center}.two-col__inner{display:grid;grid-template-columns:220px minmax(0,1fr);gap:60px;max-width:860px;width:100%;margin:auto}.two-col h2{font-family:var(--font-geometria);font-size:clamp(64px,6vw,92px);line-height:1.02;letter-spacing:.035em;font-weight:900;text-align:right;margin:0;text-transform:uppercase}.two-col .prose{padding-top:0}
.video-module{padding:80px 32px}.video-module__inner{max-width:950px;margin:auto}.video-module video,.video-module img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--color-dark)}
.site-footer{background:var(--color-dark);color:var(--color-pink);padding:30px 32px 110px}.site-footer__inner{max-width:950px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px}.site-footer h2{font-family:var(--font-geometria);color:var(--color-white);font-size:24px;line-height:1.15;font-weight:900;text-transform:uppercase;margin:0 0 18px;white-space:nowrap}.site-footer a,.site-footer span,.site-footer address{display:block;font-size:17px;line-height:1.7;font-style:normal;text-decoration:none;overflow-wrap:anywhere}.site-footer a:hover{color:var(--color-white);text-decoration:none}.site-footer a span{display:inline;color:var(--color-white);margin-left:8px}
@media(min-width:1600px){.hero h1{font-size:92px}}
@media(max-width:900px){.hero h1{font-size:clamp(42px,7.8vw,70px)}.two-col__inner{grid-template-columns:180px minmax(0,1fr);gap:36px}.two-col h2{font-size:70px}.site-footer__inner{gap:32px;grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer h2{font-size:22px}}
@media(max-width:600px){.hero{padding:50px 24px}.site-logo{top:24px;left:24px;width:80px}.hero h1{font-size:clamp(28px,8.4vw,50px);letter-spacing:.035em;line-height:1.09;margin-bottom:28px}.prose{font-size:16px;line-height:1.75}.hero__badge{right:22px;bottom:26px;width:88px;height:88px}.two-col{padding:80px 24px;min-height:0}.two-col__inner{grid-template-columns:1fr;gap:32px}.two-col h2{text-align:left;font-size:64px;line-height:.96}.two-col h2 br{display:none}.two-col h2{white-space:pre-line}.video-module{padding:48px 20px}.site-footer{padding:36px 24px 65px}.site-footer__inner{gap:36px 24px}.site-footer h2{font-size:18px;white-space:normal}.site-footer a,.site-footer span,.site-footer address{font-size:15px}}
@media(max-width:350px){.site-footer__inner{grid-template-columns: repeat(1, minmax(0, 1fr));}}
@media(prefers-reduced-motion:reduce){.intro{display:none!important}.intro-pending .site-content{visibility:visible}.intro-pending,.intro-pending body{overflow:auto}}

.site-footer span[aria-hidden="true"]{display:inline;margin-left:8px;color:var(--color-white)}

.hero__badge-spin{display:block;width:100%;height:100%;animation:badge-spin 30s linear infinite;transform-origin:center}
.hero__badge-plus{position:absolute;left:50%;top:50%;width:20px;height:20px;transform:translate(-50%,-50%)}
@keyframes badge-spin{to{transform:rotate(360deg)}}
.site-footer .studio-link{display:inline-flex;align-items:center;gap:6px}.studio-link img{width:10px;height:10px;flex:none;transition:transform .2s ease}.studio-link:hover img,.studio-link:focus-visible img{transform:rotate(45deg)}
@media(prefers-reduced-motion:reduce){.hero__badge-spin{animation:none}a{transition:none}}

h1,h2{letter-spacing:.035em}
@media(prefers-reduced-motion:reduce){.studio-link img{transition:none}}

/* Editorial modules. Text fitting measures each heading in the loaded font. */
.hero__subtitle{font-size:clamp(18px,2.15vw,34px);letter-spacing:.035em;font-weight:900;line-height:1.15;color:var(--color-pink);text-transform:uppercase;margin:8px 0 32px}
.hero--has-subtitle h1{margin-bottom:0}
.big-text{padding:140px 32px 120px}
.big-text__inner{max-width:950px;margin:auto}
.big-text__heading{margin:0 0 60px;font-weight:900;text-transform:uppercase;line-height:.83;letter-spacing:.035em}
.big-text__line{display:block;min-width:0}
.big-text__line + .big-text__line{margin-top:12px}
.big-text__line--white{color:var(--color-white);margin-left: -5px;}.big-text__line--dark{color:var(--color-dark)}
.big-text__line [data-fit-text]{display:inline-block;letter-spacing:.0em;font-size:clamp(30px,10vw,150px);max-width:none;vertical-align:top;overflow-wrap:anywhere}
.big-text__line--white [data-fit-text]{word-spacing:-.12em}
.big-text__columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:60px}
.one-col-text{padding:110px 32px 30px}
.one-col-text__inner{max-width:950px;margin:auto}
.one-col-text h2{color:var(--color-pink);font-size:clamp(26px,8.4vw,70px);line-height:1.09;font-weight:900;text-transform:uppercase;margin:0 0 40px;overflow-wrap:anywhere}
.text-white{color:var(--color-white)}
@media(max-width:600px){.big-text{padding:65px 24px}.big-text__heading{margin-bottom:36px}.big-text__columns{grid-template-columns:1fr;gap:28px}.one-col-text{padding:65px 24px 36px}.one-col-text h2{margin-bottom:32px}.hero__subtitle{margin:clamp(5px, 1vw, 16px) 0 28px}}
@media(max-width:600px) and (max-height:600px){.hero .site-logo{top:10px;width:65px}.hero__badge{bottom:8px;width:40px;height:40px}.hero__badge-plus{width:12px;height:12px}}

/* Word-by-word reveal preserves the final section height. */
.big-text__line{position:relative}
.big-text--waiting [data-fit-text],.big-text--playing [data-fit-text]{top:0;left:0;opacity:0}
.big-text--waiting .big-text__columns,.big-text--playing .big-text__columns{opacity:0}
@media(prefers-reduced-motion:reduce){.big-text--waiting [data-fit-text],.big-text--playing [data-fit-text],.big-text--waiting .big-text__columns,.big-text--playing .big-text__columns{opacity:1}}
.big-text--playing .big-text__line{clip-path:inset(-100% 0 -100% 0)}

/* Hero plus turns in quarter steps; the footer slides within its reserved space. */
.hero .brand-plus{display:inline-block;position:relative;width:.8em;height:.8em;vertical-align:calc(.5cap - .4em);line-height:0;letter-spacing:0;transform-origin:center;transition:transform var(--plus-duration,600ms) cubic-bezier(.22,1,.36,1)}
.site-footer.footer-motion{overflow:clip}
.footer-motion .site-footer__inner{opacity:0;transform:translateY(64px);transition:transform 650ms cubic-bezier(.22,1,.36,1),opacity 450ms ease}
.footer-motion.footer-is-visible .site-footer__inner,.footer-motion:focus-within .site-footer__inner{opacity:1;transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.hero .brand-plus{transition:none}.footer-motion .site-footer__inner{opacity:1;transform:none;transition:none}}
.footer-motion .site-footer__inner{pointer-events:none}.footer-motion.footer-is-visible .site-footer__inner,.footer-motion:focus-within .site-footer__inner{pointer-events:auto}
@media(prefers-reduced-motion:reduce){.footer-motion .site-footer__inner{pointer-events:auto}}

.hero .brand-plus img{display:block;position:absolute;left:50%;top:50%;width:.6em;height:.6em;max-width:none;transform:translate(-50%,-50%)}
