@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');:root{--ink:#282c25;--cream:#f8f5ef;--olive:#535b42;--rose:#e9d7cb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',sans-serif}header{padding:26px 5%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:#fffdf9}.brand{font-family:'Playfair Display',serif;font-size:24px;letter-spacing:.11em;text-decoration:none;color:var(--ink)}.brand span{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.3em;margin-top:8px}nav{display:flex;gap:26px}nav a,footer a{color:inherit;text-decoration:none;font-size:13px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:570px}.hero-text{padding:100px 10%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.26em;color:#856b59;font-weight:700}.hero h1{font:clamp(46px,5.1vw,82px)/1.1 'Playfair Display',serif;margin:18px 0}.hero p:not(.eyebrow){line-height:1.9;max-width:490px;color:#5b5e55}.button{display:inline-block;background:var(--olive);color:white;padding:16px 27px;text-decoration:none;margin-top:20px;font-size:13px;letter-spacing:.08em}.hero-art{background:linear-gradient(140deg,#8c9875,#48563e);display:flex;justify-content:center;align-items:center;color:#f8eee0;text-align:center}.hero-art span{font:clamp(48px,5vw,85px)/1.18 'Playfair Display',serif;letter-spacing:.08em;border:1px solid #e6e6d180;padding:65px 30px}section:not(.hero){padding:85px 7%}h2{font:clamp(35px,3.3vw,53px)/1.2 'Playfair Display',serif;font-weight:400;margin:14px 0 25px}.intro{text-align:center;max-width:900px;margin:auto}.intro p:last-child{line-height:1.9;color:#666}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tile{min-height:360px;padding:28px;color:white;text-decoration:none;display:flex;flex-direction:column;justify-content:end;background:#737f6c}.tile span{font-size:10px;letter-spacing:.13em}.tile h3{font:31px 'Playfair Display',serif;margin:12px 0}.tile p{font-size:13px}.pantry{background:linear-gradient(155deg,#d1aa77,#705b3b)}.books{background:linear-gradient(155deg,#a69b89,#554e47)}.beauty{background:linear-gradient(155deg,#c6a7a1,#7e6964)}.home{background:linear-gradient(155deg,#a9b19c,#5d6755)}.feature{background:#e9e6dc;text-align:center}.feature p:last-child{max-width:700px;margin:auto;line-height:1.9}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}.product{background:white;padding:22px}.product img{width:100%;aspect-ratio:1;object-fit:contain}.product a{color:var(--olive);font-weight:700}.fine{font-size:11px;color:#666;line-height:1.7}.newsletter{background:#e9d7cb;text-align:center}.newsletter a{color:inherit}footer{display:flex;justify-content:space-between;gap:20px;padding:30px 7%;font-size:12px}@media(max-width:900px){nav{flex-wrap:wrap;gap:12px}.hero{grid-template-columns:1fr}.hero-text{padding:65px 8%}.hero-art{min-height:340px}.tiles{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){header{display:block}.brand{display:block;margin-bottom:20px}.tiles{grid-template-columns:1fr}.tile{min-height:250px}footer{flex-direction:column}}

.story-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px}.story{background:#f8f5ee;border:1px solid #e8e0d4;padding:32px;border-radius:4px}.story h2{font-size:clamp(1.5rem,2.5vw,2rem);margin:8px 0 16px}.story p{line-height:1.7}.story .eyebrow{font-size:.75rem;letter-spacing:.16em}footer{flex-wrap:wrap;gap:16px}a:focus-visible{outline:3px solid #ae703a;outline-offset:3px}

.collection-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 26px}.collection-filter{border:1px solid #bdb9ad;background:transparent;padding:10px 14px;cursor:pointer;font:inherit;font-size:12px;color:var(--ink)}.collection-filter[aria-pressed="true"]{background:var(--olive);color:#fff;border-color:var(--olive)}.product{display:flex;flex-direction:column;gap:10px;border:1px solid #e4ded2;min-height:250px}.product h3{font:26px/1.25 'Playfair Display',serif;margin:0}.product p{line-height:1.6;margin:0;color:#5b5e55}.product .eyebrow{font-size:10px;color:#856b59}.product .product-maker{font-weight:700}.product .product-origin{font-size:11px}.product a{margin-top:auto;padding-top:12px}

/* Phase 1 boutique cards and local shopping bag */
header{flex-wrap:wrap}.bag-toggle,.bag-add{background:var(--olive);color:#fff;border:0;padding:12px 18px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.bag-toggle{white-space:nowrap}.products{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.product{padding:0 0 20px;overflow:hidden;gap:10px}.product>p,.product>h3,.product>.product-actions{margin-left:18px;margin-right:18px}.product-picture{width:100%;aspect-ratio:1/1;background:#ede8df;display:grid;place-items:center;overflow:hidden}.product-picture img{width:100%;height:100%;object-fit:contain}.product-picture-placeholder{color:#756f64;font:italic 18px 'Playfair Display',serif}.product-description{font-size:13px}.product-actions{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.product-actions a{padding:0;font-size:12px}.bag-panel[hidden]{display:none}.bag-panel{position:fixed;z-index:1000;right:16px;top:16px;width:min(420px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;background:#fffdf9;box-shadow:0 12px 60px #25291e55;border:1px solid #c8c1b5;padding:24px}.bag-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.bag-header h2{font-size:27px;margin:0}.bag-header button{font-size:26px;background:transparent;border:0;cursor:pointer}.bag-item{padding:15px 0;border-bottom:1px solid #ddd;display:flex;flex-direction:column;gap:8px}.bag-item-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.bag-item-actions button,#bag-clear{padding:7px 10px;background:#f1eee7;border:1px solid #ccc;cursor:pointer}.bag-item-actions a{color:var(--olive);font-weight:700;font-size:13px}.bag-note{font-size:12px;color:#666;line-height:1.6}.bag-remove{margin-left:auto}button:focus-visible{outline:3px solid #ae703a;outline-offset:3px}

/* Amazon add-to-cart checkout action */
.bag-footer-actions{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap;margin-top:20px}.bag-footer-actions #bag-clear{flex:0 0 auto}.bag-checkout{flex:1 1 200px;min-height:48px;display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:#232f3e;color:#fff;cursor:pointer;padding:10px 14px;font:600 13px 'DM Sans',sans-serif}.bag-checkout:disabled{opacity:.48;cursor:not-allowed}.amazon-wordmark{position:relative;font:bold 19px Arial,sans-serif;letter-spacing:-1px;line-height:1.2;padding-bottom:5px}.amazon-smile{position:absolute;left:13px;right:2px;bottom:0;height:8px;border-bottom:3px solid #ff9900;border-radius:0 0 80% 80%;transform:rotate(-6deg)}.bag-checkout:focus-visible{outline:3px solid #ae703a;outline-offset:3px}

/* Editorial pages, collections and image gallery */
[data-go]{cursor:pointer}[data-go]:focus-visible{outline:3px solid var(--olive)}.collection-filters a{text-decoration:none;display:inline-flex;align-items:center}.collection-filter[aria-current="page"]{background:var(--olive);color:white}.selection-note{font-size:14px;color:#666;margin-bottom:24px}.selection-note a{color:var(--olive)}.collection-hero,.editorial-hero{min-height:380px;background-position:center;background-size:cover;display:flex;align-items:center;color:#fff;padding:70px 8%}.collection-hero>div,.editorial-hero>div{max-width:700px}.collection-hero h1,.editorial-hero h1{font:clamp(46px,5.5vw,76px)/1.12 'Playfair Display',serif;margin:15px 0}.collection-hero .eyebrow,.editorial-hero .eyebrow{color:#f1d9b6}.collection-hero p,.editorial-hero p{line-height:1.7}.catalog-section{padding:65px 7%}.catalog-search{display:block;width:min(500px,100%);padding:14px;margin:10px 0 28px;border:1px solid #bcb7ac;background:white;font:inherit}.editorial-section{max-width:950px;margin:auto;padding:72px 8%;border-bottom:1px solid #ded8ca}.editorial-section p:not(.eyebrow){max-width:760px;line-height:1.95;color:#62665d}.editorial-end{text-align:center;background:#e9e6dc;padding:65px 8%}.product-picture[role="button"]{cursor:zoom-in}.gallery-dialog{width:min(1080px,96vw);max-height:94vh;border:0;padding:38px 22px 20px;background:#fffdf9;box-shadow:0 12px 70px #1118}.gallery-dialog::backdrop{background:#141915c9}.gallery-close{position:absolute;right:12px;top:6px;font-size:32px;border:0;background:transparent;cursor:pointer}.gallery-layout{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:20px;align-items:start}.gallery-view{min-height:340px;text-align:center;overflow:hidden}.gallery-view img{width:100%;height:min(68vh,650px);object-fit:contain;cursor:zoom-in;transition:transform .15s;transform-origin:center}.gallery-view img:hover{transform:scale(1.65)}.zoom-hint{display:block;font-size:12px;color:#666}.gallery-thumbs{display:flex;flex-direction:column;gap:10px}.gallery-thumb{background:white;border:1px solid #c6c0b5;padding:3px;cursor:pointer}.gallery-thumb[aria-pressed="true"]{border:2px solid var(--olive)}.gallery-thumb img{width:85px;height:85px;object-fit:contain}@media(max-width:600px){.gallery-layout{grid-template-columns:1fr}.gallery-thumbs{flex-direction:row;flex-wrap:wrap}.gallery-thumb img{width:55px;height:55px}.gallery-view img{height:48vh}}

.product-photo-layout{display:grid;grid-template-columns:minmax(0,1fr) 58px;gap:5px}.product-photo-layout:not(:has(.product-photo-thumbs button:nth-child(2))){grid-template-columns:1fr}.product-photo-thumbs{display:flex;flex-direction:column;gap:4px;padding:5px 5px 0 0}.product-photo-thumb{border:1px solid #d4cdc1;background:white;cursor:pointer;padding:2px}.product-photo-thumb img{width:100%;aspect-ratio:1;object-fit:contain}.product-photo-layout .product-picture{min-width:0}

/* TFC logo beside the existing header wordmark */
.brand{display:inline-flex;align-items:center;gap:14px;flex-shrink:0}.brand-logo{display:block;width:64px;height:64px;object-fit:cover}.brand-wordmark{display:block}.brand .brand-wordmark span{display:block}@media(max-width:560px){.brand{display:inline-flex}.brand-logo{width:54px;height:54px}}

/* Product card refinements: smaller side thumbnails and centered purchase action. */
.product-photo-layout{grid-template-columns:minmax(0,1fr) 46.4px}
.product-photo-thumbs{padding-right:4px}
.product-actions{justify-content:center}

/* Preserve original wordmark typography alongside the new logo. */
.brand .brand-wordmark{font-family:'Playfair Display',serif;font-size:24px;font-weight:400;letter-spacing:.11em;line-height:normal;margin-top:0}
.brand .brand-wordmark > span{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:400;letter-spacing:.3em;margin-top:8px}
