@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-1.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-2.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-3.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-4.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/fonts/font-5.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/font-6.ttf) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/font-7.ttf) format('truetype');
}
:root{--paper:#f3efe5;--olive:#394638;--ink:#333e30;--muted:#737568;--border:#39463830;--light:#e6e7d9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.75 var(--sans)}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.7' filter='url(%23n)'/%3E%3C/svg%3E")}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}img{display:block;width:100%;height:100%;object-fit:cover}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #a17b42;outline-offset:5px}::selection{background:var(--olive);color:var(--paper)}[hidden]{display:none!important}.skip{position:fixed;top:-100px;background:var(--olive);color:white;padding:10px;z-index:100}.skip:focus{top:0}header{height:110px;margin:0 4%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;border-bottom:1px solid var(--border);position:relative;z-index:10}.nav-left,.nav-right{display:flex;align-items:center;gap:26px;font-size:11px}.nav-right{justify-content:end}.brand{text-align:center;line-height:1;display:flex;flex-direction:column;gap:6px}.brand>span{font-size:7px;letter-spacing:.2em}.brand strong{font:600 31px/1 var(--serif)}.brand small{font-size:7px;letter-spacing:.2em}.button{display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:15px 23px;background:var(--olive);color:var(--paper);border:1px solid var(--olive);font-size:11px;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--olive)}.button span{font-size:18px;line-height:1}.button.small{padding:10px 17px;gap:20px}.nav-toggle{display:none}.hero{height:calc(100svh - 110px);min-height:590px;max-height:950px;position:relative;padding-top:45px;overflow:hidden}.hero-heading{position:relative;z-index:3;max-width:730px;margin:0 auto;text-align:center}.eyebrow{font-size:9px;letter-spacing:.16em;line-height:1.7;font-weight:500;margin:0}h1{font:500 clamp(58px,6.7vw,103px)/.98 var(--serif);letter-spacing:-.05em;margin:23px 0}h1 em{display:block;font-weight:400}h2{font:500 clamp(44px,4.6vw,70px)/1.04 var(--serif);letter-spacing:-.035em;margin:24px 0}h2 em{font-weight:400}em{font-style:italic}.hero-description{font-size:12px;margin:25px 0 24px}.hero-frame{position:absolute;z-index:1;width:20%;max-width:290px;margin:0;padding:10px 10px 6px;background:#fffaf0;box-shadow:0 8px 25px #343e2f12;top:25%;height:60%;max-height:390px}.hero-frame img{height:calc(100% - 34px)}.hero-frame figcaption{font:italic 17px var(--serif);text-align:center;margin-top:8px}.frame-left{left:2.8%;transform:rotate(-8deg)}.frame-right{right:2.8%;transform:rotate(8deg);top:20%}.hero-base{position:absolute;bottom:0;left:4%;right:4%;height:60px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:.12em}.hero-base>a{letter-spacing:0;font:italic 18px var(--serif)}.hero-base>a span{margin-left:15px}.seal{position:absolute;bottom:85px;left:calc(50% - 52px);width:104px;height:104px;border:1px solid #87907b;border-radius:50%;outline:1px solid #87907b;outline-offset:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg)}.seal span{font-size:6px;letter-spacing:.1em}.seal b{font:400 36px/1.3 var(--serif)}.ribbon{display:flex;align-items:center;justify-content:space-around;gap:20px;padding:24px 4%;background:var(--olive);color:var(--paper);font:italic 25px var(--serif)}.ribbon i{font-style:normal;font-size:17px;color:#b6bca4}.section{padding:100px 8%}.story-title{text-align:center}.story-grid{display:grid;grid-template-columns:.55fr 1.2fr 1fr;gap:7%;align-items:center;margin-top:60px}.year{font:400 100px/.75 var(--serif);letter-spacing:-.06em;display:block;border-top:1px solid var(--border);padding-top:30px}.story-aside p{font-size:9px;line-height:1.7;margin-top:25px}.story-copy{font-size:12px}.story-copy .large-copy{font:500 27px/1.25 var(--serif);margin-top:0}.story-copy p{margin:20px 0}.underlined{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;padding-bottom:5px;border-bottom:1px solid currentColor;font-size:11px}.underlined span{font-size:17px}.memory-frame{margin:0;padding:10px;background:#fffaf0;transform:rotate(4deg);box-shadow:0 5px 25px #333e3010}.memory-frame img{height:340px}.memory-frame figcaption{font:italic 16px var(--serif);text-align:center;margin:10px 0 2px}.food{background:var(--light);position:relative}.food:before{content:'';height:12px;position:absolute;left:0;right:0;top:-6px;background:radial-gradient(circle at 6px 0,var(--paper) 6px,transparent 6.5px) repeat-x;background-size:12px 12px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.section-heading>p{font-size:12px;margin-bottom:27px}.food-tabs{display:flex;gap:30px;margin:35px 0;border-bottom:1px solid var(--border)}.food-tabs button{border:0;background:none;padding:14px 0;font-size:10px;position:relative;color:#636d5b}.food-tabs button.active{color:var(--ink)}.food-tabs button.active:after{position:absolute;bottom:-1px;left:0;right:0;content:'';height:2px;background:var(--olive)}.food-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:start}.food-gallery figure{margin:0}.food-gallery figure:nth-child(2){padding-top:45px}.food-gallery figure:nth-child(3){padding-top:90px}.food-gallery.filtered{grid-template-columns:repeat(2,minmax(0,1fr));max-width:800px;margin:auto}.food-gallery.filtered figure{padding-top:0}.photo-button{display:block;width:100%;height:360px;padding:0;border:0;background:var(--olive);position:relative;overflow:hidden}.photo-button img{transition:transform .6s}.photo-button:hover img{transform:scale(1.04)}.photo-button>span{position:absolute;bottom:10px;right:10px;background:var(--paper);width:31px;height:31px;line-height:31px}.food-gallery figcaption>span{display:block;font-size:8px;letter-spacing:.15em;margin-top:20px}h3{font:500 32px/1.1 var(--serif);margin:9px 0}.food-gallery figcaption p{font-size:10px;margin:0}.menu-note{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:30px;margin-top:55px;font:500 22px/1.35 var(--serif)}.menu-note small{font:10px var(--sans)}.memories{display:grid;grid-template-columns:1fr 1fr;min-height:620px;background:var(--olive);color:var(--paper)}.memories-image{max-height:700px}.memories-image img{object-position:50% 45%}.memories-copy{padding:90px 15%;align-self:center}.memories-copy h2{font-size:60px}.memories-copy p:not(.eyebrow){font-size:12px;max-width:330px;color:#d2d4c6}.handwritten{display:block;font:italic 32px var(--serif);margin-top:35px;color:#d8c7a3}.invitation{text-align:center;padding-top:80px}.plate{width:100px;height:70px;margin-top:30px}.invitation h2{font-size:76px;margin:15px 0 25px}.invitation>p:not(.eyebrow){font-size:12px}.invitation>.button{margin:20px 0}.invitation>small{display:block;font-size:8px;color:var(--muted)}.info-grid{display:grid;grid-template-columns:1fr 1fr 1.1fr;gap:5%;margin-top:75px;padding-top:35px;border-top:1px solid var(--border);text-align:left;font-size:11px}.info-grid .eyebrow{display:block;margin-bottom:20px;font-size:8px}.info-grid address{font-style:normal;margin:0 0 16px}.info-grid p{margin:0 0 15px}.info-grid small{font-size:8px}.info-grid>div>a:not(.underlined){display:block}.email{font-size:10px;overflow-wrap:anywhere}.socials{display:flex;gap:24px;margin-top:15px;font-size:10px}footer{border-top:1px solid var(--border);margin:0 4%;padding:25px 0;display:flex;align-items:center;justify-content:space-between;font-size:8px}.footer-brand{font:600 32px var(--serif)}.lightbox{border:0;padding:30px 30px 15px;background:var(--paper);color:var(--ink);max-width:90vw;max-height:94svh;overflow:auto}.lightbox::backdrop{background:#172018db;backdrop-filter:blur(5px)}.lightbox img{height:auto;max-height:75svh;width:auto;max-width:80vw;object-fit:contain}.lightbox p{text-align:center;margin:10px 0 0;font:italic 25px var(--serif)}.close-lightbox{position:absolute;top:0;right:3px;width:30px;height:30px;background:none;border:0;font-size:26px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}
@media(max-height:760px) and (min-width:801px){.hero{padding-top:25px;min-height:540px}.hero-heading h1{font-size:78px;margin:16px 0}.hero-description{margin:16px 0}.seal{width:78px;height:78px;left:calc(50% - 39px);bottom:78px}.seal b{font-size:29px}.seal span{font-size:5px}.hero-frame{max-height:330px;top:20%}}
@media(max-width:1000px){.nav-left,.nav-right{gap:15px;font-size:10px}.hero-heading{max-width:540px}h1{font-size:75px}.hero-frame{width:21%;height:310px;top:30%}.hero-description{max-width:250px;margin:20px auto}.section{padding:75px 6%}.story-grid{gap:5%;grid-template-columns:.4fr 1.2fr 1fr}.year{font-size:75px}.memory-frame img{height:300px}.photo-button{height:300px}.memories-copy{padding:60px 12%}.memories-copy h2{font-size:48px}.info-grid{gap:3%}}
@media(max-width:760px){header{height:90px;grid-template-columns:1fr auto;margin:0 5%}.nav-left,.visit-link{display:none}.brand{text-align:left;align-items:start}.brand strong{font-size:26px}.brand>span,.brand small{font-size:6px}.nav-right{gap:15px}.button.small{padding:9px 12px;font-size:10px;gap:12px}.nav-toggle{display:block;background:none;border:0;padding:6px}.nav-toggle span{display:block;width:20px;height:1px;background:var(--ink);margin:5px 0}#mobile-nav:not([hidden]){position:absolute;top:90px;left:-6%;right:-6%;padding:25px 8%;background:var(--paper);display:flex;flex-direction:column;gap:15px;border-bottom:1px solid var(--border);font:28px var(--serif)}.hero{height:calc(100svh - 90px);min-height:680px;max-height:850px;padding-top:25px}.hero-heading{padding:0 5%;max-width:none}.hero .eyebrow{font-size:7px;letter-spacing:.11em}h1,.hero-heading h1{font-size:clamp(49px,10vw,72px);line-height:.98;margin:19px 0 15px}.hero-description{font-size:10px;max-width:none;margin:15px 0}.hero .button{font-size:10px;padding:11px 16px;gap:24px}.hero-frame{width:37%;height:215px;top:auto;bottom:82px;padding:7px;max-height:none}.frame-left{left:9%;transform:rotate(-7deg)}.frame-right{right:9%;transform:rotate(7deg);bottom:95px}.hero-frame img{height:calc(100% - 27px)}.hero-frame figcaption{font-size:14px;margin-top:6px}.seal{width:67px;height:67px;bottom:74px;left:calc(50% - 34px);z-index:4;background:var(--paper);outline-offset:3px}.seal span{font-size:4px}.seal b{font-size:24px}.hero-base{height:46px;left:5%;right:5%}.hero-base>span{font-size:6px;max-width:80px}.hero-base>span:last-child{display:none}.hero-base>a{font-size:16px}.ribbon{justify-content:center;padding:20px 4%;font-size:21px}.ribbon span:not(:first-child),.ribbon i:not(:last-child){display:none}.section{padding:60px 6%}h2{font-size:43px}.story-title{text-align:left}.story-grid{grid-template-columns:1fr;gap:35px;margin-top:30px}.story-aside{display:flex;align-items:center;gap:25px}.year{font-size:50px;line-height:.85;padding-top:15px}.story-aside p{margin:0;font-size:9px}.story-copy .large-copy{font-size:28px}.story-copy p{font-size:12px}.memory-frame{width:80%;margin:15px auto 5px}.memory-frame img{height:330px}.section-heading{display:block}.section-heading>p{font-size:11px;margin:20px 0}.food-tabs{gap:0;justify-content:space-between;margin:15px 0 28px}.food-tabs button{font-size:9px}.food-gallery{display:grid;grid-template-columns:1fr;gap:40px}.food-gallery figure:nth-child(n){padding:0}.photo-button{height:390px}.food-gallery figcaption>span{margin-top:15px}.food-gallery figcaption h3{font-size:32px}.food-gallery figure:nth-child(2){width:90%;margin-left:auto}.food-gallery figure:nth-child(3){width:90%}.food-gallery.filtered{grid-template-columns:1fr}.food-gallery.filtered figure{width:100%;margin:0}.menu-note{display:block;margin-top:35px;padding-top:20px;font-size:22px}.menu-note small{display:block;line-height:1.6;margin-top:10px}.menu-note .underlined{margin-top:10px}.memories{grid-template-columns:1fr;min-height:0}.memories-image{height:390px}.memories-copy{padding:50px 8% 60px}.memories-copy h2{font-size:48px}.invitation h2{font-size:54px}.invitation>p:not(.eyebrow){font-size:11px}.info-grid{grid-template-columns:1fr;gap:30px;margin-top:45px;text-align:center;font-size:12px}.info-grid .eyebrow{margin-bottom:10px}.info-grid small{font-size:9px}.info-grid .email{font-size:11px}.socials{justify-content:center}footer{flex-wrap:wrap;justify-content:center;gap:15px;font-size:7px;padding:25px 0}.footer-brand{order:-1;width:100%;text-align:center;font-size:32px}.lightbox{padding:30px 12px 15px}.lightbox img{max-width:82vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
@media(min-width:761px){.seal{width:82px;height:82px;left:calc(50% - 41px);bottom:82px}.seal b{font-size:29px}.seal span{font-size:5px}}
@media(max-width:760px) and (min-height:800px){.hero-frame{height:260px}}
