:root { color-scheme: light; font-family: Georgia, "Times New Roman", serif; background: #f8f5ec; color: #283729; }
* { box-sizing: border-box; }
body { margin: 0; line-height: 1.6; }
a { color: inherit; }
a:focus-visible { outline: 3px solid #365c3d; outline-offset: 3px; }
.skip-link { position: fixed; top: .5rem; left: .5rem; transform: translateY(-180%); background: white; padding: .6rem; z-index: 100; }
.skip-link:focus { transform: translateY(0); }
.site-header { background: #ece8dc; }
.site-nav { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; max-width: 72rem; margin: auto; padding: 1rem 1.5rem; gap: 1rem; }
.site-nav .brand { font-size: 1.35rem; font-weight: bold; text-decoration: none; }
.site-nav ul { display: flex; flex-wrap: wrap; list-style: none; gap: 1rem; padding: 0; margin: 0; }
.hero { padding: clamp(4rem, 11vw, 9rem) 1.5rem; text-align: center; background: #e5e8dc; }
.hero h1 { font-size: clamp(2.2rem, 6vw, 4.5rem); line-height: 1.12; max-width: 17ch; margin: 1rem auto; }
.eyebrow { letter-spacing: .13em; text-transform: uppercase; font-family: system-ui, sans-serif; font-size: .8rem; }
.text-link { display: inline-block; margin-top: .8rem; font-family: system-ui, sans-serif; }
.section { max-width: 64rem; margin: auto; padding: clamp(2rem, 6vw, 4.5rem) 1.5rem; }
.section + .section { border-top: 1px solid #d5d4c8; }
footer { padding: 1.5rem; text-align: center; background: #ece8dc; }
@media (max-width: 38rem) { .site-nav { align-items: flex-start; flex-direction: column; } .site-nav ul { gap: .5rem 1rem; } }

form { max-width: 42rem; margin-block: 1.5rem; }
input, textarea, select, button { font: inherit; }
input:not([type="hidden"]), textarea, select { display: block; width: 100%; max-width: 100%; padding: .65rem; margin-top: .35rem; border: 1px solid #69705e; border-radius: .25rem; }
button { padding: .7rem 1rem; color: #fff; background: #354c3b; border: 0; border-radius: .25rem; cursor: pointer; }
button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 3px solid #a8792b; outline-offset: 3px; }
.shop-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); gap: 1.5rem; }
.product-card { border: 1px solid #d7d9cc; padding: 1.25rem; border-radius: .4rem; }
.product-card img, .product-image { max-width: 100%; height: auto; }
.price { font-size: 1.5rem; font-weight: bold; }

/* Rooted Oakes reference template. */

.homepage{--ink:#293a2b;--cream:#f7f4eb;--sage:#e3e7d9;--line:#cfd2c3}.homepage *{box-sizing:border-box}.homepage{margin:0;background:var(--cream);color:var(--ink);font:16px/1.6 Georgia,serif}.homepage button,.homepage a,.homepage input{font:inherit}.homepage a{color:inherit}.homepage button{cursor:pointer}.homepage header{display:flex;align-items:center;justify-content:space-between;padding:20px 6%;border-bottom:1px solid var(--line)}.homepage .brand{text-decoration:none;font-size:26px;letter-spacing:1px}.homepage .brand small{display:block;font:9px sans-serif;letter-spacing:4px;text-align:center}.homepage nav{display:flex;gap:28px;font:13px sans-serif}.homepage nav a{text-decoration:none}.homepage .notice{text-align:center;background:var(--ink);color:var(--cream);padding:8px;font:11px sans-serif;letter-spacing:1px}.homepage .hero{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.homepage .intro{padding:90px 10% 60px 12%;align-self:center}.homepage .eyebrow{font:11px sans-serif;letter-spacing:2px;text-transform:uppercase}.homepage h1{font-weight:normal;font-size:clamp(44px,5.5vw,78px);line-height:1.07;margin:25px 0}.homepage h2{font-size:40px;font-weight:normal;line-height:1.2}.homepage p{max-width:490px}.homepage .hero-art{position:relative;background:#d8ddc9;overflow:hidden;display:flex;align-items:center;justify-content:center;min-height:440px}.homepage .hero-art:before{content:' ';position:absolute;width:440px;height:440px;border:1px solid #aab596;border-radius:50%;top:65px}.homepage .oak{font-size:190px;position:absolute;right:-30px;top:-40px;opacity:.18;transform:rotate(-25deg)}.homepage .still{display:flex;align-items:end;gap:20px;transform:rotate(-4deg);padding:60px}.homepage .jar{width:170px;height:180px;background:linear-gradient(100deg,#9b602e,#bd8548 40%,#78502e);border-radius:12px 12px 25px 25px;position:relative;box-shadow:15px 20px 35px #53604440}.homepage .jar:before{content:'';position:absolute;top:-16px;left:-4px;width:178px;height:30px;background:repeating-linear-gradient(90deg,#393d30 0 3px,#515543 3px 5px);border-radius:7px}.homepage .label{position:absolute;background:#f5eedb;left:12px;right:12px;top:45px;text-align:center;padding:15px 3px;font-size:14px;line-height:1.4}.homepage .label small{font:8px sans-serif;letter-spacing:2px}.homepage .bottle{width:85px;height:215px;border-radius:15px 15px 10px 10px;background:linear-gradient(90deg,#70401c,#a56a30,#50321b);position:relative;box-shadow:12px 20px 35px #53604440}.homepage .bottle:before{content:'';position:absolute;top:-50px;left:20px;width:45px;height:55px;background:#33382b;border-radius:24px 24px 3px 3px}.homepage .bottle .label{left:7px;right:7px;top:75px;font-size:12px}.homepage .caption{position:absolute;bottom:20px;font:10px sans-serif;letter-spacing:2px}.homepage .btn{display:inline-block;background:var(--ink);color:white;text-decoration:none;padding:13px 25px;border:1px solid var(--ink);font:12px sans-serif;letter-spacing:1px}.homepage .subtle{margin-left:20px;font:12px sans-serif}.homepage .strip{display:flex;justify-content:space-around;padding:20px 5%;border-block:1px solid var(--line);font:11px sans-serif;letter-spacing:1px}.homepage section{padding:75px 6%}.homepage .heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.homepage .heading h2{margin:10px 0}.homepage .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:25px}.homepage .filters button{background:none;border:1px solid var(--line);padding:8px 18px;border-radius:24px;font:12px sans-serif}.homepage .filters button.active{background:var(--ink);color:white}.homepage .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.homepage .product-art{height:260px;background:#e8e5d8;display:flex;justify-content:center;align-items:center;overflow:hidden}.homepage .product-art .jar{transform:scale(.65)}.homepage .product-art .bottle{transform:scale(.65)}.homepage .card:nth-child(2n) .product-art{background:#e1e6db}.homepage .card h3{font-size:23px;font-weight:normal;margin:15px 0 4px}.homepage .card p{font:13px/1.6 sans-serif;color:#64705f;margin:0 0 12px}.homepage .textbtn{border:0;border-bottom:1px solid var(--ink);background:none;padding:0 0 4px;font:12px sans-serif}.homepage .about{background:var(--sage);display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.homepage .land{height:350px;background:linear-gradient(165deg,#d3d9c7 0 45%,#889575 45% 60%,#576c4a 60% 75%,#354b31 75%);position:relative;overflow:hidden;border-radius:150px 150px 0 0}.homepage .land small{position:absolute;top:40px;width:100%;text-align:center;font:10px sans-serif;letter-spacing:2px}.homepage .journal{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.homepage .journal article{border-top:1px solid var(--ink);padding-top:20px}.homepage .journal h3{font-weight:normal;font-size:25px;line-height:1.3}.homepage .journal p{font-size:15px}.homepage .footer{background:var(--ink);color:var(--cream);padding:40px 6%;display:flex;justify-content:space-between;gap:30px}.homepage .footer p{font:12px sans-serif;max-width:400px}.homepage dialog{border:1px solid var(--line);background:var(--cream);color:var(--ink);max-width:520px;width:90%;padding:35px}.homepage dialog::backdrop{background:#17261999}.homepage dialog h2{font-size:30px}.homepage dialog button.close{float:right;background:none;border:0;font-size:25px}.homepage .empty{font:13px sans-serif;color:#64705f}.homepage .badge{font:10px sans-serif;letter-spacing:1px} @media(max-width:750px){.homepage header{padding:15px 5%}.homepage nav{gap:14px}.homepage nav a:nth-child(3){display:none}.homepage .hero{grid-template-columns:1fr}.homepage .intro{padding:45px 7%}.homepage .hero-art{min-height:340px}.homepage .still{transform:scale(.8) rotate(-4deg)}.homepage .hero-art:before{top:0}.homepage .strip{gap:18px;font-size:9px}.homepage .grid{grid-template-columns:repeat(2,1fr);gap:20px}.homepage .product-art{height:210px}.homepage section{padding:50px 6%}.homepage .about,.homepage .journal{grid-template-columns:1fr}.homepage .about{gap:30px}.homepage .footer{flex-direction:column}.homepage h2{font-size:33px}.homepage .heading{align-items:start;flex-direction:column}.homepage .card h3{font-size:21px}}


.homepage .preserve-lines { white-space: pre-line; }
.homepage { overflow-wrap:anywhere; }
.homepage .card { min-width:auto; }
.homepage .product-card { padding:0; border:0; border-radius:0; }
.homepage .product-art img { width:100%;height:100%;object-fit:cover; }
.homepage .land:after { content:var(--roots-caption);position:absolute;bottom:25px;left:25px;color:white;font-size:25px; }
.homepage .catalog-link { display:inline-block;border:1px solid var(--line);padding:8px 18px;border-radius:24px;font:12px sans-serif;text-decoration:none; }
.homepage .catalog-link.active { background:var(--ink);color:white; }
.homepage .product-card h3 a { text-decoration:none; }
.editor-toolbar { position:sticky;top:0;z-index:20;display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:10px 3%;background:#fffdf5;border-bottom:2px solid #293a2b;font:13px/1.4 system-ui,sans-serif; }
.editor-toolbar form { display:inline;margin:0;max-width:none; }
.editor-toolbar button { padding:8px 12px;font:inherit; }
#homepage-draft { margin:0; }
.editor-message { padding:1rem 3%;margin:0;background:#fff5d8; }
.homepage .hero { padding:0;text-align:start;background:transparent; }
.homepage .hero h1 { max-width:none; }
.homepage .footer { text-align:start; }
.homepage .edit-scope,.homepage .editable-link { position:relative; }
.homepage .edit-pencil { position:absolute;z-index:3;top:-12px;right:-20px;width:22px;height:22px;padding:3px;border:1px solid #71816b;border-radius:50%;background:#fffdf5;color:#293a2b;line-height:1; }
.homepage .edit-pencil svg { display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7; }
.homepage .edit-panel { position:fixed;z-index:50;display:block;width:min(360px,calc(100vw - 16px));max-height:calc(100vh - 24px);overflow:auto;padding:18px;background:#fffdf5;color:#293a2b;border:1px solid #71816b;border-radius:4px;box-shadow:0 8px 30px #293a2b40;font:14px/1.5 system-ui,sans-serif;text-align:left;letter-spacing:normal;text-transform:none;white-space:normal; }
.homepage .edit-panel[hidden] { display:none; }
.homepage .edit-panel label,.homepage .edit-panel strong { display:block;margin-bottom:12px;font:inherit;color:inherit; }
.homepage .edit-panel textarea { min-height:80px;resize:vertical;font:14px/1.5 system-ui,sans-serif;color:#293a2b;background:white; }
.homepage .edit-panel button { position:static;width:auto;height:auto;padding:7px 12px;border-radius:3px;font:13px system-ui,sans-serif;background:#293a2b;color:white; }
.homepage .edit-actions { display:flex;gap:8px;margin-top:12px; }
.homepage .hero-photo-edit { position:absolute;top:20px;right:34px; }
.homepage .about > div:first-child { position:relative; }
.homepage .roots-photo-edit { position:absolute;bottom:28px;right:34px; }
.homepage .roots-caption-edit { position:absolute;bottom:28px;right:65px; }
.homepage.is-editing .card { position:relative; }
.homepage .product-placement-edit { position:absolute;top:20px;right:34px; }
.homepage.is-editing #shop { position:relative; }
.homepage .product-search-edit { position:absolute;right:7%;top:35px; }
.homepage .page-metadata-edit { position:fixed;right:34px;bottom:30px;z-index:21; }
.homepage .product-controls { display:block;font:13px/1.5 system-ui,sans-serif; }
.homepage .product-controls a { display:block;margin-top:12px; }
.homepage .product-controls button { margin:4px 3px 4px 0; }
.homepage .drag-handle { cursor:grab;touch-action:none;user-select:none; }
.homepage .is-dragging .drag-handle { cursor:grabbing; }
.homepage #reorder-status { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%); }
.homepage :focus-visible { outline:3px solid #a8792b;outline-offset:3px; }
@media(max-width:750px) { .homepage nav > .editable-link:nth-child(3) { display:none; } }
.homepage .editorial-image { display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0; }
.homepage .remove-photo input { display:inline-block;width:auto; }

.homepage .editable-link,.homepage .edit-scope { display:inline; }

.homepage .textbtn { text-decoration:none; }

.homepage.is-editing .hero { position:relative; }
.homepage .catalog-link { text-align:center;color:black; }
.homepage .catalog-link.active { color:white; }
.homepage #products .textbtn { display:inline-block;text-align:center;color:black; }
@media(max-width:360px) { .homepage .card { min-width:0; } }

@media(max-width:750px) { .homepage.is-editing .edit-pencil { right:0; } }

/* Fixed editorial pages share the frozen homepage tokens and chrome. */
.homepage.fixed-page .fixed-page-intro { max-width:1000px; margin:auto; padding-bottom:32px; }
.homepage.fixed-page .fixed-page-intro h1 { font-size:clamp(44px,5.5vw,78px); }
.homepage.fixed-page .fixed-page-copy { max-width:1000px; margin:auto; padding-top:32px; }
.homepage.fixed-page .fixed-page-copy p { max-width:760px; white-space:pre-line; }
.homepage.fixed-page .fixed-photo-caption { position:absolute; bottom:25px; left:25px; color:white; font-size:25px; }
.homepage.fixed-page .fixed-page-links { display:flex; flex-wrap:wrap; gap:14px 24px; padding:30px 6%; border-top:1px solid var(--line); font:12px sans-serif; }
.homepage.fixed-page .contact-details { display:grid; grid-template-columns:minmax(80px,130px) minmax(0,1fr); gap:14px 24px; margin:0 0 45px; }
.homepage.fixed-page .contact-details dt { font:12px sans-serif; align-self:center; }
.homepage.fixed-page .contact-details dd { margin:0; min-width:0; }
.homepage.fixed-page .land:after { content:none; }
.homepage.fixed-page.is-editing .fixed-page-links { position:relative; }
.homepage.site-document .section { max-width:1100px; }
@media(max-width:360px) { .homepage.fixed-page .contact-details { grid-template-columns:1fr; gap:5px; } .homepage.fixed-page .contact-details dd { margin-bottom:15px; } }

@media(max-width:750px) { .homepage.fixed-page .fixed-page-links a:nth-child(3) { display:inline; } }

/* Empty optional contact fields still need a real containing box for their pencil. */
.homepage.fixed-page.is-editing .contact-details dd > .edit-scope { display:block; min-width:22px; min-height:22px; }
