.purple-home{--blue:#7142a6;--campaign-ink:#321b4b;--campaign-ground:#eee3ff;background:#f4eff9;color:var(--campaign-ink)}
.purple-home .site-header{--header-ink:var(--campaign-ink);--header-accent:#7b42b5;position:fixed;inset:0 0 auto;z-index:80;color:var(--header-ink);background:transparent;transition:color .2s}
.purple-home .site-header .brand{flex-shrink:0}.purple-home .site-header .spark{color:var(--header-accent)}
.purple-home .site-header nav a:after{background:currentColor}
.purple-home .site-header.header-on-dark{--header-ink:#fff;--header-accent:#fff;text-shadow:0 1px 12px #17203166}
.purple-home .product-mega-menu{text-shadow:none}
.purple-home .site-header .menu-toggle i{border-color:currentColor}
.purple-home .site-header .menu-toggle[aria-expanded=true] i:after{background:currentColor}
.home-header-active{scroll-padding-top:116px}
.campaign-hero{height:100svh;min-height:760px;max-height:1200px;background:var(--campaign-ground);position:relative;isolation:isolate;overflow:hidden}
.campaign-media{position:absolute;inset:0;z-index:-1;display:block}.campaign-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.campaign-copy{position:absolute;top:25%;left:4.3vw;width:32%;max-width:510px}
.campaign-copy h1{font-size:clamp(60px,6.5vw,108px);font-weight:600;line-height:.99;letter-spacing:-.06em}.campaign-copy h1 em{display:inline-block;font-size:1.29em;line-height:.86;margin-top:7px;color:#713ab1;letter-spacing:-.035em}
.campaign-copy>p{font-size:17px;line-height:1.7;margin:32px 0 24px;letter-spacing:-.02em}
.campaign-button{display:inline-flex;align-items:center;gap:34px;background:var(--campaign-ink);color:white;min-height:54px;padding:14px 24px;border-radius:50px;font-size:14px;font-weight:500;transition:background .25s,transform .35s var(--ease)}.campaign-button .arrow-icon{width:20px;height:20px}.campaign-button:hover{background:#6c33a5;transform:translateY(-3px)}.campaign-button:hover .arrow-icon{transform:translate(3px,-3px)}
.campaign-scroll{position:absolute;left:4.3vw;bottom:35px;display:flex;align-items:center;gap:20px;font-size:11px;letter-spacing:.04em}.campaign-scroll .arrow-icon{width:18px;height:18px}.campaign-scroll:hover .arrow-icon{transform:translateY(4px)}.campaign-category{position:absolute;right:4.3vw;bottom:35px;font-size:11px;letter-spacing:.04em}
.brand-story{position:relative;height:230svh;background:#f4eff9}.story-sticky{position:sticky;top:0;height:100svh;display:flex;align-items:center;justify-content:center;padding:8vh 8vw}
.reveal-copy{font-size:clamp(33px,4.05vw,69px);font-weight:500;line-height:1.35;letter-spacing:-.045em;max-width:1270px;margin:0;text-wrap:pretty}
.reveal-word{color:#dcd3e5;transition:color .15s linear}.reveal-word.is-revealed{color:#352044}.reveal-word:first-child.is-revealed{color:#7942ab}
.factory-reveal{height:280svh;position:relative;background:#f4eff9}.factory-sticky{position:sticky;top:0;height:100svh;isolation:isolate;overflow:hidden}.factory-window{position:absolute;inset:0;background:#dce7ec;clip-path:inset(var(--factory-y,33%) var(--factory-x,22%));will-change:clip-path;overflow:hidden}
.factory-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 80%;transform:scale(var(--factory-scale,1.18));will-change:transform}
.factory-shade{position:absolute;inset:0;background:linear-gradient(25deg,rgba(11,29,42,.72),rgba(11,29,42,.08) 48%,transparent 72%);opacity:var(--factory-caption,0);pointer-events:none}
.factory-caption{position:absolute;left:5.5vw;bottom:8svh;max-width:760px;color:white;opacity:var(--factory-caption,0);transform:translateY(calc((1 - var(--factory-caption,0))*38px));will-change:opacity,transform}
.factory-label{text-transform:uppercase;letter-spacing:.18em;font-size:11px;margin:0 0 23px;color:#f0e5ff}.factory-caption h2{font-size:clamp(38px,4.3vw,74px);font-weight:500;line-height:1.08;letter-spacing:-.05em}.factory-description{font-size:16px;line-height:1.7;margin:23px 0 0;max-width:460px;color:#f0eff8}
.factory-scroll-note{position:absolute;left:0;right:0;text-align:center;bottom:28px;font-size:11px;color:#786785;opacity:var(--factory-note,1);pointer-events:none;margin:0;letter-spacing:.03em}
.purple-home .site-footer{background:#fff;color:var(--campaign-ink)}.purple-home .footer-invitation em{color:#7c42ad}
@media(min-width:1700px){.campaign-copy{left:6vw}.campaign-scroll{left:6vw}.campaign-category{right:6vw}}
@media(max-width:1200px){.campaign-hero{min-height:690px}.campaign-copy{top:27%;width:34%}.campaign-copy h1{font-size:6.8vw}.campaign-copy>p{font-size:15px;margin-top:25px}.campaign-media img{object-position:53% center}.reveal-copy{font-size:4.5vw}.story-sticky{padding:8vh 7vw}}
@media(max-width:1000px){.purple-home.menu-open .site-header{position:fixed;background:#eee3ff}.purple-home .site-header nav{background:#eee3ff}.campaign-hero{height:100svh;min-height:850px;max-height:1150px}.campaign-copy{top:16%;left:5vw;width:43%;z-index:2}.campaign-copy h1{font-size:8.8vw}.campaign-copy>p{font-size:15px}.campaign-media img{object-position:64% center}.campaign-scroll{left:5vw;bottom:28px}.campaign-category{right:5vw;bottom:28px}.reveal-copy{font-size:5.7vw;line-height:1.4}.story-sticky{padding:8vh 7vw}.factory-caption{left:6vw;bottom:8vh;max-width:620px}.factory-caption h2{font-size:6.2vw}.factory-description{font-size:15px}.factory-label{font-size:10px}}
@media(max-width:600px){.campaign-hero{height:100svh;min-height:850px;max-height:1050px}.campaign-copy{left:22px;right:22px;top:123px;max-width:none;width:auto}.campaign-copy h1{font-size:16.6vw;line-height:.98;max-width:330px}.campaign-copy h1 br:nth-child(2){display:none}.campaign-copy h1 em{font-size:1.18em;margin-left:4px}.campaign-copy>p{font-size:13px;line-height:1.7;margin:20px 0 18px;max-width:300px}.campaign-button{min-height:46px;padding:11px 19px;font-size:12px;gap:25px}.campaign-button .arrow-icon{width:18px;height:18px}.campaign-media{inset:355px 0 0}.campaign-media img{height:100%;object-fit:cover;object-position:68% center}.campaign-scroll{left:22px;bottom:22px;font-size:9px;gap:10px}.campaign-category{right:22px;bottom:24px;font-size:9px}.brand-story{height:210svh}.story-sticky{padding:65px 26px}.reveal-copy{font-size:8.1vw;line-height:1.42;letter-spacing:-.04em;max-width:100%}.factory-reveal{height:250svh}.factory-caption{left:24px;right:24px;bottom:8vh;max-width:none}.factory-caption h2{font-size:10.2vw;line-height:1.1}.factory-description{font-size:12px;line-height:1.8;margin-top:16px}.factory-label{font-size:9px;margin-bottom:18px;letter-spacing:.15em}.factory-scroll-note{font-size:9px;bottom:25px} }
@media(max-width:360px){.campaign-copy{left:20px;top:118px}.campaign-copy h1{font-size:17vw}.campaign-hero{min-height:810px}.campaign-media{inset:345px 0 0}.reveal-copy{font-size:8.05vw}}
.purple-home .header-quote{color:inherit;background:transparent;backdrop-filter:none;border-color:color-mix(in srgb,currentColor 48%,transparent);text-shadow:inherit;align-items:center}.purple-home .header-quote:hover{background:var(--header-ink);border-color:var(--header-ink);color:#fff}.purple-home .header-on-dark .header-quote:hover{color:var(--campaign-ink)}
@media(min-width:1201px){.campaign-copy h1{font-size:clamp(60px,6.2vw,108px)}}
@media(min-width:1001px) and (max-width:1200px){.campaign-copy h1{font-size:5.8vw}.campaign-copy{width:29%}}
@media(min-width:601px) and (max-width:1000px){.campaign-media{inset:350px 0 0}.campaign-media img{position:absolute;bottom:0;right:-55px;width:auto;height:100%;max-width:none;object-fit:contain;mask-image:linear-gradient(transparent,#000 15%)}.campaign-copy{top:15%;width:47%}}
@media(max-width:600px){.campaign-media img{position:absolute;bottom:0;right:-70px;width:690px;height:auto;max-width:none;object-fit:contain;mask-image:linear-gradient(transparent,#000 18%)}}
@media(max-width:360px){.campaign-media img{width:650px;right:-75px}}
@media(max-width:600px){.campaign-media img{right:-90px}}
@media(max-width:360px){.campaign-media img{right:-125px}}
@media(max-width:600px){.factory-photo{object-fit:cover;object-position:42% 65%}.factory-caption{top:auto;bottom:7svh}.factory-shade{background:linear-gradient(0deg,rgba(11,29,42,.75),rgba(11,29,42,.08) 52%,transparent 76%)}}
@media(prefers-reduced-motion:reduce){.brand-story,.factory-reveal{height:auto}.story-sticky{position:relative;height:auto;min-height:75svh;padding-top:80px;padding-bottom:80px}.reveal-word{color:#352044!important;transition:none}.factory-sticky{position:relative;height:100svh}.factory-window{clip-path:none}.factory-photo{transform:none}.factory-caption,.factory-shade{opacity:1;transform:none}.factory-scroll-note{display:none}.campaign-button:hover{transform:none}}

/* Portrait and product are separate native-resolution assets. */
.campaign-hero{background:radial-gradient(ellipse at 54% 35%,#faf6ff 0,#eee3ff 55%,#e4d3f7 100%)}
.campaign-art{position:absolute;inset:0;z-index:-1;overflow:hidden}
.campaign-backdrop,.campaign-foreground{position:absolute;inset:0;display:block;pointer-events:none}
.campaign-backdrop img,.campaign-foreground img{position:absolute;left:5vw;bottom:0;height:100%;width:auto;max-width:none;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.campaign-foreground{z-index:2}
.campaign-foreground img{clip-path:polygon(0 77.4%,84.6% 76.2%,96.7% 85.5%,96.7% 100%,0 100%)}
.campaign-person{position:absolute;right:-1%;bottom:0;height:90%;display:block}
.campaign-person{z-index:1}
.campaign-person img{height:100%;width:auto;max-width:none;object-fit:contain}
.campaign-product{position:absolute;left:27%;bottom:4%;height:78%;max-height:850px;width:auto;max-width:none}
.campaign-product{display:none;z-index:2}
.campaign-surface{position:absolute;inset:76% 0 0;background:linear-gradient(180deg,#e0c9f233,#d9c3ef99);border-top:1px solid #ffffff66}
.home-about{background:#f5f0fa;padding:100px var(--gutter) 90px;color:#342044}
.home-about-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:50px;gap:30px}
.home-about-heading .section-label{color:#75647f;font-size:11px;letter-spacing:.11em;margin:0}
.home-about-heading h2{font-size:clamp(65px,6.5vw,104px);font-weight:500;letter-spacing:-.065em;line-height:1}
.home-about-heading h2 em{color:#7142a6}
.home-about-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw;align-items:center}
.home-about-visual{min-width:0}
.home-about-photo{overflow:hidden;border-radius:17px;background:#eaf1f5;box-shadow:0 20px 45px #36204b0a}
.home-about-photo img{width:100%;height:auto;transition:transform .8s cubic-bezier(.2,.65,.25,1)}
.home-about-photo:hover img{transform:scale(1.025)}
.home-about-photo-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #ddcfe7;padding:17px 0;font-size:10px;letter-spacing:.02em;color:#75647f}
.home-about-copy h3{font-size:clamp(28px,2.35vw,41px);font-weight:500;line-height:1.23;letter-spacing:-.04em;max-width:550px;text-wrap:balance}
.home-about-copy>p{font-size:16px;line-height:1.9;color:#75647f;margin:26px 0 23px;max-width:570px}
.home-about-copy .text-link{font-size:14px;color:#7142a6}
.home-documents{display:grid;grid-template-columns:230px minmax(0,1fr);gap:45px;border-top:1px solid #ddcfe7;margin-top:75px;padding-top:45px;align-items:start}
.home-documents-intro .section-label{font-size:10px;color:#75647f;letter-spacing:.09em;margin:0 0 24px}
.home-documents-intro h3{font-size:39px;line-height:1.13;font-weight:500;letter-spacing:-.05em}
.home-documents-intro>p:last-child{font-size:12px;line-height:1.9;color:#75647f;margin:23px 0 0;max-width:210px}
.certificate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px;min-width:0}
.certificate-card{padding:0;text-align:left;min-width:0;width:100%;max-width:215px;justify-self:center;display:flex;flex-direction:column;align-items:stretch;cursor:zoom-in}
.certificate-paper{display:block;position:relative;width:100%;height:auto;aspect-ratio:467/640;padding:0;border:0;background:transparent;transition:transform .4s cubic-bezier(.2,.65,.25,1)}
.certificate-paper>img{width:100%;height:auto;box-shadow:0 8px 22px #34204412}
.certificate-card:hover .certificate-paper{transform:translateY(-6px)}
.certificate-name{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15px;line-height:1.5;margin-top:17px;font-weight:600}
.certificate-name .arrow-icon{width:17px;height:17px;color:#7142a6}
.certificate-card:hover .certificate-name .arrow-icon{transform:translate(3px,-3px)}
.certificate-kind{font-size:10px;color:#75647f;line-height:1.7;margin-top:5px}
.certificate-viewer{padding:0;border:0;color:#342044;background:#f5f0fa;width:min(850px,calc(100vw - 45px));height:92dvh;max-height:92dvh;overflow:hidden}
.certificate-viewer[open]{display:flex;flex-direction:column}
.certificate-viewer::backdrop{background:#251333c7;backdrop-filter:blur(6px)}
.certificate-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 27px;border-bottom:1px solid #ddcfe7;background:#fff;flex-shrink:0}
.certificate-viewer-toolbar .section-label{font-size:9px;color:#75647f;letter-spacing:.08em;display:block;margin-bottom:6px}
.certificate-viewer-toolbar h2{font-size:29px;font-weight:500;letter-spacing:-.035em}
.certificate-close{font-size:12px;padding:12px 0 12px 15px}
.certificate-viewer-image{flex:1;min-height:0;overflow:auto;padding:20px;display:flex;align-items:flex-start;justify-content:center}
.certificate-viewer-image img{width:auto;height:100%;max-width:100%;object-fit:contain;background:#fff}
.certificate-viewer-note{font-size:11px;text-align:center;padding:5px 20px 12px;color:#75647f;flex-shrink:0}
.certificate-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 27px;border-top:1px solid #ddcfe7;font-size:12px;background:white;flex-shrink:0}
.certificate-viewer-bottom>div{display:flex;align-items:center;gap:20px;font-size:11px}
.certificate-viewer-bottom button{width:35px;height:35px;border:1px solid #ddcfe7;border-radius:50%;font-size:17px}
.certificate-viewer-bottom a{color:#7142a6;padding:8px 0}
@media(min-width:1700px){.campaign-person{right:1%;height:92%}.campaign-product{left:28%;bottom:4%}}
@media(min-width:1001px) and (max-width:1200px){.campaign-product{left:26%;width:45%;height:auto;bottom:5%}.campaign-person{right:-5%;height:84%}}
@media(max-width:1100px){.home-about-layout{gap:40px}.home-about-copy>p{font-size:14px}.home-documents{grid-template-columns:185px minmax(0,1fr);gap:28px}.certificate-grid{gap:15px}.home-documents-intro h3{font-size:33px}.certificate-kind{font-size:9px}}
@media(min-width:601px) and (max-width:1000px){.campaign-art{inset:325px 0 0}.campaign-person{height:100%;right:0}.campaign-product{width:58%;height:auto;left:8%;bottom:1%}.campaign-surface{top:65%}}
@media(max-width:900px){.home-about{padding:65px 28px}.home-about-heading{margin-bottom:35px}.home-about-heading h2{font-size:68px}.home-about-layout{grid-template-columns:1fr;gap:35px}.home-about-copy{max-width:620px}.home-about-copy h3{font-size:34px}.home-about-copy>p{font-size:15px}.home-documents{grid-template-columns:1fr;gap:30px;margin-top:45px;padding-top:32px}.home-documents-intro{display:grid;grid-template-columns:1fr 1fr;gap:10px 35px}.home-documents-intro .section-label{grid-column:1/-1;margin-bottom:8px}.home-documents-intro>p:last-child{margin:0;max-width:270px}.home-documents-intro h3{font-size:34px}.certificate-kind{font-size:10px}}
@media(max-width:600px){.campaign-hero{min-height:950px}.campaign-art{inset:430px 0 0}.campaign-person{right:-15%;height:100%}.campaign-product{left:-4%;bottom:0;width:80%;height:auto;max-width:none}.campaign-surface{top:68%}.home-about{padding:48px 22px 55px}.home-about-heading{display:block;margin-bottom:30px}.home-about-heading .section-label{font-size:9px;margin-bottom:20px}.home-about-heading h2{font-size:16vw}.home-about-layout{gap:26px}.home-about-photo{border-radius:11px}.home-about-photo-caption{font-size:9px;gap:12px;padding:13px 0}.home-about-copy h3{font-size:27px;line-height:1.25;letter-spacing:-.035em}.home-about-copy>p{font-size:14px;line-height:1.9;margin:20px 0}.home-about-copy .text-link{font-size:13px}.home-documents{margin-top:35px;padding-top:27px;gap:26px}.home-documents-intro{display:block}.home-documents-intro .section-label{font-size:9px;margin-bottom:18px}.home-documents-intro h3{font-size:36px}.home-documents-intro>p:last-child{font-size:12px;margin-top:18px;max-width:100%}.certificate-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 17px}.certificate-name{font-size:14px;margin-top:12px}.certificate-kind{font-size:10px}.certificate-viewer{width:calc(100vw - 20px);height:90dvh;max-height:90dvh}.certificate-viewer-toolbar{padding:14px 15px}.certificate-viewer-toolbar .section-label{font-size:8px}.certificate-viewer-toolbar h2{font-size:26px}.certificate-close{font-size:11px}.certificate-viewer-image{padding:12px;align-items:center}.certificate-viewer-image img{height:auto;max-height:100%;width:auto}.certificate-viewer-note{font-size:10px;line-height:1.7;padding:7px 15px 12px}.certificate-viewer-bottom{padding:10px 15px;font-size:11px;gap:12px}.certificate-viewer-bottom>div{gap:12px;font-size:10px}.certificate-viewer-bottom button{width:32px;height:32px}}
@media(max-width:360px){.campaign-hero{min-height:930px}.campaign-art{inset:410px 0 0}.campaign-person{right:-21%;height:100%}.campaign-product{width:80%;height:auto;left:-6%;bottom:0}}
@media(prefers-reduced-motion:reduce){.home-about-photo img,.certificate-paper{transition:none}.home-about-photo:hover img,.certificate-card:hover .certificate-paper{transform:none}}
@media(min-width:1700px){.campaign-backdrop img,.campaign-foreground img{left:9vw}}
@media(min-width:1001px) and (max-width:1200px){.campaign-backdrop img,.campaign-foreground img{height:78%;left:6vw}}
@media(max-width:1200px){.campaign-backdrop,.campaign-foreground{display:none}.campaign-product{display:block}}
@media(max-width:1000px){.home-header-active{scroll-padding-top:102px}.purple-home.menu-open .site-header{--header-ink:var(--campaign-ink);--header-accent:#7b42b5;color:var(--header-ink);text-shadow:none}.purple-home.menu-open .header-quote:hover{color:#fff}}
@media(max-width:600px){.home-header-active{scroll-padding-top:96px}}
@media(prefers-reduced-motion:reduce){.purple-home .site-header{transition:none}}
@media(min-width:1001px) and (max-width:1200px){}
@media(max-width:1000px){}
@media(max-width:600px){}
@media(max-width:360px){.purple-home .site-header .menu-toggle{justify-content:center;flex-shrink:0}}

/* Mobile reading and touch spacing. Desktop campaign composition stays unchanged. */
@media(max-width:1000px){
 .purple-home .campaign-scroll{min-height:44px;font-size:12px}
 .purple-home .category-collections .text-link,.purple-home .home-about-copy .text-link{min-height:44px;font-size:15px}
 .purple-home .home-about-copy>p{font-size:16px;line-height:1.85}
 .purple-home .home-documents-intro>p:last-child{font-size:14px;line-height:1.8}
 .purple-home .certificate-kind{font-size:12px;line-height:1.7}
 .purple-home .certificate-close,.purple-home .certificate-viewer-bottom a{min-height:44px;display:inline-flex;align-items:center}
 .purple-home .certificate-viewer-bottom button{width:44px;height:44px}
 .purple-home .certificate-viewer-note{font-size:12px;line-height:1.7}
}
@media(max-width:600px){
 .purple-home .campaign-copy>p{font-size:16px;line-height:1.7;max-width:320px;margin-top:21px;margin-bottom:20px}
 .purple-home .campaign-button{font-size:14px;min-height:50px}
 .purple-home .campaign-art{top:460px}
 .purple-home .campaign-scroll{bottom:16px}
 .purple-home .campaign-category{font-size:11px;bottom:30px}
 .purple-home .factory-description{font-size:15px;line-height:1.75}
 .purple-home .factory-label{font-size:11px}
 .purple-home .home-about-photo-caption{font-size:11px;line-height:1.65;flex-wrap:wrap;gap:5px 15px}
 .purple-home .home-about-copy h3{font-size:29px;line-height:1.25}
 .purple-home .certificate-name{font-size:15px}
 .purple-home .certificate-viewer-toolbar{gap:12px}
 .purple-home .certificate-viewer-toolbar h2{font-size:25px;line-height:1.2}
 .purple-home .certificate-viewer-bottom{flex-wrap:wrap;gap:8px 14px}
 .purple-home .certificate-viewer-bottom>div{gap:14px;font-size:12px}
}
@media(max-width:360px){
 .purple-home .campaign-art{top:430px}
 .purple-home .campaign-copy>p{max-width:276px;font-size:15px}
 .purple-home .campaign-category{font-size:10px}
}
@media(max-width:600px) and (prefers-reduced-motion:no-preference){
 .purple-home .brand-story{height:170svh}
 .purple-home .factory-reveal{height:190svh}
}

@media(min-width:601px) and (max-width:1000px){
 .purple-home .campaign-copy{top:14%}
 .purple-home .campaign-copy h1{font-size:clamp(54px,8.8vw,68px)}
 .purple-home .campaign-product{width:min(52vw,400px)}
}
