/* Homepage composition. Shared header lives in site-header.css. */
.cmm-boutique-hero{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-rows:1fr 1fr;gap:12px;margin:14px auto 0;width:calc(100% - 48px);max-width:1600px;height:clamp(450px,36vw,590px)}
.cmm-boutique-main,.cmm-boutique-dining,.cmm-boutique-member{position:relative;overflow:hidden;border-radius:15px;isolation:isolate}
.cmm-boutique-main{grid-row:1/3;background:#ddd5c7}
.cmm-boutique-main picture,.cmm-boutique-main img{position:absolute;inset:0;width:100%;height:100%}
.cmm-boutique-main img{object-position:64% center}
.cmm-boutique-main:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(110deg,rgba(251,247,237,.93),rgba(251,247,237,.64) 30%,transparent 65%)}
.cmm-boutique-main:after{background:linear-gradient(110deg,rgba(251,247,237,.93),rgba(251,247,237,.64) 30%,transparent 65%)}
.cmm-boutique-copy{position:relative;z-index:1;padding:30px 7%}
.cmm-boutique-copy h1{font:clamp(42px,4.5vw,72px)/.99 Georgia,serif;letter-spacing:-.045em;color:#14281e;margin:0 0 22px;font-weight:400}
.cmm-boutique-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:46px;padding:13px 26px;border-radius:32px;background:#203f30;color:#fff;font-size:15px;line-height:1.3}
.cmm-boutique-button:hover{background:#345641}
.cmm-boutique-button span{font-size:24px;line-height:1}
.cmm-boutique-dining{display:block;background:#dfd6c7}
.cmm-boutique-dining img{position:absolute;inset:0;width:100%;height:100%;object-position:center 54%}
.cmm-boutique-dining:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,#f8f4e8e8,transparent 75%);z-index:0}
.cmm-boutique-dining>div{position:relative;z-index:1;padding:25px 30px}
.cmm-boutique-dining h2,.cmm-boutique-member h2{font:clamp(29px,3vw,46px)/1.04 Georgia,serif;letter-spacing:-.035em;margin:0;color:#172b20}
.cmm-boutique-arrow{display:grid;place-items:center;width:42px;height:42px;border:1px solid #959c8e;background:#fcfbf8b0;border-radius:50%;margin-top:14px;font-size:25px}
.cmm-boutique-member{background:radial-gradient(ellipse at bottom right,#496047,#193628 75%);padding:28px 32px;color:#faf6e9}
.cmm-boutique-member h2{position:relative;color:inherit;max-width:90%}
.cmm-boutique-member p{font-size:15px;line-height:1.5;margin:14px 0 20px}
.cmm-boutique-member .cmm-boutique-button{background:#f2ecdf;color:#183425}
.cmm-boutique-member .cmm-boutique-button:hover{background:#fff}
.cmm-boutique-member>svg{position:absolute;right:28px;top:28px;width:55px;height:70px;opacity:.25}
.cmm-home-categories{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;width:calc(100% - 100px);max-width:1450px;margin:26px auto 42px}
.cmm-home-categories a{text-align:center;min-width:0;font-size:18px}
.cmm-home-categories img{border-radius:50%;width:100%;max-width:180px;aspect-ratio:1;height:auto;margin:0 auto 12px;transition:transform .2s}
.cmm-home-categories a:hover img{transform:scale(1.035)}
@media(max-width:1100px){.cmm-boutique-hero{grid-template-columns:1.6fr 1fr;height:480px}
.cmm-boutique-member{padding:24px}
.cmm-boutique-member p{font-size:14px}
.cmm-home-categories{gap:22px;width:calc(100% - 60px)}}
@media(max-width:760px){.cmm-boutique-hero{width:calc(100% - 24px);height:auto;grid-template-columns:1fr;grid-template-rows:390px 210px auto;gap:12px;margin-top:12px}
.cmm-boutique-main{grid-row:auto}
.cmm-boutique-main img{object-position:center 65%}
.cmm-boutique-main:after{background:linear-gradient(180deg,#fbf7edf0,transparent 80%)}
.cmm-boutique-copy{padding:25px}
.cmm-boutique-copy h1{font-size:46px;line-height:1.01;margin-bottom:18px}
.cmm-boutique-button{font-size:14px;min-height:44px;padding:12px 22px}
.cmm-boutique-dining>div{padding:24px}
.cmm-boutique-dining h2,.cmm-boutique-member h2{font-size:35px}
.cmm-boutique-member{padding:25px}
.cmm-boutique-member p{margin:13px 0 18px}
.cmm-home-categories{width:calc(100% - 32px);grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 16px;margin:24px auto 32px}
.cmm-home-categories a{font-size:14px}
.cmm-home-categories img{margin-bottom:8px}
.home .intro{margin-top:30px}}
@media(prefers-reduced-motion:reduce){.cmm-home-categories img{transition:none}}
body.home{font-family:'CMM Sans',Arial,sans-serif}
.home .cmm-boutique-copy h1,.home .cmm-boutique-dining h2,.home .cmm-boutique-member h2{font-family:'CMM Caslon',Georgia,serif;font-weight:400;letter-spacing:-.025em}
.home .cmm-boutique-button{font-family:'CMM Sans',Arial,sans-serif}
@media(min-width:761px){body.home .cmm-boutique-hero{margin:calc(14 * var(--cmm-u)) auto 0;width:calc(100% - 48 * var(--cmm-u));max-width:none;height:calc(544 * var(--cmm-u));min-height:0;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:calc(12 * var(--cmm-u))}
body.home .cmm-boutique-main,body.home .cmm-boutique-dining,body.home .cmm-boutique-member{border-radius:calc(15 * var(--cmm-u))}
body.home .cmm-boutique-copy{padding:calc(32 * var(--cmm-u)) 14%}
body.home .cmm-boutique-copy h1{font-size:calc(72 * var(--cmm-u));line-height:.93;letter-spacing:-.02em;margin:0 0 calc(24 * var(--cmm-u));color:#15291d}
body.home .cmm-boutique-button{font-size:clamp(11px,calc(17 * var(--cmm-u)),19px);line-height:1.2;min-height:0;height:calc(50 * var(--cmm-u));padding:0 calc(30 * var(--cmm-u));gap:calc(20 * var(--cmm-u));white-space:nowrap}
body.home .cmm-boutique-button span{font-size:calc(26 * var(--cmm-u))}
body.home .cmm-boutique-dining>div{padding:calc(30 * var(--cmm-u)) calc(34 * var(--cmm-u))}
body.home .cmm-boutique-dining h2,body.home .cmm-boutique-member h2{font-size:calc(48 * var(--cmm-u));line-height:.95;letter-spacing:-.02em}
body.home .cmm-boutique-arrow{width:calc(44 * var(--cmm-u));height:calc(44 * var(--cmm-u));font-size:calc(27 * var(--cmm-u));margin-top:calc(14 * var(--cmm-u))}
body.home .cmm-boutique-member{padding:calc(32 * var(--cmm-u)) calc(34 * var(--cmm-u))}
body.home .cmm-boutique-member p{font-size:clamp(11px,calc(18 * var(--cmm-u)),20px);line-height:1.35;margin:calc(18 * var(--cmm-u)) 0 calc(24 * var(--cmm-u))}
body.home .cmm-boutique-member>svg{width:calc(58 * var(--cmm-u));height:calc(74 * var(--cmm-u));top:calc(30 * var(--cmm-u));right:calc(30 * var(--cmm-u));opacity:.8}
body.home .cmm-home-categories{width:calc(100% - 100 * var(--cmm-u));max-width:none;gap:calc(30 * var(--cmm-u));margin:calc(20 * var(--cmm-u)) auto calc(22 * var(--cmm-u));padding:0}
body.home .cmm-home-categories img{width:calc(180 * var(--cmm-u));height:calc(180 * var(--cmm-u));max-width:100%;margin:0 auto calc(12 * var(--cmm-u))}
body.home .cmm-home-categories a{font-size:clamp(12px,calc(21 * var(--cmm-u)),23px);line-height:calc(24 * var(--cmm-u))}}
@media(max-width:760px){.home .cmm-boutique-copy h1{font-size:48px}
.home .cmm-boutique-dining h2,.home .cmm-boutique-member h2{font-size:38px}}
.home .cmm-boutique-copy h1,.home .cmm-boutique-dining h2,.home .cmm-boutique-member h2{-webkit-text-stroke:.3px currentColor}
body.home{--paper:#f8f5ee;background-color:#f8f5ee;background-image:linear-gradient(180deg,#e9dfcf 0%,#f0e8db 45%,#f8f5ee 100%);background-size:100% 100svh;background-repeat:no-repeat}
.cmm-boutique-slide{position:absolute;inset:0;z-index:0;display:block}
.cmm-boutique-slide[hidden],.cmm-boutique-controls[hidden]{display:none!important}
.cmm-boutique-slide:not([hidden]){animation:cmm-boutique-reveal .55s ease-out}
.cmm-boutique-main:after{pointer-events:none}
.cmm-boutique-copy{pointer-events:none}
.cmm-boutique-copy a{pointer-events:auto}
.cmm-boutique-product-name{position:absolute;z-index:2;left:20px;bottom:18px;margin:0;max-width:calc(100% - 205px);padding:8px 12px;background:#f5f1e8ed;border-radius:10px;font-size:12px;line-height:1.35;color:#203c30;pointer-events:none}
.cmm-boutique-controls{position:absolute;bottom:18px;right:18px;z-index:3;display:flex;align-items:center;gap:4px;padding:3px;background:#f5f1e8ed;border-radius:30px;color:#203c30}
.cmm-boutique-controls button{display:grid;place-items:center;width:32px;height:32px;border:0;background:transparent;color:inherit;border-radius:50%;cursor:pointer;font:24px/1 Arial,sans-serif}
.cmm-boutique-controls button:hover{background:#dce3d5}
.cmm-boutique-controls button:focus-visible{outline:2px solid #203c30;outline-offset:2px}
.cmm-boutique-controls [data-boutique-pause]{font-size:13px}
.cmm-boutique-controls span{font-size:11px;min-width:34px;text-align:center}
@keyframes cmm-boutique-reveal{from{opacity:.35}to{opacity:1}}
@media(max-width:760px){.cmm-boutique-controls [data-boutique-prev],.cmm-boutique-controls [data-boutique-next]{display:none}
.cmm-boutique-controls{bottom:12px;right:12px}
.cmm-boutique-controls button{width:38px;height:38px}
.cmm-boutique-product-name{left:12px;bottom:12px;max-width:calc(100% - 110px);font-size:11px}}
@media(prefers-reduced-motion:reduce){.cmm-boutique-slide:not([hidden]){animation:none}}
[data-boutique-carousel]{touch-action:pan-y pinch-zoom}
.cmm-boutique-controls{inset:0;bottom:0;right:0;padding:0;background:none;border-radius:0;pointer-events:none;display:block}
.cmm-boutique-controls button{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:52px;background:#f5f1e859;color:#203c30;border-radius:24px;font-size:32px;opacity:0;pointer-events:none;transition:opacity .2s,background .2s}
.cmm-boutique-controls [data-boutique-prev]{left:14px}
.cmm-boutique-controls [data-boutique-next]{right:14px}
@media(hover:hover) and (pointer:fine){.cmm-boutique-main:hover .cmm-boutique-controls button{opacity:.45;pointer-events:auto}
.cmm-boutique-main .cmm-boutique-controls button:hover{opacity:.8;background:#f5f1e899}}
.cmm-boutique-main:has(:focus-visible) .cmm-boutique-controls button{opacity:.45;pointer-events:auto}
.cmm-boutique-main .cmm-boutique-controls button:focus-visible{opacity:1;background:#f5f1e8}
@media(max-width:760px){.cmm-boutique-controls [data-boutique-prev],.cmm-boutique-controls [data-boutique-next]{display:none}}
body.home .cmm-boutique-member{display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,calc(25 * var(--cmm-u,1px)),30px) clamp(22px,calc(32 * var(--cmm-u,1px)),38px);background:#f7f3e9;color:#203c30;border:1px solid #c9c4b3;box-shadow:inset 0 0 0 6px #ffffff45}
.cmm-member-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:clamp(10px,1vw,16px);font-size:clamp(9px,.65vw,11px);letter-spacing:.18em;line-height:1.3;color:#65715c}
.cmm-member-top svg{flex:none;width:20px;height:20px}
body.home .cmm-boutique-member h2{font-size:clamp(26px,calc(39 * var(--cmm-u,1px)),46px);line-height:1.02;letter-spacing:-.025em;max-width:100%;-webkit-text-stroke:0;margin:0}
body.home .cmm-boutique-member h2 em{font-weight:400;font-style:italic;color:#687553}
body.home .cmm-boutique-member p{font-size:clamp(11px,calc(13 * var(--cmm-u,1px)),15px);line-height:1.5;margin:12px 0 18px;color:#5e6558}
.cmm-member-footer{display:flex;align-items:center;gap:16px;justify-content:space-between}
body.home .cmm-boutique-member .cmm-boutique-button{display:inline-flex;justify-content:space-between;gap:20px;background:#203c30;color:#fffaf0;border:1px solid #203c30;border-radius:6px;min-height:40px;height:auto;padding:10px 16px;font-size:clamp(11px,calc(13 * var(--cmm-u,1px)),14px);line-height:1.3;text-decoration:none;transition:background .2s}
body.home .cmm-boutique-member .cmm-boutique-button span{font-size:20px;line-height:1}
body.home .cmm-boutique-member .cmm-boutique-button:hover{background:#385340}
body.home .cmm-boutique-member .cmm-boutique-button:focus-visible{outline:2px solid #203c30;outline-offset:4px}
.cmm-member-note{font-size:10px;line-height:1.4;color:#626b59;max-width:80px}
@media(min-width:761px) and (max-width:1100px){body.home .cmm-boutique-hero{min-height:520px}
.cmm-member-footer{gap:10px}
.cmm-member-note{display:none}
body.home .cmm-boutique-member h2{font-size:32px}}
@media(min-width:1101px) and (max-height:800px){body.home .cmm-boutique-member{padding:14px 22px}
.cmm-member-top{margin-bottom:8px}
body.home .cmm-boutique-member p{margin:9px 0 12px}
.cmm-member-note{display:none}}
@media(max-width:760px){body.home .cmm-boutique-member{padding:26px}
body.home .cmm-boutique-member h2{font-size:40px}
.cmm-member-top{font-size:10px;margin-bottom:18px}
body.home .cmm-boutique-member p{font-size:13px;margin:16px 0 22px}
.cmm-member-footer{gap:12px}
body.home .cmm-boutique-member .cmm-boutique-button{font-size:12px;min-height:44px}
.cmm-member-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){body.home .cmm-boutique-member .cmm-boutique-button{transition:none}}

/* Desktop membership sign, planted in a small mound of earth. */
.cmm-member-sign{display:none}
@media(min-width:1101px){
body.home .cmm-boutique-member h2{max-width:67%}
body.home .cmm-boutique-member>p{max-width:65%}
.cmm-member-sign{display:block;position:absolute;right:4%;top:53%;transform:translateY(-50%);width:29%;height:82%;max-height:236px;pointer-events:none}
.cmm-member-sign svg{display:block;width:100%;height:100%;overflow:visible}
}

/* White desktop homepage background. Keep the mobile palette. */
@media (min-width:761px){
 body.home{--paper:#fff;background:#fff}
 body.home.cmm-shared-header .cmm-shop-header{background:#fff}
}
