@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f7f7f5;--ink:#151515;--muted:#71716d;--line:#d9d9d5;--pad:4.2vw}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #757575;outline-offset:5px}button{border:0;background:none}img{display:block;max-width:100%;height:auto}::selection{background:#151515;color:white}.serif{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.06em}.header{height:92px;padding:0 var(--pad);display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;background:rgba(247,247,245,.94);backdrop-filter:blur(14px)}.logo{font-family:Arial,sans-serif;font-weight:900;font-size:47px;letter-spacing:-5px;line-height:1;position:relative;padding-right:15px}.logo span{font-size:12px;letter-spacing:0;position:absolute;right:0;top:0}.header nav{display:flex;gap:30px;font-size:14px}.header nav a{position:relative;padding:10px 0}.header nav a:after{content:'';position:absolute;bottom:3px;height:1px;background:currentColor;width:0;left:0;transition:width .25s}.header nav a:hover:after{width:100%}.header-end{display:flex;align-items:center;gap:35px}.languages{display:flex;align-items:center;gap:7px;font-size:13px;white-space:nowrap}.languages button{padding:8px 2px;color:#777}.languages button[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-underline-offset:5px}.languages span{color:#aaa}.nav-cta{display:flex;gap:30px;font-size:14px;align-items:center;border-bottom:1px solid;padding:9px 0}.nav-cta>span:last-child{font-size:23px}.hero{position:relative;min-height:720px;height:calc(100svh - 92px);max-height:1100px;overflow:hidden;padding:30px var(--pad) 24px;background:var(--paper)}.hero-top,.hero-bottom{display:flex;justify-content:space-between;align-items:center;font-size:12px;letter-spacing:.09em}.hero-top{position:relative;z-index:2}.hero-copy{position:relative;padding-top:80px;z-index:3;pointer-events:none;width:65%}.hero-copy a{pointer-events:auto}.hero h1{font-family:'Manrope',Arial,sans-serif;font-size:clamp(75px,8.7vw,150px);font-weight:500;letter-spacing:-.075em;line-height:1.02;margin:0 0 27px}.hero h1>span{display:block;white-space:nowrap}.hero h1 .serif{font-size:1.14em;line-height:1.05}.hero-copy p{font-size:17px;line-height:1.5;margin:0 0 28px;color:#5d5d59}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:55px;padding:18px 23px;min-height:58px;font-size:14px;border:1px solid var(--ink);transition:background .25s,color .25s}.button span:last-child{font-size:22px;line-height:1}.button-dark{background:var(--ink);color:white}.button-dark:hover{background:#444}.hero-visual{position:absolute;width:66%;right:-1%;top:20%;z-index:1;transform:rotate(-12deg);mix-blend-mode:multiply;will-change:transform}.hero-visual img{width:100%;filter:url(#liquid);user-select:none}.image-note{display:block;position:absolute;font-size:11px;letter-spacing:.16em;right:24%;bottom:0;transform:rotate(12deg);color:#73736f}.hero-bottom{position:absolute;bottom:24px;left:var(--pad);right:var(--pad);border-top:1px solid var(--line);padding-top:22px;font-size:12px;z-index:4}.hero-bottom>a{display:flex;align-items:center;gap:24px}.scroll-line{font-size:20px}.hero-bottom>span:first-child{font-size:14px;letter-spacing:0}.section{padding:110px var(--pad)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:42px}.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:500}.section-heading h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(34px,4vw,64px);font-weight:500;letter-spacing:-.055em;line-height:1.15;margin:22px 0 0}.section-heading p{line-height:1.5;color:#656560;margin:0}.collection{background:white;border-top:1px solid var(--line)}.filters{display:flex;gap:10px;margin-bottom:28px}.filters button{padding:11px 21px;font-size:14px;border:1px solid var(--line);border-radius:30px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.product-card{min-width:0}.product-card[hidden]{display:none}.product-image{position:relative;display:block;width:100%;overflow:hidden;background:#f4f4f1;aspect-ratio:1.15;padding:0}.product-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .7s cubic-bezier(.2,.7,.3,1)}.product-image:hover img{transform:scale(1.08) rotate(-3deg)}.product-index{position:absolute;top:20px;left:20px;font-size:12px;color:#73736f}.product-open{position:absolute;bottom:20px;right:20px;border:1px solid #bcbcb6;border-radius:50%;height:38px;width:38px;display:grid;place-items:center;font-size:23px;background:#f4f4f166;transition:background .2s}.product-image:hover .product-open{background:#151515;color:white;border-color:#151515}.product-info{display:flex;justify-content:space-between;align-items:center;padding:20px 0 10px}.product-info h3{font-weight:500;font-size:21px;letter-spacing:-.03em;margin:0}.product-info p{color:#777;font-size:13px;margin:7px 0 0}.swatches{display:flex;gap:6px;flex-wrap:wrap}.swatch{border-radius:50%;padding:3px;border:1px solid transparent;min-width:25px;min-height:25px;display:grid;place-items:center}.swatch:after{content:'';display:block;width:15px;height:15px;border-radius:50%;background:var(--swatch);border:1px solid #0002}.swatch.selected{border-color:#111}.statement{background:#151515;color:#f4f4ef;padding-top:45px;padding-bottom:55px}.statement-top{display:flex;justify-content:space-between;align-items:center}.small-logo{font-weight:800;font-size:24px;letter-spacing:-2px}.statement h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(65px,10.7vw,165px);font-weight:500;letter-spacing:-.065em;line-height:1.08;margin:95px 0 85px}.statement h2 .serif{padding-left:20vw;font-size:1.2em}.statement-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:50px;padding-top:35px;border-top:1px solid #4a4a46}.asterisk{font-size:80px;line-height:1}.statement-bottom p{font-size:17px;line-height:1.65;color:#c1c1bd;margin:0;max-width:420px}.text-link{justify-self:end;font-size:14px;border-bottom:1px solid #8a8a83;padding-bottom:10px}.world-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.world-card{margin:0}.world-card:nth-child(2){padding-top:80px}.world-photo{overflow:hidden;background:#eaeae7;aspect-ratio:.79}.world-photo img{width:100%;height:110%;object-fit:cover;object-position:center;mix-blend-mode:multiply;will-change:transform}.world-card figcaption{display:flex;justify-content:space-between;padding-top:20px;font-size:15px}.world-card figcaption>span:last-child{font-size:12px;color:#777}.closing{padding-top:70px;text-align:center;padding-bottom:125px;border-top:1px solid var(--line)}.closing h2{font-family:'Manrope',Arial,sans-serif;font-size:clamp(65px,8.5vw,140px);line-height:1.02;letter-spacing:-.065em;font-weight:500;margin:35px 0 40px}footer{background:#e9e9e5;padding:55px var(--pad) 24px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:55px}.footer-logo{font-family:Arial,sans-serif;font-size:clamp(90px,18vw,280px);font-weight:900;letter-spacing:-.105em;line-height:.8;position:relative;padding-right:30px}.footer-logo span{font-size:23px;letter-spacing:0;position:absolute;top:0;right:0}.footer-top p{font-size:clamp(28px,3.2vw,52px);letter-spacing:-.06em;margin:0;line-height:1.1}.back-top{align-self:flex-start;font-size:14px}.footer-bottom{border-top:1px solid #bdbdb8;padding-top:22px;display:flex;justify-content:space-between;gap:15px;font-size:12px;color:#66665f}.skip{position:fixed;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:10px}.filter-svg{position:absolute;width:0;height:0;overflow:hidden}.reveal-text .word{display:inline-block;white-space:nowrap}.reveal-text .char{display:inline-block;transition:opacity .75s,transform .75s;transition-delay:calc(var(--char) * 18ms)}.js-motion .reveal-text:not(.revealed) .char{opacity:0;transform:translateY(35px) rotate(3deg)}dialog{padding:0;border:0;width:min(1080px,92vw);max-height:90svh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#0008;backdrop-filter:blur(5px)}.close-dialog{position:absolute;right:17px;top:12px;font-size:34px;z-index:2;line-height:1;width:44px;height:44px}.detail-layout{display:grid;grid-template-columns:1.15fr 1fr;min-height:520px}.detail-photo{background:#eeeee9;display:flex;justify-content:center;flex-direction:column;padding:30px 0}.detail-photo img{width:100%;mix-blend-mode:multiply}.angle-buttons{display:flex;gap:22px;justify-content:center}.angle-buttons button{font-size:13px;padding:10px;border-bottom:1px solid transparent}.angle-buttons button.active{border-color:var(--ink)}.detail-copy{padding:80px 40px 50px}.detail-copy h2{font-size:42px;letter-spacing:-.055em;font-weight:500;margin:22px 0}.detail-copy p{line-height:1.6;color:#666}.detail-colors{display:flex;gap:14px;align-items:center;margin:25px 0}.detail-colors .swatch{width:32px;height:32px}.detail-colors .swatch:after{width:22px;height:22px}.detail-note{font-size:14px;border-top:1px solid var(--line);padding-top:23px}.detail-copy .button{margin-top:15px}.no-scroll{overflow:hidden}
@media(min-width:1700px){.hero-copy{padding-top:110px}.hero-visual{top:12%}}@media(max-width:1100px){.header nav{gap:18px}.header-end{gap:18px}.nav-cta{display:none}.hero{min-height:680px}.hero-copy{padding-top:90px}.hero-visual{top:27%;right:-2%;width:65%}.section{padding-top:85px;padding-bottom:85px}.statement-bottom{grid-template-columns:.4fr 1.4fr 1fr;gap:30px}.product-info{align-items:start;gap:10px}.swatches{max-width:95px}.world-grid{gap:16px}}
@media(max-width:700px){:root{--pad:6vw}.header{height:76px;gap:18px}.logo{font-size:38px}.header nav{margin-left:auto}.header nav a{font-size:13px}.header nav a:not(:first-child){display:none}.header-end{gap:0}.languages{font-size:12px;gap:4px}.hero{height:calc(100svh - 76px);min-height:730px;max-height:920px;padding-top:24px}.hero-top{font-size:10px;letter-spacing:.055em}.hero-top span:last-child{display:none}.hero-copy{padding-top:40px;width:100%}.hero h1{font-size:clamp(68px,14.5vw,105px)}.hero-copy p{font-size:15px;margin-top:21px;line-height:1.5}.hero-copy .button{margin-top:240px;position:relative;z-index:3}.hero-visual{top:32%;right:-3%;width:104%;transform:rotate(-10deg)}.image-note{font-size:9px;bottom:0;right:15%}.hero-bottom{font-size:10px;padding-top:18px;bottom:22px}.hero-bottom>span:first-child{font-size:12px}.hero-bottom .index{display:none}.hero-bottom>a{gap:12px}.section{padding-top:65px;padding-bottom:65px}.section-heading{align-items:start;gap:15px;margin-bottom:30px}.section-heading h2{font-size:38px;max-width:280px}.section-heading>p{display:none}.eyebrow{font-size:11px}.filters{gap:7px;margin-bottom:20px}.filters button{padding:10px 16px;font-size:13px}.product-grid{grid-template-columns:1fr;gap:30px}.product-image{aspect-ratio:1.35}.product-info h3{font-size:21px}.swatches{max-width:none}.statement{padding-top:30px;padding-bottom:35px}.statement h2{font-size:15vw;margin:70px 0 60px}.statement h2 .serif{padding-left:10vw}.statement-bottom{grid-template-columns:48px 1fr;gap:22px}.asterisk{font-size:47px;align-self:start}.statement-bottom p{font-size:16px}.text-link{grid-column:2;justify-self:start}.world-grid{grid-template-columns:1fr;gap:36px}.world-card:nth-child(2){padding-top:0}.world-photo{aspect-ratio:.9}.world-card figcaption{padding-top:15px}.closing h2{font-size:16vw}.closing{padding-bottom:75px}.footer-top{flex-wrap:wrap;margin-bottom:40px}.footer-logo{font-size:31vw}.footer-logo span{font-size:16px;right:6px}.footer-top p{font-size:28px}.back-top{width:100%;margin-top:15px}.footer-bottom{flex-wrap:wrap;font-size:10px}.footer-bottom>span:last-child{display:none}.detail-layout{grid-template-columns:1fr}.detail-photo{padding:30px 0 15px}.detail-copy{padding:28px}.detail-copy h2{font-size:35px;margin:15px 0}.close-dialog{background:var(--paper);border-radius:50%}.detail-copy .button{width:100%}html[lang=zh] .hero h1{font-size:12vw}html[lang=zh] .hero h1 .serif{font-size:1.1em}html[lang=zh] .statement h2{font-size:13vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js-motion .reveal-text:not(.revealed) .char{opacity:1;transform:none}.hero-visual,.world-photo img{will-change:auto}}

html[lang=zh] .hero h1{font-size:clamp(60px,6.2vw,110px);line-height:1.25}html[lang=zh] .hero h1 .serif{font-family:inherit;font-style:normal;font-size:1em}html[lang=zh] .statement h2{line-height:1.3} @media(max-width:700px){html[lang=zh] .hero h1{font-size:11.5vw}}


/* Scroll-driven campaign: the image stays pinned while the timeline advances. */
.scroll-film{height:420svh;position:relative;background:#071820;color:#fff}
.film-stage.hero{position:sticky;top:92px;height:calc(100svh - 92px);min-height:0;max-height:none;overflow:hidden;background:#071820;color:#fff;--film-shade:.8}
.film-media{position:absolute;inset:0;background:#071820 url('assets/ivvi-scroll-poster.jpg') center/contain no-repeat;z-index:0}
.film-media video{display:block;width:100%;height:100%;object-fit:contain;object-position:center;opacity:0}
.film-ready .film-media video{opacity:1}
.film-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.6),transparent 60%),linear-gradient(0deg,rgba(0,0,0,.5),transparent 22%);opacity:var(--film-shade);z-index:1}
.film-stage .hero-top{z-index:3;color:#fff;font-size:11px;text-shadow:0 1px 8px #0008}
.film-stage .hero-copy{position:absolute;top:32%;left:var(--pad);padding:0;width:62%;will-change:opacity,transform}
.film-stage h1{font-size:clamp(60px,7.4vw,118px)}
.film-stage .hero-copy p{color:#e6e6e6;text-shadow:0 1px 8px #0008}
.film-stage .button-dark{background:#fff;color:#111;border-color:white}
.film-stage .button-dark:hover{background:#dededb}
.film-stage .hero-bottom{border-color:#ffffff40;color:#fff;text-shadow:0 1px 6px #0008}
.film-counter{font-variant-numeric:tabular-nums;font-size:12px;letter-spacing:.08em}
.film-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff20;z-index:5}
.film-progress span{height:100%;width:100%;display:block;background:#fff;transform:scaleX(0);transform-origin:left;will-change:transform}
.product-image:hover img{filter:url(#liquid)}
.filters{flex-wrap:wrap}.product-grid{row-gap:35px}.swatch:after{background:var(--swatch)}
@media(min-width:1200px){.product-grid{grid-template-columns:repeat(4,1fr)}.product-info h3{font-size:19px}.product-info{flex-wrap:wrap;gap:10px}}
@media(min-width:701px) and (max-width:1199px){.product-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.scroll-film{height:360svh}.film-stage.hero{top:76px;height:calc(100svh - 76px);min-height:0}.film-stage .hero-copy{top:9%;width:88%}.film-stage h1{font-size:13vw}.film-stage .hero-copy p{font-size:14px}.film-stage .hero-copy .button{margin-top:0;font-size:12px;padding:12px 16px;min-height:46px;gap:30px}.film-media video{object-fit:contain}.film-stage .hero-bottom{flex-wrap:wrap;gap:14px}.film-stage .hero-bottom>span:first-child{width:100%}.film-stage .hero-bottom>a{font-size:10px}.film-counter{margin-left:auto}.film-stage .hero-copy h1{margin-bottom:16px}.film-stage .hero-copy p{margin:14px 0 18px}.filters button{padding:10px 14px}.film-stage .hero-top{font-size:10px}.film-shade{background:linear-gradient(180deg,#071820 0%,#07182066 30%,transparent 60%,#07182088 100%)}}
@media(prefers-reduced-motion:reduce){.scroll-film{height:calc(100svh - 92px)}.film-stage.hero{position:relative;top:0}.film-stage .hero-copy{will-change:auto;pointer-events:none}.film-stage .hero-copy a{pointer-events:auto}.film-progress,.film-counter{display:none}.film-stage .hero-bottom{bottom:55px}@media(max-width:700px){.scroll-film{height:calc(100svh - 76px)}}}
.scroll-film.film-unavailable{height:calc(100svh - 92px)}.film-unavailable .film-stage{position:relative;top:0}
.film-media canvas{display:block;width:100%;height:100%;opacity:0}.film-ready .film-media canvas{opacity:1}

/* White studio campaign, with scroll scrubbing and subtle vertical pointer parallax. */
.scroll-film,.film-stage.hero{background:#fff;color:#151515}
.film-media{background:#fff url('assets/ivvi-pinch-poster.jpg') center/cover no-repeat;transform:translate3d(0,0,0) scale(1.035);transition:transform .35s ease-out;will-change:transform}
.film-shade{background:linear-gradient(90deg,#ffffffed,transparent 58%),linear-gradient(0deg,#ffffffa6,transparent 20%)}
.film-stage .hero-top,.film-stage .hero-bottom{color:#151515;text-shadow:0 1px 8px #fffc}
.film-stage .hero-bottom{border-color:#15151530}
.film-stage .hero-copy p{color:#444;text-shadow:0 1px 8px #fffc}
.film-stage .button-dark{background:#151515;color:#fff;border-color:#151515}
.film-stage .button-dark:hover{background:#444}
.film-progress{background:#15151520}.film-progress span{background:#151515}
@media(max-width:700px){.film-media{background-size:contain}.film-shade{background:linear-gradient(180deg,#ffffffd9,transparent 58%,#ffffffa6)} }
@media(prefers-reduced-motion:reduce){.film-media{transform:none!important;transition:none;will-change:auto}}
