.cp-section{background:var(--cp-bg);color:var(--cp-ink);padding:var(--cp-space) 0;font-family:var(--cp-font,Arial,sans-serif)}.cp-section *{box-sizing:border-box}.cp-section h2,.cp-section h3{font-family:var(--cp-heading-font,Arial,sans-serif);font-weight:var(--cp-weight,800);letter-spacing:-.035em;line-height:1.04;color:inherit;margin:0}.cp-section h2{font-size:var(--cp-heading-size,48px)}.cp-section h3{font-size:26px}.cp-section p{font-size:var(--cp-body-size,16px);line-height:1.5}.cp-section a{color:inherit;text-decoration:none}.cp-container{width:calc(100% - 80px);max-width:var(--cp-width);margin:auto}.cp-grid{display:grid;gap:24px}.cp-img{display:block;width:100%;height:100%;object-fit:cover}.cp-section picture{display:block;height:100%}.cp-title{text-align:center;margin-bottom:36px!important}.cp-hero{position:relative;height:var(--cp-height);overflow:hidden;color:white}.cp-hero:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,var(--cp-overlay));pointer-events:none}.cp-hero-copy{position:absolute;z-index:1;left:6%;top:50%;transform:translateY(-50%);max-width:560px;padding:20px}.cp-hero h2{font-size:clamp(40px,5.3vw,84px)}.cp-eyebrow{text-transform:uppercase;font-weight:700;letter-spacing:.1em}.cp-align-center .cp-hero-copy{left:50%;transform:translate(-50%,-50%);width:90%;text-align:center}.cp-align-center .cp-buttons{justify-content:center}.cp-align-right .cp-hero-copy{left:auto;right:6%}.cp-buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.cp-section .cp-button{display:inline-flex;align-items:center;justify-content:center;padding:15px 28px;background:var(--cp-button-bg,#ffcc32);color:var(--cp-button-ink,#142c35);font-weight:700;font-size:14px;border-radius:var(--cp-radius,0px);min-height:48px}.cp-button:hover{filter:brightness(.93)}.cp-section a:focus-visible{outline:3px solid #0777cc;outline-offset:4px}.cp-promos{grid-template-columns:repeat(2,1fr)}.cp-promo{position:relative;min-height:540px;color:white;overflow:hidden}.cp-promo>picture{position:absolute;inset:0}.cp-promo:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#0008)}.cp-promo-copy{position:absolute;z-index:1;bottom:38px;left:36px;right:24px}.cp-categories,.cp-products{grid-template-columns:repeat(var(--cp-cols),1fr)}.cp-category picture{height:auto;aspect-ratio:3/4}.cp-category h3{font-size:21px;margin-top:18px;display:flex;justify-content:space-between}.cp-stories{grid-template-columns:repeat(3,1fr);gap:28px}.cp-stories picture{height:auto;aspect-ratio:1.12}.cp-story-copy{padding:24px 0}.cp-story-copy h3{font-size:30px}.cp-story-copy .cp-button{background:transparent;border-bottom:2px solid currentColor;padding:8px 0;border-radius:0}.cp-reviews{grid-template-columns:repeat(3,1fr)}.cp-reviews figure{margin:0;padding:28px;background:#f5f4f0}.cp-reviews blockquote{margin:16px 0;line-height:1.6}.cp-products .cp-img{aspect-ratio:1;height:auto}.cp-products h3{font-size:18px;margin-top:18px}.cp-hide-desktop{display:none}@media(max-width:749px){.cp-hide-desktop{display:block}.cp-hide-mobile{display:none}.cp-container{width:calc(100% - 32px)}.cp-section h2{font-size:32px}.cp-hero{height:var(--cp-mobile-height)}.cp-hero-copy{left:16px;right:16px;top:auto;bottom:28px;transform:none;padding:12px}.cp-align-center .cp-hero-copy{left:50%;transform:translateX(-50%)}.cp-hero h2{font-size:44px}.cp-promos,.cp-stories,.cp-reviews{grid-template-columns:1fr}.cp-promo{min-height:500px}.cp-promo-copy{left:24px}.cp-categories,.cp-products{grid-template-columns:repeat(2,1fr);gap:24px 14px}.cp-category h3{font-size:17px}.cp-title{margin-bottom:24px!important}.cp-buttons{gap:10px}.cp-section .cp-button{padding:13px 20px}}
.cp-section .cp-grid{gap:var(--cp-gap,24px)}.cp-section .cp-title{text-align:var(--cp-title-align,center)}@media(max-width:749px){.cp-section .cp-categories,.cp-section .cp-products{grid-template-columns:repeat(var(--cp-mobile-cols,2),minmax(0,1fr))}}
.cp-title-graphic{display:block;width:100%;max-width:480px;height:auto;margin-bottom:24px;object-fit:contain}.cp-hero-copy:has(.cp-title-graphic) h2{font-size:26px;letter-spacing:-.02em}.cp-align-center .cp-title-graphic{margin-inline:auto}@media(max-width:749px){.cp-title-graphic{max-width:320px}.cp-hero-copy:has(.cp-title-graphic) h2{font-size:22px}}
.cp-section h2,.cp-section h3{line-height:var(--cp-heading-line,1.04);letter-spacing:var(--cp-letter,-.03em)}.cp-section p{line-height:var(--cp-body-line,1.5)}.cp-grid>*{min-width:0}.cp-section{overflow-wrap:break-word}