:root{--paper:#f7f3ec;--cream:#eee7db;--ink:#332a22;--brown:#76523b;--muted:#897e71;--line:#d9cfc0;--sage:#dce1d2;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;top:10px;left:10px;z-index:20;padding:12px 16px;background:var(--ink);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.header{height:96px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(118,82,59,.12);position:relative;z-index:5;background:var(--paper)}.brand{display:block;width:146px;height:60px;color:var(--brown)}.brand-mark{width:100%;height:100%;overflow:visible}.logo-word{font-family:var(--serif);font-size:52px;font-weight:400;letter-spacing:1px;fill:currentColor}.logo-swish{fill:currentColor}.logo-rule{stroke:currentColor;stroke-width:.65;opacity:.65}.logo-cafe{font-family:var(--sans);font-size:7px;font-weight:500;letter-spacing:3px;text-anchor:middle;fill:currentColor}.navigation{display:flex;align-items:center;gap:42px;font-size:13px;color:#5e5145}.navigation>a:not(.nav-cta){transition:color .2s}.navigation>a:hover,.text-link:hover{color:#a06e48}.nav-cta{padding:12px 20px;border:1px solid var(--brown);border-radius:2px;color:var(--brown)}.nav-cta span{padding-left:9px}.nav-toggle{display:none}.hero{min-height:640px;padding:58px 7vw 66px;display:grid;grid-template-columns:.9fr 1.1fr;gap:5vw;align-items:center}.hero-copy{padding:18px 0 0 4.5vw;position:relative}.eyebrow{font-size:10px;letter-spacing:.18em;color:#897864;display:flex;align-items:center;gap:10px;margin:0 0 27px}.eyebrow>span{width:21px;height:1px;background:#b18c67;display:inline-block}.hero h1,.menu-intro h2,.story h2,.visit h2{font-family:var(--serif);font-size:clamp(48px,6.1vw,83px);font-weight:400;line-height:1.08;letter-spacing:-.045em;margin:0}.hero h1 em,.menu-intro h2 em,.story h2 em,.visit h2 em{font-weight:400;color:var(--brown)}.hero-intro{font-size:15px;line-height:1.8;color:#71675c;max-width:360px;margin:25px 0 28px}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:15px 18px;font-size:12px;letter-spacing:.025em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--ink);color:#fff}.button-dark:hover{background:#5b4030}.button span{font-size:15px}.text-link{font-size:12px;color:var(--brown);border-bottom:1px solid #bda993;padding-bottom:5px;transition:color .2s}.text-link span{padding-left:8px}.hero-note{margin-top:63px;display:flex;align-items:center;gap:14px;color:#918575;font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.5}.sun-symbol{font-size:24px;color:#ba9165}.hero-image-wrap{height:min(44vw,550px);min-height:420px;position:relative;margin-left:1vw}.hero-image{width:100%;height:100%;object-fit:cover;display:block;background:#ded3c3}.image-caption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;display:flex;justify-content:space-between;color:white;background:linear-gradient(transparent,rgba(29,23,18,.62));font-size:8px;letter-spacing:.14em}.hero-seal{position:absolute;left:-48px;top:50px;width:94px;height:94px;border-radius:50%;background:#f1e5d2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:var(--brown);font-size:8px;line-height:1.5;letter-spacing:.1em;box-shadow:0 3px 20px #4a34201a}.hero-seal b{font-size:15px;font-weight:400;margin-top:4px}.welcome-band{min-height:84px;background:var(--cream);display:flex;align-items:center;justify-content:center;gap:5vw;padding:20px 7vw;color:#766958;font-size:9px;letter-spacing:.15em;text-align:center}.welcome-band i{font-size:13px;color:#a58664;font-style:normal}.section{padding:112px 10vw}.menu-section{text-align:center}.section-top{display:flex;align-items:center;justify-content:space-between}.section-top .eyebrow{margin:0}.section-number{color:#a39584;font-size:9px;letter-spacing:.13em}.menu-intro{display:flex;align-items:end;justify-content:space-between;text-align:left;margin:46px 0 42px}.menu-intro h2,.story h2,.visit h2{font-size:clamp(42px,5vw,66px)}.menu-intro>p{max-width:300px;margin:0 0 7px;font-size:13px;line-height:1.8;color:#7c7165}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}.menu-card{height:435px;position:relative;overflow:hidden;background:#c8b8a4;color:white}.menu-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .65s}.menu-card:hover img{transform:scale(1.04)}.card-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 28%,rgba(27,23,19,.75) 100%)}.menu-card-copy{position:absolute;left:25px;right:22px;bottom:25px}.menu-card-copy>span{font-size:9px;letter-spacing:.16em;color:#f4dfc1}.menu-card-copy h3{font-family:var(--serif);font-size:29px;font-weight:400;line-height:1.12;margin:12px 0}.menu-card-copy p{font-size:11px;line-height:1.7;color:#f4eee7;max-width:270px;margin:0}.menu-footnote{font-size:11px;color:#8a7c6d;margin:28px 0 18px}.button-outline{border:1px solid var(--brown);color:var(--brown)}.button-outline:hover{background:#ede4d7}.story{background:#eee7dc;display:grid;grid-template-columns:1fr .9fr;gap:10vw;align-items:center;padding-top:125px;padding-bottom:125px}.story-image{height:520px;position:relative}.story-image img{width:100%;height:100%;object-fit:cover;display:block;background:#d1c4b3}.photo-note{position:absolute;left:0;bottom:0;padding:13px 16px;background:var(--paper);font-size:8px;letter-spacing:.16em;color:#776550}.story-copy{max-width:475px}.story-copy .eyebrow{margin-bottom:27px}.story-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:#74695e;margin:22px 0}.story-copy .text-link{display:inline-block;margin-top:8px}.story-signoff{margin-top:48px;font-family:var(--serif);font-size:15px;font-style:italic;color:#766958}.story-signoff span{display:block;color:var(--brown);font-size:25px;margin-top:7px}.visit{background:#765641;color:#fbf7f0;display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:center;padding-top:94px;padding-bottom:98px}.visit .eyebrow{color:#e3cdb4}.visit .eyebrow>span{background:#dfc5a7}.visit h2 em{color:#e6c9a8}.visit-heading>p:last-child{font-size:13px;color:#eadfd3;margin-top:22px}.visit-details{border-left:1px solid #ffffff38;padding:3px 0 3px 4vw;display:grid;grid-template-columns:1fr 1fr;gap:34px 20px}.detail{display:flex;flex-direction:column;gap:11px}.detail-label{font-size:9px;letter-spacing:.16em;color:#e1c8ad}.detail p,.detail a{margin:0;font-size:13px;line-height:1.8;color:#fff8ef}.detail p small{font-size:11px;color:#e4d5c4}.detail a span{padding-left:8px;color:#e1c8ad}.button-light{grid-column:1/-1;justify-self:start;background:#f5eee4;color:#604632;margin-top:2px}.button-light:hover{background:white}.footer{min-height:160px;padding:35px 7vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{width:112px;height:48px}.footer p,.footer>span{font-size:8px;letter-spacing:.13em;color:#8c8072}.footer p{margin:0}.footer>span{font-size:8px}
@media(min-width:1500px){.hero,.section{padding-left:max(10vw,calc((100vw - 1250px)/2));padding-right:max(10vw,calc((100vw - 1250px)/2))}.header,.footer{padding-left:max(7vw,calc((100vw - 1370px)/2));padding-right:max(7vw,calc((100vw - 1370px)/2))}}
@media(max-width:900px){.header{height:82px;padding:0 5vw}.hero{padding:48px 5vw 55px;gap:4vw}.hero-copy{padding-left:1vw}.hero-image-wrap{height:52vw;min-height:370px}.hero h1{font-size:clamp(48px,7vw,68px)}.section{padding:85px 7vw}.menu-card{height:380px}.story{gap:7vw}.story-image{height:450px}.visit{gap:6vw}.visit-details{padding-left:5vw}.footer{padding:30px 5vw}}
@media(max-width:650px){html{scroll-padding-top:72px}.header{height:72px;padding:0 6vw}.brand{width:124px;height:53px}.nav-toggle{display:flex;width:42px;height:42px;border:0;background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer}.nav-toggle span{display:block;width:20px;height:1px;background:var(--ink);transition:transform .2s}.nav-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.nav-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.navigation{display:none;position:absolute;top:71px;left:0;right:0;background:var(--paper);padding:22px 7vw 28px;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.navigation.open{display:flex}.navigation>a{padding:14px 0;border-bottom:1px solid #e6ddd1}.navigation .nav-cta{margin-top:15px;padding:13px 16px;border:1px solid var(--brown)}.hero{display:flex;flex-direction:column-reverse;align-items:stretch;padding:18px 6vw 54px;gap:28px}.hero-image-wrap{height:68vw;min-height:270px;margin:0}.hero-seal{width:77px;height:77px;left:auto;right:12px;top:12px;font-size:7px}.image-caption{font-size:7px}.hero-copy{padding:10px 2vw 0}.hero h1{font-size:clamp(48px,12vw,67px)}.eyebrow{font-size:9px;margin-bottom:20px}.hero-intro{font-size:14px;max-width:340px;margin:19px 0 23px}.hero-note{margin-top:34px}.welcome-band{min-height:73px;gap:13px;padding:18px 5vw;font-size:7px;letter-spacing:.1em;flex-wrap:wrap}.welcome-band span:last-child{flex-basis:100%}.welcome-band i:nth-of-type(2){display:none}.section{padding:72px 6vw}.section-top{align-items:flex-start}.section-number{font-size:8px;margin-top:2px}.menu-intro{display:block;margin:34px 0 27px}.menu-intro h2,.story h2,.visit h2{font-size:clamp(40px,10vw,55px)}.menu-intro>p{margin-top:17px;font-size:12px}.menu-grid{display:flex;flex-direction:column;gap:13px}.menu-card{height:410px}.menu-card-copy{left:23px;bottom:22px}.menu-card-copy h3{font-size:27px}.story{display:flex;flex-direction:column;align-items:stretch;gap:38px;padding-top:70px;padding-bottom:70px}.story-image{height:390px}.story-copy>p:not(.eyebrow){font-size:12px}.story-signoff{margin-top:34px}.visit{display:block;padding-top:70px;padding-bottom:72px}.visit-heading>p:last-child{font-size:12px}.visit-details{margin-top:37px;padding:28px 0 0;border-left:0;border-top:1px solid #ffffff38;gap:26px 12px}.detail p,.detail a{font-size:12px}.footer{padding:26px 6vw;display:grid;grid-template-columns:auto 1fr;gap:8px 15px}.footer p{line-height:1.7}.footer>span{grid-column:1/-1;line-height:1.7}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
:root{--paper:#F5EFE5;--ink:#493326;--brown:#76523b;--cream:#E6D5C0;--caramel:#B98556;--sage:#879078}
.brand{display:block;width:162px;height:80px;color:var(--brown);animation:logo-in .85s .12s both}
.brand img{display:block;width:100%;height:100%;object-fit:contain}
.footer-brand{width:142px;height:72px}
.header,main,.footer{position:relative;z-index:1}
.hero{position:relative;background:transparent}
.hero-image{animation:photo-in 1.25s .15s both}
.navigation{gap:34px}
.instagram-link{grid-column:1/-1;justify-self:start;color:#fff8ef;font-size:12px;border-bottom:1px solid #ffffff76;padding-bottom:5px}
.instagram-link span{padding-left:8px;color:#e1c8ad}
.footer-nav{display:flex;align-items:center;gap:17px;font-size:10px;color:#766958}
.footer-nav a:hover{color:#a06e48}
.bean-field{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;contain:strict}
.bean-field>span{position:absolute;left:var(--left);top:0;width:var(--size);height:calc(var(--size)*1.5);opacity:.15;animation:bean-fall var(--duration) linear var(--delay) infinite;will-change:transform}
@keyframes logo-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-in{from{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
.hero-copy>*{animation:copy-in .7s both}
.hero-copy .eyebrow{animation-delay:.12s}.hero-copy h1{animation-delay:.2s}.hero-copy .hero-intro{animation-delay:.28s}.hero-copy .hero-actions{animation-delay:.36s}.hero-copy .hero-note{animation-delay:.44s}
@keyframes copy-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.brand{width:145px;height:72px}.navigation{gap:23px}.footer-nav{gap:11px}}
@media(max-width:650px){.brand{width:132px;height:64px}.footer-brand{width:118px;height:62px}.bean-field>span{opacity:.17}.bean-field>span:nth-child(n+7){display:none}.footer-nav{grid-column:1/-1;grid-row:3;flex-wrap:wrap;gap:12px 19px}.footer>span{grid-row:4}.instagram-link{margin-top:-12px}}
@media(prefers-reduced-motion:reduce){.bean-field{display:none}.brand,.hero-image,.hero-copy>*{animation:none!important;opacity:1!important;transform:none!important}}
.brand{width:176px;height:86px;overflow:hidden}
.brand img{object-fit:cover}
.footer-brand{width:150px;height:76px}
@keyframes bean-fall{0%{transform:translate3d(0,-13vh,0) rotate(0deg)}55%{transform:translate3d(var(--drift),48vh,0) rotate(var(--spin))}100%{transform:translate3d(0,113vh,0) rotate(var(--spin))}}
@media(max-width:980px){.footer{flex-wrap:wrap}.footer>span{flex-basis:100%}}
@media(max-width:650px){.brand{width:145px;height:70px}.footer-brand{width:125px;height:66px}}
:where(a,button):focus-visible{outline:2px solid var(--caramel);outline-offset:4px}
.bean-field>span{opacity:.21}
.bean-field>span img{display:block;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
@media(max-width:650px){.bean-field>span{opacity:.17}}
.navigation a[aria-current=page]:not(.nav-cta){color:var(--brown);border-bottom:1px solid var(--caramel)}
.navigation .nav-cta[aria-current=page]{background:#eee4d7}
.page-heading{padding:76px 10vw 52px;background:var(--paper)}
.page-heading .eyebrow{margin-bottom:23px}
.page-heading h1{font:400 clamp(50px,7vw,82px)/1.05 var(--serif);letter-spacing:-.045em;margin:0;color:var(--ink)}
.page-heading h1 em{font-weight:400;color:var(--brown)}
.page-heading>p:not(.eyebrow){max-width:490px;margin:20px 0 0;color:#766b60;font-size:14px;line-height:1.8}
.page-heading .text-link{display:inline-block;margin-top:25px}
.full-menu-wrap{padding:0 10vw 90px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;background:var(--paper)}
.menu-list-card{padding:28px 30px 30px;background:#fbf8f2;border:1px solid #e9dfd1}
.menu-list-featured{grid-row:span 2}
.menu-list-heading{display:flex;align-items:baseline;gap:14px;border-bottom:1px solid #e7ddcf;padding-bottom:14px}
.menu-list-heading>span{font:500 9px var(--sans);letter-spacing:.14em;color:#af8964}
.menu-list-heading h2{font:400 28px/1.2 var(--serif);color:var(--ink);margin:0}
.menu-list-card>p{font-size:12px;color:#817569;line-height:1.75;margin:15px 0 18px}
.menu-list-card ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.menu-list-card li{padding:9px 0;border-bottom:1px solid #eee6da;font-size:12px;color:#5f5145;line-height:1.45}
.menu-page-note{margin:0 10vw 84px;padding:24px 28px;background:#eee5d8;display:flex;align-items:center;justify-content:space-between;color:#766b60;font-size:13px}
.story-detail{display:grid;grid-template-columns:.9fr 1fr;gap:9vw;align-items:center;padding-top:28px;padding-bottom:90px;background:transparent}
.story-detail-image{height:590px;position:relative;background:#d9cbbc}
.story-detail-image img{display:block;width:100%;height:100%;object-fit:cover}
.story-detail-copy{max-width:540px}
.story-detail-copy h2{font:400 clamp(42px,5.2vw,68px)/1.08 var(--serif);letter-spacing:-.04em;margin:0 0 27px;color:var(--ink)}
.story-detail-copy h2 em{color:var(--brown);font-weight:400}
.story-detail-copy>p:not(.eyebrow){font-size:13px;line-height:1.95;color:#74695e;margin:19px 0}
.story-detail-copy .eyebrow{margin-bottom:24px}
.story-detail-copy .story-signoff{margin-top:35px}
.story-invite{padding:28px 10vw 78px;display:flex;align-items:center;justify-content:space-between;background:#eee7dc}
.story-invite p{font:400 27px var(--serif);color:var(--brown);margin:0}
.menu-page{isolation:isolate}
.menu-floating-art{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.menu-page>:not(.menu-floating-art){position:relative;z-index:1}
.menu-page>.page-heading{background:rgba(245,239,229,.91)}
.menu-page>.full-menu-wrap{background:rgba(245,239,229,.84)}
.menu-page .menu-list-card{position:relative;background:rgba(251,248,242,.91)}
.menu-page .menu-page-note{position:relative;background:rgba(238,229,216,.92)}
.menu-art{position:absolute;width:clamp(92px,12vw,158px);height:auto;opacity:.27;filter:drop-shadow(0 5px 8px rgba(73,51,38,.12));transform-origin:center;animation:menu-art-rotate var(--rotate-time) linear infinite,menu-art-drift var(--drift-time) ease-in-out infinite alternate;will-change:rotate,translate}
.menu-art-coffee{left:2.2%;top:260px;--rotate-time:68s;--drift-time:9s;animation-delay:-18s,-3s}
.menu-art-matcha{right:2.5%;top:960px;width:clamp(82px,10vw,134px);--rotate-time:58s;--drift-time:11s;animation-delay:-31s,-6s}
.menu-art-croissant{left:77%;top:1770px;width:clamp(95px,13vw,168px);--rotate-time:76s;--drift-time:8s;animation-delay:-43s,-2s}
@keyframes menu-art-rotate{from{rotate:0deg}to{rotate:360deg}}
@keyframes menu-art-drift{from{translate:0 -8px}to{translate:0 10px}}
@media(max-width:900px){.menu-art-coffee{left:1%;top:230px}.menu-art-matcha{right:1%;top:1020px}.menu-art-croissant{left:78%;top:1790px}}
@media(max-width:650px){.menu-art{width:74px;opacity:.16}.menu-art-coffee{left:auto;right:2%;top:275px}.menu-art-matcha{right:1%;top:1120px;width:68px}.menu-art-croissant{left:auto;right:2%;top:1840px;width:78px}}
@media(prefers-reduced-motion:reduce){.menu-floating-art{display:none}}
@media(max-width:900px){.page-heading{padding:62px 7vw 42px}.full-menu-wrap{padding:0 7vw 72px}.menu-page-note{margin-left:7vw;margin-right:7vw}.story-detail{gap:6vw;padding-left:7vw;padding-right:7vw}.story-detail-image{height:500px}.story-invite{padding-left:7vw;padding-right:7vw}}
@media(max-width:650px){.page-heading{padding:48px 6vw 34px}.page-heading h1{font-size:54px}.page-heading>p:not(.eyebrow){font-size:13px}.full-menu-wrap{grid-template-columns:1fr;padding:0 6vw 58px;gap:12px}.menu-list-featured{grid-row:auto}.menu-list-card{padding:23px 21px 24px}.menu-list-heading h2{font-size:26px}.menu-list-card ul{gap:0 12px}.menu-list-card li{font-size:11px}.menu-page-note{margin:0 6vw 58px;padding:21px;gap:18px;align-items:flex-start;flex-direction:column}.story-detail{display:flex;flex-direction:column;align-items:stretch;gap:36px;padding:12px 6vw 62px}.story-detail-image{height:390px}.story-detail-copy h2{font-size:47px}.story-detail-copy>p:not(.eyebrow){font-size:12px}.story-invite{padding:23px 6vw 54px;gap:18px;align-items:flex-start;flex-direction:column}.story-invite p{font-size:23px}}
/* Final logo sizing: give the supplied mark more presence while keeping the header balanced. */
.brand{width:204px;height:96px}
.footer-brand{width:164px;height:84px}
@media(max-width:980px){.brand{width:174px;height:82px}}
@media(max-width:650px){.brand{width:160px;height:76px}.footer-brand{width:136px;height:70px}}
/* Make the small Wallington descriptor readable beneath the supplied image mark. */
.brand,.footer-brand{position:relative}
.brand::after,.footer-brand::after{content:'WALLINGTON COFFEE AND TEA HOUSE';position:absolute;left:50%;bottom:13px;transform:translateX(-50%);padding:1px 6px;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:7px;font-weight:600;letter-spacing:.09em;line-height:1.35;white-space:nowrap}
.footer-brand::after{bottom:11px;font-size:6px}
@media(max-width:650px){.brand::after{bottom:10px;font-size:6px;letter-spacing:.07em}.footer-brand::after{bottom:9px;font-size:5px}}
/* Show the complete supplied logo at a larger scale; never crop its lettering or descriptor. */
.header{height:130px}
.brand{width:250px;height:120px;overflow:visible}
.brand img{object-fit:contain}
.footer-brand{width:190px;height:92px}
.brand::after,.footer-brand::after{content:none!important}
@media(max-width:1000px){.header{height:112px}.brand{width:220px;height:106px}.footer-brand{width:180px;height:88px}}
@media(max-width:650px){.header{height:100px}.brand{width:190px;height:92px}.footer-brand{width:158px;height:78px}.navigation{top:99px}}
/* Requested follow-up: scale the full, uncropped logo up by 20%. */
.header{height:156px}
.brand{width:300px;height:144px}
.footer-brand{width:228px;height:110px}
@media(max-width:1000px){.header{height:134px}.brand{width:264px;height:127px}.footer-brand{width:216px;height:106px}}
@media(max-width:650px){.header{height:120px}.brand{width:228px;height:110px}.footer-brand{width:190px;height:94px}.navigation{top:119px}}
/* Enlarged mark with its transparent margins removed, preserving the complete logo. */
.header{height:120px}
.brand{width:210px;height:84px;overflow:visible}
.brand img{object-fit:contain}
.footer-brand{width:175px;height:70px}
@media(max-width:1000px){.header{height:110px}.brand{width:190px;height:76px}.footer-brand{width:165px;height:66px}}
@media(max-width:650px){.header{height:96px}.brand{width:175px;height:70px}.footer-brand{width:145px;height:58px}.navigation{top:95px}}
.photo-gallery{padding-top:94px;padding-bottom:104px;background:#f0e7d9}
.photo-gallery h2,.reviews-section h2,.contact-copy h2{font:400 clamp(40px,5vw,66px)/1.08 var(--serif);letter-spacing:-.04em;margin:34px 0 0;color:var(--ink)}
.photo-gallery h2 em,.reviews-section h2 em,.contact-copy h2 em{color:var(--brown);font-weight:400}
.gallery-intro{max-width:440px;margin:14px 0 30px;color:#766b60;font-size:13px;line-height:1.8}
.photo-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(145px,17vw,240px);gap:12px}
.photo-gallery-grid a{display:block;min-width:0;overflow:hidden;background:#d9cbb7}
.photo-gallery-grid a:nth-child(7n + 1),.photo-gallery-grid a:nth-child(9n + 4){grid-row:span 2}
.photo-gallery-grid img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.photo-gallery-grid a:hover img,.photo-gallery-grid a:focus-visible img{transform:scale(1.035)}
.reviews-section{padding-top:96px;padding-bottom:104px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:34px}
.review-grid blockquote{margin:0;padding:28px 26px 24px;background:#eee7dc;border:1px solid #e0d6c9;display:flex;flex-direction:column;justify-content:space-between;min-height:210px}
.review-grid blockquote p{margin:0;color:#5e5145;font:italic 16px/1.75 var(--serif)}
.review-grid blockquote footer{margin-top:22px;color:#8a7059;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.review-grid blockquote footer a{display:inline-block;margin-left:7px;color:var(--brown);text-decoration:underline;text-underline-offset:3px}
.contact-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start;background:#eee7dc;padding-top:100px;padding-bottom:105px}
.contact-copy h2{margin-top:10px}
.contact-copy>p:not(.eyebrow){max-width:430px;color:#71675c;font-size:13px;line-height:1.8;margin:18px 0 24px}
.contact-copy img{display:block;width:100%;height:260px;object-fit:cover;background:#d1c4b3}
.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 14px;padding-top:10px}
.contact-form label{display:flex;flex-direction:column;gap:8px;color:#5e5145;font-size:11px;letter-spacing:.04em}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #cfc2b1;border-radius:0;background:var(--paper);padding:12px 13px;color:var(--ink);font:14px var(--sans)}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--caramel);outline-offset:2px}
.contact-form textarea{resize:vertical;min-height:125px}
.contact-form .message-field,.contact-form .button,.contact-form .form-note{grid-column:1/-1}
.contact-form .button{justify-self:start;border:0;cursor:pointer}
.form-note{margin:-8px 0 0;color:#84796e;font-size:10px;line-height:1.6}
.menu-page .page-heading{position:relative;padding-right:calc(7vw + 580px);min-height:390px}
.menu-page .page-heading h1,.menu-page .page-heading>p:not(.eyebrow),.menu-page .page-heading .text-link{position:relative;z-index:1}
.menu-source-photo{position:absolute;right:7vw;top:34px;width:min(42vw,560px);height:auto;aspect-ratio:16/9;margin:0;overflow:hidden;background:#d9cbb7}
.menu-source-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:1000px){.photo-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(145px,22vw,220px)}.review-grid{grid-template-columns:1fr 1fr}.review-grid blockquote:last-child{grid-column:1/-1}.contact-section{gap:5vw}.menu-page .page-heading{padding-right:7vw;min-height:0}.menu-source-photo{position:relative;right:auto;top:auto;width:min(100%,680px);height:auto;aspect-ratio:16/9;margin:30px 0 0}}
@media(max-width:650px){.photo-gallery,.reviews-section,.contact-section{padding:70px 6vw}.photo-gallery h2,.reviews-section h2,.contact-copy h2{font-size:clamp(39px,10vw,52px)}.photo-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px;gap:9px}.photo-gallery-grid a:nth-child(n){grid-row:auto}.photo-gallery-grid a:nth-child(5n){grid-row:span 2}.review-grid{grid-template-columns:1fr;gap:11px;margin-top:26px}.review-grid blockquote:last-child{grid-column:auto}.review-grid blockquote{min-height:0;padding:24px 22px}.contact-section{grid-template-columns:1fr;gap:28px}.contact-copy img{height:220px}.contact-form{gap:13px 10px}.menu-source-photo{height:210px;margin-top:24px}}
@media(max-width:1000px){.review-grid blockquote:last-child{grid-column:auto}}
/* Logo scale increased another 20%, using the tightly cropped full mark. */
.header{height:144px}
.brand{width:252px;height:101px}
.footer-brand{width:210px;height:84px}
@media(max-width:1000px){.header{height:132px}.brand{width:228px;height:91px}.footer-brand{width:198px;height:79px}}
@media(max-width:650px){.header{height:115px}.brand{width:210px;height:84px}.footer-brand{width:174px;height:70px}.navigation{top:114px}}

/* New menu additions keep the original ivory, bronze and serif direction. */
.menu-source-photo{background:#e8dece;border:1px solid #e1d3c0;box-shadow:0 14px 30px rgba(62,43,30,.08);height:auto;aspect-ratio:16/9}
.menu-source-photo img{object-fit:cover;object-position:center 53%;filter:saturate(.9) contrast(1.02)}
.menu-source-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(44,32,24,.7));color:#fff9f0;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
.menu-list-card li{position:relative;padding:9px 0 9px 13px}
.menu-list-card li::before{content:"";position:absolute;left:0;top:16px;width:4px;height:4px;border-radius:50%;background:#b38b63}
.menu-list-card:nth-child(5){background:#f6f0e7}
@media(max-width:1000px){.menu-source-photo{aspect-ratio:16/9;height:auto}}
@media(max-width:650px){.menu-source-photo{aspect-ratio:16/10;height:auto}.menu-source-photo figcaption{font-size:8px;padding-bottom:9px}}

/* Mobile navigation stacking fix: keep the open panel above main content. */
@media(max-width:650px){.header{z-index:50}.navigation{z-index:51}.nav-toggle{position:relative;z-index:52}}

/* Keep contact labels and required marks on one aligned line. */
.field-label{display:block;line-height:1.4;min-height:15.4px}
