.shop-page{overflow:clip;background:#eee5d5;color:#203b30}
.shop-page .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.remove-item{margin-top:13px;padding:5px 0;border:0;border-bottom:1px solid #946b45;background:none;color:#946b45;font-size:12px;font-weight:600;cursor:pointer}
.shop-page :is(a,button,input,select):focus-visible{outline:3px solid #e4a734;outline-offset:3px}
.shop-hero{display:grid;grid-template-columns:52% 48%;min-height:640px;background:#203b30;color:#fffaf1}
.shop-hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(60px,7vw,120px) clamp(44px,7vw,130px)}
.shop-kicker{margin:0 0 32px;color:#e8bd81;font-size:11px;font-weight:700;letter-spacing:.17em}
.shop-hero h1{margin:0;font:700 clamp(56px,6vw,105px)/.98 Montserrat,Arial,sans-serif;letter-spacing:-.045em}
.shop-hero h1 span{color:#e6b578}
.shop-hero-copy>p:not(.shop-kicker){max-width:450px;margin:29px 0 0;color:#fffaf1d9;font-size:16px;line-height:1.7}
.shop-hero-link{display:inline-flex;align-items:center;gap:25px;min-height:48px;margin-top:42px;padding:0 0 7px;border:0;border-bottom:1px solid #fffaf1a8;background:none;color:#fffaf1;font-size:12px;font-weight:700;letter-spacing:.12em;cursor:pointer;transition:gap .3s,color .3s}
.shop-hero-link:hover{gap:34px;color:#ffbf4b}
.shop-hero-link span{font-size:22px;font-weight:400}
.shop-hero-media{position:relative;min-height:640px;overflow:hidden;background:#95795d}
.shop-hero-media::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#203b302a,transparent 26%)}
.shop-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.shop-intro{display:grid;grid-template-columns:.8fr 1.3fr;gap:8vw;width:min(1440px,90vw);margin:auto;padding:105px 0 120px;border-bottom:1px solid #cbbca7}
.shop-intro>.eyebrow{margin-top:20px}
.shop-intro h2{margin:0;color:#203b30;font:700 clamp(48px,4.6vw,76px)/1.03 Montserrat,Arial,sans-serif;letter-spacing:-.04em}
.shop-intro h2 span{color:#a97749}
.shop-intro p:last-child{max-width:460px;margin:23px 0 0;color:#615b50;font-size:16px;line-height:1.7}
.shop-collection{width:min(1500px,90vw);margin:auto;padding:93px 0 135px;scroll-margin-top:85px}
.shop-collection-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:43px}
.shop-collection-head h2{margin:0;color:#203b30;font:700 clamp(43px,4vw,69px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.04em}
.shop-collection-head>p{max-width:245px;margin:0 0 8px;color:#746a5d;font-size:13px;line-height:1.6}
.shop-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 0 19px;border-bottom:1px solid #cbbca7}
.shop-filters{display:flex;flex-wrap:wrap;gap:8px}
.shop-filters button{min-height:41px;padding:8px 17px;border:1px solid #bbab95;border-radius:999px;background:transparent;color:#203b30;font-size:12px;font-weight:600;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.shop-filters button:is(:hover,[aria-pressed="true"]){border-color:#203b30;background:#203b30;color:#fffaf1}
.shop-tool-right{display:flex;align-items:center;gap:18px}
.shop-search input{width:180px;min-height:41px;padding:8px 12px;border:1px solid #bbab95;background:#fffaf1;color:#203b30;font-size:12px}
.shop-sort{display:flex;align-items:center;gap:10px;white-space:nowrap;color:#746a5d;font-size:12px}
.shop-sort select{min-height:41px;padding:8px 11px;border:1px solid #bbab95;background:#fffaf1;color:#203b30;font-size:12px}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:clamp(16px,1.5vw,28px);margin-top:30px}
.shop-card{display:flex;flex-direction:column;min-width:0;padding:0;border:0;border-radius:10px;overflow:hidden;background:#f7f0e5;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.shop-card:is(:hover,:focus-within){transform:translateY(-4px);box-shadow:0 14px 30px #203b3014}
.shop-card[hidden]{display:none}
.shop-card-media{position:relative;display:block;aspect-ratio:1/1;overflow:hidden;border-radius:10px 10px 0 0;background:#e9dfce}
.shop-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .45s}
.shop-card-media .shop-card-hover{position:absolute;inset:0;opacity:0;pointer-events:none}
.shop-card:is(:hover,:focus-within) .shop-card-media img{transform:scale(1.025)}
.shop-card:is(:hover,:focus-within) .shop-card-media .shop-card-hover{opacity:1}
.shop-card-info{display:flex;flex:1;flex-direction:column;align-items:stretch;gap:8px;padding:20px 18px 18px;text-align:left}
.shop-card h3{margin:0;color:#203b30;font:500 clamp(15px,1vw,18px)/1.45 Montserrat,Arial,sans-serif;letter-spacing:0}
.shop-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}
.shop-card-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px 10px;margin:0;color:#203b30;line-height:1.4;font-variant-numeric:tabular-nums}
.shop-price{font-size:17px;font-weight:600}
.shop-card-price del{color:#817566;font-size:12px;font-weight:500}
.shop-discount{display:inline-block;align-self:center;padding:3px 6px;border-radius:3px;background:#b2783920;color:#86552c;font:600 9px/1.25 Montserrat,Arial,sans-serif;letter-spacing:.03em;white-space:nowrap}
.shop-card-rating{display:flex;align-items:center;gap:9px;margin:1px 0 20px;color:#6e665a;font-size:12px;line-height:1.5}
.shop-stars{display:inline-block;background:linear-gradient(to right,#a66b30 var(--rating-fill),#d6c6af var(--rating-fill));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:15px;letter-spacing:.025em;line-height:1.1;white-space:nowrap}
.shop-review-count{color:#807466}
.shop-add{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;min-height:50px;margin-top:auto;padding:15px 25px;border:1px solid #203b30;border-radius:3px;background:#203b30;color:#fffaf1;font:600 13px/1.35 Montserrat,Arial,sans-serif;letter-spacing:.08em;text-align:center;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.shop-add span{font-size:17px;font-weight:400;line-height:1}
.shop-add:is(:hover,:focus-visible){transform:translateY(-4px) scale(1.018);background:#ffbf4b;border-color:#ffbf4b;color:#203b30}
.shop-empty{padding:60px 20px;text-align:center;background:#fffaf1}
.shop-empty h3{margin:0;color:#203b30;font:700 28px Montserrat,Arial,sans-serif}
.shop-empty p{color:#615b50}
.shop-empty button{padding:12px 0;border:0;border-bottom:1px solid #203b30;background:none;color:#203b30;font-size:11px;font-weight:700;letter-spacing:.08em;cursor:pointer}
.shop-note{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:39px max(5vw,calc((100vw - 1440px)/2));background:#e9deca}
.shop-note>span{color:#ae8150;font-size:55px;line-height:1}
.shop-note p{flex:1;margin:0;color:#203b30;font:700 clamp(23px,2.4vw,39px)/1.2 Montserrat,Arial,sans-serif}
.shop-note a{display:flex;align-items:center;gap:20px;border-bottom:1px solid #203b30;padding-bottom:8px;color:#203b30;font-size:11px;font-weight:700;letter-spacing:.08em}
.shop-note a span{font-size:19px}
@media(max-width:1100px){.shop-hero{grid-template-columns:1fr 44%;min-height:560px}.shop-hero-copy{padding:55px 5vw}.shop-hero-media{min-height:560px}.shop-hero h1{font-size:clamp(51px,6vw,74px)}.shop-tools{align-items:flex-start;flex-direction:column}.shop-tool-right{width:100%;justify-content:space-between}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 20px}}
@media(max-width:700px){.shop-hero{display:flex;flex-direction:column;min-height:0}.shop-hero-copy{min-height:410px;padding:54px 6vw}.shop-kicker{margin-bottom:25px;font-size:10px}.shop-hero h1{font-size:clamp(50px,11.5vw,73px)}.shop-hero-copy>p:not(.shop-kicker){margin-top:23px;font-size:14px}.shop-hero-link{margin-top:25px;font-size:10px}.shop-hero-media{height:310px;min-height:0}.shop-intro{display:block;width:88%;padding:76px 0 84px}.shop-intro>.eyebrow{margin:0 0 24px}.shop-intro h2{font-size:50px}.shop-intro p:last-child{font-size:14px}.shop-collection{width:88%;padding:78px 0 90px}.shop-collection-head{display:block;margin-bottom:27px}.shop-collection-head h2{font-size:46px}.shop-collection-head>p{margin-top:13px}.shop-filters{gap:7px}.shop-filters button{padding-inline:12px;font-size:11px}.shop-search{flex:1}.shop-search input{width:100%}.shop-sort{gap:5px;font-size:10px}.shop-sort select{max-width:140px}.shop-grid{gap:35px 12px}.shop-card h3{min-height:51px;font-size:20px}.shop-card-info{padding-top:13px}.shop-card-bottom{align-items:flex-start;flex-direction:column;gap:5px}.shop-add{min-height:43px;margin-top:13px;padding:0 9px;font-size:9px}.shop-add span{font-size:16px}.shop-note{flex-wrap:wrap;gap:15px;padding:37px 6vw}.shop-note>span{font-size:37px}.shop-note p{flex:1 1 calc(100% - 60px);font-size:28px}.shop-note a{margin-left:52px}}
@media(max-width:390px){.shop-tool-right{align-items:stretch;flex-direction:column;gap:9px}.shop-sort{justify-content:space-between}.shop-sort select{max-width:none;flex:1}.shop-card h3{font-size:18px}}
@media(prefers-reduced-motion:reduce){.shop-page *{scroll-behavior:auto!important;transition:none!important}}

/* Collection-first layout: product discovery follows the short introduction. */
.shop-masthead{background:#f5efe5;border-bottom:1px solid #d7c9b6}
.shop-masthead-inner{width:min(1500px,90vw);margin:auto;padding:38px 0 62px}
.shop-masthead-row{display:block}
.shop-masthead-row .eyebrow{margin-bottom:17px}
.shop-masthead h1{margin:0;color:#203b30;font:700 clamp(55px,6vw,102px)/.94 Montserrat,Arial,sans-serif;letter-spacing:-.055em}
.shop-masthead h1 span{color:#b58254}
.shop-category-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;width:min(1500px,90vw);margin:0 auto;padding:38px 0 15px}
.shop-category-card{min-width:0;padding:0;border:0;background:#e9deca;color:#203b30;text-align:left;cursor:pointer;overflow:hidden}
.shop-category-image{display:block;aspect-ratio:1.8/1;overflow:hidden;background:#d8c3a5}
.shop-category-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.shop-category-card:hover .shop-category-image img,.shop-category-card:focus-visible .shop-category-image img{transform:scale(1.065)}
.shop-category-copy{display:grid;grid-template-columns:1fr auto;align-items:end;gap:0 8px;min-height:96px;padding:17px 22px 19px;transition:background .25s}
.shop-category-copy small{grid-column:1/-1;color:#956e48;font-size:10px;font-weight:700;letter-spacing:.13em}
.shop-category-copy strong{font:700 clamp(23px,2.4vw,37px)/1 Montserrat,Arial,sans-serif;letter-spacing:-.035em}
.shop-category-copy>span{font-size:25px;font-weight:400;line-height:1}
.shop-category-card:hover .shop-category-copy,.shop-category-card:focus-visible .shop-category-copy{background:#dbc6a8}
.shop-collection{padding-top:69px}
.shop-collection-head{margin-bottom:34px}
.shop-card-media{aspect-ratio:1/1}
@media(max-width:800px){.shop-masthead-inner{padding:29px 0 48px}.shop-breadcrumb{margin-bottom:34px}.shop-masthead-row{display:block}.shop-masthead h1{font-size:clamp(54px,9vw,78px)}.shop-masthead-row>p{max-width:560px;margin:20px 0 0}.shop-category-strip{gap:10px;padding-top:23px}.shop-category-image{aspect-ratio:1.15/1}.shop-category-copy{min-height:87px;padding:14px}.shop-category-copy strong{font-size:24px}}
@media(max-width:600px){.shop-masthead-inner,.shop-category-strip{width:88vw}.shop-masthead-inner{padding:23px 0 42px}.shop-breadcrumb{margin-bottom:29px}.shop-masthead h1{max-width:360px;font-size:clamp(53px,13vw,68px)}.shop-masthead-row>p{font-size:13px}.shop-category-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding-top:16px}.shop-category-image{aspect-ratio:1/1.12}.shop-category-copy{min-height:72px;padding:10px 7px;grid-template-columns:1fr auto}.shop-category-copy small{font-size:8px;letter-spacing:.03em}.shop-category-copy strong{font-size:clamp(13px,3.6vw,17px);line-height:1.05}.shop-category-copy>span{font-size:16px}.shop-collection{padding-top:55px}.shop-collection-head h2{font-size:42px}.shop-collection-head>p{font-size:12px}}
@media(max-width:800px){.shop-card{padding:0}.shop-card-info{padding:15px 14px 14px}.shop-card h3{min-height:0;font-size:15px}.shop-card-rating{gap:6px;font-size:11px}.shop-add{justify-content:center;min-height:46px;margin-top:auto;padding:14px 20px;font-size:11px}}
@media(max-width:580px){.shop-grid{grid-template-columns:1fr;max-width:440px;gap:18px;margin-inline:auto}.shop-card-media{aspect-ratio:1/.86}.shop-card h3{font-size:18px}.shop-card-rating{font-size:12px}}
