:root{--paper: #f3eee6;--paper-raised: #fbf8f3;--ink: #221c17;--text: #2a231c;--text-secondary: #4a4036;--muted: #5c5146;--accent: #7a3e1d;--accent-hover: #5f3016;--link: #6f3818;--link-hover: #542812;--border: #e3d8c8;--border-strong: #cfc1ad;--shadow: 0 16px 40px rgba(34, 28, 23, .12);--radius: 4px;--serif: Georgia, "Iowan Old Style", Palatino, "Palatino Linotype", "Times New Roman", serif;--sans: "Segoe UI", system-ui, -apple-system, sans-serif;--focus: 2px solid var(--accent);color-scheme:light}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);font-size:1.0625rem;line-height:1.65;background:var(--paper);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}img{max-width:100%}h1,h2,h3,.brand{font-family:var(--serif);font-weight:600;letter-spacing:-.02em;color:var(--ink);line-height:1.15}h1{font-size:clamp(2rem,4vw,2.6rem);margin:0 0 .75rem}h2{font-size:clamp(1.7rem,3vw,2.15rem);margin:0 0 .85rem}h3{font-size:1.28rem;margin:0 0 .5rem}p{margin:0 0 .75rem}a{color:var(--link);text-underline-offset:.18em}a:hover{color:var(--link-hover)}::selection{background:#e7c7a4;color:var(--ink)}:focus{outline:none}:focus-visible{outline:var(--focus);outline-offset:3px}.skip-link{position:absolute;left:.75rem;top:.75rem;transform:translateY(-150%);z-index:50;background:var(--ink);color:var(--paper);padding:.55rem .85rem;border-radius:var(--radius);text-decoration:none;font-weight:600}.skip-link:focus{transform:none}.page{min-height:100vh;position:relative;display:flex;flex-direction:column;background:var(--paper)}.page-content{flex:1 0 auto;min-width:0}.page-content:focus{outline:none}.footer{flex-shrink:0}.env-banner{position:relative;z-index:30;padding:.5rem 1rem;background:#9a3412;color:#fff8e1;text-align:center;font-size:.9rem;letter-spacing:.02em}.env-banner strong{margin-right:.5rem;letter-spacing:.08em}.topbar{display:flex;gap:1.25rem;align-items:center;padding:.75rem 1.75rem;background:#f3eee6f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.brand-link{display:flex;align-items:center;gap:.75rem;text-decoration:none;color:inherit;min-width:0}.brand-link:hover{color:inherit}.logo{height:76px;width:auto;background:#fff;border:1px solid var(--border);border-radius:var(--radius);display:block;flex:0 0 auto}.brand{font-size:1.2rem;line-height:1.15;max-width:11rem;background:none;-webkit-text-fill-color:currentColor}.nav{margin-left:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem 1.35rem;font-size:.95rem;font-weight:600}.nav a,.nav .link-button{color:var(--text-secondary);text-decoration:none;border-bottom:2px solid transparent;padding:.35rem 0;min-height:44px;display:inline-flex;align-items:center;background:none;border-top:0;border-left:0;border-right:0;font:inherit;font-weight:600;cursor:pointer}.nav a:hover,.nav .link-button:hover{color:var(--ink)}.nav a.active{color:var(--ink);border-bottom-color:var(--accent);text-decoration:none}.cart-link{font-weight:600}.link-button{background:none;border:none;padding:0;font:inherit;color:var(--link);cursor:pointer;text-decoration:underline;text-underline-offset:.18em}.nav .link-button{text-decoration:none;color:var(--text-secondary)}.container{max-width:1120px;margin:0 auto;padding:2.75rem 1.5rem 4.5rem}.hero{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);gap:2.75rem;align-items:center;margin:.25rem 0 3.5rem;padding:0;background:none;border:0;box-shadow:none}.hero h1{font-size:clamp(2.7rem,5.2vw,4.25rem);line-height:1.02;margin:0 0 1rem;background:none;-webkit-text-fill-color:currentColor}.lead{color:var(--text-secondary);font-size:1.15rem;margin:0;max-width:38rem;line-height:1.65}.hero-actions{margin-top:1.75rem;display:flex;flex-wrap:wrap;gap:.75rem}.hero-media{position:relative;aspect-ratio:5 / 4;border-radius:var(--radius);overflow:hidden;background:#e4d9c8;border:1px solid #d9cbb8;box-shadow:var(--shadow)}.hero-media video{width:100%;height:100%;object-fit:cover;object-position:22% 42%;display:block}.btn-primary,.contact-form button,.auth-form button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.75rem 1.35rem;border-radius:var(--radius);border:0;background:var(--accent);color:#fffaf4;font-family:inherit;font-weight:600;font-size:1rem;letter-spacing:.01em;text-decoration:none;cursor:pointer}a.btn-primary:hover,.btn-primary:hover,.contact-form button:hover:not(:disabled),.auth-form button[type=submit]:hover:not(:disabled){background:var(--accent-hover);color:#fffaf4}.btn-primary:active,.contact-form button:active:not(:disabled),.auth-form button[type=submit]:active:not(:disabled){background:#4e2712}.btn-primary[disabled],.contact-form button:disabled,.auth-form button[disabled]{opacity:.6;cursor:not-allowed}.mailing-box{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:.75rem 2rem;align-items:center;margin:0 0 3.25rem;padding:1.5rem 1.75rem;background:var(--ink);color:var(--paper);border-radius:var(--radius)}.mailing-box h3{margin:0 0 .3rem;color:var(--paper);font-size:1.55rem}.mailing-note{color:#eadccb;font-size:.98rem;margin:0}.mailing-form{display:flex;gap:.65rem;margin:0}.mailing-form input{flex:1;min-width:0;min-height:44px;padding:.75rem .9rem;border-radius:var(--radius);border:1px solid transparent;background:#fff;color:var(--ink);font:inherit;font-size:1rem}.mailing-form input::placeholder{color:#6b5e52}.mailing-form input:focus-visible{outline:2px solid #f3eadf;outline-offset:2px}.mailing-form button{min-height:44px;padding:.75rem 1.2rem;border-radius:var(--radius);border:0;background:var(--paper);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.mailing-form button:hover{background:#fff;color:var(--ink)}.mailing-form button:focus-visible{outline-color:#f3eadf}.joined-msg{display:flex;align-items:center;gap:.5rem;color:#1b5e34;font-size:.95rem;font-weight:600;margin-top:.75rem}.mailing-box .joined-msg,.mailing-box .error-msg{grid-column:1 / -1;margin-top:0}.mailing-box .joined-msg{color:#c8efd4}.joined-msg:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#1b5e341f;border-radius:50%;font-size:.75rem}.mailing-box .joined-msg:before{background:#c8efd429;color:#c8efd4}.error-msg{color:#8d2b2b;font-size:.95rem;margin-top:.75rem;padding:.65rem .8rem;background:#fdecec;border-radius:var(--radius);border:1px solid #f3c9c9}.features{margin:0 0 3.25rem}.features h2:after{content:"";display:block;width:2.75rem;height:2px;margin-top:.75rem;background:var(--accent)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.15rem;counter-reset:offer}.feature{background:var(--paper-raised);padding:1.4rem 1.3rem 1.35rem;border-radius:var(--radius);border:1px solid var(--border);counter-increment:offer}.feature:before{content:counter(offer,decimal-leading-zero);display:block;font-family:var(--serif);font-size:.8rem;letter-spacing:.14em;color:var(--accent);margin-bottom:.8rem}.feature h3{margin:0 0 .45rem;font-size:1.3rem}.feature p{margin:0;color:var(--text-secondary);font-size:.98rem;line-height:1.6}.feature:hover{border-color:#c9b49a}.contact-section{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1.5rem 2.75rem;align-items:start;background:var(--paper-raised);padding:2.25rem 2rem;border-radius:var(--radius);border:1px solid var(--border)}.contact-copy h2{margin:0 0 .75rem}.contact-intro{color:var(--text-secondary);margin:0;font-size:1.05rem;max-width:28rem}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem;max-width:none;margin:0}.contact-form input,.contact-form textarea,.auth-form input,.field input,.field select,.checkout-form input,.discount-form input,.cart-table input,.admin-form input,.admin-form select,.admin-form textarea{padding:.8rem .9rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:#fff;color:var(--ink);font-family:inherit;font-size:1rem;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder,.mailing-form input::placeholder,.discount-form input::placeholder{color:#6b5e52}.contact-form textarea{grid-column:1 / -1;min-height:148px;resize:vertical}.contact-form button{grid-column:1 / -1;justify-self:start}.contact-status{grid-column:1 / -1;padding:.85rem 1rem;border-radius:var(--radius);font-size:.95rem;font-weight:600}.contact-status.success{color:#1b5e34;background:#e8f6ee;border:1px solid #b7dfc6}.contact-status.error{color:#8d2b2b;background:#fdecec;border:1px solid #f3c9c9}.footer{padding:2.25rem 1.5rem 2rem;background:var(--ink);color:#eadccb;border-top:0;display:flex;flex-direction:column;align-items:center;gap:1rem}.footer .social-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem}.footer .social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1.05rem;color:#f6f1e8;text-decoration:none;font-weight:600;font-size:.92rem;border-radius:var(--radius);border:1px solid rgba(246,241,232,.28);background:transparent}.footer .social-links a:hover{color:#fff;border-color:#f6f1e8;background:transparent}.footer .social-links a:focus-visible{outline-color:#f6f1e8}.footer .copyright{color:#d7c8b4;font-size:.85rem;text-align:center}.container.auth-container{max-width:440px;margin:2.5rem auto;padding:2rem 1.6rem 1.6rem;background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:none}.auth-form{display:flex;flex-direction:column;gap:.85rem;margin:1.25rem 0}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.92rem;font-weight:600}.auth-container>button{margin-top:.5rem;min-height:44px;padding:.65rem 1.1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:transparent;color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.auth-container>button:hover{border-color:var(--ink)}.muted{color:var(--muted);opacity:1}.page-pad{padding:2rem}.small{font-size:.875rem}.shop-page{padding-top:2.5rem}.shop-header{margin-bottom:1.75rem;padding:0 0 1.25rem;background:none;border:0;border-bottom:1px solid var(--border);border-radius:0;box-shadow:none}.shop-header h1{margin:0 0 .3rem}.shop-header .muted{color:var(--text-secondary)}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.25rem}.product-card{display:flex;flex-direction:column;text-decoration:none;color:inherit;background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:none;min-width:0}.product-card:hover{color:inherit;border-color:#c9b49a;transform:none}.product-card-img{position:relative;aspect-ratio:1 / 1;background:#e7dfd2}.product-card-img img{width:100%;height:100%;object-fit:cover;display:block}.product-card-img-placeholder{width:100%;height:100%;background:linear-gradient(160deg,rgba(122,62,29,.14),transparent 55%),#e7dfd2}.product-card-body{padding:.95rem 1rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}.product-card-body h3{margin:0;font-size:1.2rem}.product-price{color:var(--accent);font-weight:600}.product-badge{position:absolute;top:.65rem;left:.65rem;background:var(--ink);color:#fffaf4;font-size:.75rem;font-weight:600;letter-spacing:.04em;padding:.25rem .5rem;border-radius:var(--radius)}.product-detail{padding-top:2.25rem}.breadcrumb{margin:0 0 1.1rem;font-size:.95rem;display:inline-block;padding:0;background:none;border:0}.breadcrumb a{color:var(--link)}.product-detail-grid{display:grid;gap:2rem;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start}.gallery-main{aspect-ratio:1 / 1;background:#e7dfd2;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.gallery-thumbs{display:flex;gap:.5rem;margin-top:.65rem;flex-wrap:wrap}.gallery-thumb{width:72px;height:72px;padding:0;border:2px solid transparent;border-radius:var(--radius);background:#e7dfd2;cursor:pointer;overflow:hidden}.gallery-thumb.active{border-color:var(--accent)}.gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.product-detail-info{background:var(--paper-raised);border:1px solid var(--border);border-radius:var(--radius);padding:1.6rem 1.5rem 1.5rem;box-shadow:none}.product-detail-info h1{margin-top:0}.product-price-lg{font-size:1.55rem;color:var(--accent);font-weight:600;margin-bottom:1rem}.product-description{color:var(--text-secondary);margin-bottom:1rem}.product-description p{margin:0 0 .75rem;line-height:1.6}.product-description h1,.product-description h2,.product-description h3{color:var(--ink);margin:1.25rem 0 .5rem}.product-description h1{font-size:1.4rem}.product-description h2{font-size:1.2rem}.product-description h3{font-size:1.05rem}.product-description ul,.product-description ol{margin:0 0 .75rem 1.25rem;padding:0}.product-description li{margin-bottom:.25rem}.product-description a{color:var(--link)}.product-description code{background:#efe7db;padding:.1rem .35rem;border-radius:3px;font-size:.9em}.product-description pre{background:#efe7db;padding:.75rem;border-radius:var(--radius);overflow-x:auto}.product-description blockquote{margin:.75rem 0;padding:.5rem 1rem;border-left:3px solid var(--accent);color:var(--text-secondary);background:#7a3e1d0f;border-radius:0 var(--radius) var(--radius) 0}.field{display:flex;flex-direction:column;gap:.35rem;margin:.85rem 0;max-width:240px;font-weight:600;font-size:.92rem}.field input,.field select{font-weight:400}.table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cart-table{width:100%;border-collapse:collapse;margin:1.25rem 0;min-width:520px}.cart-table th,.cart-table td{padding:.7rem .55rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}.cart-table th{font-weight:600;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.cart-table input{width:4.5rem;padding:.45rem .5rem}.cart-line-title{font-weight:600;color:var(--ink)}.cart-summary{display:flex;flex-wrap:wrap;gap:1.5rem 2rem;justify-content:space-between;align-items:flex-start;margin-top:1.25rem}.discount-form{display:flex;gap:.6rem;align-items:flex-end;flex-wrap:wrap}.discount-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.92rem;font-weight:600}.discount-form input{width:auto;min-width:10rem;font-weight:400}.discount-form button{min-height:44px;padding:.6rem 1rem;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--paper-raised);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}.discount-form button:hover{border-color:var(--ink)}.totals{display:grid;grid-template-columns:auto auto;gap:.4rem 1.5rem;margin:0;min-width:220px}.totals dt{color:var(--text-secondary)}.totals dd{margin:0;text-align:right}.totals .total-row{font-weight:700;font-size:1.08rem;color:var(--ink);padding-top:.5rem;border-top:1px solid var(--border-strong)}.cart-actions{display:flex;flex-wrap:wrap;gap:.9rem 1.25rem;align-items:center;width:100%}.checkout-form{display:flex;flex-direction:column;gap:1rem;max-width:560px}.checkout-form label{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.7rem;font-size:.92rem;font-weight:600}.checkout-form fieldset{border:1px solid var(--border);padding:1rem 1rem .35rem;border-radius:var(--radius);background:var(--paper-raised);margin:0}.checkout-form legend{padding:0 .4rem;font-weight:600;font-family:var(--serif);color:var(--ink)}.checkout-form .btn-primary{align-self:flex-start}.admin-layout{display:grid;grid-template-columns:200px minmax(0,1fr);gap:2rem;align-items:start}.admin-nav h2{margin-top:0}.admin-nav nav{display:flex;flex-direction:column;gap:.25rem}.admin-nav a{padding:.45rem .6rem;border-radius:var(--radius);color:var(--text);text-decoration:none}.admin-nav a:hover,.admin-nav a.active{background:#7a3e1d14;color:var(--ink);font-weight:600}.admin-content{min-width:0;overflow-x:auto}.admin-page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.admin-table{width:100%;border-collapse:collapse;margin-top:1rem}.admin-table th,.admin-table td{padding:.55rem .45rem;text-align:left;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table th{font-weight:600;color:var(--muted);font-size:.8rem;letter-spacing:.03em}.admin-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1rem;align-items:end;margin:1rem 0}.admin-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;font-weight:600}.admin-form .full{grid-column:1 / -1}.admin-form button{justify-self:start}.admin-fieldset{border:1px solid var(--border);padding:1rem 1.15rem;border-radius:var(--radius);margin-top:1.5rem;background:var(--paper-raised)}.admin-fieldset legend{padding:0 .45rem;font-weight:600;font-family:var(--serif)}.admin-fieldset.danger{border-color:#8d2b2b}.admin-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem}.admin-image{position:relative}.admin-image img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:var(--radius)}.admin-image button{position:absolute;top:4px;right:4px;padding:2px 8px;background:var(--paper-raised);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer}.admin-actions{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:uppercase;background:#221c1714;color:var(--ink)}.badge-active,.badge-paid,.badge-fulfilled{background:#1b5e3429;color:#14532d}.badge-draft,.badge-pending{background:#9a62122e;color:#7a4b0a}.badge-archived,.badge-cancelled,.badge-failed,.badge-refunded{background:#8d2b2b24;color:#7f1d1d}.modal-backdrop{position:fixed;inset:0;background:#221c177a;display:flex;align-items:center;justify-content:center;z-index:80;padding:1rem}.modal-card{background:var(--paper-raised);color:var(--text);border-radius:var(--radius);border:1px solid var(--border);padding:1.35rem 1.4rem;max-width:720px;width:100%;max-height:90vh;overflow-y:auto}.modal-card header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.modal-card header button{background:none;border:none;font-size:1.5rem;color:inherit;cursor:pointer;min-width:44px;min-height:44px}.modal-card pre{overflow-x:auto}@media(max-width:800px){.topbar{flex-wrap:wrap;padding:.7rem 1rem .45rem;gap:.35rem .75rem}.logo{height:60px}.brand{font-size:1.05rem;max-width:10.5rem}.nav{flex:1 0 100%;margin-left:0;justify-content:flex-start;gap:.15rem 1rem;padding-top:.15rem;border-top:1px solid var(--border)}.container{padding:1.75rem 1rem 3rem}.hero{grid-template-columns:1fr;gap:1.35rem;margin-bottom:2.5rem}.hero h1{font-size:clamp(2.25rem,10vw,3rem)}.hero-media{aspect-ratio:16 / 10}.hero-actions .btn-primary{width:100%}.mailing-box{grid-template-columns:1fr;padding:1.25rem 1.1rem}.mailing-form{flex-direction:column}.mailing-form button{width:100%}.contact-section{grid-template-columns:1fr;padding:1.4rem 1.1rem 1.3rem}.contact-section{align-items:stretch}.contact-form{grid-template-columns:1fr}.contact-form button{width:100%;justify-self:stretch}.product-detail-grid{grid-template-columns:1fr}.admin-layout{grid-template-columns:1fr;gap:1rem}.admin-nav nav{flex-direction:row;flex-wrap:wrap}.footer{padding:1.75rem 1rem 1.5rem}}@media(max-width:380px){.logo{height:52px}.brand{font-size:.98rem}.nav{column-gap:.75rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
