@import url("assets/fonts/fonts.css");
@import url("assets/fonts/instrument-serif.css");
:root{--paper:#FBF8F2;--pink:#EAB7C9;--wine:#A83432;--ink:#302622;--muted:#6F6460;--line:#DCCFC9;--sans:"DM Sans",Arial,sans-serif;--serif:"Instrument Serif",Georgia,serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:17px;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-family:var(--sans);font-weight:500}
h1{letter-spacing:-.045em}
h2{letter-spacing:-.035em;line-height:1.18}
p{line-height:1.7}
a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}
button,input,select,textarea{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
img{display:block;max-width:100%}
svg{width:23px;height:23px;flex-shrink:0}
main{scroll-margin-top:96px}
section[id],footer[id]{scroll-margin-top:110px}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--wine);outline-offset:6px}
::selection{background:var(--pink);color:var(--ink)}
.skip-link{position:fixed;z-index:120;left:18px;top:12px;transform:translateY(-150%);padding:12px 18px;color:var(--ink);background:var(--paper)}
.skip-link:focus{transform:translateY(0)}
.site-header{position:sticky;top:0;z-index:100;background:var(--paper);border-bottom:1px solid var(--line)}
.header-inner{max-width:1300px;height:96px;margin:0 auto;padding:0 30px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{display:block;width:184px}
.brand-logo{width:100%;height:70px;object-fit:contain}
.desktop-nav{display:flex;gap:36px;align-items:center}
.desktop-nav a{padding:14px 0;text-decoration:none;font-size:16px;transition:color .2s}
.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--wine)}
.desktop-nav a[aria-current]{text-decoration:underline}
.nav-right{justify-self:end}
.nav-toggle,.mobile-navigation,.mobile-actions{display:none}
.button{display:inline-flex;align-items:center;justify-content:space-between;min-height:52px;gap:32px;border:1px solid var(--wine);background:var(--wine);color:var(--paper);border-radius:2px;padding:13px 21px;text-decoration:none;font-size:16px;line-height:1.45;transition:background .2s,border-color .2s}
.button:hover{background:#872927;border-color:#872927}
.button-outline{background:transparent;color:var(--wine)}
.button-outline:hover{background:var(--wine);color:var(--paper)}
.text-link{display:inline-flex;align-items:center;justify-content:space-between;min-height:44px;gap:23px;border-bottom:1px solid currentColor;font-size:16px;line-height:1.5;padding:5px 0;text-decoration:none}
.text-link svg,.button svg{transition:transform .2s}
.text-link:hover svg,.button:hover svg{transform:translateX(3px)}
.welcome{width:calc(100% - 8vw);max-width:1160px;margin:0 auto;padding:40px 0 76px}
.welcome-heading{text-align:center;padding:0 20px}
.welcome h1{font-family:var(--serif);font-size:60px;line-height:1.1;font-weight:400;letter-spacing:-.025em}
.welcome-heading p{font-size:17px;line-height:1.6;margin-top:14px}
.welcome-photo{margin-top:30px;padding:14px;background:var(--pink)}
.welcome-photo img{width:100%;height:auto;aspect-ratio:2.2;object-fit:cover;object-position:50% 43%}
.welcome-actions{display:flex;align-items:center;justify-content:center;gap:32px;margin-top:26px}
.welcome-actions .button{min-width:188px}
.daily-section{max-width:1120px;margin:0 auto;padding:20px 0 100px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:100px}
.daily-photo{aspect-ratio:1;overflow:hidden}
.daily-photo img{width:100%;height:100%;object-fit:cover;object-position:66% 50%}
.daily-copy h2{font-size:38px;line-height:1.2}
.daily-copy>p{max-width:440px;margin-top:23px;line-height:1.75}
.daily-menu{display:flex;flex-direction:column;margin-top:30px;border-bottom:1px solid var(--line)}
.daily-menu a{display:grid;grid-template-columns:96px minmax(0,1fr) 24px;align-items:center;gap:22px;border-top:1px solid var(--line);padding:14px 0;min-height:100px;font-size:23px;letter-spacing:-.025em;text-decoration:none;transition:color .2s,padding .2s}
.daily-menu img{width:96px;height:72px;object-fit:cover;object-position:center}
.daily-menu a:hover{color:var(--wine);padding-left:6px}
.daily-menu svg{width:24px;height:24px}
.catering-invitation{background:var(--pink);padding:44px 32px}
.catering-invitation-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr auto;align-items:center;gap:40px}
.catering-invitation h2{font-size:34px}
.catering-invitation p{font-size:17px;line-height:1.7}
.people-section{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:90px;padding:105px 0}
.people-copy h2{font-size:36px}
.people-copy p{margin-top:23px;max-width:390px;line-height:1.75}
.people-copy .text-link{margin-top:22px}
.people-photo{aspect-ratio:1.35;overflow:hidden}
.people-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 44%}
.site-footer{border-top:1px solid var(--line);background:var(--paper)}
.footer-inner{max-width:1240px;margin:0 auto;padding:65px 0 30px}
.visit-layout{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:70px;padding-bottom:60px}
.visit-layout h2{font-size:30px;line-height:1.25}
.visit-layout p{margin-top:20px;font-size:17px}
.visit-address address{font-size:17px;line-height:1.7;font-style:normal}
.visit-address .text-link{margin-top:17px}
.visit-contact{display:flex;align-items:flex-start;flex-direction:column;gap:12px;font-size:17px}
.visit-contact>a{text-decoration:none;overflow-wrap:anywhere}
.visit-contact>a:hover{text-decoration:underline}
.social-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:12px}
.social-links a{display:inline-flex;align-items:center;gap:9px;font-size:16px;text-decoration:none}
.social-links a:hover{text-decoration:underline}
.social-links svg{width:18px;height:18px}
.footer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-top:27px;border-top:1px solid var(--line)}
.footer-brand{display:block;width:204px}
.footer-brand img{width:100%;height:auto}
.footer-utility{display:flex;flex-direction:column;align-items:flex-end;gap:24px}
.footer-utility>div{display:flex;align-items:center;gap:30px}
.footer-utility a{font-size:16px;text-decoration:none}
.footer-utility a:hover{text-decoration:underline}
.footer-utility p{font-size:14px;color:var(--muted)}
@media(max-width:1330px){.daily-section,.people-section{margin-left:7vw;margin-right:7vw}.footer-inner{margin-left:5vw;margin-right:5vw}.daily-section{gap:7vw}.people-section{gap:6vw}}
@media(max-width:1020px){
 .header-inner{padding-left:5vw;padding-right:5vw}.desktop-nav{gap:24px}.brand{width:170px}
 .welcome h1{font-size:56px}
 .daily-copy h2{font-size:33px}.daily-copy>p{font-size:16px}.daily-menu a{grid-template-columns:80px minmax(0,1fr) 20px;gap:16px;font-size:20px;padding:13px 0;min-height:86px}.daily-menu img{width:80px;height:60px}
 .catering-invitation-inner{gap:24px;grid-template-columns:1fr 1.1fr}.catering-invitation .button{grid-column:2;justify-self:start}.catering-invitation h2{font-size:32px}
 .people-copy h2{font-size:32px}.people-copy p{font-size:16px}.people-photo{aspect-ratio:1.15}
 .visit-layout{gap:4vw;grid-template-columns:1.1fr 1fr}.visit-contact{grid-column:2;margin-top:-15px}.visit-layout h2{font-size:28px}
}
@media(max-width:760px){
 body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px));font-size:17px}
 main{scroll-margin-top:76px}
 section[id],footer[id]{scroll-margin-top:90px}
 .header-inner{height:76px;display:flex;justify-content:space-between;padding:0 6vw}
 .brand{width:146px}.brand-logo{height:58px}.desktop-nav{display:none}
 .nav-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:44px;height:44px;margin-right:-10px;border:0;background:none;color:var(--ink)}
 .nav-toggle span{width:25px;height:1px;background:currentColor;transition:transform .2s}
 .nav-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
 .nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 .mobile-navigation{position:fixed;inset:76px 0 calc(64px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:22px;overflow-y:auto;background:var(--paper);padding:28px 8vw}
 .mobile-navigation>a{font-size:34px;line-height:1.15;letter-spacing:-.035em;text-decoration:none}
 .mobile-navigation>a[aria-current]{color:var(--wine)}
 .mobile-navigation>.mobile-phone{font-size:18px;letter-spacing:0;margin-top:15px}
 .mobile-actions{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:101;height:calc(64px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--paper)}
 .mobile-actions a{display:flex;align-items:center;justify-content:center;gap:9px;flex:1;min-width:0;text-decoration:none;font-size:14px;min-height:44px}
 .mobile-actions a+a{border-left:1px solid var(--line)}.mobile-actions svg{width:20px;height:20px}
 .button{font-size:16px;min-height:50px;padding:12px 18px;gap:26px}.text-link{font-size:16px;gap:20px}
 .welcome{width:auto;margin:0 6vw;padding:24px 0 55px}
 .welcome-heading{padding:0}
 .welcome h1{font-size:42px;line-height:1.1;letter-spacing:-.015em}
 .welcome-heading p{max-width:290px;margin:12px auto 0;font-size:16px;line-height:1.55}
 .welcome-photo{padding:8px;margin-top:23px}
 .welcome-photo img{height:auto;aspect-ratio:1.1;object-position:53% 44%}
 .welcome-actions{gap:26px;margin-top:23px}
 .welcome-actions .button{min-width:170px}
 .daily-section{display:flex;flex-direction:column;align-items:stretch;gap:34px;margin:0 8vw;padding:0 0 60px}
 .daily-photo{width:100%;max-width:none;aspect-ratio:1.1;align-self:stretch}
 .daily-copy h2{font-size:32px;line-height:1.2}
 .daily-copy>p{font-size:17px;margin-top:20px}
 .daily-menu{margin-top:25px}
 .daily-menu a{grid-template-columns:72px minmax(0,1fr) 23px;gap:16px;font-size:22px;min-height:82px;padding:13px 0}.daily-menu img{width:72px;height:56px}
 .catering-invitation{padding:38px 8vw 42px}
 .catering-invitation-inner{display:block}
 .catering-invitation h2{font-size:30px}
 .catering-invitation p{margin-top:18px;font-size:17px}
 .catering-invitation .button{margin-top:23px}
 .people-section{display:flex;flex-direction:column;align-items:stretch;gap:32px;margin:0 8vw;padding:60px 0}
 .people-copy h2{font-size:31px;line-height:1.2}
 .people-copy p{font-size:17px;margin-top:21px;max-width:none}
 .people-copy .text-link{margin-top:20px}
 .people-photo{aspect-ratio:1.16}
 .footer-inner{margin:0;padding:45px 8vw 27px}
 .visit-layout{display:flex;flex-direction:column;gap:28px;padding-bottom:35px}
 .visit-layout h2{font-size:28px}
 .visit-layout p{font-size:17px;margin-top:18px}
 .visit-address .text-link{margin-top:13px}
 .visit-contact{margin:0;font-size:17px;gap:11px}
 .social-links{margin-top:11px;gap:24px}
 .footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:29px;padding-top:25px}
 .footer-brand{width:185px}
 .footer-utility{width:100%;align-items:flex-start;gap:24px}
 .footer-utility>div{width:100%;justify-content:space-between;gap:20px}
 .footer-utility a{font-size:16px}
}
@media(max-width:360px){.welcome h1{font-size:40px}.welcome-actions{gap:22px}.welcome-actions .button{min-width:155px}.welcome-actions .text-link{gap:11px}.daily-copy h2{font-size:30px}.daily-menu a{font-size:20px;gap:14px}}
@media(max-width:760px) and (max-height:700px){.welcome{padding-top:18px}.welcome-photo{margin-top:18px}.welcome-photo img{height:clamp(160px,30svh,210px);aspect-ratio:auto}.welcome-actions{margin-top:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
