:root{--bg:#fbf8ef;--paper:#fffef9;--ink:#19130e;--muted:#6c6257;--line:#19130e24;--crust:#9b521f;--crust-dark:#643117;--rye:#d8be8e;--sage:#6f765d;--shadow:0 18px 54px #19130e24}*{box-sizing:border-box}html{scroll-behavior:smooth}[id]{scroll-margin-top:96px}body{background:var(--bg);color:var(--ink);padding-bottom:env(safe-area-inset-bottom);margin:0;font-family:Atkinson Hyperlegible,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:17px;line-height:1.55;overflow-x:hidden}body:before{content:"";pointer-events:none;opacity:.055;z-index:100;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;height:100%;display:block}.topbar{z-index:50;-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#fbf8efe6;border:1px solid #19130e1c;border-radius:18px;justify-content:space-between;align-items:center;gap:14px;width:min(1120px,100% - 24px);min-height:66px;padding:9px 10px;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 12px 36px #19130e14}.brand{align-items:center;gap:11px;min-width:0;display:flex}.brand-logo{width:46px;height:46px;color:var(--paper);background:var(--ink);border-radius:14px;flex:none;padding:7px}.brand-logo path:first-child{fill:currentColor}.brand-logo path:not(:first-child){fill:none;stroke:var(--ink);stroke-width:3.2px;stroke-linecap:round;opacity:.78}.brand span{gap:2px;display:grid}.brand strong{letter-spacing:-.04em;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:19px;line-height:1}.brand small{color:var(--muted);font-size:12px;line-height:1.1}.nav{color:#19130ea8;align-items:center;gap:22px;font-size:14px;font-weight:700;display:none}.nav a{transition:color .2s}.nav a:hover{color:var(--ink)}.phone-pill{background:var(--ink);min-height:46px;color:var(--paper);white-space:nowrap;border-radius:13px;justify-content:center;align-items:center;padding:0 14px;font-size:14px;font-weight:700;display:inline-flex}.hero{background:#21160f;place-items:end start;min-height:92svh;padding:98px 14px 30px;display:grid;position:relative;overflow:hidden}.hero-media{animation:18s ease-out forwards heroZoom;position:absolute;inset:0;transform:scale(1.035)}.hero-media img{filter:saturate(.9)contrast(1.02)brightness(.72);object-position:center 42%}.hero-shade{background:linear-gradient(#0a080629,#0a080685 52%,#0a0806e0),linear-gradient(90deg,#0a08066b,#0000 70%);position:absolute;inset:0}.hero-content{z-index:2;width:min(1120px,100%);color:var(--paper);margin-inline:auto;position:relative}.place-line{color:#f1d39d;margin:0 0 12px;font-size:15px;font-weight:700}h1,h2,h3{font-family:Bricolage Grotesque,system-ui,sans-serif}h1,h2{letter-spacing:-.052em;text-wrap:balance;margin:0;font-weight:700}h1{max-width:760px;font-size:clamp(40px,12vw,88px);line-height:.94}h2{font-size:clamp(30px,8vw,56px);line-height:1}h3{letter-spacing:-.035em}.hero-lead{color:#fffef9db;max-width:610px;margin:18px 0 0;font-size:clamp(17px,4.4vw,21px);line-height:1.48}.hero-actions,.contact-actions{grid-template-columns:1fr;gap:10px;margin-top:22px;display:grid}.btn{letter-spacing:-.015em;border-radius:14px;justify-content:center;align-items:center;min-height:54px;padding:0 19px;font-size:16px;font-weight:700;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px #19130e33}.btn-primary{background:var(--paper);color:var(--ink)}.btn-secondary{color:var(--paper);background:#fffef914;border:1px solid #fffef957}.contact .btn-primary{background:var(--ink);color:var(--paper)}.contact .btn-secondary{color:var(--ink);border-color:var(--line);background:var(--paper)}.hero-price{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffef929;border:1px solid #fffef93d;border-radius:16px;grid-template-columns:1fr 1fr;gap:1px;margin-top:18px;display:grid;overflow:hidden}.hero-price span,.hero-price a{color:#fffef9e6;text-align:center;background:#19130e61;place-items:center;min-height:58px;padding:10px;font-size:14px;display:grid}.hero-price b{color:#fffef9;font-size:24px;line-height:1.1;display:block}.hero-price a{color:#f1d39d;grid-column:1/-1;font-weight:700}.section{width:min(1120px,100% - 28px);margin-inline:auto}.small-label{color:#f1d39d;margin:0 0 12px;font-size:14px;font-weight:700}.small-label.dark{color:var(--crust-dark)}.section-heading{gap:8px;margin-bottom:22px;display:grid}.section-heading.compact{max-width:760px}.pricing{padding:48px 0 34px}.price-list{gap:10px;display:grid}.price-list article{background:var(--paper);border:1px solid var(--line);border-radius:15px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:17px 16px;display:grid;box-shadow:0 10px 26px #19130e0e}.price-list h3{margin:0 0 4px;font-size:22px;line-height:1.08}.price-list p{color:var(--muted);margin:0;font-size:15px;line-height:1.35}.price-list strong{letter-spacing:-.06em;white-space:nowrap;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:30px}.price-note{color:var(--muted);margin:16px 0 0;font-size:15px}.contact{align-items:start;gap:14px;padding:34px 0 48px;display:grid}.contact-copy,.map-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 12px 42px #19130e12}.contact-copy{padding:clamp(24px,7vw,54px)}.contact-copy p{color:var(--muted);font-size:17px;line-height:1.58}address{margin-top:18px;font-size:20px;font-style:normal;font-weight:700;line-height:1.35}.subtle-link{color:var(--crust-dark);text-underline-offset:5px;margin-top:18px;font-weight:700;text-decoration:underline;display:inline-block}.tile-map{background:#ede6d9;height:340px;position:relative;overflow:hidden}.tile-grid{filter:saturate(.88)contrast(.98);grid-template-columns:repeat(3,256px);grid-auto-rows:256px;width:768px;height:768px;display:grid;position:absolute;top:50%;left:50%;transform:translate(calc(-50% - 78px),calc(92px - 50%))}.tile-grid img{width:256px;height:256px;display:block}.pin{background:var(--crust-dark);border:4px solid var(--paper);border-radius:50% 50% 50% 0;width:24px;height:24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)rotate(45deg);box-shadow:0 10px 28px #19130e3d}.pin-label{color:var(--paper);background:#19130eeb;border-radius:12px;padding:12px 14px;position:absolute;bottom:16px;left:16px;right:16px;box-shadow:0 14px 34px #19130e2e}.pin-label strong,.pin-label span{display:block}.pin-label span{color:#fffef9bd;margin-top:3px;font-size:13px}.map-caption{border-top:1px solid var(--line);gap:12px;padding:17px 18px;display:grid}.map-caption div{gap:4px;display:grid}.map-caption span{color:var(--muted)}.map-caption a{color:var(--crust-dark);font-weight:700}.intro{gap:28px;padding:34px 0 42px;display:grid}.intro-copy{color:var(--muted);font-size:18px;line-height:1.68}.intro-copy p{margin:0 0 18px}.intro-copy strong{color:var(--ink)}.reviews{gap:14px;padding:8px 0 52px;display:grid}.reviews-copy,.review-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 42px #19130e12}.reviews-copy{padding:clamp(24px,7vw,48px)}.reviews-copy p:not(.small-label){color:var(--muted);margin:16px 0 0;font-size:17px;line-height:1.58}.review-card{background:#f3ead9;align-content:center;gap:16px;padding:clamp(22px,6vw,40px);display:grid}.review-card strong{letter-spacing:-.05em;font-family:Bricolage Grotesque,system-ui,sans-serif;font-size:34px;line-height:1}.review-card p{color:var(--muted);margin:0;font-size:17px;line-height:1.45}.review-card .btn{background:var(--ink);width:100%;color:var(--paper)}.photo-band{gap:12px;padding:0 0 56px;display:grid}.photo-band figure{background:#efe4d2;border-radius:16px;height:318px;margin:0;overflow:hidden}.orders{color:var(--paper);background:var(--ink);border-radius:18px;gap:28px;margin-bottom:42px;padding:28px 22px;display:grid;position:relative;overflow:hidden}.orders:after{content:"";background:var(--crust);opacity:.26;filter:blur(4px);border-radius:999px;width:240px;height:240px;position:absolute;top:-90px;right:-90px}.order-list{z-index:1;gap:0;display:grid;position:relative}.order-list p{color:#fffef9c7;border-bottom:1px solid #fffef926;margin:0;padding:15px 0;line-height:1.5}.order-list b{color:var(--paper)}.footer{border-top:1px solid var(--line);color:var(--muted);gap:6px;padding:24px 16px 86px;display:grid}.footer a{color:var(--ink);font-weight:700}.mobile-dock{z-index:60;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px)saturate(145%);backdrop-filter:blur(18px)saturate(145%);background:#fbf8efeb;border:1px solid #19130e1f;border-radius:18px;grid-template-columns:1fr 1.15fr 1fr;gap:6px;padding:7px;display:grid;position:fixed;box-shadow:0 18px 48px #19130e2e}.mobile-dock a{min-height:46px;color:var(--ink);border-radius:13px;place-items:center;font-size:15px;font-weight:700;display:grid}.mobile-dock a:nth-child(2){background:var(--ink);color:var(--paper)}.reveal{opacity:0;animation:.62s cubic-bezier(.2,.8,.2,1) forwards reveal;animation-delay:var(--delay,0s);transform:translateY(18px)}.reveal.is-visible{opacity:1;animation:none;transform:none}@keyframes reveal{to{opacity:1;transform:translateY(0)}}@keyframes heroZoom{to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}@media (width>=700px){body{font-size:18px}.hero{place-items:end center;min-height:100svh;padding:128px 20px 54px}.hero-shade{background:linear-gradient(90deg,#0a0806c7,#0a08066b 44%,#0a080633),linear-gradient(#0000 44%,#0a0806c2)}.hero-actions,.contact-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-price{grid-template-columns:1fr 1fr auto;max-width:540px}.hero-price a{grid-column:auto;min-width:130px}.pricing{padding:76px 0 54px}.price-list article{padding:22px 24px}.contact{grid-template-columns:.82fr 1.18fr;gap:16px;padding:54px 0 74px}.tile-map{height:410px}.pin-label{inset:calc(50% - 66px) auto auto calc(50% + 18px)}.map-caption{justify-content:space-between;align-items:center;gap:16px;display:flex}.intro{grid-template-columns:1.03fr .97fr;gap:clamp(32px,6vw,78px);padding:72px 0 68px}.reviews{grid-template-columns:1.08fr .92fr;gap:16px;padding:0 0 80px}.photo-band{grid-template-columns:1.35fr .82fr .82fr;gap:14px;padding:10px 0 88px}.photo-band figure{height:410px}.photo-band .photo-large{height:520px}.photo-band figure:nth-child(2){margin-top:72px}.photo-band figure:nth-child(3){margin-top:28px}.orders{grid-template-columns:.95fr 1.05fr;gap:54px;margin-bottom:90px;padding:58px}.footer{justify-content:space-between;gap:20px;padding:28px max(20px,50vw - 560px);display:flex}.mobile-dock{display:none}}@media (width>=980px){.nav{display:flex}.topbar{width:min(1120px,100% - 28px);min-height:72px;padding:10px 12px 10px 14px;top:18px}.phone-pill{min-height:48px;padding:0 18px;font-size:15px}.section-heading{justify-content:space-between;align-items:end;gap:30px;display:flex}}@media (width<=390px){.brand small{display:none}.phone-pill{padding-inline:11px;font-size:13px}h1{font-size:clamp(38px,12.8vw,54px)}}[hidden]{display:none!important}.booking-section{background:var(--paper);border-block:1px solid var(--line)}.booking-section>*,.bakery-form{max-width:780px}.bakery-form{margin-block:24px}.bakery-form fieldset{border:0;min-width:0;margin:0;padding:0}.bakery-form legend{margin-bottom:12px;font-size:1.25rem;font-weight:700}.bakery-form label,.week-controls label{gap:6px;margin-bottom:18px;font-weight:700;display:grid}.bakery-form input,.bakery-form textarea,.bakery-form select,.week-controls input{border:1px solid var(--muted);background:var(--paper);width:100%;min-width:0;min-height:48px;color:var(--ink);font:inherit;border-radius:8px;padding:10px 12px;display:block}.bakery-form textarea{resize:vertical}.bakery-form select{margin-bottom:8px}.bakery-form .quantity-row{border:1px solid var(--line);background:var(--paper);border-radius:12px;grid-template-columns:minmax(0,1fr);gap:12px;margin:0 0 12px;padding:16px;font-weight:700;display:grid}.quantity-controls{align-items:center;gap:12px;display:flex}.quantity-controls button{border:1px solid var(--crust-dark);background:var(--paper);width:48px;height:48px;color:var(--crust-dark);touch-action:manipulation;border-radius:8px;padding:0;font-size:1.6rem;font-weight:700}.quantity-controls button:disabled{cursor:default}.quantity-controls output{text-align:center;font-variant-numeric:tabular-nums;place-items:center;min-width:48px;min-height:48px;font-size:2rem;line-height:1;display:grid}#booking-form button[type=submit]{min-height:56px;font-size:1.1rem}@media (width<=699px){#booking-form button[type=submit]{width:100%}}.order-total{font-size:1.25rem;font-weight:700}.bakery-form .checkbox-label{align-items:center;gap:12px;margin:22px 0 6px;display:flex}.bakery-form input[type=checkbox]{width:24px;height:24px;min-height:24px;accent-color:var(--crust-dark);flex:0 0 24px}.field-hint{color:var(--muted);margin-top:6px;font-size:.93rem}.field-hint a,.reservation-card a{text-underline-offset:3px;text-decoration:underline}.bakery-form .field-hint{margin-bottom:22px}button{font:inherit;cursor:pointer}button:disabled,fieldset:disabled{opacity:.65;cursor:wait}button.btn{border:1px solid #0000}.quiet-button{border:1px solid var(--line);background:var(--paper);color:var(--crust-dark);border-radius:8px;min-height:44px;padding:8px 14px;font-weight:700}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--crust);outline-offset:3px}.bakery-notice{color:var(--ink);border-left:4px solid var(--crust);white-space:pre-wrap;background:#f4e6ca;border-radius:4px;padding:16px}#booking-status,#admin-status{color:var(--crust-dark);overflow-wrap:anywhere;font-weight:700}#closed-days{padding-block:16px}#closed-days h3{margin-bottom:8px;font-size:1.15rem}#closed-list{overflow-wrap:anywhere;padding-left:22px}.admin-body{padding-bottom:32px}.admin-body .btn-primary{background:var(--crust-dark);color:var(--paper);border-color:var(--crust-dark)}.admin-header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:1240px;margin:auto;padding:20px;display:flex}.admin-header .brand{font-family:Bricolage Grotesque,sans-serif;font-size:24px;font-weight:800}.admin-main{max-width:1240px;margin:auto;padding:24px 20px}.admin-main h1{color:var(--ink);margin:12px 0 20px;font-family:Bricolage Grotesque,sans-serif;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.admin-main h2{font-size:1.5rem;line-height:1.2}#login-view{max-width:520px;margin:40px auto}.week-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.week-controls label{flex:200px;max-width:320px;margin:0}.admin-body .week-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.admin-body .week-nav button{min-height:56px;padding:12px;font-size:1.125rem}.admin-body .week-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-block:20px 8px;display:flex}.admin-body #week-title{font-variant-numeric:tabular-nums;margin:0}@media (width<=480px){.admin-body .week-nav{grid-template-columns:1fr}.admin-body .week-controls{grid-template-columns:minmax(0,1fr);display:grid}.admin-body .week-controls label{max-width:none}.admin-body .week-summary{flex-direction:column;align-items:stretch}}.week-days{align-items:start;gap:22px;display:grid}.bake-day{background:var(--paper);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:12px;min-width:0;padding:18px}.admin-body .quantity-table{border-collapse:collapse;table-layout:fixed;width:100%;margin-block:18px;font-size:1.25rem}.admin-body .quantity-table caption{text-align:left;padding-bottom:8px;font-size:1rem;font-weight:700}.admin-body .quantity-table th,.admin-body .quantity-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:10px 8px}.admin-body .quantity-table tbody th{font-weight:400}.admin-body .quantity-table th:last-child,.admin-body .quantity-table td{text-align:right;width:76px}.admin-body .quantity-table thead{color:var(--muted);font-size:.95rem}.admin-body .quantity-table td,.admin-body .quantity-table strong{font-variant-numeric:tabular-nums;font-size:1.75rem}.admin-body .quantity-table tfoot{font-weight:700}.admin-body .quantity-table tfoot th,.admin-body .quantity-table tfoot td{border-bottom:0}.admin-body .day-totals{background:var(--bg)}#week-total{margin-bottom:20px;font-size:1.25rem;font-weight:700}.admin-body button{white-space:normal;min-width:44px;min-height:44px}.week-nav button{flex:1;min-width:0}.reservation-card{border-top:1px solid var(--line);padding:16px 0}.reservation-card h3{margin:0 0 4px;font-size:1.15rem}.day-state{color:var(--crust-dark);margin-top:10px;font-size:.92rem;display:block}.reservation-actions{gap:8px;display:grid}.customer-comment{white-space:pre-wrap}.management-section{border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.management-section>p{max-width:780px}.announcement-card{border-bottom:1px solid var(--line);overflow-wrap:anywhere;white-space:pre-wrap;max-width:780px;padding-block:16px}@media (width>=700px){.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}}@media (width>=1000px){.week-days{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px){.bakery-form .btn{width:100%}.admin-main,.admin-header{padding-inline:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}
