:root{--pink:#F4547D;--light:#f9cddd;--cream:#fff9f2;--green:#284c3c;--line:#e3cfc9;--body:'DM Sans',sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--green);background:var(--cream);font:1rem/1.6 var(--body)}a{color:inherit}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--green);outline-offset:5px}.skip{position:absolute;top:-70px;left:15px;background:white;padding:12px;z-index:100}.skip:focus{top:10px}.topline{text-align:center;background:var(--light);padding:9px 15px;font-size:.875rem}header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 5%;border-bottom:1px solid var(--line);background:var(--cream)}.brand{text-decoration:none;display:flex;align-items:center;gap:7px;color:var(--pink)}.brand img{width:33px;height:53px;object-fit:contain}.brand span{font:italic 2.5rem/.85 var(--serif)}.brand small{display:block;font:600 .65rem var(--body);letter-spacing:.3em;color:var(--green);text-align:center;margin-top:11px}nav{display:flex;gap:30px}nav a{text-decoration:none;font-size:.94rem}nav a:hover{text-decoration:underline;text-underline-offset:5px}.language{border:1px solid var(--line);border-radius:50%;width:44px;height:44px;background:transparent;color:var(--green);font-weight:600}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:660px}.hero-copy{padding:90px 10% 60px}.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.16em;line-height:1.5;margin:0 0 20px}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.045em}h1{font-size:clamp(3rem,5.6vw,5.5rem);margin-bottom:30px}em{font-weight:400;color:var(--pink)}.intro{max-width:440px;font-size:1.08rem;line-height:1.8}.buttons{display:flex;align-items:center;gap:25px;margin-top:30px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 25px;border-radius:100px;font-size:.94rem;font-weight:600;text-decoration:none;border:1px solid transparent;transition:transform .2s;min-height:50px}.button:hover{transform:translateY(-3px)}.pink{background:var(--pink);color:#fff}.green{background:var(--green);color:#fff}.outline{border-color:var(--green)}.text-link{text-underline-offset:6px;font-weight:500}.hero-foot{margin-top:50px;font-size:.9rem}.hero-photo{position:relative;overflow:hidden;min-height:550px;background:var(--light)}.hero-photo>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;object-position:52% 46%}.photo-label{position:absolute;bottom:28px;left:28px;background:var(--cream);padding:20px 27px;transform:rotate(-3deg);box-shadow:0 5px 20px #40332510}.photo-label span{font:italic 1.5rem var(--serif)}.photo-label small{display:block;font-size:.7rem;letter-spacing:.18em;margin-top:7px}.ribbon{text-align:center;padding:20px;background:var(--pink);color:white;font-family:var(--serif);font-size:1.2rem;line-height:1.8}.ribbon span{padding:0 22px}.section{padding:85px 7%;max-width:1440px;margin:auto}.section-heading{text-align:center;max-width:760px;margin:auto}.section-heading p:last-child{max-width:620px;margin:24px auto 0}h2{font-size:clamp(2.2rem,4vw,3.8rem);margin-bottom:25px}.filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:35px 0}.filters button{background:transparent;border:1px solid var(--line);border-radius:50px;color:var(--green);padding:10px 21px;font-size:.9rem}.filters button.selected{background:var(--green);border-color:var(--green);color:white}.flavor-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.flavor{padding:24px 20px;border-bottom:1px solid var(--line);background:#fbe9ed80;min-height:130px}.flavor:nth-child(3n+2){background:#edf1e680}.flavor:nth-child(3n){background:#fff0d780}.flavor h3{font:1.35rem var(--serif);margin-bottom:7px}.flavor p{font-size:.9rem;margin:0}.tag{font-size:.75rem;color:#815161;margin-top:10px;display:block}.small-note{font-size:.85rem;margin-top:25px}.flavors>.small-note{text-align:center}.fundita{display:grid;grid-template-columns:1fr 1fr;background:var(--light);margin:0 5%;border-radius:200px 200px 0 0;overflow:hidden}.fundita-image{height:620px}.fundita-image img{width:100%;height:100%;object-fit:cover;object-position:50% 75%}.fundita-copy{padding:100px 12% 70px;align-self:center}.fundita-copy h2{font-size:clamp(2.5rem,4vw,4.5rem)}.fundita-copy p{margin-bottom:30px}.story{text-align:center;max-width:1000px;padding-top:110px;padding-bottom:110px}.story>p:not(.eyebrow){max-width:700px;margin:30px auto;line-height:1.9}.signature{font:italic 1.5rem var(--serif);color:var(--pink)}.anniversary{display:grid;grid-template-columns:1.5fr 1fr;gap:60px;background:repeating-linear-gradient(90deg,#fff5f5 0 24px,#fbe1e8 24px 48px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:none}.anniversary>div:first-child{background:var(--cream);padding:35px}.event-date{align-self:center;text-align:center}.event-date strong{font:1.6rem var(--serif);display:block}.event-date>span{font:2.7rem var(--serif);color:var(--pink)}.catering{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.visit{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:#edf1e7;max-width:none}.address{font-size:1.25rem;margin:25px 0}.hours{align-self:center}.hours h3{font:1.8rem var(--serif)}.hours>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #bac9b8}.hours p{margin:24px 0 14px}footer{text-align:center;padding:50px 20px}footer .brand{justify-content:center;margin-bottom:28px}footer p{font-family:var(--serif);font-style:italic}footer>small{font-size:.8rem}@media(min-width:1450px){.hero-copy{padding-left:max(60px,calc((100vw - 1240px)/2))}}@media(max-width:900px){nav{gap:15px}.hero-copy{padding:60px 7%}.hero{min-height:580px}.flavor-grid{grid-template-columns:repeat(3,1fr)}.fundita-copy{padding:60px 10%}.fundita-image{height:550px}.catering,.visit{gap:40px}}@media(max-width:650px){header{flex-wrap:wrap;gap:15px;padding:20px}.brand span{font-size:2.1rem}nav{order:3;width:100%;justify-content:space-between;gap:10px}nav a{font-size:.85rem}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 35px}.hero-foot{margin-top:30px}.hero-photo{min-height:420px}.hero-photo img{object-position:50% 40%}.section{padding:55px 7%}.ribbon{font-size:.95rem}.ribbon span{padding:0 10px}.flavor-grid{grid-template-columns:repeat(2,1fr);gap:10px}.flavor{padding:18px 14px}.fundita{grid-template-columns:1fr;border-radius:110px 110px 0 0;margin:0 5%}.fundita-image{height:410px}.fundita-copy{padding:40px 9%}.anniversary,.catering,.visit{grid-template-columns:1fr;gap:30px}.anniversary>div:first-child{padding:25px}.hours>div{flex-wrap:wrap}.photo-label{left:20px;bottom:25px}.eyebrow{font-size:.75rem}h1{font-size:3.4rem}.story h2{font-size:2.5rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

[hidden]{display:none!important}

.brand{display:block;width:190px;height:100px;overflow:hidden;flex-shrink:0}.brand img.actual-logo{display:block;width:100%;height:auto;object-fit:contain;margin-top:-12px;mix-blend-mode:multiply}footer .brand{width:240px;height:125px;margin:0 auto 24px}footer .brand img.actual-logo{margin-top:-15px}@media(max-width:650px){header .brand{width:160px;height:85px}header .brand img.actual-logo{margin-top:-10px}}

.hours .social-links,.social-links{display:flex;flex-wrap:wrap;gap:14px 24px;border:0;padding:0}.footer-social{justify-content:center;margin:0 0 24px}

nav{align-items:center;flex-wrap:wrap}nav a.order-link{background:var(--pink);color:white;padding:10px 18px;border-radius:100px;font-weight:600}nav a.order-link:hover{text-decoration:none;background:var(--green)}.visit-order{margin:0 12px 12px 0}@media(max-width:650px){nav{justify-content:flex-start;gap:12px 18px}nav a.order-link{padding:9px 16px}}

.ordering{display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line)}.ordering h2{margin-bottom:0}.ordering .buttons{margin-top:0}@media(max-width:650px){.ordering{align-items:flex-start;flex-direction:column}.ordering .buttons{gap:14px}}
