:root{--lilac:#e9e0f5;--green:#96b405;--ink:#111;--line:rgba(40,22,57,.27)}
*{box-sizing:border-box}body{margin:0;background:var(--lilac);color:var(--ink);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #604281;outline-offset:6px}button{border:0;background:none}button:hover{color:#513273}button:disabled{cursor:default}svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;left:20px;top:-80px;z-index:10;background:white;padding:15px}.skip-link:focus{top:15px}
.homepage{position:relative;min-height:0;background-image:url('assets/products-hero.webp');background-size:cover;background-position:center;display:grid;grid-template-rows:auto 1fr auto;aspect-ratio:1586/992;width:100%;max-height:none}
.header{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 4.65%;min-height:90px;height:5.7vw;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;flex-shrink:0;gap:18px;text-decoration:none}.brand img{display:block;width:clamp(138px,11vw,190px);height:auto}.tagline{font-size:clamp(14px,1.22vw,20px);white-space:nowrap;border-left:1px solid var(--line);padding-left:18px}.navigation{display:flex;gap:clamp(22px,4vw,70px);align-items:center}.navigation button{padding:12px 0;font-size:clamp(15px,1.15vw,20px)}.header-actions{display:flex;gap:clamp(22px,3.6vw,60px);align-items:center}.icon-button{display:flex;align-items:center;justify-content:center;padding:8px;min-width:44px;min-height:44px;gap:12px}.icon-button svg{width:29px;height:29px}.cart{font-size:18px}
.hero{position:relative;display:flex;align-items:center;padding:4vw 4.65%;min-height:0}.hero-copy{position:relative;z-index:1;width:42%;margin-top:-1.3vw}.eyebrow{text-transform:uppercase;font-size:clamp(13px,1.22vw,21px);letter-spacing:.2em;line-height:1.5;margin:0 0 20px}h1{font-size:clamp(50px,6.35vw,112px);font-weight:500;letter-spacing:-.065em;line-height:1.06;margin:0 0 24px;white-space:nowrap}.intro{font-size:clamp(19px,1.99vw,34px);line-height:1.35;letter-spacing:-.025em;margin:0 0 38px}.cta{display:inline-flex;align-items:center;justify-content:space-between;gap:40px;background:var(--green);border-radius:60px;padding:20px 34px;font-size:clamp(17px,1.46vw,25px);font-weight:600;min-height:60px;transition:background .15s,transform .15s}.cta:hover{background:#a6c416;color:#111;transform:translateY(-2px)}.cta svg{width:30px;height:24px}.product-visual{position:absolute;right:0;top:0;bottom:0;width:60%;pointer-events:none}
.categories{position:relative;z-index:2;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);background:rgba(233,224,245,.85);min-height:95px;padding:26px 1.9%}.categories button{font-size:clamp(14px,1.19vw,20px);padding:9px 10px;line-height:1.25}.categories button+button{border-left:1px solid var(--line)}
dialog{background:#f3edf9;color:var(--ink);border:1px solid var(--line);border-radius:22px;width:min(620px,calc(100% - 32px));max-height:85svh;padding:46px 34px 34px;box-shadow:0 25px 90px #27153b38}dialog::backdrop{background:#21123165;backdrop-filter:blur(5px)}dialog h2{font-size:34px;letter-spacing:-.04em;margin:10px 0 24px}dialog p{line-height:1.6}.close{position:absolute;top:6px;right:12px;font-size:34px;min-width:44px;min-height:44px}.product-list{display:grid;gap:0;margin-top:20px}.product-list button{padding:18px 0;border-bottom:1px solid var(--line);text-align:left;display:flex;justify-content:space-between;gap:20px}.search-label{display:block;margin-bottom:10px}.search-input{font:inherit;width:100%;border:1px solid #7d55a5;border-radius:8px;padding:14px;background:white}.back{margin-top:22px;text-decoration:underline;padding:10px 0}.empty{color:#51415f}.product-description{font-size:19px}
@media(min-width:1800px){.homepage{max-width:2200px;margin:auto}}
@media(max-width:1100px){.header{gap:12px;min-height:84px}.brand{gap:10px}.tagline{padding-left:10px}.navigation{gap:22px}.header-actions{gap:14px}.cart{gap:5px;font-size:15px}.hero-copy{width:43%}.intro{font-size:2vw}.cta{padding:17px 25px;gap:25px}.categories{min-height:78px;padding:19px 1%}.homepage{min-height:0}}
@media(max-width:900px){.homepage{display:block;aspect-ratio:auto;min-height:100svh;background:var(--lilac)}.header{min-height:110px;height:auto;padding:12px 5% 10px;display:grid;grid-template-columns:1fr auto;row-gap:8px}.brand img{width:132px}.brand{gap:9px}.tagline{font-size:12px;padding-left:9px}.header-actions{gap:4px}.icon-button{padding:7px;min-width:44px}.icon-button svg{width:23px;height:23px}.cart{font-size:13px;gap:5px}.navigation{grid-row:2;grid-column:1/-1;justify-content:center;gap:42px}.navigation button{font-size:14px;padding:12px 0;min-height:44px}.hero{display:block;padding:0}.hero-copy{width:100%;margin:0;padding:40px 6% 15px}.eyebrow{font-size:11px;letter-spacing:.18em;margin-bottom:18px}h1{font-size:clamp(43px,9.8vw,74px);line-height:1.04;letter-spacing:-.065em;margin-bottom:22px}.intro{font-size:18px;line-height:1.5;margin-bottom:24px}.cta{font-size:16px;min-height:54px;padding:15px 24px;gap:26px}.product-visual{position:relative;inset:auto;display:block;width:100%;height:96vw;max-height:660px;background-image:url('assets/products-hero.webp');background-size:auto 103%;background-position:right center;background-repeat:no-repeat;margin-top:15px;mask-image:linear-gradient(to bottom,transparent 0%,black 9%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 9%)}.categories{grid-template-columns:repeat(2,1fr);padding:10px 5%;min-height:0;background:#e6daf3}.categories button{font-size:14px;min-height:56px;padding:12px 8px}.categories button+button{border-left:0}.categories button:nth-child(even){border-left:1px solid var(--line)}.categories button:nth-child(n+3){border-top:1px solid var(--line)}dialog{padding:44px 24px 26px}}
@media(max-width:380px){.brand img{width:115px}.brand{gap:6px}.tagline{font-size:11px;padding-left:6px}.header{padding-inline:4%}.header-actions{gap:0}.icon-button{min-width:44px;padding:5px}.cart span{display:none}.hero-copy{padding-top:32px}.intro{font-size:16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Accessible panel navigation and long-text handling. */
body.panel-open{overflow:hidden}
#panel-title:focus{outline:none}
.no-script{max-width:900px;margin:0 auto;padding:40px 6%;line-height:1.7}
.navigation button{min-height:44px}
.product-list button,.back{min-height:44px}
@media(max-width:380px){.header{column-gap:4px}.brand{gap:6px}.brand img{width:115px}.header-actions{gap:0}}

.categories button{min-height:44px}
