:root{--teal:#7bcfc8;--teal-deep:#5bb5ae;--teal-soft:#c8e8e5;--teal-pale:#eaf6f4;--ink:#2a2d2e;--ink-soft:#5c6163;--paper:#faf8f4;--paper-warm:#f4efe7;--line:#2a2d2e1f;--error:#c0392b;--error-bg:#fdf0f0;--error-line:#e8b4b4}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:70px}body{font-family:var(--font-sans);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.55}.script{font-family:var(--font-script);font-weight:400}.site-nav{z-index:50;backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#faf8f4eb;position:sticky;top:0;& .nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:18px 10px;display:flex}}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:flex;& .brand-mark{width:auto;height:38px}& .brand-text{font-family:var(--font-serif);letter-spacing:.02em;font-size:20px;font-weight:600;line-height:1;& small{font-family:var(--font-sans);letter-spacing:.32em;color:var(--ink-soft);margin-top:4px;font-size:9px;font-weight:400;display:block}}}.nav-links{align-items:center;gap:32px;display:flex;& a{color:var(--ink);letter-spacing:.04em;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s;&:hover{color:var(--teal-deep)}}& .nav-cta{background:var(--ink);color:var(--paper);border-radius:999px;padding:10px 22px;font-size:13px;transition:background .2s,color .2s;& .nav-cta-label{@media (width<=450px){display:none}}@media only screen and (width<=350px){display:none}&:hover{background:var(--teal-deep);color:var(--paper)}}@media (width<=880px){& a:not(.nav-cta){display:none}}}.hero{background:linear-gradient(135deg, var(--teal-soft) 0%, var(--teal) 50%, var(--teal-deep) 100%);padding:100px 32px 120px;position:relative;overflow:hidden;& .hero-rays{pointer-events:none;background:repeating-linear-gradient(115deg,#0000 0 90px,#ffffff12 90px 180px),repeating-linear-gradient(115deg,#0000 0 60px,#5bb5ae2e 60px 120px);position:absolute;inset:0}& .hero-inner{grid-template-columns:1.1fr .9fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid;position:relative}& .hero-eyebrow{letter-spacing:.4em;color:#ffffffd9;text-transform:uppercase;margin-bottom:24px;font-size:12px}& h1{font-family:var(--font-serif);color:#fff;letter-spacing:-.01em;margin-bottom:28px;font-size:clamp(48px,6.5vw,88px);font-weight:500;line-height:1;& .accent{font-family:var(--font-script);color:var(--ink);margin-top:6px;font-size:1.15em;font-weight:400;display:block}}& .hero-copy p{color:#ffffffeb;max-width:460px;margin-bottom:40px;font-size:17px;line-height:1.7}& .hero-ctas{flex-wrap:wrap;gap:14px;display:flex}@media (width<=880px){padding:60px 24px 80px;& .hero-inner{grid-template-columns:1fr;gap:48px}}}.hero-card{text-align:center;background:#fff;border-radius:16px;padding:50px 40px;position:relative;transform:rotate(-2deg);box-shadow:0 30px 80px #0000001f,0 8px 24px #00000014;&:before{content:"";background:var(--paper-warm);border-radius:4px;height:16px;position:absolute;top:-8px;left:30px;right:30px;box-shadow:inset 0 2px 4px #0000001a}& .hero-logo{width:100%;max-width:300px;height:auto;margin:0 auto 4px;display:block}& .hero-wordmark{text-align:center;margin-top:-4px}& .hero-wordmark-title{font-family:var(--font-serif);letter-spacing:.14em;color:var(--ink);font-size:24px;font-weight:700}& .hero-wordmark-rule{justify-content:center;align-items:center;gap:12px;margin-top:6px;display:flex;& span{background:var(--ink);width:40px;height:1px}& em{font-style:normal;font-family:var(--font-sans);letter-spacing:.5em;color:var(--ink);font-size:11px}}@media (width<=880px){max-width:360px;margin:0 auto}}.btn{letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;align-items:center;gap:10px;padding:16px 32px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{background:var(--ink);color:var(--paper);&:hover{background:var(--paper);color:var(--ink);transform:translateY(-2px)}}.btn-ghost{color:#fff;background:0 0;border:1.5px solid #fff9;&:hover{background:#ffffff26;border-color:#fff}}section{padding:100px 32px;@media (width<=880px){padding:70px 24px}}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:32px;max-width:1200px;margin:0 auto 48px;display:flex}.section-eyebrow{letter-spacing:.4em;color:var(--teal-deep);text-transform:uppercase;margin-bottom:12px;font-size:12px;font-weight:600}.section-title{font-family:var(--font-serif);letter-spacing:-.01em;font-size:clamp(36px,4.5vw,56px);font-weight:500;line-height:1.05;& .script{color:var(--teal-deep);font-size:1.35em;display:inline-block;transform:translateY(.08em)}}.section-sub{color:var(--ink-soft);max-width:380px;font-size:16px;line-height:1.65}.featured{& .feat-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid;@media (width<=880px){grid-template-columns:repeat(2,1fr)}@media (width<=540px){grid-template-columns:1fr}}}.feat-card{cursor:pointer;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:14px;text-decoration:none;transition:box-shadow .3s;overflow:hidden;&:hover{box-shadow:0 20px 40px #00000014;& .feat-img{& img{transform:scale(1.1)}}}& .feat-img{aspect-ratio:4/3;background:var(--paper-warm);position:relative;overflow:hidden;& img{transition:transform .3s}}& .feat-body{padding:24px}& .feat-tag{letter-spacing:.2em;text-transform:uppercase;color:var(--teal-deep);margin-bottom:8px;font-size:11px;font-weight:600;display:inline-block}& .feat-name{font-family:var(--font-serif);margin-bottom:6px;font-size:22px;font-weight:500}& .feat-desc{color:var(--ink-soft);margin-bottom:14px;font-size:14px;line-height:1.5}& .feat-price{color:var(--ink);font-size:16px;font-weight:600;& .feat-unit{color:var(--ink-soft);font-size:13px;font-weight:400}}}.cookie-art{object-fit:cover;width:100%;height:100%;display:block}.story{background:var(--paper-warm);& .story-inner{grid-template-columns:1fr 1fr;align-items:center;gap:80px;max-width:1100px;margin:0 auto;display:grid;@media (width<=767px){grid-template-columns:1fr;gap:40px}}& .story-img{aspect-ratio:5/4;background:var(--teal-pale);border-radius:8px;width:100%;position:relative;overflow:hidden;@media (width>=576px){width:60%;margin:0 auto}@media (width>=767px){width:100%}}& .story-stripes{background:repeating-linear-gradient(115deg, var(--teal-pale) 0 18px, var(--teal-soft) 18px 36px);justify-content:center;align-items:center;width:100%;height:100%;padding:10% 12%;display:flex}& .story-logo{filter:drop-shadow(0 6px 14px #2a2d2e14);width:100%;max-width:320px;height:auto;display:block}& h2{font-family:var(--font-serif);margin-bottom:24px;font-size:44px;font-weight:500;line-height:1.1}& p{color:var(--ink-soft);margin-bottom:16px;font-size:16px;line-height:1.75}& .signature{font-family:var(--font-script);color:var(--teal-deep);margin-top:24px;font-size:38px}}.contact{background:var(--ink);color:var(--paper);text-align:center;& h2{font-family:var(--font-serif);margin-bottom:20px;font-size:clamp(40px,5vw,64px);font-weight:500;line-height:1.05;& .script{color:var(--teal);font-size:1.3em;display:inline-block;transform:translateY(.08em)}}& p{color:#faf8f4b3;max-width:480px;margin:0 auto 36px;font-size:17px}& .contact-cta{background:var(--teal);color:var(--ink);&:hover{background:#fff;transform:translateY(-2px)}}}.site-footer{background:var(--ink);color:var(--paper);padding:110px 32px 36px;position:relative;overflow:hidden;& a{color:var(--teal)}& .footer-rays{pointer-events:none;background:repeating-linear-gradient(115deg,#0000 0 110px,#7bcfc80d 110px 220px),repeating-linear-gradient(115deg,#0000 0 60px,#7bcfc80a 60px 120px);position:absolute;inset:0}& .footer-glow{pointer-events:none;background:radial-gradient(circle,#7bcfc82e 0%,#0000 65%);width:420px;height:420px;position:absolute;top:-120px;right:-120px;&.left{background:radial-gradient(circle,#7bcfc81a 0%,#0000 65%);width:380px;height:380px;inset:auto auto -180px -140px}}& .footer-inner{text-align:center;max-width:980px;margin:0 auto;position:relative}& .footer-tagline{margin-bottom:70px}& .footer-tagline-eyebrow{letter-spacing:.5em;color:var(--teal);text-transform:uppercase;margin-bottom:18px;font-size:11px;font-weight:600}& .footer-tagline-text{font-family:var(--font-serif);color:var(--paper);letter-spacing:-.01em;font-size:clamp(30px,4.4vw,52px);font-style:italic;font-weight:500;line-height:1.15;& .script{color:var(--teal);margin:0 .05em;font-size:1.55em;font-style:normal;display:inline-block;transform:translateY(.12em)}}& .footer-bottom{color:#faf8f48c;letter-spacing:.04em;border-top:1px solid #faf8f424;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding-top:28px;font-size:12px;display:flex}& .footer-bottom-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex;& .dot{background:#faf8f44d;border-radius:50%;width:3px;height:3px;margin:0 10px;display:inline-block}@media (width<=720px){flex-direction:column;align-items:center;gap:10px;& .dot{display:none}}}& .footer-top-link{color:#faf8f4b3;letter-spacing:.28em;text-transform:uppercase;align-items:center;gap:10px;font-size:11px;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex;&:hover{color:var(--teal)}& span{border:1px solid #faf8f440;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}&:hover span{border-color:var(--teal);background:#7bcfc81a}}@media (width<=880px){padding:80px 24px 28px}@media (width<=600px){& .footer-bottom{text-align:center;flex-direction:column-reverse;justify-content:center}}}body:has(.cart-modal){overflow-y:hidden}.nav-links{& .active{color:var(--teal-deep)}}.cart-pill{background:var(--ink);color:var(--paper);letter-spacing:.04em;cursor:pointer;user-select:none;border:none;border-radius:999px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:500;transition:background .2s;display:inline-flex;&:hover{background:var(--teal-deep)}}.cart-count{background:var(--teal);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.page-head{text-align:center;background:linear-gradient(180deg, var(--teal-pale) 0%, var(--paper) 100%);padding:80px 32px 60px;position:relative;overflow:hidden;& .script{color:var(--teal-deep);margin-bottom:8px;font-size:clamp(64px,9vw,120px);line-height:.9}& h1{font-family:var(--font-serif);letter-spacing:.02em;margin-bottom:14px;font-size:clamp(28px,3vw,36px);font-weight:500}& p:not([class]){color:var(--ink-soft);max-width:540px;margin:0 auto;font-size:16px}}.shop{max-width:1200px;margin:0 auto;padding:40px 32px 80px;& .delivery-notice{background:var(--teal-pale);border:1px solid var(--teal-soft);border-left:3px solid var(--teal-deep);max-width:800px;color:var(--ink-soft);border-radius:10px;margin:0 auto 28px;padding:14px 18px;font-size:13.5px;line-height:1.6;& strong{color:var(--ink);font-weight:600}& a{color:var(--teal-deep);text-underline-offset:2px;text-decoration:underline}}& .shop-tools{border-bottom:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;margin-bottom:32px;padding-bottom:16px;font-size:13px;display:flex;& strong{color:var(--ink);font-weight:600}@media (width<=500px){justify-content:unset;flex-direction:column;align-items:flex-start}}}.grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.product{z-index:1;border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden;&:hover{box-shadow:0 16px 32px #0000000f;& .cookie-art{transform:scale(1.1)}}& .p-img{aspect-ratio:1;background:var(--paper-warm);object-fit:cover;z-index:2;width:100%;height:100%;position:relative;overflow:hidden;& .cookie-art{transition:transform .3s}}& .p-tag{z-index:3;backdrop-filter:blur(4px);letter-spacing:.18em;text-transform:uppercase;color:var(--teal-deep);background:#fffffff2;border-radius:999px;padding:5px 12px;font-size:10px;font-weight:600;position:absolute;top:14px;left:14px}& .p-body{flex-direction:column;flex:1;gap:12px;padding:20px 22px 22px;display:flex}& .p-name{font-family:var(--font-serif);font-size:22px;font-weight:500;line-height:1.2}& .p-desc{color:var(--ink-soft);flex:1;font-size:13.5px;line-height:1.5}& .p-bottom{justify-content:space-between;align-items:center;margin-top:6px;display:flex}& .p-price{font-size:17px;font-weight:600;& small{color:var(--ink-soft);margin-left:4px;font-size:12px;font-weight:400}}}.stepper{background:var(--paper-warm);border-radius:999px;align-items:center;width:fit-content;padding:4px;display:inline-flex;& button{cursor:pointer;width:32px;height:32px;color:var(--ink);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:500;transition:background .15s;display:flex;&:hover{background:#fff}&:disabled{opacity:.3;cursor:not-allowed}}& .qty{text-align:center;font-variant-numeric:tabular-nums;min-width:28px;font-size:14px;font-weight:600}&.active{background:var(--teal-soft)}}.cart-modal{z-index:100;backdrop-filter:blur(3px);position:fixed;inset:0;& .cart-drawer{background:var(--paper);flex-direction:column;width:min(440px,100%);animation:.35s cubic-bezier(.4,0,.2,1) cart-slide-in;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 40px #00000014}}@keyframes cart-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.cart-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:22px 28px;display:flex;& h3{font-family:var(--font-serif);font-size:22px;font-weight:500}}.cart-close{cursor:pointer;width:36px;height:36px;color:var(--ink);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .15s;display:flex;&:hover{background:var(--paper-warm)}}.cart-items{flex:1;padding:12px 28px;overflow-y:auto}.cart-empty{text-align:center;color:var(--ink-soft);padding:60px 28px;& svg{color:var(--teal);margin-bottom:16px}& .cart-empty-title{font-family:var(--font-serif);color:var(--ink);margin-bottom:6px;font-size:18px}& .cart-empty-sub{font-size:13px}}.cart-item{border-bottom:1px solid var(--line);grid-template-columns:64px 1fr auto;align-items:center;gap:14px;padding:16px 0;display:grid;&:last-child{border-bottom:none}& .cart-thumb{background:var(--paper-warm);border-radius:8px;width:64px;height:64px;overflow:hidden;& img{object-fit:cover;width:100%;height:100%;display:block}}& .cart-info{flex-direction:column;gap:8px;min-width:0;display:flex}& .cart-name{font-family:var(--font-serif);font-size:16px;font-weight:500}& .cart-actions{flex-direction:row;align-items:center;gap:10px;display:flex}& .cart-line-total{font-size:18px;font-weight:600}& .cart-remove{cursor:pointer;color:var(--ink-soft);background:0 0;border:none;align-items:center;padding:2px;display:flex;& svg{width:18px;height:18px;transition:color .15s}&:hover{color:var(--ink)}}}.cart-foot{border-top:1px solid var(--line);padding:22px 28px 28px;& .cart-row{justify-content:space-between;margin-bottom:8px;font-size:14px;display:flex;&.total{font-size:18px;font-weight:600}& .cart-shipping{color:var(--ink-soft)}}}.delivery-note{background:var(--teal-pale);border:1px solid var(--teal-soft);color:var(--ink-soft);border-radius:8px;margin-top:16px;padding:12px 14px;font-size:12.5px;line-height:1.55;& strong{color:var(--ink);font-weight:600}& a{color:var(--teal-deep);text-underline-offset:2px;text-decoration:underline}}.email-field{color:var(--ink-soft);flex-direction:column;gap:6px;margin-top:18px;font-size:13px;font-weight:500;display:flex}.email-input{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);box-sizing:border-box;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .15s;&:focus{border-color:var(--teal-deep)}&[aria-invalid=true]{border-color:var(--error)}}.checkout-btn{background:var(--ink);width:100%;color:var(--paper);letter-spacing:.04em;cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin-top:18px;padding:16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .2s;display:flex;&:hover{background:var(--teal-deep)}&:disabled{opacity:.4;cursor:not-allowed}&:hover:disabled{background:var(--ink)}}.checkout-error{text-align:center;color:var(--error);background:var(--error-bg);border:1px solid var(--error-line);border-radius:8px;margin-top:12px;padding:10px 14px;font-size:14px;font-weight:500}.checkout-error:empty{display:none}.stripe-note{text-align:center;color:var(--ink-soft);justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:11px;display:flex}@media (width<=880px){.grid{grid-template-columns:repeat(2,1fr);gap:20px}.nav-links a:not(.cart-pill){display:none}}@media (width<=540px){.grid{grid-template-columns:1fr}}@media (width<=900px){.cart-foot .delivery-note{display:none}}.bake-overlay{backdrop-filter:blur(8px);z-index:200;opacity:0;pointer-events:none;background:#2a2d2e8c;justify-content:center;align-items:center;padding:1rem;transition:opacity .3s;display:flex;position:fixed;inset:0}.bake-overlay.show{opacity:1;pointer-events:auto}.bake-card{background:var(--paper);text-align:center;border-radius:18px;max-width:440px;padding:44px 56px 40px;transition:transform .4s cubic-bezier(.4,0,.2,1);transform:translateY(16px)scale(.98);box-shadow:0 30px 80px #00000040}.bake-overlay.show .bake-card{transform:translateY(0)scale(1)}.bake-stage{width:240px;height:200px;margin:0 auto 24px;position:relative}.bake-title{font-family:var(--font-serif), serif;margin-bottom:8px;font-size:22px;font-weight:500}.bake-sub{color:var(--ink-soft);font-size:13px}.bake-dots:after{content:"";text-align:left;width:1.2em;animation:1.4s steps(4,end) infinite dots;display:inline-block}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.oven-door{transform-box:fill-box;transform-origin:50% 100%;animation:4.4s ease-in-out infinite doorCycle}.oven-tray{animation:4.4s ease-in-out infinite trayCycle;transform:translate(-180px)}.oven-glow{opacity:0;animation:4.4s ease-in-out infinite glowCycle}.oven-steam{opacity:0;animation:2.2s ease-out 2s infinite steamRise}.oven-steam.s2{animation-delay:2.5s}.oven-steam.s3{animation-delay:3s}@keyframes doorCycle{0%{transform:scaleY(1)}15%{transform:scaleY(.2)}55%{transform:scaleY(.2)}70%{transform:scaleY(1)}to{transform:scaleY(1)}}@keyframes trayCycle{0%{transform:translate(-180px)}18%{transform:translate(-180px)}50%{transform:translate(0)}to{transform:translate(0)}}@keyframes glowCycle{0%,45%{opacity:0}55%{opacity:.85}to{opacity:.85}}@keyframes steamRise{0%{opacity:0;transform:translateY(0)scale(.6)}30%{opacity:.7}to{opacity:0;transform:translateY(-30px)scale(1.2)}}
