@layer base { html { scroll-behavior:smooth } }
:root{--ink:#16142c;--muted:#595670;--purple:#5838db;--paper:#f7f7fc;--line:#e8e5f1;--display:Manrope,system-ui,sans-serif;--body:"DM Sans",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body)}
a{color:inherit;text-decoration:none} button,input,select,textarea{font:inherit} button{cursor:pointer} img{display:block;max-width:100%} svg{display:inline-block;vertical-align:middle} :focus-visible{outline:3px solid #8268ff;outline-offset:4px}
.pp-container{width:min(calc(100% - 48px),1280px);margin-inline:auto}
.pv-visually-hidden,.pv-skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pv-skip:focus{position:absolute;top:8px;left:8px;background:white;padding:12px;z-index:99}
.pp-kicker,.pv-eyebrow{font:800 .68rem var(--display);letter-spacing:.19em;color:var(--purple);text-transform:uppercase}
.pp-kicker.text-ember{color:#ddd4ff}
.pp-card{border:1px solid var(--line);background:white;box-shadow:0 14px 34px #21164c0b}
.pp-field{border:1px solid #d8d3e6;background:#fff;border-radius:12px;min-width:0}
.pp-field:focus{outline:2px solid #8268ff;outline-offset:1px}
.pp-button,.pv-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:12px;font-weight:800;transition:background .2s,transform .2s}
.pv-button{background:var(--purple);color:#fff;padding:13px 19px;width:fit-content;font-size:.88rem}
.pv-button:hover{background:#4528bc;transform:translateY(-2px)}
.pv-button svg,.pv-text-link svg,.pv-section-heading a svg,.pv-announcement svg{width:17px;height:17px}
.pv-announcement{background:#21183e;color:#e9e3ff;font-size:.72rem;font-weight:700}
.pv-announcement .pp-container{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:35px}
.pv-announcement span{letter-spacing:.13em}.pv-announcement a:hover{text-decoration:underline}
.pv-header{background:#fff;border-bottom:1px solid var(--line)}
.pv-header-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,5vw,82px);align-items:center;min-height:82px}
.pv-brand{display:inline-flex;align-items:center;gap:10px;font:800 clamp(1.2rem,2.3vw,1.62rem) var(--display);letter-spacing:-.065em;white-space:nowrap;width:fit-content}
.pv-brand>span{display:grid;place-items:center;width:38px;height:38px;background:var(--purple);border-radius:11px;color:#fff}
.pv-brand svg,.pv-header-actions svg{width:21px;height:21px}
.pv-search{display:flex;min-width:0;background:#f5f4fa;border:1px solid #eae7f2;border-radius:12px;overflow:hidden}
.pv-search:focus-within{outline:2px solid #8268ff}
.pv-search input{width:100%;min-width:0;padding:12px 15px;background:transparent;border:0;outline:none;font-size:.9rem}
.pv-search button{padding:0 15px;color:var(--purple);background:none;border:0}.pv-search svg{width:21px;height:21px}
.pv-header-actions{display:flex;align-items:center;gap:20px;font-size:.83rem;font-weight:800}
.pv-header-actions a{display:flex;align-items:center;gap:7px;white-space:nowrap}.pv-header-actions a:hover{color:var(--purple)}
.pv-header-actions b{background:#eee9ff;color:#4d2ec5;min-width:24px;padding:3px 5px;text-align:center;border-radius:30px}
.pv-nav{border-top:1px solid #f0edf5}.pv-nav .pp-container{display:flex;align-items:center;gap:26px;overflow-x:auto;scrollbar-width:thin;padding-block:9px}
.pv-nav a{white-space:nowrap;font-size:.82rem;font-weight:750;padding:8px 2px}.pv-nav a:hover,.pv-nav [aria-current]{color:var(--purple)}
.pv-nav .pv-nav-all{color:var(--purple);background:#f1edff;border-radius:8px;padding-inline:12px}.pv-nav svg{width:16px;margin-right:5px}.pv-nav-help{margin-left:auto}
.pv-home,.pv-catalog{padding-top:24px}
.pv-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:445px;background:#141127;color:white;overflow:hidden;border-radius:24px}
.pv-hero-copy{position:relative;z-index:2;padding:clamp(28px,5vw,75px)}
.pv-eyebrow{color:#d7cbff;display:flex;align-items:center;gap:10px}.pv-eyebrow i{width:8px;height:8px;border-radius:50%;background:#aa94ff;box-shadow:0 0 16px #aa94ff}
.pv-hero h1{font:800 clamp(2.85rem,6vw,6rem)/.99 var(--display);letter-spacing:-.085em;margin:18px 0}
.pv-hero h1 em{font-style:normal;color:#baa8ff}
.pv-hero-copy>p:not(.pv-eyebrow){color:#ddd8ef;line-height:1.65;max-width:340px}
.pv-hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:24px}
.pv-text-link{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:.86rem;text-underline-offset:5px;text-decoration:underline}
.pv-hero-image{position:absolute;right:0;inset-block:0;width:58%;height:100%;object-fit:cover;object-position:center;z-index:-1;mask-image:linear-gradient(90deg,transparent,black 24%)}
.pv-hero-index{position:absolute;right:20px;bottom:17px;color:#e0d9ff;font-size:.65rem;letter-spacing:.2em}
.pv-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:16px;border:1px solid var(--line);border-radius:16px;background:#fff}
.pv-perks a{display:flex;gap:13px;align-items:center;padding:16px clamp(13px,2.4vw,32px);font-size:.87rem}
.pv-perks a+a{border-left:1px solid var(--line)}.pv-perks a:hover strong{color:var(--purple)}
.pv-perks svg{width:24px;height:24px;color:var(--purple);flex:none}.pv-perks small{display:block;color:var(--muted);margin-top:3px}
.pv-section{margin-top:clamp(40px,5vw,72px)}
.pv-section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:20px}
.pv-section-heading h2,.pv-reviews h2,.pv-spotlights h2,.pv-catalog h1{font:800 clamp(1.8rem,3.7vw,3.2rem)/1.08 var(--display);letter-spacing:-.06em;margin:7px 0 0}
.pv-section-heading a,.pv-catalog-bar a{color:var(--purple);font-size:.84rem;font-weight:800}.pv-section-heading a:hover,.pv-catalog-bar a:hover{text-decoration:underline}
.pv-categories,.pv-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.pv-category,.pv-product{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:17px;transition:box-shadow .2s,transform .2s}
.pv-category:hover,.pv-product:hover{transform:translateY(-3px);box-shadow:0 12px 24px #25175315}
.pv-category img{height:142px;width:100%;object-fit:contain;background:#efedf7}
.pv-category>div{position:relative;padding:14px 36px 16px 15px}
.pv-category h3,.pv-product h3{font:800 1rem/1.25 var(--display);letter-spacing:-.025em;margin:0}
.pv-category p,.pv-product-copy p{font-size:.82rem;color:var(--muted);margin:7px 0 0;line-height:1.45}
.pv-category svg{width:18px;position:absolute;right:12px;top:15px;color:var(--purple)}
.pv-product{display:flex;flex-direction:column}
.pv-product-media{display:block;position:relative;background:#efedf7;overflow:hidden}
.pv-product-media img{width:100%;height:auto;aspect-ratio:1.23;object-fit:contain;transition:transform .28s}
.pv-product-media:hover img{transform:scale(1.055)}
.pv-badge{position:absolute;top:12px;left:12px;z-index:1;background:white;border:1px solid var(--line);color:#4a2db4;border-radius:100px;padding:5px 8px;font:800 .63rem var(--display);letter-spacing:.04em;text-transform:uppercase}
.pv-product-copy{display:flex;flex-direction:column;flex:1;padding:15px}
.pv-product-copy h3 a:hover{color:var(--purple)}
.pv-product-buy{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px}
.pv-product-buy strong{font:800 1.25rem var(--display)}
.pv-product-buy button{display:grid;place-items:center;width:38px;height:38px;border:0;border-radius:10px;background:#eee9ff;color:var(--purple)}
.pv-product-buy button:hover{background:var(--purple);color:white}.pv-product-buy svg{width:18px}
.pv-spotlights{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.pv-spotlights article{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;overflow:hidden;border-radius:18px;background:#eae4ff}
.pv-spotlights article+article{background:#f0e9f0}.pv-spotlights article>div{padding:22px}
.pv-spotlights h2{font-size:clamp(1.45rem,2.7vw,2.5rem)}
.pv-spotlights article p:not(.pp-kicker){margin:11px 0;font-size:.84rem}.pv-spotlights img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.pv-reviews{text-align:center;border:1px solid var(--line);border-radius:18px;background:white;padding:clamp(24px,5vw,52px)}
.pv-reviews p:not(.pp-kicker){max-width:510px;margin:12px auto 18px;color:var(--muted)}
.pv-reviews .pv-text-link{color:var(--purple)}
.pv-catalog-banner{background:#eae4ff;border-radius:20px;padding:clamp(25px,5vw,62px)}
.pv-catalog-banner>p:last-child{color:#4e456c;margin:12px 0 0}
.pv-catalog-bar{display:flex;justify-content:space-between;gap:14px;padding:19px 0;font-weight:700;overflow-wrap:anywhere}
.pv-footer{margin-top:clamp(48px,7vw,95px);background:#18152d;color:#f8f6ff}
.pv-footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:25px;padding-block:43px}
.pv-footer h2{font:800 .86rem var(--display);margin:3px 0 12px}
.pv-footer p,.pv-footer li,.pv-footer address{color:#cbc5df;font-size:.83rem;line-height:1.65;overflow-wrap:anywhere;font-style:normal}
.pv-footer ul{list-style:none;margin:0;padding:0}.pv-footer li+li{margin-top:8px}
.pv-footer a:hover{text-decoration:underline}.pv-footer .pv-brand{color:white;margin-bottom:13px}
.pv-footer-bottom{border-top:1px solid #ffffff26;padding-block:17px}
body:not([data-page=index]):not([data-page=products]) main h1{letter-spacing:-.055em;overflow-wrap:anywhere}
main section{min-width:0} main p{overflow-wrap:anywhere}
.pv-detail-media{min-height:0!important;aspect-ratio:1.22;padding:0!important;overflow:hidden}
.pv-detail-media img{width:100%;height:100%;max-height:none;object-fit:contain;filter:none}
.pv-detail-buy{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pv-detail-buy .pv-button{width:100%}.pv-detail-buy .pv-buy-now{background:#eee9ff;color:#4226a9}
.pv-detail-buy .pv-buy-now:hover{background:#ded4ff}
.pv-gallery [aria-pressed=true]{outline:2px solid var(--purple);outline-offset:1px}
body[data-page=service] main [class*="173b72"]{--tw-bg-opacity:1}
body[data-page=service] main section[class*="bg-[#173b72]"]{background:#25204a}
@media(max-width:960px){.pv-categories,.pv-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-spotlights{grid-template-columns:1fr}.pv-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pv-hero-image{width:61%}}
@media(max-width:640px){.pp-container{width:calc(100% - 28px)}.pv-header-main{grid-template-columns:1fr auto;gap:9px;min-height:auto;padding-block:11px}.pv-search{grid-column:1/-1;grid-row:2}.pv-header-actions{gap:13px}.pv-header-actions a>span{display:none}.pv-nav .pp-container{gap:15px}.pv-announcement{font-size:.59rem}.pv-home,.pv-catalog{padding-top:13px}.pv-hero{display:flex;flex-direction:column;align-items:stretch;min-height:auto;border-radius:17px}.pv-hero-copy{padding:25px 20px 0}.pv-hero-image{position:relative;width:100%;height:225px;mask-image:linear-gradient(180deg,transparent,black 25%);object-position:center 54%}.pv-hero-index{font-size:.54rem}.pv-perks{grid-template-columns:1fr}.pv-perks a{padding:11px 13px}.pv-perks a+a{border-left:0;border-top:1px solid var(--line)}.pv-section-heading{align-items:start}.pv-section-heading a{max-width:104px}.pv-categories,.pv-product-grid{gap:9px}.pv-category img{height:95px}.pv-category>div,.pv-product-copy{padding:11px}.pv-category svg{display:none}.pv-category h3,.pv-product h3{font-size:.88rem}.pv-badge{top:6px;left:6px;font-size:.55rem}.pv-spotlights article>div{padding:15px}.pv-footer-grid{gap:21px 14px}.pv-footer-grid>div:first-child{grid-column:1/-1}.pv-detail-buy{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.pv-breadcrumb{display:flex;flex-wrap:wrap;gap:9px;color:var(--muted);font-size:.8rem;margin:0 0 17px}.pv-breadcrumb a:hover{color:var(--purple)}
.pv-detail{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}
.pv-gallery,.pv-detail-info{padding:clamp(13px,3vw,38px);background:#fff;border:1px solid var(--line);border-radius:20px;min-width:0}
.pv-detail-media{border-radius:13px;background:#e9e1f8}
.pv-thumbnails{display:flex;gap:12px;margin-top:15px}.pv-thumbnails button{width:clamp(54px,7vw,78px);padding:0;aspect-ratio:1;border:1px solid var(--line);border-radius:10px;overflow:hidden}.pv-thumbnails img{width:100%;height:100%;object-fit:cover}
.pv-image-note{font-size:.75rem;color:var(--muted);margin:14px 0 0}
.pv-detail-info h1{font:800 clamp(2rem,4vw,4rem)/1.04 var(--display);margin:12px 0}
.pv-detail-desc{color:var(--muted);line-height:1.65}
.pv-detail-price{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin:23px 0}
.pv-detail-price strong{font:800 1.8rem var(--display)}
.pv-detail-price span{background:#e7f6ec;color:#21613b;border-radius:30px;font-size:.75rem;font-weight:800;padding:5px 9px}
.pv-specs{margin-top:24px;border-top:1px solid var(--line);padding-top:17px}
.pv-specs h2{font:800 1rem var(--display)}.pv-specs ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;list-style:none;padding:0;margin:13px 0 0}
.pv-specs li{background:#f5f3fb;border-radius:8px;padding:10px;font-size:.82rem;color:var(--muted)}
@media(max-width:760px){.pv-detail{grid-template-columns:1fr}.pv-gallery,.pv-detail-info{border-radius:15px}}
.pv-nav .pv-nav-all{display:inline-flex;align-items:center;gap:5px;flex:none}.pv-nav .pv-nav-all svg{flex:none;margin:0}
.pv-faq{max-width:750px;margin-inline:auto}.pv-faq h2{font:800 clamp(1.8rem,3.5vw,3rem)/1.1 var(--display);letter-spacing:-.06em;margin:7px 0 17px}.pv-faq details{background:white;border:1px solid var(--line);border-radius:12px;padding:13px 15px;margin-top:8px}.pv-faq summary{font-weight:800;cursor:pointer}.pv-faq details p{color:var(--muted);font-size:.9rem;margin:10px 0 0}.pv-faq details a{text-decoration:underline;color:var(--purple)}
body[data-page=cart] main>section:first-child{padding-top:26px;padding-bottom:22px}body[data-page=cart] main>section:first-child img{max-height:180px}
body[data-page=service] main picture img{max-height:410px;object-fit:cover}
@media(max-width:360px){.pv-announcement .pp-container{gap:5px}.pv-announcement a svg{display:none}.pv-announcement span{letter-spacing:.05em}.pv-hero h1{font-size:clamp(2.05rem,10.8vw,2.45rem)}.pv-hero-copy{padding:20px 16px 0}.pv-hero-actions{gap:10px;margin-top:14px}.pv-hero-image{height:166px}}
.pv-hero-image[hidden]{display:none}.pv-hero-index{display:flex;gap:8px;z-index:3}.pv-hero-index button{width:24px;height:24px;border:0;background:#201839c9;border-radius:50%;display:grid;place-items:center}.pv-hero-index button::after{content:"";width:7px;height:7px;border-radius:50%;background:#c7b9e2}.pv-hero-index button.is-active::after{background:#fff;box-shadow:0 0 0 2px #9174fb}
.pv-nav .pv-nav-help{margin-left:0}
.pv-menu-toggle {
    display: none;
}

@media (max-width: 640px) {
    .pv-header .pv-search,
    .pv-nav:not(.is-open) {
        display: none;
    }

    .pv-menu-toggle {
        display: inline-grid;
        place-items: center;
        width: 40px;
        height: 40px;
        border: 1px solid var(--line);
        border-radius: 10px;
        background: white;
        color: var(--ink);
    }

    .pv-nav .pp-container {
        display: grid;
        gap: 2px;
        overflow: visible;
    }

    .pv-nav a,
    .pv-nav .pv-nav-all {
        padding: 10px 12px;
    }
}

@media (max-width: 360px) {
    .pv-header-actions {
        gap: 8px;
    }

    .pv-header-main .pv-brand {
        gap: 6px;
    }
}

.pv-call-strip {
    display: none;
    position: fixed;
    inset-inline: 0;
    z-index: 100;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding-inline: 8px;
    background: #21183e;
    color: #fff;
    font-size: clamp(1.125rem, 5vw, 1.35rem);
    font-weight: 800;
    text-align: center;
}

.pv-call-strip:hover {
    text-decoration: underline;
}

.pv-call-strip:focus-visible {
    outline-offset: -4px;
}

.pv-call-strip-top {
    top: 0;
    min-height: 48px;
}

.pv-call-strip-bottom {
    bottom: 0;
    min-height: calc(48px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
}

.pv-call-strip svg {
    width: 21px;
    height: 21px;
}

@media (max-width: 640px) {
    .pv-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body[data-page="service"] {
        padding-top: 48px;
        padding-bottom: calc(48px + env(safe-area-inset-bottom, 0px));
    }

    body[data-page="service"] .pv-header,
    body[data-page="service"] .pv-announcement {
        display: none;
    }

    body[data-page="service"] .pv-call-strip {
        display: flex;
    }
}

.pv-skip:focus {
    z-index: 101;
}
