/* Little Loaf — a warm, editorial storefront. */
.storefront{--ink:#343d30;--paper:#f6f2e8;--muted:#747567;--line:#d8d5c7;--light:#eae9dd;border:0;background:#f6f2e8 url('/paper.svg');color:var(--ink);font-size:15px}
.storefront .preview{background:#555e49;color:#f8f5e9;font-size:9px;letter-spacing:1.7px;padding:11px 20px}
.storefront header{max-width:1320px;margin:auto;background:transparent;border:0;padding:12px 5%;gap:30px;min-height:128px}
.storefront .brand-logo{width:205px;height:115px}.brand-logo img{mix-blend-mode:darken}
.storefront nav{gap:30px;font-size:12px}.storefront nav>a{position:relative;padding:12px 0}.storefront nav>a:after{content:'';position:absolute;bottom:6px;left:0;right:100%;height:1px;background:currentColor;transition:right .2s}.storefront nav>a:hover:after{right:0}
.storefront .bag{border-color:#a6ab98;padding:10px 17px;border-radius:3px;font-size:12px}.storefront .bag span{min-width:21px;height:21px;margin-left:16px;font-size:11px}
.storefront h1,.storefront h2,.storefront h3{font-family:'Libre Caslon Display',Georgia,serif}.storefront em{font-weight:400;color:#707a5f}.storefront .eyebrow{font-size:9px;letter-spacing:1.9px;line-height:1.7;font-weight:600;margin:0 0 22px}
.storefront .hero{max-width:1240px;margin:0 auto;padding:38px 5% 65px;display:grid;grid-template-columns:1.08fr 1fr;gap:55px;min-height:0;background:transparent;color:var(--ink);text-align:left;isolation:auto;align-items:center}
.storefront .hero-copy{padding-bottom:15px}.storefront .hero h1{font-size:clamp(60px,6.5vw,88px);line-height:.98;letter-spacing:-2.7px}.storefront .hero .intro{font-size:14px;line-height:1.85;max-width:390px;margin:25px 0 28px;color:#686c5e}
.storefront .hero-actions{display:flex;gap:25px;align-items:center}.storefront .primary{background:#505b44;color:#fffdf4;border:1px solid #505b44;border-radius:2px;padding:15px 21px;letter-spacing:.2px;font-size:12px;gap:35px;transition:background .2s,transform .2s}.storefront .primary:hover{background:#39442f;transform:translateY(-2px)}.storefront .primary:disabled{transform:none}
.storefront .text-link{font-family:inherit;font-size:11px;background:transparent;border:0;border-bottom:1px solid #9fa68f;padding:7px 0;letter-spacing:.2px}.storefront .text-link span{margin-left:20px}
.storefront .pickup-note{display:flex;align-items:center;gap:14px;margin-top:35px}.storefront .pickup-note p{font-size:10px;line-height:1.9;color:#7b7c70;margin:0}.storefront .pickup-note strong{color:#4f5946;font-weight:500}.sun-mark{font:36px Georgia;color:#8a7656}
.hero-visual{position:relative;max-width:490px;padding:0 5px 0 0}.hero-frame{height:440px;overflow:hidden;border-radius:49% 49% 4px 4px;background:#ded7c7}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 52%;display:block}.hero-seal{position:absolute;right:-24px;bottom:62px;width:115px;height:115px;border-radius:50%;background:#ece9d7;color:#586349;box-shadow:0 0 0 6px #f7f3e7;border:1px solid #acb297;text-align:center;display:flex;flex-direction:column;justify-content:center;font-size:7px;letter-spacing:1.2px;transform:rotate(10deg)}.hero-seal span{font:italic 24px/1.05 'Libre Caslon Display',Georgia;letter-spacing:0;margin:7px 0}.photo-caption{font:italic 12px Georgia;color:#828273;text-align:center;margin:15px 0 0}
.bakery-ribbon{display:flex;justify-content:center;align-items:center;gap:55px;padding:22px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#e9e9dc;font-size:11px;letter-spacing:.7px}.bakery-ribbon i{font-style:normal;font-size:19px;color:#9b9e82}
.storefront #menu{max-width:1240px;margin:0 auto;padding:78px 5% 80px}.storefront .section-head{display:flex;align-items:end;justify-content:space-between;gap:25px}.storefront h2{font-size:59px;line-height:1.06;letter-spacing:-1.2px}.storefront .section-head h2{font-size:62px}.heading-dot{color:#8b9675}.storefront .section-head .eyebrow{margin-bottom:13px}.storefront .section-head>p{font-size:12px;line-height:1.9;margin-bottom:5px}.storefront #window-status{display:inline-flex;margin:23px 0 8px;background:transparent;padding:0;color:#6d765f;font-size:11px}.storefront #window-status:before{content:'';width:6px;height:6px;background:#85906d;border-radius:50%;margin:6px 9px 0 0;flex-shrink:0}
.storefront .filters{gap:23px;margin:15px 0 30px;padding-bottom:0;border-bottom:1px solid var(--line);flex-wrap:wrap}.storefront .filters button{padding:13px 0 15px;border:0;border-bottom:2px solid transparent;border-radius:0;font-size:11px;background:transparent;color:#7a7f6f;margin-bottom:-1px}.storefront .filters button.active{border-color:#4e5b40;color:#34432b;background:none}
.storefront .products{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 27px}.storefront .product{display:flex;flex-direction:column;min-width:0;border:0;padding:0}.storefront .product-art{height:auto;aspect-ratio:1.08;overflow:hidden;border-radius:3px;background:#e9e5d9}.storefront .product-art img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.storefront .product:hover .product-art img{transform:scale(1.035)}.storefront .product h3{font-size:28px;line-height:1.08;margin:18px 0 0}.storefront .product p{font-size:11px;color:#7a7d70;line-height:1.7;margin:10px 0 18px;min-height:36px}.storefront .product-bottom{border-top:1px solid var(--line);padding-top:12px;margin-top:auto;gap:12px}.storefront .product-bottom strong{font-size:13px;font-weight:500}.storefront .add{font-size:10px;padding:9px 13px;border:1px solid #aeb4a0;border-radius:2px}.storefront .add:hover{background:#505b44;color:white}.storefront .photo-pending{font-size:26px;color:#808874;padding:20px;text-align:center}.storefront .photo-pending small{font-size:8px;display:block;line-height:1.8;margin-top:7px}.menu-more{text-align:center;margin-top:43px}.storefront .menu-more button{font-size:12px;padding:12px 8px;border-color:#737e63;min-width:200px}.menu-more .small{font-size:10px;color:#7a7d70;margin:14px 0 0}
.storefront .story{max-width:1240px;margin:0 auto;padding:45px 5% 95px;border:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}.story-photos{position:relative;padding:0 55px 50px 0;min-width:0}.story-main{width:100%;height:430px;object-fit:cover;border-radius:3px}.story-detail{position:absolute;right:-12px;bottom:0;width:47%;height:205px;object-fit:cover;border:9px solid #f5f1e7;transform:rotate(6deg)}.story-note{position:absolute;bottom:0;left:0;font:italic 25px/1.05 'Libre Caslon Display',Georgia;color:#7c866c;transform:rotate(-7deg)}.storefront .story h2{font-size:57px}.storefront .story p:not(.eyebrow){font-size:13px;line-height:1.9;color:#777b6d;max-width:380px;margin:22px 0}.storefront .story .text-link{margin-top:7px}
.storefront .how{max-width:none;margin:0;padding:70px max(5%,calc((100% - 1116px)/2));display:grid;grid-template-columns:1fr 1fr;gap:100px;background:#e2e6d8 url('/paper.svg');background-blend-mode:multiply;border-radius:0}.storefront .how p:not(.eyebrow){font-size:12px;line-height:1.85;color:#6b7660;margin-top:23px}.storefront .how h2{font-size:58px}.how-steps article{display:flex;gap:24px;padding:24px 0;border-bottom:1px solid #c3cbb5}.how-steps article:first-child{padding-top:0}.how-steps article:last-child{border:0;padding-bottom:0}.how-steps article>span{font:italic 28px 'Libre Caslon Display',Georgia;color:#879276}.how-steps h3{font-size:27px}.storefront .how-steps p{margin:9px 0 0!important;font-size:11px!important}
.storefront #updates{max-width:1240px;margin:0 auto;padding:80px 5%;text-align:left;border:0}.news-intro{display:flex;align-items:center;justify-content:space-between;gap:40px}.storefront #updates h2{font-size:54px}.news-intro p:not(.eyebrow){font-size:12px;line-height:1.9;color:#737b68;margin-bottom:22px}.storefront #news-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:33px 0 0}.storefront #news-list article{background:#edeadd;border:0;border-top:1px solid #c9ceb9;padding:23px}.storefront #news-list h3{font-size:26px}.storefront #news-list p{font-size:12px;line-height:1.8}.storefront .news-empty{grid-column:1/-1;border-top:1px solid var(--line);padding:25px 0 0;color:#6b745e;font:23px/1.6 'Libre Caslon Display',Georgia;margin:0}.news-empty span{font:8px 'DM Sans',sans-serif;display:block;letter-spacing:1.5px;color:#8b8d7a;margin-bottom:10px}.news-empty small{font:11px 'DM Sans',sans-serif;color:#8b8d7a}
.storefront .contact{background:#eae7da url('/paper.svg');background-blend-mode:multiply;padding:65px 25px;text-align:center}.storefront .contact h2{font-size:65px}.storefront .contact>p:not(.eyebrow){font-size:12px;line-height:1.9;color:#777d6d;margin:20px 0 25px}.storefront .contact-email{display:block;width:fit-content;margin:auto;font-size:17px;text-decoration:none;border-bottom:1px solid #9ba38d;padding-bottom:9px;overflow-wrap:anywhere}.contact-email span{margin-left:18px}.storefront .contact-phone{display:block;font-size:12px;margin:17px 0 30px;text-decoration:none}.storefront .contact details{max-width:460px;margin:24px auto 0;border-top:1px solid #c9cdba}.storefront .contact summary{padding:18px 0;font-size:11px;list-style:none;cursor:pointer}.contact summary span{margin-left:15px}.storefront .contact details p{font-size:11px;line-height:1.8}
.storefront footer{max-width:1240px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;gap:35px;background:transparent;border:0}.storefront footer .brand-logo{width:180px;height:105px}.storefront .footer-brand p{font-size:9px;margin:0;text-align:center}.storefront footer .eyebrow{font-size:8px;margin:0 0 10px}.storefront footer p{font-size:11px}.footer-links{display:flex;flex-direction:column;gap:13px;font-size:11px}.storefront dialog{border:1px solid #d4d3c4;border-radius:4px;background:#f7f4eb url('/paper.svg');padding:30px}.storefront dialog::backdrop{background:#252c20a8}.storefront .notice{border-radius:2px}.storefront #toast{border-radius:3px}.storefront .small{color:#777f6c}.storefront input,.storefront select,.storefront textarea{border-radius:2px}.storefront #checkout-error{color:#9b493b}
@media(min-width:1400px){.storefront .hero{padding-top:45px;padding-bottom:75px}.hero-frame{height:485px}.storefront .hero h1{font-size:94px}}
@media(max-width:950px){.storefront nav{gap:18px}.storefront header{gap:20px}.storefront .brand-logo{width:180px;height:105px}.storefront .hero{gap:35px}.storefront .hero h1{font-size:67px}.hero-frame{height:395px}.hero-seal{width:100px;height:100px;right:-10px}.storefront .hero-actions{gap:15px}.storefront .primary{gap:20px}.storefront .story{gap:50px}.storefront .story h2{font-size:48px}.story-main{height:370px}.storefront .how{gap:50px}.storefront h2,.storefront .how h2{font-size:48px}.bakery-ribbon{gap:25px}}
@media(max-width:700px){.storefront .preview{font-size:8px;line-height:1.7;padding:9px 16px;letter-spacing:1px}.storefront header{padding:5px 20px 12px;display:flex;flex-wrap:wrap;gap:0;justify-content:center;min-height:0}.storefront .brand-logo{width:185px;height:104px}.storefront nav{width:100%;justify-content:center;gap:20px;flex-wrap:nowrap;font-size:11px}.storefront nav>a{display:block}.storefront nav>a:nth-child(2),.storefront nav>a:nth-child(4){display:none}.storefront .bag{padding:8px 11px}.storefront .bag span{margin-left:9px}.storefront .hero{display:flex;flex-direction:column;padding:35px 24px 30px;gap:30px;align-items:stretch;text-align:left}.storefront .hero-copy{padding:0}.storefront .hero h1{font-size:68px;letter-spacing:-2px;line-height:1}.storefront .hero .eyebrow{font-size:8px;margin-bottom:18px}.storefront .hero .intro{font-size:13px;margin:21px 0}.storefront .hero-actions{gap:22px}.storefront .hero .primary{font-size:11px;padding:14px 18px;gap:28px}.storefront .pickup-note{margin-top:24px}.storefront .pickup-note p{font-size:9px}.hero-visual{max-width:100%;width:100%;padding:0 13px 0 0}.hero-frame{height:360px;border-radius:47% 47% 3px 3px}.hero-seal{right:0;bottom:55px}.photo-caption{font-size:10px}.bakery-ribbon{padding:17px 12px;gap:15px;font-size:8px;letter-spacing:0;justify-content:space-around}.bakery-ribbon i{font-size:13px}.bakery-ribbon span:last-child,.bakery-ribbon i:nth-last-child(2){display:none}.storefront #menu{padding:47px 20px}.storefront .section-head{display:block}.storefront .section-head h2{font-size:50px}.storefront .section-head>p{font-size:11px;margin-top:15px!important}.storefront .filters{gap:17px;flex-wrap:nowrap;overflow:auto;margin-bottom:23px}.storefront .filters button{font-size:10px;white-space:nowrap;padding:12px 0}.storefront .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 15px}.storefront .product-art{height:auto;aspect-ratio:.88}.storefront .product h3{font-size:24px;margin-top:13px}.storefront .product p{font-size:10px;min-height:50px;margin:9px 0 12px}.storefront .product-bottom{flex-wrap:wrap;gap:10px}.storefront .product-bottom strong{font-size:12px}.storefront .add{font-size:9px;padding:8px 9px;width:100%}.storefront .photo-pending{font-size:23px;padding:10px}.storefront .photo-pending small{font-size:7px}.menu-more{margin-top:29px}.storefront .story{padding:20px 25px 50px;grid-template-columns:1fr;gap:35px}.story-photos{padding-right:60px;padding-bottom:45px}.story-main{height:350px}.story-detail{height:180px;right:4px}.story-note{font-size:23px}.storefront .story h2{font-size:49px}.storefront .story p:not(.eyebrow){font-size:12px;margin:18px 0}.storefront .how{padding:45px 25px;grid-template-columns:1fr;gap:30px}.storefront .how h2{font-size:50px}.storefront .how-heading p:not(.eyebrow){margin-top:18px}.storefront #updates{padding:47px 25px}.news-intro{display:block}.storefront #updates h2{font-size:46px}.news-intro>div+div{margin-top:22px}.storefront #news-list{grid-template-columns:1fr}.storefront .news-empty{font-size:22px}.storefront .contact{padding:45px 20px}.storefront .contact h2{font-size:55px}.storefront .contact-email{font-size:13px}.contact-email span{margin-left:8px}.storefront footer{padding:25px 22px;flex-wrap:wrap;justify-content:space-between;gap:25px}.storefront footer .brand-logo{width:170px;height:100px}.storefront footer>div:nth-child(2){order:3;width:100%;border-top:1px solid var(--line);padding-top:20px}.storefront .footer-links{font-size:11px;gap:15px}.storefront dialog{padding:22px}.storefront .dialog-head h2{font-size:35px}.storefront .desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
.storefront .product-art img{object-position:center 67%}
@media(max-width:700px){.storefront .add{min-height:42px}.storefront .filters button{min-height:44px}.storefront .bag{min-height:42px}.storefront .product-art img{object-position:center 60%}}
/* Preserve complete product photos at every screen size. */
.storefront .product-art{aspect-ratio:3/4}
.storefront .product-art img{object-fit:contain;object-position:center}
.storefront .product:hover .product-art img{transform:none}
@media(max-width:700px){.storefront .product-art{aspect-ratio:3/4}.storefront .product-art img{object-fit:contain;object-position:center}}
/* Centre the loaf itself within the arched photo frame. */
.hero-frame img{width:114%;max-width:none;object-position:50% 39%}
/* Full loaf in the hero: fit the original photo instead of enlarging it. */
.hero-frame{background:#d2cecb}
.hero-frame img{width:114%;height:100%;object-fit:contain;object-position:center;max-width:none}
/* Match the arch to the portrait photograph; no filler strips. */
.hero-visual{width:100%;max-width:400px;margin-left:auto}
.hero-frame{height:500px;background:transparent}
.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.06) translateX(2.5%)}
@media(min-width:1400px){.hero-frame{height:500px}}
@media(max-width:950px){.hero-frame{height:450px}}
@media(max-width:700px){.hero-visual{max-width:360px;margin:0 auto;padding:0 10px}.hero-frame{height:420px}.hero-seal{right:0}}
/* Optical alignment: equal space around the loaf, without enlarging it. */
.hero-frame{background:url('/images/classic.jpg') center/cover no-repeat}
.hero-frame img{transform:scale(1.06) translateX(8%)}

/* Ivory bakery doodles float over the existing paper grain. */
.storefront{position:relative;isolation:isolate}
.storefront::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:url('/images/baking-doodles.png') 35px 180px/940px 940px repeat;opacity:.42;mix-blend-mode:multiply}
.storefront header{max-width:1240px;padding:12px 5%;min-height:190px}
.storefront header .brand-logo{width:320px;height:170px;overflow:visible}
.storefront .brand-logo img{width:100%;height:100%;object-fit:contain;object-position:left center;mix-blend-mode:normal}
.storefront footer .brand-logo{width:230px;height:120px}
@media(max-width:950px){.storefront header .brand-logo{width:270px;height:145px}.storefront nav{gap:17px}}
@media(max-width:700px){.storefront header{padding:12px 24px 18px;min-height:0}.storefront header .brand-logo{width:270px;height:140px}.storefront::before{background-size:640px 640px;opacity:.3}.storefront footer .brand-logo{width:210px;height:110px}}
.storefront::before{opacity:.62;filter:brightness(.86) saturate(.2)}
@media(max-width:700px){.storefront::before{opacity:.45}}
.storefront::before{opacity:.34;filter:brightness(.86) sepia(.5) saturate(.6)}
@media(max-width:700px){.storefront::before{opacity:.28}}
/* Keep the opening composition compact, with the loaf beside the copy. */
.storefront header{max-width:1100px;min-height:166px;padding-top:4px;padding-bottom:4px}
.storefront header .brand-logo{height:158px}
.storefront .hero{max-width:1100px;padding-top:14px;padding-bottom:38px;gap:30px;grid-template-columns:1.08fr 1fr}
.storefront .hero-copy{padding-bottom:0}
.storefront .hero .eyebrow{margin-bottom:18px}
.storefront .hero h1{font-size:clamp(60px,6.5vw,86px)}
.storefront .hero .intro{margin:19px 0 23px}
.storefront .pickup-note{margin-top:23px}
.storefront .hero-visual{max-width:370px;margin-left:0;justify-self:center;padding-right:0}
.storefront .hero-frame{height:462px}
.storefront .photo-caption{margin-top:12px}
@media(max-width:950px) and (min-width:701px){.storefront header{min-height:149px}.storefront header .brand-logo{width:255px;height:141px}.storefront nav{gap:15px}.storefront .hero{gap:25px}.storefront .hero h1{font-size:67px}.storefront .hero-frame{height:420px}}
@media(max-width:700px){.storefront header{min-height:0;padding:6px 24px 10px}.storefront header .brand-logo{width:270px;height:140px}.storefront .hero{padding:24px 24px 28px;gap:25px}.storefront .hero h1{font-size:68px}.storefront .hero-visual{max-width:360px;margin:0 auto;padding:0 10px}.storefront .hero-frame{height:420px}}
.storefront .cutoff-clock{width:fit-content;margin:23px 0 10px;padding:15px 22px;background:#e8ecdf;border:1px solid #d5ddc6;border-radius:5px}.storefront .cutoff-clock[hidden]{display:none}.storefront .cutoff-clock>span{display:block;font-size:10px;color:#68735a;margin-bottom:8px}.storefront .cutoff-clock strong{font-size:25px;letter-spacing:1px;font-variant-numeric:tabular-nums}

.footer-links a:has(.social-icon){display:flex;align-items:center;gap:9px}.social-icon{width:18px;height:18px;flex:0 0 18px;display:inline-block;vertical-align:middle}

/* Keep the complete portrait and loaf visible at every screen size. */
.story-photos.story-portrait{padding:0;max-width:480px;width:100%}.story-portrait .story-main{display:block;width:100%;height:auto;object-fit:contain;border-radius:4px}

/* Vector marks avoid iPhone emoji/font substitutions. */
.storefront button{-webkit-appearance:none;appearance:none;font-family:inherit}.storefront .loaf-icon{display:inline-block;vertical-align:middle;flex-shrink:0;max-width:none;pointer-events:none}.storefront .arrow-icon{width:14px;height:14px}.storefront .sun-mark{display:flex;align-items:center;line-height:1;flex:0 0 32px}.storefront .sun-mark .star-icon{width:32px;height:32px}.storefront .bakery-ribbon i{display:flex;align-items:center;line-height:1}.storefront .bakery-ribbon .star-icon{width:19px;height:19px}.storefront .contact-email .arrow-icon{width:16px;height:16px}@media(max-width:700px){.storefront .arrow-icon{width:12px;height:12px}.storefront .sun-mark{flex-basis:28px}.storefront .sun-mark .star-icon{width:28px;height:28px}.storefront .bakery-ribbon .star-icon{width:14px;height:14px}.storefront .bakery-ribbon i:nth-last-child(2){display:none}}
