
:root{--ko-ink:#59463e;--ko-nude:#a48677;--ko-paper:#f8f4ef;--ko-line:#e7ded7}
.ko-wrap{max-width:1240px;margin:auto;padding:64px 32px}.ko-eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ko-ink);margin:0 0 14px}.ko-heading{font-size:clamp(27px,3vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.2;margin:0 0 20px}.ko-intro{max-width:580px;color:var(--ko-ink);line-height:1.7}.ko-center{text-align:center}.ko-center .ko-intro{margin:0 auto 32px}.ko-strip{background:var(--ko-paper);padding:15px 20px;text-align:center;font-size:11px;letter-spacing:.16em;text-transform:uppercase;line-height:2}.ko-strip span{display:inline-block;margin:0 20px}
.ko-hero{position:relative;background:var(--ko-paper)}.ko-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.ko-slides::-webkit-scrollbar{display:none}.ko-slide{flex:0 0 100%;scroll-snap-align:start;display:block;color:inherit}.ko-slide picture,.ko-slide img{display:block;width:100%}.ko-slide img{height:auto;aspect-ratio:3/1;object-fit:contain;background:var(--ko-paper)}.ko-controls{display:flex;justify-content:center;gap:8px;align-items:center;padding:10px}.ko-controls button{min-width:38px;min-height:36px;border:0;background:transparent;color:var(--ko-ink);cursor:pointer;font:inherit}.ko-controls button[aria-current=true]{text-decoration:underline;text-underline-offset:6px}.ko-controls button:focus-visible,.ko-slide:focus-visible{outline:2px solid var(--ko-ink);outline-offset:-3px}
.ko-categories{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.ko-category{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;min-height:240px;padding:32px;background:var(--ko-paper);text-decoration:none;color:var(--ko-ink);border:1px solid transparent;transition:border-color .2s}.ko-category:nth-child(2){background:#eee2da}.ko-category:nth-child(3){background:#e4d5ca}.ko-category:hover{border-color:var(--ko-ink)}.ko-category svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.ko-category h3{font-size:24px;font-weight:400;margin:28px 0 8px}.ko-category p{font-size:13px;line-height:1.6;margin:0}.ko-category small{display:block;margin-top:24px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.ko-service{border-top:1px solid var(--ko-line);border-bottom:1px solid var(--ko-line)}.ko-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:32px;padding-bottom:32px}.ko-service h3{font-size:16px;font-weight:500;margin:0 0 8px}.ko-service p{font-size:13px;line-height:1.6;margin:0}.ko-products{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;padding:0}.ko-story{background:var(--ko-paper)}.ko-story-desktop{width:100%;height:auto;display:block}.ko-story-mobile{display:none}.ko-faq{max-width:900px}.ko-faq details{border-bottom:1px solid var(--ko-line)}.ko-faq summary{padding:22px 34px 22px 0;cursor:pointer;position:relative;font-size:16px;list-style:none}.ko-faq summary::-webkit-details-marker{display:none}.ko-faq summary:after{content:'+';position:absolute;right:5px}.ko-faq details[open] summary:after{content:'−'}.ko-faq details p{margin:0 0 24px;line-height:1.8;color:var(--ko-ink)}
.ko-footer{background:#eee5dd;color:var(--ko-ink)}.ko-footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;gap:52px}.ko-footer h2{font-size:15px;font-weight:500;margin-top:0}.ko-footer p,.ko-footer a{font-size:13px;line-height:1.8;color:inherit}.ko-footer ul{padding:0;list-style:none}.ko-footer li{margin-bottom:10px}.ko-footer a{text-underline-offset:4px}.ko-footer-brand{font-size:26px;letter-spacing:.16em;font-weight:400;margin-bottom:12px}.ko-footer-bottom{border-top:1px solid #d9cabe;padding:22px 32px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;font-size:11px}.ko-footer-policies{display:flex;gap:18px;flex-wrap:wrap}.ko-footer-policies a{font-size:11px}.ko-logo{width:220px;max-width:100%;height:auto;display:block}.ko-editor-note{padding:24px;background:var(--ko-paper);text-align:center}.ko-contact-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:15px}.ko-contact-links a{border:1px solid var(--ko-ink);padding:8px 14px;text-decoration:none}
@media(max-width:749px){.ko-wrap{padding:40px 22px}.ko-slide img{aspect-ratio:3/4;object-fit:contain}.ko-strip{font-size:10px;letter-spacing:.1em;padding:10px 8px}.ko-strip span{margin:0 8px}.ko-categories{gap:12px;grid-template-columns:1fr}.ko-category{min-height:180px;padding:24px;display:grid;grid-template-columns:1fr 44px}.ko-category svg{grid-column:2;grid-row:1/4}.ko-category h3{grid-column:1;grid-row:1;margin:0 0 8px;font-size:22px}.ko-category p{grid-column:1;grid-row:2}.ko-category small{grid-column:1;grid-row:3;margin-top:18px}.ko-service-grid{grid-template-columns:1fr;gap:22px;padding-top:28px;padding-bottom:28px}.ko-service-grid>div{padding-bottom:20px;border-bottom:1px solid var(--ko-line)}.ko-service-grid>div:last-child{padding:0;border:0}.ko-products{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ko-story-desktop{display:none}.ko-story-mobile{display:block}.ko-story-portrait{width:100%;height:380px;object-fit:cover;object-position:right center;display:block}.ko-story-mobile small{font-size:11px;line-height:1.6;display:block;margin-top:20px}.ko-footer-grid{grid-template-columns:1fr;gap:26px}.ko-footer-bottom{padding:22px}.ko-logo{width:190px}.ko-controls{padding:5px}}
@media(prefers-reduced-motion:reduce){.ko-category{transition:none}}
.ko-category{align-items:center;text-align:center;justify-content:flex-start}
.ko-category small{margin-top:auto;padding-top:24px}
.ko-service-grid{align-items:center;text-align:center}
.ko-service h3{margin:0;font-size:13px;letter-spacing:.06em;line-height:1.6}
.ko-ritual-banner{display:grid;grid-template-columns:1fr 1fr;max-width:1440px;margin:40px auto 72px;background:#f4ede5}
.ko-ritual-photo img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
.ko-ritual-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:56px}
.ko-ritual-copy .ko-heading{font-size:clamp(32px,4.2vw,64px);line-height:1.15;margin-bottom:32px}
.ko-ritual-copy .button{font-size:12px;letter-spacing:.08em;text-align:center}
@media(max-width:749px){.ko-category{display:flex;align-items:center;min-height:240px;padding:28px 20px}.ko-category h3{margin:22px 0 8px}.ko-category small{padding-top:20px;margin-top:auto}.ko-ritual-banner{grid-template-columns:1fr;margin:20px 0 40px}.ko-ritual-copy{padding:38px 24px 44px;align-items:center;text-align:center}.ko-ritual-copy .ko-heading{font-size:36px}}
