*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fcfbf7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}::selection{background:#1a1813;color:#fcfbf7}@keyframes kephPulse{0%{transform:scale(1);opacity:.55}70%{transform:scale(2.1);opacity:0}to{opacity:0}}@keyframes kephSheen{0%{background-position:240% 0}to{background-position:-240% 0}}.keph-nav-links{display:flex;gap:clamp(20px,3vw,42px);align-items:center}@media(max-width:699px){.keph-nav-links{display:none}}.keph-hero{display:grid;grid-template-columns:1.12fr .88fr;align-items:stretch;min-height:100vh}.keph-hero-image{position:relative;background:#f1ece3;height:100vh;min-height:100vh;overflow:hidden}.keph-hero-info{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:clamp(80px,7vw,104px) clamp(28px,5vw,76px) clamp(40px,5vw,64px)}@media(max-width:859px){.keph-hero{grid-template-columns:1fr}.keph-hero-image{height:62vh;min-height:62vh}.keph-hero-info{position:static;min-height:auto;padding:clamp(40px,9vw,60px) clamp(22px,6vw,40px) clamp(56px,10vw,72px)}}.keph-hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;opacity:0;transition:opacity 1s cubic-bezier(.22,1,.36,1)}.keph-hero-img.is-active{opacity:1}.keph-color-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px 8px 10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#1a1813;background:#fcfbf7d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:999px;border:1px solid rgba(26,24,19,.12);line-height:1;white-space:nowrap}.keph-color-chip-swatch{width:18px;height:18px;border-radius:50%;flex-shrink:0;box-shadow:inset 0 0 0 1px #1a18132e}.keph-color-chip--hero{position:absolute;left:clamp(16px,4vw,40px);bottom:clamp(16px,4vw,40px);z-index:2}.keph-hero-swatches{position:absolute;right:clamp(16px,4vw,40px);bottom:clamp(16px,4vw,40px);z-index:2;display:none;align-items:center;gap:6px}@media(max-width:859px){.keph-hero-swatches{display:flex}}.keph-color-btn--mini{gap:0;padding:8px;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.keph-color-swatch--mini{width:24px;height:24px}.keph-color-picker{margin-bottom:26px}.keph-color-picker-label{display:block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8c8474;margin-bottom:14px}.keph-color-picker-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.keph-features-grid{display:grid;grid-template-columns:repeat(2,1fr);column-gap:clamp(28px,4vw,72px);row-gap:clamp(44px,7vh,80px)}@media(max-width:759px){.keph-features-grid{grid-template-columns:1fr}}.keph-details-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,96px);align-items:start}@media(max-width:859px){.keph-details-grid{grid-template-columns:1fr}}.keph-reviews-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(18px,2.5vw,40px)}@media(max-width:699px){.keph-reviews-grid{grid-template-columns:1fr}}.keph-color-btn{appearance:none;cursor:pointer;background:none;border:none;padding:6px;min-width:42px;min-height:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;position:relative}.keph-color-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);padding:5px 8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#fcfbf7;background:#1a1813;border-radius:2px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1}.keph-color-btn:focus-visible .keph-color-tooltip{opacity:1}@media(hover:hover)and (pointer:fine){.keph-color-btn:hover .keph-color-tooltip{opacity:1}}.keph-color-swatch{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px #1a181333;display:block;opacity:.95;transition:width .25s ease,height .25s ease,box-shadow .25s ease,opacity .25s ease,transform .25s ease}.keph-color-btn:not(.keph-color-btn--mini):not(.is-active) .keph-color-swatch{transform:scale(.92)}.keph-color-btn.is-active .keph-color-swatch{opacity:1;box-shadow:inset 0 0 0 1px #1a181333,0 0 0 2px #fcfbf7e6,0 0 0 3px #1a1813}.keph-color-btn.is-active:not(.keph-color-btn--mini) .keph-color-swatch{width:34px;height:34px;transform:scale(1)}.keph-color-picker-label span{color:#1a1813;font-weight:500}.keph-color-btn--mini.is-active .keph-color-swatch--mini{width:28px;height:28px}.keph-size-btn{appearance:none;cursor:pointer;min-width:48px;padding:11px 6px;font-family:Hanken Grotesk,system-ui,sans-serif;font-size:13px;letter-spacing:.04em;background:transparent;color:#1a1813;border:1px solid rgba(26,24,19,.3);border-radius:2px;transition:background .25s ease,color .25s ease,border-color .25s ease}.keph-size-btn.is-active{background:#1a1813;color:#fcfbf7;border-color:#1a1813}.keph-faq-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.22,1,.36,1)}.keph-faq-panel.is-open{grid-template-rows:1fr}.keph-faq-panel-inner{overflow:hidden;min-height:0}.keph-faq-toggle{font-size:22px;font-weight:300;color:#bcc56e;line-height:1;transition:transform .4s ease}.keph-faq-item.is-open .keph-faq-toggle{transform:rotate(45deg)}.keph-guide-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;background:#12100d00;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s ease,background .35s ease}.keph-guide-modal.is-open{background:#12100d94;opacity:1;visibility:visible}.keph-guide-dialog{width:min(580px,100%);max-height:88vh;overflow:auto;background:#fff;color:#1a1813;border-radius:4px;padding:clamp(26px,5vw,44px);transform:scale(.94);transition:transform .4s cubic-bezier(.22,1,.36,1);box-shadow:0 30px 90px #00000047}.keph-guide-modal.is-open .keph-guide-dialog{transform:scale(1)}.keph-guide-cell.is-highlight{background:#6e7a3a1f}[data-reveal-line]{display:block;transform:translateY(110%);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}[data-reveal-line].is-visible{transform:translateY(0)}[data-reveal]{opacity:0;transform:translateY(20px);transition:opacity .9s ease,transform .9s cubic-bezier(.22,1,.36,1)}[data-reveal].is-visible{opacity:1;transform:none}
