:root{--cream:#fffaf5;--blush:#fbe9e7;--blush-deep:#f6d3d0;--berry:#b8325a;--berry-dark:#8e244d;--passion:#f2b134;--ink:#3f2a31;--muted:#7a6369;--line:#ecdcd6;--white:#fff;--radius:18px;--shadow:0 10px 30px #3f2a3114;--font-display:"Playfair Display", Georgia, serif;--font-body:"Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:var(--font-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;line-height:1.6}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{min-width:320px;margin:0}h1,h2,h3{font-family:var(--font-display);color:var(--ink);margin:0 0 .5em;line-height:1.2}h1{font-size:clamp(2.6rem,6vw,4.2rem)}h2{font-size:clamp(1.9rem,4vw,2.6rem)}h3{font-size:1.25rem}p{margin:0 0 1em}a{color:var(--berry)}img{max-width:100%;display:block}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.container{width:min(1120px,100% - 2.5rem);margin-inline:auto}.container.narrow{width:min(640px,100% - 2.5rem)}.section{padding:clamp(4rem,8vw,6.5rem) 0}.section-tinted{background:var(--blush)}.section-heading{text-align:center;max-width:620px;margin:0 auto 3rem}.section-heading p:last-child{color:var(--muted)}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--berry);margin-bottom:.6rem;font-size:.8rem;font-weight:700}.muted{color:var(--muted)}.btn{font:inherit;cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.85rem 1.6rem;font-weight:700;text-decoration:none;transition:background .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:focus-visible,.stepper button:focus-visible,.nav-toggle:focus-visible{outline:3px solid var(--passion);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--berry);color:var(--white);box-shadow:0 6px 16px #b8325a40}.btn-primary:hover:not(:disabled){background:var(--berry-dark)}.btn-secondary{background:var(--blush-deep);color:var(--berry-dark)}.btn-outline{border-color:var(--berry);color:var(--berry);background:0 0}.btn-outline:hover{background:var(--berry);color:var(--white)}.btn-small{padding:.5rem 1.1rem}.btn-block{width:100%}.badge{background:var(--white);min-width:1.4rem;height:1.4rem;color:var(--berry);border-radius:999px;place-items:center;padding:0 .35rem;font-size:.8rem;display:inline-grid}.site-header{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#fffaf5eb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;height:68px;display:flex}.logo{font-family:var(--font-display);color:var(--berry);font-size:1.5rem;font-style:italic;font-weight:700;text-decoration:none}.site-nav{align-items:center;gap:1.6rem;display:flex}.site-nav a:not(.btn){color:var(--ink);font-weight:600;text-decoration:none}.site-nav a:not(.btn):hover{color:var(--berry)}.nav-toggle{color:var(--ink);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;display:none}@media (width<=760px){.nav-toggle{display:block}.site-nav{background:var(--cream);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;padding:.5rem 1.25rem 1.25rem;display:none;position:absolute;top:68px;left:0;right:0}.site-nav.open{display:flex}.site-nav a:not(.btn){border-bottom:1px solid var(--line);padding:.8rem 0}.site-nav .btn{margin-top:1rem}}.photo-placeholder{border-radius:var(--radius);background:radial-gradient(circle at 30% 30%, #ffffffb3, transparent 55%), linear-gradient(135deg, var(--blush-deep), #fdf0e4 55%, #f9e0b8);color:var(--berry-dark);text-align:center;border:2px dashed #b8325a4d;place-items:center;padding:1.5rem;font-weight:600;display:grid}.photo-placeholder span{background:#ffffffbf;border-radius:999px;padding:.4rem .9rem;font-size:.9rem}.hero{background:radial-gradient(circle at 85% 20%, var(--blush-deep), transparent 45%), radial-gradient(circle at 10% 90%, #fdeccf, transparent 40%), var(--cream);padding:clamp(3rem,7vw,6rem) 0}.hero-inner{grid-template-columns:1.1fr 1fr;align-items:center;gap:3rem;display:grid}.hero h1{color:var(--berry);margin-bottom:.2em;font-style:italic}.hero-tagline{font-family:var(--font-display);margin-bottom:1rem;font-size:1.5rem}.hero-intro{color:var(--muted);max-width:34rem;font-size:1.1rem}.hero-actions{flex-wrap:wrap;gap:1rem;margin-top:1.8rem;display:flex}.hero-photo{aspect-ratio:1;box-shadow:var(--shadow);border-radius:50% 50% 46% 54%/55% 48% 52% 45%}.split{grid-template-columns:1fr 1.2fr;align-items:center;gap:3.5rem;display:grid}.split-reverse{grid-template-columns:1.2fr 1fr}.portrait{aspect-ratio:4/5}.landscape{aspect-ratio:4/3}.signature{font-family:var(--font-display);color:var(--berry);font-size:1.4rem;font-style:italic}.highlights{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin:3.5rem 0 0;padding:0;list-style:none;display:grid}.highlights li{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.6rem}.highlights p{color:var(--muted);margin:0}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.75rem;margin:0;padding:0;list-style:none;display:grid}.menu-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;transition:transform .2s;display:flex;overflow:hidden}.menu-card:hover{transform:translateY(-3px)}.menu-photo-wrap{position:relative}.menu-photo{aspect-ratio:4/3;border:none;border-radius:0}.tag{background:var(--passion);color:var(--ink);border-radius:999px;padding:.3rem .75rem;font-size:.75rem;font-weight:700;position:absolute;top:1rem;left:1rem}.menu-body{flex-direction:column;flex:1;padding:1.4rem 1.5rem 1.6rem;display:flex}.menu-title-row{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.menu-title-row h3{margin:0}.price{color:var(--berry);white-space:nowrap;font-size:1.15rem;font-weight:700}.menu-size{color:var(--muted);margin:.2rem 0 .8rem;font-size:.85rem}.menu-desc{flex:1}.card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);border:none;margin:0;padding:1.6rem}.order-layout{grid-template-columns:1fr 340px;align-items:start;gap:1.75rem;display:grid}.order-main{gap:1.5rem;display:grid}legend{float:left;width:100%;font-family:var(--font-display);margin-bottom:1rem;padding:0;font-size:1.3rem;font-weight:700}legend+*{clear:both}.qty-list{margin:0;padding:0;list-style:none}.qty-list li{border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:.8rem .9rem;transition:background .2s;display:flex}.qty-list li+li{border-top:1px solid var(--line)}.qty-list li.selected{background:var(--blush)}.qty-name{font-weight:700;display:block}.qty-price{color:var(--muted);font-size:.85rem}.stepper{align-items:center;gap:.6rem;display:flex}.stepper span{text-align:center;min-width:1.6rem;font-weight:700}.stepper button{border:2px solid var(--berry);background:var(--white);width:2.1rem;height:2.1rem;color:var(--berry);cursor:pointer;border-radius:50%;font-size:1.1rem;font-weight:700;line-height:1}.stepper button:hover:not(:disabled){background:var(--berry);color:var(--white)}.stepper button:disabled{opacity:.35;cursor:not-allowed}.field-grid{grid-template-columns:repeat(2,1fr);gap:1rem 1.25rem;display:grid}.span-2{grid-column:span 2}label{gap:.35rem;font-size:.92rem;font-weight:600;display:grid}input,textarea{font:inherit;color:var(--ink);border:1.5px solid var(--line);background:var(--cream);border-radius:10px;width:100%;padding:.7rem .9rem;font-weight:400}textarea{resize:vertical}input:focus,textarea:focus{border-color:var(--berry);outline:none;box-shadow:0 0 0 3px #b8325a26}.radio-row{gap:.75rem;margin-bottom:1.25rem;display:flex}.radio-pill{display:block;position:relative}.radio-pill input{opacity:0;width:1px;height:1px;position:absolute}.radio-pill span{border:2px solid var(--line);cursor:pointer;border-radius:999px;padding:.55rem 1.4rem;transition:background .2s,border-color .2s;display:inline-block}.radio-pill input:checked+span{background:var(--berry);border-color:var(--berry);color:var(--white)}.radio-pill input:focus-visible+span{outline:3px solid var(--passion);outline-offset:2px}.order-summary{position:sticky;top:90px}.summary-list{margin:0 0 1.25rem;padding:0;list-style:none}.summary-list li{border-bottom:1px dashed var(--line);justify-content:space-between;gap:1rem;padding:.5rem 0;display:flex}.summary-total{font-size:1.1rem;font-weight:700;border-bottom:none!important;padding-top:.9rem!important}.form-errors{color:#9b1c36;background:#fdecee;border:1px solid #f3b6c0;border-radius:12px;margin:0 0 1rem;padding:.8rem 1rem .8rem 2rem;font-size:.9rem}.fine-print{color:var(--muted);text-align:center;margin:.8rem 0 0;font-size:.8rem}.confirmation{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:2.5rem}.confirmation .summary-list{text-align:left;margin:1.5rem 0}.contact-grid{grid-template-columns:repeat(4,1fr);gap:1.25rem;display:grid}.contact-card h3{margin-bottom:.4rem;font-size:1.05rem}.contact-card a,.contact-card p{word-break:break-word;margin:0}.contact-grid .span-2{grid-column:span 4}.hours{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 2rem;margin:0;display:grid}.hours div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:1rem;padding:.4rem 0;display:flex}.hours dt{font-weight:700}.hours dd{color:var(--muted);margin:0}.site-footer{background:var(--ink);color:#e9d9dc;padding:2rem 0;font-size:.9rem}.site-footer .logo{color:var(--blush-deep)}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}@media (width<=900px){.hero-inner,.split,.split-reverse,.order-layout{grid-template-columns:1fr}.hero-photo{width:100%;max-width:420px;margin-inline:auto}.portrait{width:100%;max-width:420px}.order-summary{position:static}.contact-grid{grid-template-columns:repeat(2,1fr)}.contact-grid .span-2{grid-column:span 2}}@media (width<=600px){.highlights,.field-grid,.contact-grid{grid-template-columns:1fr}.span-2,.contact-grid .span-2{grid-column:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
