@font-face{font-family:Yanverse;src:url("./fonts/YanverseRound-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Yanverse;src:url("./fonts/YanverseRound-Heavy.ttf") format("truetype");font-weight:800;font-display:swap}
:root{--ink:#1d2026;--muted:#686a70;--paper:#f4f0ea;--warm:#eee6dc;--white:#fffdfa;--coral:#ef765f;--line:rgba(29,32,38,.15);--radius:28px}
*{box-sizing:border-box}
html{background:var(--paper);scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;color:var(--ink);background:var(--paper);font-family:Yanverse,ui-rounded,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
button,a{font:inherit}
img{display:block;max-width:100%}
a{color:inherit}
::selection{color:#fff;background:var(--coral)}
.loader{position:fixed;z-index:100;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:var(--paper);transition:opacity .5s ease,visibility .5s ease}
.loader.done{opacity:0;visibility:hidden}
.loader>img{width:70px;height:70px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(29,32,38,.1))}
.loader>span{width:150px;height:4px;overflow:hidden;border-radius:99px;background:rgba(29,32,38,.12)}
.loader>span i{display:block;width:100%;height:100%;background:var(--coral);transform-origin:left;animation:loading 1.25s ease-in-out infinite alternate}
.loader small{font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.loader em{font-style:normal;color:#bf5945}
@keyframes loading{from{transform:scaleX(.18)}to{transform:scaleX(1)}}

.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:80px;padding:0 clamp(22px,3.2vw,52px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(29,32,38,.12);background:rgba(255,253,250,.96);box-shadow:0 10px 34px rgba(63,48,37,.08);backdrop-filter:blur(18px) saturate(1.15);transition:box-shadow .3s}
.site-header.scrolled,.site-header.menu-visible{box-shadow:0 14px 44px rgba(63,48,37,.13)}
.site-header.menu-visible{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none}
.brand-lockup{position:relative;z-index:2;display:inline-flex;align-items:center;gap:12px;text-decoration:none}
.brand-lockup img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(29,32,38,.1))}
.brand-lockup span{font-size:28px;font-weight:800;letter-spacing:-.058em}
.header-links{display:flex;align-items:center;gap:clamp(22px,2.8vw,44px);font-size:13px;font-weight:800}
.header-links>a{position:relative;text-decoration:none}
.header-links>a:not(.header-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--ink);transform:scaleX(0);transform-origin:right;transition:transform .25s}
.header-links>a:not(.header-cta):hover::after,.header-links>a:not(.header-cta).active::after{transform:scaleX(1);transform-origin:left}
.header-cta{display:inline-flex;align-items:center;gap:8px;padding:12px 15px;border-radius:13px;color:#fff;background:var(--ink)}
.header-cta span{transition:transform .25s}
.header-cta:hover span{transform:translate(2px,-2px)}
.menu-toggle{display:none;width:40px;height:40px;padding:0;border:0;border-radius:12px;background:var(--ink);cursor:pointer}
.menu-toggle i{position:absolute;left:12px;width:16px;height:2px;border-radius:2px;background:#fff;transition:transform .25s,top .25s}
.menu-toggle i:first-child{top:15px}.menu-toggle i:last-child{top:23px}
.menu-toggle[aria-expanded=true] i:first-child{top:19px;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] i:last-child{top:19px;transform:rotate(-45deg)}

.scene-nav{position:fixed;z-index:40;right:clamp(14px,1.8vw,26px);top:50%;display:flex;flex-direction:column;gap:10px;padding:14px 10px;transform:translateY(-50%);border:1px solid rgba(29,32,38,.1);border-radius:999px;background:rgba(255,253,250,.9);box-shadow:0 12px 34px rgba(29,32,38,.13);backdrop-filter:blur(14px);transition:opacity .25s,visibility .25s}
.scene-nav.hidden{opacity:0;visibility:hidden}
.scene-nav button{width:7px;height:7px;padding:0;border:1px solid var(--ink);border-radius:99px;background:transparent;cursor:pointer;transition:.25s}
.scene-nav button.active{height:27px;background:var(--ink)}

#journey{position:relative;height:1750vh}
.stage{position:sticky;top:0;width:100%;height:100dvh;min-height:620px;overflow:hidden;background:var(--paper)}
video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:var(--paper)}
.cinema-vignette{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(242,236,228,.12),transparent 22%,transparent 78%,rgba(242,236,228,.08)),linear-gradient(0deg,rgba(20,18,18,.08),transparent 20%)}
.copy{position:absolute;z-index:5;top:50%;width:min(38vw,590px);padding:28px 30px 30px;opacity:0;visibility:hidden;color:#fff;transform:translateY(-50%) translateY(18px);will-change:opacity,transform;pointer-events:none;text-shadow:0 2px 22px rgba(0,0,0,.28)}
.copy::before{content:"";position:absolute;z-index:-1;inset:-72px -96px;background:radial-gradient(ellipse 85% 82% at 38% 50%,rgba(20,22,27,.92) 0%,rgba(20,22,27,.8) 46%,rgba(20,22,27,.42) 68%,transparent 100%);border-radius:90px;filter:blur(14px);opacity:.98}
.copy-left{left:clamp(28px,5vw,82px)}
.copy-right{right:clamp(58px,6vw,104px);width:min(37vw,570px)}
.copy-right::before{background:radial-gradient(ellipse 85% 82% at 62% 50%,rgba(20,22,27,.92) 0%,rgba(20,22,27,.8) 46%,rgba(20,22,27,.42) 68%,transparent 100%)}
.copy.active{visibility:visible;pointer-events:auto}
.eyebrow{color:#5e6065;font-size:10px;font-weight:800;letter-spacing:.2em}
.scene-brand{display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.9);font-size:clamp(12px,1vw,15px);font-weight:800;letter-spacing:.02em}
.scene-brand-mark{display:grid;place-items:center;flex:0 0 auto;width:58px;height:58px;padding:7px;overflow:hidden;border:1px solid rgba(255,255,255,.58);border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.scene-brand-mark img{width:100%;height:100%;object-fit:contain}
.copy h1,.copy h2{margin:22px 0 16px;font-size:clamp(68px,6.6vw,108px);line-height:.82;letter-spacing:-.069em}
.copy h2,.copy-right h2{font-size:clamp(62px,6vw,100px)}
.copy p{max-width:430px;margin:0;color:rgba(255,255,255,.86);font-size:clamp(17px,1.4vw,22px);line-height:1.35}
.copy a{display:inline-flex;align-items:center;gap:8px;margin-top:24px;padding:12px 16px;border:1px solid rgba(255,255,255,.55);border-radius:999px;color:var(--ink);background:#fff;text-decoration:none;font-size:12px;font-weight:800;box-shadow:0 10px 28px rgba(0,0,0,.2)}
.copy a i{font-style:normal}
.scroll-hint{position:absolute;z-index:7;left:50%;bottom:18px;display:flex;align-items:center;gap:10px;transform:translateX(-50%);font-size:9px;font-weight:800;letter-spacing:.15em}
.scroll-hint i{width:34px;height:1px;background:var(--ink)}
.progress{position:absolute;z-index:7;left:0;right:0;bottom:0;height:3px;background:rgba(29,32,38,.08)}
.progress i{display:block;width:100%;height:100%;background:var(--ink);transform:scaleX(0);transform-origin:left center;will-change:transform}

.site-content{position:relative;z-index:3;background:var(--paper)}
.products-section,.studio-section{width:min(100% - 40px,1400px);margin:0 auto}
.products-section{padding:clamp(100px,12vw,190px) 0 90px}
.section-heading{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);align-items:end;column-gap:6vw;margin-bottom:clamp(60px,8vw,110px)}
.section-heading .eyebrow{grid-column:1/-1;margin:0 0 28px}
.section-heading h2,.studio-statement h2,.partnerships-copy h2,.contact-copy h2{margin:0;font-size:clamp(55px,7.4vw,118px);line-height:.87;letter-spacing:-.068em}
.section-intro{max-width:430px;margin:0 0 7px;color:var(--muted);font-size:clamp(17px,1.5vw,22px);line-height:1.5}
.product{border-top:1px solid var(--line)}
.product-featured{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.72fr);gap:clamp(36px,5vw,78px);padding:28px 0 clamp(96px,11vw,160px)}
.product-visual{position:relative;display:block;overflow:hidden;border-radius:var(--radius);background:#ddd;text-decoration:none}
.product-visual::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.42);border-radius:inherit;pointer-events:none}
.product-visual img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.product-visual:hover img{transform:scale(1.025)}
.product-featured .product-visual{aspect-ratio:16/9}
.product-badge{position:absolute;left:18px;top:18px;padding:9px 12px;border-radius:999px;color:#fff;background:rgba(29,32,38,.78);font-size:9px;font-weight:800;letter-spacing:.12em;backdrop-filter:blur(12px)}
.product-copy{align-self:end;padding-bottom:6px}
.product-title{display:flex;align-items:center;gap:15px;margin-bottom:28px}
.product-title>img{flex:0 0 auto;object-fit:contain;border-radius:15px}
.funnyface-mark{width:62px;height:62px}.soundforge-mark{width:54px;height:54px}.snapforge-mark{width:56px;height:56px}
.product-title small{display:block;margin-bottom:5px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.16em}
.product-title h3{margin:0;font-size:clamp(34px,3.4vw,52px);line-height:.9;letter-spacing:-.055em}
.product-copy>p{max-width:420px;margin:0 0 30px;color:var(--muted);font-size:clamp(16px,1.35vw,20px);line-height:1.55}
.text-link{display:inline-flex;align-items:center;gap:9px;padding-bottom:6px;border-bottom:2px solid var(--ink);text-decoration:none;font-size:12px;font-weight:800}
.text-link span{transition:transform .25s}.text-link:hover span{transform:translate(2px,-2px)}
.product-pair{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,64px)}
.product-standard{display:grid;grid-template-columns:1fr;padding-top:28px}
.product-standard .product-visual{aspect-ratio:16/9;margin-bottom:34px}
.product-standard .product-copy{display:grid;grid-template-columns:1fr;align-items:start}
.product-standard .product-title{margin:0}
.product-standard .product-copy>p{min-height:76px;margin:24px 0 0}
.product-standard .text-link{grid-column:1;margin-top:22px;justify-self:start}

.studio-section{padding:70px 0 clamp(100px,13vw,210px)}
.studio-section::before{content:"";display:block;width:100%;height:1px;margin-bottom:clamp(90px,10vw,150px);background:var(--line)}
.studio-statement{display:grid;grid-template-columns:1fr 4fr;align-items:start}
.studio-statement .eyebrow{margin:10px 0 0}
.studio-statement h2{font-size:clamp(54px,7.2vw,112px)}
.studio-statement em{color:var(--coral);font-style:normal}
.studio-copy{display:grid;grid-template-columns:1fr 2fr;margin:clamp(70px,8vw,120px) 0 clamp(100px,12vw,170px)}
.studio-copy p{grid-column:2;max-width:790px;margin:0;font-size:clamp(25px,3.25vw,51px);line-height:1.12;letter-spacing:-.035em}
.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;border-top:1px solid var(--line);list-style:none}
.principles li{min-height:320px;padding:28px clamp(24px,3vw,46px) 40px 0;border-right:1px solid var(--line)}
.principles li+li{padding-left:clamp(24px,3vw,46px)}
.principles li:last-child{border-right:0}
.principles b{font-size:11px;letter-spacing:.15em}
.principles h3{max-width:320px;margin:70px 0 18px;font-size:clamp(26px,2.6vw,40px);line-height:1;letter-spacing:-.04em}
.principles p{max-width:340px;margin:0;color:var(--muted);font-size:15px;line-height:1.55}

.partnerships-section{position:relative;min-height:760px;overflow:hidden;color:#fff;background:#222;border-radius:var(--radius) var(--radius) 0 0}
.partnerships-section>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.partnerships-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(19,20,25,.92) 0%,rgba(19,20,25,.68) 42%,rgba(19,20,25,.05) 75%),linear-gradient(0deg,rgba(19,20,25,.48),transparent 48%)}
.partnerships-copy{position:relative;z-index:2;width:min(100% - 40px,1400px);margin:0 auto;padding:clamp(110px,12vw,180px) 0}
.partnerships-copy .eyebrow{margin:0 0 38px;color:rgba(255,255,255,.65)}
.partnerships-copy h2{max-width:900px;font-size:clamp(56px,7.6vw,118px)}
.partnerships-copy>p:not(.eyebrow){max-width:570px;margin:38px 0;color:rgba(255,255,255,.72);font-size:clamp(17px,1.5vw,22px);line-height:1.55}
.partnerships-copy>a{display:inline-flex;align-items:center;gap:12px;padding:14px 18px;border-radius:14px;color:var(--ink);background:#fff;text-decoration:none;font-size:12px;font-weight:800}
.partnerships-copy>a span{transition:transform .25s}.partnerships-copy>a:hover span{transform:translate(2px,-2px)}

.contact-section{display:grid;grid-template-columns:1fr 2.3fr;gap:8vw;width:min(100% - 40px,1400px);margin:0 auto;padding:clamp(110px,14vw,220px) 0}
.contact-mark img{width:clamp(130px,16vw,230px);filter:drop-shadow(0 22px 45px rgba(29,32,38,.12))}
.contact-copy{align-self:center}
.contact-copy .eyebrow{margin:0 0 30px}
.contact-copy h2{font-size:clamp(58px,7.8vw,120px)}
.contact-copy>a{display:inline-flex;align-items:center;gap:12px;margin-top:36px;padding-bottom:8px;border-bottom:2px solid var(--ink);text-decoration:none;font-size:clamp(18px,2vw,28px);font-weight:800}
.contact-copy>a span{transition:transform .25s}.contact-copy>a:hover span{transform:translate(3px,-3px)}

footer{padding:70px max(20px,calc((100vw - 1400px)/2));color:#fff;background:var(--ink)}
footer .brand-lockup img{filter:invert(1)}
footer .brand-lockup span{font-size:27px}
.footer-brand{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:70px;border-bottom:1px solid rgba(255,255,255,.16)}
.footer-brand p{margin:0;color:rgba(255,255,255,.52);font-size:15px}
.footer-links{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));justify-content:end;gap:50px;padding:60px 0 90px}
.footer-links div{display:flex;flex-direction:column;gap:13px}
.footer-links small{margin-bottom:10px;color:rgba(255,255,255,.42);font-size:9px;font-weight:800;letter-spacing:.17em}
.footer-links a{width:max-content;color:rgba(255,255,255,.78);text-decoration:none;font-size:14px}
.footer-links a:hover{color:#fff}
.footer-base{display:flex;justify-content:space-between;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.48);font-size:10px;font-weight:800;letter-spacing:.08em}
.footer-base i{font-style:normal}.footer-base a{text-decoration:none}

.reveal{opacity:0;transform:translateY(34px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
.reveal.in-view{opacity:1;transform:none}

@media(max-width:980px){
  .copy{width:min(42vw,480px)}.copy-right{width:min(40vw,460px)}
  .product-featured{grid-template-columns:1fr}.product-featured .product-copy{display:grid;grid-template-columns:1fr 1fr;gap:40px}.product-featured .product-title{grid-column:1}.product-featured .product-copy>p{grid-column:2;grid-row:1}.product-featured .text-link{grid-column:2}
  .product-standard .product-copy{grid-template-columns:1fr}.product-standard .product-copy>p{min-height:0;margin-top:22px}.product-standard .text-link{grid-column:1}
}

@media(max-width:780px){
  :root{--radius:20px}
  .site-header{top:0;left:0;right:0;height:68px;padding:0 12px;border-radius:0}.site-header.scrolled{background:rgba(255,253,250,.96)}
  .brand-lockup{gap:8px}.brand-lockup img{width:39px;height:39px}.brand-lockup span{font-size:24px}
  .menu-toggle{position:relative;z-index:2;display:block}
  .header-links{position:fixed;z-index:1;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:22px;padding:90px 30px 42px;background:rgba(244,240,234,.98);opacity:0;visibility:hidden;transform:translateY(-15px);transition:opacity .25s,visibility .25s,transform .25s;backdrop-filter:blur(18px)}
  .header-links.open{opacity:1;visibility:visible;transform:none}
  .header-links>a{font-size:clamp(35px,11vw,54px);line-height:1;letter-spacing:-.055em}
  .header-links .header-cta{margin-top:14px;padding:14px 17px;font-size:14px;letter-spacing:0}
  .scene-nav{right:7px;padding:11px 8px}.stage{min-height:580px}video{object-fit:cover}
  .cinema-vignette{background:linear-gradient(180deg,rgba(16,18,22,.84) 0,rgba(16,18,22,.58) 26%,transparent 52%,transparent 100%)}
  .copy,.copy-left,.copy-right{top:84px;left:8px;right:22px;width:auto;padding:18px 14px 20px;transform:translateY(12px);text-shadow:0 2px 18px rgba(0,0,0,.32)}
  .copy::before,.copy-right::before{inset:-26px -24px;background:radial-gradient(ellipse 115% 96% at 38% 30%,rgba(18,20,25,.93),rgba(18,20,25,.7) 54%,rgba(18,20,25,.22) 78%,transparent 100%);border-radius:44px;filter:blur(10px)}
  .scene-brand{gap:10px;font-size:12px}.scene-brand-mark{width:45px;height:45px;padding:6px;border-radius:14px}
  .copy h1,.copy h2,.copy-right h2{margin:16px 0 12px;font-size:clamp(48px,14vw,68px)}
  .copy p{max-width:330px;font-size:16px}.copy a{margin-top:14px;padding:10px 13px}.scroll-hint{display:none}
  .products-section,.studio-section,.partnerships-copy,.contact-section{width:min(100% - 28px,1400px)}
  .products-section{padding:90px 0 70px}
  .section-heading{display:block;margin-bottom:65px}.section-heading .eyebrow{margin-bottom:24px}.section-heading h2{font-size:clamp(53px,16vw,76px)}.section-intro{margin-top:30px;font-size:17px}
  .product-featured{display:block;padding:18px 0 100px}.product-featured .product-visual{aspect-ratio:4/3}.product-featured .product-copy{display:block;padding-top:28px}.product-featured .product-copy>p{margin-top:0}
  .product-pair{grid-template-columns:1fr;gap:90px}.product-standard{padding-top:18px}.product-standard .product-visual{aspect-ratio:4/3;margin-bottom:28px}
  .product-title{margin-bottom:22px}.product-title h3{font-size:36px}.product-copy>p{font-size:16px}.product-badge{left:12px;top:12px}
  .studio-section{padding:50px 0 110px}.studio-section::before{margin-bottom:90px}.studio-statement{display:block}.studio-statement .eyebrow{margin:0 0 26px}.studio-statement h2{font-size:clamp(50px,14.8vw,72px)}
  .studio-copy{display:block;margin:65px 0 100px}.studio-copy p{font-size:clamp(29px,8.5vw,42px)}
  .principles{grid-template-columns:1fr}.principles li,.principles li+li{min-height:0;padding:24px 0 60px;border-right:0;border-bottom:1px solid var(--line)}.principles li:last-child{border-bottom:0}.principles h3{margin:50px 0 15px;font-size:32px}
  .partnerships-section{min-height:720px;border-radius:20px 20px 0 0}.partnerships-section>img{object-position:38% center}.partnerships-shade{background:linear-gradient(90deg,rgba(19,20,25,.88),rgba(19,20,25,.26)),linear-gradient(0deg,rgba(19,20,25,.76),transparent 76%)}
  .partnerships-copy{padding:100px 0}.partnerships-copy h2{font-size:clamp(51px,15vw,72px)}
  .contact-section{grid-template-columns:1fr;padding:110px 0}.contact-mark img{width:120px}.contact-copy h2{font-size:clamp(54px,15.5vw,76px)}.contact-copy>a{font-size:17px;word-break:break-word}
  footer{padding:60px 20px 34px}.footer-brand{display:block;padding-bottom:50px}.footer-brand p{margin-top:16px}.footer-links{grid-template-columns:1fr 1fr;justify-content:start;padding:50px 0 70px}.footer-base{gap:25px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.loader>span i{animation:none}.product-visual img,.reveal{transition:none}.reveal{opacity:1;transform:none}}
