:root{--purple:#55246c;--green:#484d47;--cream:#fbf8f2;--ink:#25212a;--muted:#68636d;--line:#e8e2ea;--white:#fff;--shadow:0 14px 36px rgba(52,33,60,.09);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;line-height:1.65}a{color:var(--purple);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px;color:#321542}img{max-width:100%;display:block}button,a,input{font:inherit}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.7rem;z-index:9}.top-note{background:var(--purple);color:#fff;text-align:center;padding:.45rem 1rem;font-size:.88rem}.header{border-bottom:1px solid var(--line);background:#fff}.header-inner{max-width:1180px;margin:auto;padding:1rem 1.25rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--purple);font-size:1.3rem;font-weight:750;white-space:nowrap}.brand b{font-weight:450;color:var(--green)}.brand-mark{display:grid;place-items:center;width:2.2rem;height:2.2rem;color:#fff;background:var(--purple);border-radius:50%;font-size:1.1rem}.nav{display:flex;align-items:center;gap:1.15rem;flex-wrap:wrap}.nav a{text-decoration:none;color:var(--green);font-size:.94rem;font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:var(--purple)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;color:var(--purple);border-radius:.6rem;padding:.5rem .7rem}.container{max-width:1120px;margin:auto;padding:0 1.25rem}.breadcrumb{padding:1rem 0;color:var(--muted);font-size:.9rem}.breadcrumb ol{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0;margin:0}.breadcrumb li+li:before{content:"/";color:#aaa;margin-right:.45rem}.breadcrumb a{color:var(--muted)}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center;padding:2.2rem 0 3.8rem}.hero-copy{max-width:660px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.76rem;font-weight:750;color:var(--green)}h1,h2,h3{line-height:1.2;color:var(--purple)}h1{font-size:clamp(2.2rem,5vw,3.7rem);letter-spacing:-.035em;margin:.45rem 0 1rem}h2{font-size:clamp(1.5rem,3vw,2.15rem);margin:2rem 0 .8rem}h3{font-size:1.15rem}.lead{font-size:1.14rem;color:#4e4952;max-width:68ch}.hero-art{background:var(--cream);border-radius:2rem;padding:2.2rem;min-height:300px;display:grid;place-items:center}.hero-art img{width:min(100%,370px);height:260px;object-fit:contain}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--purple);color:#fff;padding:.8rem 1.15rem;border-radius:.65rem;text-decoration:none;font-weight:700;margin:.5rem .35rem .4rem 0}.button.secondary{background:#fff;color:var(--purple);border:1px solid var(--purple)}.section{padding:2rem 0}.prose{max-width:78ch;margin:0 auto;padding-bottom:3rem}.prose section{margin:2.2rem 0}.prose p{margin:.7rem 0}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;margin:2rem 0}.post-card,.product-card{border:1px solid var(--line);border-radius:1rem;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.post-image{display:block;background:var(--cream);aspect-ratio:16/10;overflow:hidden}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.post-card:hover img{transform:scale(1.03)}.post-copy{padding:1.2rem}.post-copy h2{font-size:1.25rem;margin:.3rem 0}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0}.product-card{padding:1rem;text-decoration:none;color:var(--ink)}.product-card img{height:115px;width:100%;object-fit:contain;background:var(--cream);border-radius:.65rem;margin-bottom:.8rem}.product-card h2{font-size:1.05rem;margin:.3rem 0}.article-photo{margin:1.5rem 0 2rem}.article-photo img{width:100%;max-height:420px;object-fit:cover;border-radius:1rem}.article-photo figcaption{color:var(--muted);font-size:.85rem;margin-top:.4rem}table{width:100%;border-collapse:collapse;margin:1.5rem 0}th,td{padding:.75rem;border:1px solid var(--line);text-align:left}th{background:var(--cream);color:var(--purple)}details{border-bottom:1px solid var(--line);padding:.9rem 0}summary{cursor:pointer;font-weight:700;color:var(--green)}.related{background:var(--cream);padding:2rem;border-radius:1rem;margin:2rem 0}.related ul{display:flex;gap:1.5rem;flex-wrap:wrap;padding-left:1.2rem}.site-footer{background:#302b33;color:#f7f4f8;margin-top:3rem;padding:3rem max(calc((100% - 1120px)/2),1.25rem) 1.2rem}.site-footer a{color:#fff}.site-footer h2{color:#fff;font-size:1.05rem;margin:.4rem 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.footer-grid ul{list-style:none;padding:0;margin:.6rem 0}.footer-grid li{margin:.35rem 0}.site-footer .brand{color:#fff}.site-footer .brand b{color:#d8c2e0}.copyright{border-top:1px solid #5b555e;margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#ddd}.source-note{color:var(--muted);font-size:.85rem}.service-callout{background:var(--cream);border-left:4px solid var(--purple);padding:1rem 1.2rem;margin:1.3rem 0}.contact-form{display:grid;gap:.8rem;max-width:600px}.contact-form label{font-weight:650}.contact-form input,.contact-form textarea{width:100%;padding:.7rem;border:1px solid #bdb7c1;border-radius:.5rem}.contact-form button{cursor:pointer;border:0;max-width:220px}.sitemap-columns{columns:3;column-gap:2rem}.sitemap-columns li{break-inside:avoid;margin:.3rem 0}@media(max-width:820px){.header-inner{flex-wrap:wrap}.menu-toggle{display:block}.nav{display:none;flex-basis:100%;padding:.5rem 0}.nav.is-open{display:flex}.hero{grid-template-columns:1fr;gap:1rem;padding-top:1rem}.hero-art{min-height:220px}.hero-art img{height:200px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.container{padding:0 1rem}.header-inner{padding:.8rem 1rem}.nav{gap:.85rem}.nav a{font-size:.9rem}.hero{padding-bottom:2rem}.card-grid,.footer-grid{grid-template-columns:1fr}.sitemap-columns{columns:1}.site-footer{padding:2.2rem 1rem 1rem}}.hero-art img{object-fit:cover!important;border-radius:1.1rem}.product-card img{height:160px!important;object-fit:cover!important}