.essential { background:#f7f5f1; color:#292b26; }
.essential-bio { max-width:564px; margin:auto; padding:27px 30px 32px; }
.welcome { text-align:center; }
.welcome .brand { margin:0 auto 21px; }
.portrait-composition { width:206px; margin:0 auto 37px; position:relative; }
.portrait { width:206px; height:252px; object-fit:cover; object-position:50% 38%; border-radius:112px; box-shadow:0 0 0 7px #f7f5f1,0 0 0 8px #ded6ca; }
.portrait-note { position:absolute; left:-29px; top:19px; writing-mode:vertical-rl; transform:rotate(180deg); font-size:7px; font-weight:500; letter-spacing:.17em; color:#7d776b; }
.portrait-label { position:absolute; bottom:3px; right:-40px; padding:9px 17px; border-radius:3px; background:#e9e1d4; color:#605649; font-family:'Bodoni Moda',serif; font-style:italic; font-size:15px; transform:rotate(-5deg); }
.welcome .eyebrow { margin:0 0 9px; color:#776f60; }
h1 { margin:0; font-size:clamp(27px,7.7vw,37px); font-weight:500; line-height:1.25; letter-spacing:-1.2px; }
h1 em { font-family:'Bodoni Moda',serif; font-weight:500; color:#796c57; }
.welcome-copy { margin:15px 0 0; font-size:13px; line-height:1.85; color:#6e6b62; }
.contact-section { margin-top:34px; scroll-margin-top:24px; }
.section-label { display:flex; align-items:center; gap:12px; margin-bottom:17px; }
.section-label h2 { font-size:10px; font-weight:500; letter-spacing:.03em; text-align:center; margin:0; }
.section-label > span { height:1px; background:#ded8ce; flex:1; }
.contact-list { display:grid; gap:10px; }
.contact-link { display:grid; grid-template-columns:31px minmax(0,1fr) 20px; gap:18px; align-items:center; padding:22px; min-height:91px; border-radius:8px; border:1px solid #ded9cf; background:#fffefa; transition:background .2s,border-color .2s,transform .2s; }
.contact-link strong { font-size:16px; letter-spacing:-.25px; }
.contact-link small { margin-top:5px; font-size:11px; color:#747166; }
.contact-link .card-icon { color:#5a6152; }
.contact-link .card-arrow { color:#878271; }
.social-link,.location-link { background:transparent; }
.weekly-card { display:block; overflow:hidden; min-width:0; border:1px solid #ded9cf; border-radius:8px; background:#efebe3; }
.weekly-card { scroll-margin-top:24px; }
.collection-banner { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; background:#efebe3; }
.weekly-caption { display:grid; grid-template-columns:minmax(0,1fr) 20px; align-items:center; gap:16px; padding:22px; }
.weekly-caption strong { display:block; font-size:19px; font-weight:500; letter-spacing:-.5px; line-height:1.4; }
.weekly-caption small { display:block; margin-top:6px; font-size:11px; line-height:1.7; color:#747166; }
.weekly-card .card-arrow { color:#796c57; }
@media(hover:hover) { .weekly-card:hover { background:#e8e2d7; } .weekly-card:hover .card-arrow { transform:translate(2px,-2px); } }
@media(max-width:600px) { .weekly-caption { padding:20px 17px; gap:12px; } .weekly-caption strong { font-size:18px; } .weekly-caption small { font-size:10.5px; } }
@media(hover:hover) { .contact-link:hover { background:#ebe6dc; border-color:#b7ac98; transform:translateY(-2px); } }
.visit-hours { margin:26px 0 0; padding:24px 22px; background:#efebe3; border-radius:8px; scroll-margin-top:24px; }
.visit-hours h2 { margin:0 0 15px; color:#716956; font-size:9px; }
.store-location h3 { margin:0 0 8px; font-size:19px; font-weight:500; letter-spacing:-.4px; }
.store-location address { font-style:normal; font-size:12px; line-height:1.8; color:#6e6b62; margin-bottom:17px; }
.store-location + .store-location { border-top:1px solid #d9d1c5; margin-top:23px; padding-top:23px; }
.store-hours p > :last-child { white-space:nowrap; }
.directions-link { display:inline-flex; align-items:center; gap:9px; min-height:44px; margin-top:9px; font-size:11px; font-weight:600; color:#575b4c; text-decoration:underline; text-underline-offset:4px; }
.directions-link svg { width:16px; height:16px; }
.store-hours { color:#5f5c52; }
footer { text-align:center; margin-top:29px; }
.closing { font-size:15px; line-height:1.65; letter-spacing:-.2px; margin:0 0 22px; }
.closing em { font-family:'Bodoni Moda',serif; font-size:20px; font-weight:500; }
.footer-signature { color:#7b7567; margin:0; }
@media(max-width:600px) { .essential-bio { padding:19px 23px 27px; } .welcome .brand { margin-bottom:18px; } .portrait-composition { width:180px; margin-bottom:31px; } .portrait { width:180px; height:220px; } .portrait-label { right:-34px; font-size:14px; padding:7px 14px; } .portrait-note { font-size:6.5px; } .welcome-copy { font-size:12px; margin-top:12px; } .contact-section { margin-top:29px; } .contact-link { padding:19px 17px; gap:14px; } .contact-link strong { font-size:15px; } .contact-link small { font-size:10.5px; } .collection-heading { padding:19px 17px 16px; } }
@media(max-width:360px) { .essential-bio { padding-inline:16px; } .contact-link { padding:17px 14px; grid-template-columns:28px minmax(0,1fr) 18px; gap:11px; } .contact-link strong { font-size:14px; } .contact-link small { font-size:10px; } .portrait-label { right:-28px; } }
