@import url('/demos/cullinan/assets/fonts.css');
:root{--blue:#123650;--navy:#0b283f;--cream:#f6f1e7;--gold:#bd914c;--ink:#112f45;--line:#ddcfb8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:15px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:3px solid var(--gold);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3,.serif{font-family:'Playfair Display',Georgia,serif;font-weight:500}h1{font-size:clamp(46px,6.6vw,102px);line-height:1.03;letter-spacing:-3px}h2{font-size:clamp(34px,4.2vw,62px);line-height:1.12;letter-spacing:-1.5px}h3{font-size:24px;line-height:1.2}em{color:#d6ac68;font-weight:500}p{line-height:1.65}.eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);font-weight:600;display:block;margin-bottom:20px}.wrap{max-width:1440px;margin:auto;padding:0 5%}.btn{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:47px;padding:13px 23px;border:1px solid var(--gold);background:transparent;color:var(--ink);border-radius:3px;font-size:13px;font-weight:500;transition:background .2s,transform .2s}.btn:hover{background:#e9ddc7;transform:translateY(-2px)}.btn.dark{background:var(--blue);color:var(--cream);border-color:var(--blue)}.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--navy)}.btn.light{background:var(--cream);color:var(--blue);border-color:var(--cream)}.btn.full{width:100%}.arrow{font-size:22px}.header{height:96px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--cream);position:relative;z-index:30;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px}.mark{width:60px;height:53px;object-fit:contain;filter:brightness(0) saturate(100%) invert(16%) sepia(19%) saturate(1718%) hue-rotate(159deg)}.brand-name{font:25px Georgia,serif;letter-spacing:5px}.brand-sub{font-size:8px;letter-spacing:5px;text-align:center;margin-top:5px}.header nav{display:flex;gap:34px;align-items:center}.header nav a{font-size:13px;padding:16px 0;position:relative}.header nav a.active:after{content:'';position:absolute;bottom:5px;left:0;right:0;height:2px;background:var(--gold)}.tools{display:flex;gap:10px;align-items:center}.iconbtn{background:none;border:1px solid var(--line);height:44px;min-width:44px;color:var(--ink);font-size:20px;border-radius:3px}.menutoggle{display:none}.hero{background:var(--navy);color:var(--cream);position:relative;min-height:620px;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1fr 1.04fr;min-height:620px}.hero-copy{position:relative;z-index:2;padding:90px 0 80px}.hero-copy p{max-width:365px;margin:26px 0 30px;font-size:17px;color:#dbdfdf}.hero-copy h1{max-width:690px;width:120%}.hero-img{width:59%;height:100%;position:absolute;right:0;top:0;object-fit:cover;border-radius:200px 0 0 0;object-position:center 58%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 31%,transparent 69%);pointer-events:none}.hero-copy .eyebrow{color:#e0b976}.hero-location{font-size:11px;letter-spacing:2px;margin-top:35px;color:#d9c59e}.moments{display:grid;grid-template-columns:repeat(3,1fr);padding:33px 5%;border-bottom:1px solid var(--line)}.moments div{text-align:center;padding:0 22px;border-right:1px solid var(--line)}.moments div:last-child{border:0}.moments h3{font-size:15px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}.moments p{font-size:12px;color:#63717b}.section{padding:75px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:32px}.text-link{border-bottom:1px solid var(--gold);padding-bottom:7px;font-size:13px;white-space:nowrap}.featured{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:24px}.foodcard{min-width:0}.foodcard img{width:100%;height:260px;object-fit:cover;display:block;background:#e4dac8;transition:transform .5s}.photo{overflow:hidden}.foodcard:hover img{transform:scale(1.035)}.card-title{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:15px 0 9px}.card-title h3{font-size:22px}.price{font-family:'Playfair Display',Georgia,serif;font-size:22px;color:#97702f;white-space:nowrap}.foodcard p{font-size:13px;color:#566773;line-height:1.6}.card-actions{display:flex;align-items:center;justify-content:space-between;margin-top:17px;gap:12px}.foodcard .btn{min-height:40px;padding:9px 17px}.club-band{background:var(--blue);color:var(--cream);padding:50px 0;overflow:hidden}.club-grid{display:grid;grid-template-columns:1.2fr 1fr .85fr;gap:50px;align-items:center}.club-band h2{font-size:42px}.pass{background:var(--navy);border:1px solid #a6844b;border-radius:16px;min-height:205px;padding:25px;color:var(--cream);position:relative;overflow:hidden;box-shadow:0 20px 40px #00121c35;transform:rotate(-7deg)}.pass:after{content:'';position:absolute;width:210px;height:260px;right:-105px;top:-80px;border:1px solid var(--gold);transform:rotate(35deg);border-radius:40%}.pass .mark{filter:none;width:65px;height:55px}.pass .brand-name{font-size:19px;letter-spacing:4px}.pass .brand-sub{font-size:7px;letter-spacing:3px}.pass .eyebrow{margin:27px 0 0;color:#c5aa78;font-size:9px}.club-side p{font-size:18px;margin-bottom:22px}.story-preview{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:70px}.story-preview img{width:100%;height:450px;object-fit:cover;border-radius:180px 180px 0 0}.story-preview p{margin:24px 0;color:#536674}.footer{background:var(--navy);color:#e6e2d8;padding:50px 0 95px}.footer .mark{filter:none}.footer-inner{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.footer p,.footer a{font-size:12px;line-height:1.9}.footer small{display:block;max-width:900px;font-size:10px;color:#bbc2c4;margin-top:40px;border-top:1px solid #ffffff20;padding-top:22px}.page-title{background:var(--blue);color:var(--cream);padding:45px 0}.page-title h1{font-size:clamp(42px,5.5vw,78px)}.page-title p{margin-top:15px;color:#e0e4e5}.page-title .eyebrow{margin-bottom:12px}.menu-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:34px;align-items:start}.categorybar{display:flex;gap:8px;overflow-x:auto;padding:22px 0 18px;border-bottom:1px solid var(--line);scrollbar-width:thin;position:sticky;top:0;background:var(--cream);z-index:10}.categorybar button{background:none;border:0;border-bottom:2px solid transparent;padding:11px 17px;color:var(--ink);white-space:nowrap;font-size:13px}.categorybar button.active{border-color:var(--gold);color:#8b601f;background:#eee3d0}.search{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:25px 0}.search input{width:260px;padding:12px 15px;background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--ink)}.menu-heading{margin:32px 0 25px}.menu-heading h2{font-size:45px}.menu-heading p{font-size:11px;letter-spacing:2px;margin-top:10px;color:#7c6b51}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 23px;padding-bottom:65px}.products .foodcard img{height:210px}.products .card-title h3{font-size:19px}.products .price{font-size:19px}.products .foodcard{border-bottom:1px solid var(--line);padding-bottom:22px;display:flex;flex-direction:column}.products .card-actions{margin-top:auto;padding-top:18px}.products .foodcard p{padding-bottom:12px}.text-dish{height:80px;display:flex;align-items:center;gap:10px;color:#aa8651;font-family:Georgia;font-size:13px;text-transform:uppercase;letter-spacing:3px}.text-dish:before{content:'◇';font-size:30px}.cart{background:var(--blue);color:var(--cream);padding:27px 24px;margin:24px 0;border-radius:7px;position:sticky;top:20px}.cart h2{font-size:34px}.cart .eyebrow{margin:12px 0 25px;font-size:9px}.empty{padding:30px 0;color:#c8d0d4;font-size:13px}.order-row{display:grid;grid-template-columns:1fr auto;gap:10px;padding:20px 0;border-bottom:1px solid #ffffff25;font-size:13px}.order-row h3{font-size:17px}.order-row small{display:block;color:#d0d4d4;font-size:11px;margin:7px 0}.stepper{display:inline-flex;border:1px solid #ffffff60;align-items:center;margin-top:6px}.stepper button{border:0;background:none;color:inherit;width:31px;height:30px}.stepper span{min-width:23px;text-align:center}.remove{background:none;border:0;color:inherit;display:block;margin-left:auto}.total{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:16px}.total strong{font:32px Georgia;color:#e5bd7c}.cart textarea{width:100%;background:#ffffff08;border:1px solid #ffffff35;color:var(--cream);padding:10px;margin-top:18px;resize:vertical}.cart-note{font-size:10px;color:#cdd7dc;margin-top:12px}.cartmobile{display:none}.mobile-nav{display:none}.reservation{display:grid;grid-template-columns:1fr 1fr;gap:80px}.reservation p{margin-top:25px}.panel{padding:35px;background:#eee6d8;border:1px solid var(--line)}label{display:block;font-size:12px;margin:0 0 8px}.field{margin-bottom:21px}input,select,textarea{border:1px solid #bdb29f;padding:13px;width:100%;background:var(--cream);color:var(--ink);border-radius:3px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel h3{margin-bottom:25px}.notice{font-size:11px;color:#6b716e;margin-top:16px;line-height:1.6}.map-link{display:block;padding:28px;border:1px solid var(--line);margin-top:28px;line-height:1.9}.club-page{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.club-page .pass{min-height:300px;padding:35px}.club-page .pass .brand-name{font-size:26px}.club-page .pass .eyebrow{margin-top:55px}.benefits{margin-top:35px}.benefits div{padding:20px 0;border-top:1px solid var(--line);display:flex;gap:22px}.benefits span{color:#9c7b42}.benefits p{font-size:13px;color:#5c6e76;margin-top:6px}.demo-tag{display:inline-block;border:1px solid #a98a58;color:#8f6d34;font-size:10px;letter-spacing:1.5px;padding:7px 10px;margin-bottom:20px}dialog{border:0;padding:0;max-width:580px;width:calc(100% - 30px);background:var(--cream);color:var(--ink);border-radius:7px;max-height:90dvh}dialog::backdrop{background:#061d30b8;backdrop-filter:blur(5px)}.dialog-inner{padding:30px}.dialog-inner h2{font-size:32px;margin-bottom:12px}.dialog-inner>p{font-size:13px;margin-bottom:25px}.close{float:right;background:transparent;border:1px solid var(--line);width:35px;height:35px;font-size:23px;color:var(--ink)}.dialog-img{width:100%;height:230px;object-fit:cover}.option-grid{display:flex;gap:9px;flex-wrap:wrap;margin:10px 0 22px}.option-grid label{padding:11px 15px;border:1px solid var(--line);cursor:pointer;font-size:13px;display:flex;gap:8px;align-items:center}.option-grid input{width:auto;accent-color:var(--blue)}.message{white-space:pre-wrap;font-size:13px;background:#e9e1d3;padding:20px;line-height:1.6;margin:20px 0;max-height:230px;overflow:auto}.toast{position:fixed;bottom:35px;left:50%;transform:translate(-50%,20px);background:var(--navy);color:white;padding:14px 25px;border:1px solid var(--gold);z-index:100;opacity:0;pointer-events:none;transition:.25s;min-width:230px;text-align:center;font-size:13px}.toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu{position:fixed;inset:96px 0 0;background:var(--blue);color:var(--cream);z-index:25;padding:40px 7%;display:none}.mobile-menu.open{display:flex;flex-direction:column;gap:24px}.mobile-menu a{font:35px 'Playfair Display',Georgia}.mobile-menu small{margin-top:auto;color:#d3b482;letter-spacing:1px}.route-enter{animation:appear .45s ease both}@keyframes appear{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.empty-results{padding:70px 0;grid-column:1/-1}.legal{padding:0 0 30px;font-size:11px;color:#687778}.experience-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:60px}.experience-list h3{margin:15px 0}.experience-list p{font-size:14px;color:#5f707a}.experience-list span{color:var(--gold);font-size:12px;letter-spacing:2px}
@media(min-width:1600px){.hero-inner{min-height:700px}.hero-copy{padding-top:115px}}@media(max-width:1100px){.header nav{gap:18px}.brand-name{font-size:21px}.menu-layout{grid-template-columns:minmax(0,1fr) 280px;gap:25px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.club-grid{gap:30px}.hero-copy h1{width:110%;font-size:75px}.hero-copy{padding-top:100px}.hero,.hero-inner{min-height:570px}.featured .foodcard img{height:230px}}
@media(max-width:760px){.wrap{padding:0 6%}.header{height:78px;gap:10px}.brand{gap:5px}.brand-name{font-size:18px;letter-spacing:3px}.brand-sub{font-size:6px;letter-spacing:3px}.mark{width:42px;height:42px}.header nav,.header .reserve-top{display:none}.menutoggle{display:inline-block}.header .iconbtn{min-width:38px;height:38px;font-size:17px}.tools{gap:6px}.hero-inner{display:block;min-height:0}.hero{min-height:0}.hero-copy{padding:42px 0 35px}.hero-copy h1{width:100%;font-size:57px;letter-spacing:-1.8px}.hero-copy p{font-size:14px;margin:20px 0 23px;max-width:280px}.hero-img{position:relative;display:block;width:100%;height:330px;border-radius:95px 0 0 0;object-position:center 57%}.hero:after{display:none}.hero-location{margin-top:24px;font-size:9px}.eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:18px}.moments{padding:22px 3%;gap:0}.moments div{padding:0 8px}.moments h3{font-size:10px;letter-spacing:1px;line-height:1.5}.moments p{font-size:9px;line-height:1.5}.section{padding:45px 0}.section-head{display:block;margin-bottom:23px}.section-head h2{font-size:37px}.section-head .text-link{display:inline-block;margin-top:20px}.featured{grid-template-columns:1fr;gap:32px}.featured .foodcard img{height:300px}.club-grid{grid-template-columns:1fr;gap:35px}.club-band{padding:38px 0}.club-band h2{font-size:35px}.pass{max-width:360px;width:95%;margin:12px auto}.club-side p{font-size:17px;margin-bottom:15px}.story-preview{grid-template-columns:1fr;gap:30px}.story-preview img{height:330px;order:2}.story-preview h2{font-size:38px}.footer{padding-top:35px}.footer-inner{gap:30px}.footer small{font-size:9px}.page-title{padding:32px 0}.page-title h1{font-size:45px;letter-spacing:-1.5px}.page-title p{font-size:13px}.menu-layout{display:block}.categorybar{margin:0 -6.8%;padding:14px 6.8%;top:0}.categorybar button{padding:11px 14px;font-size:12px}.search{margin:20px 0;display:block}.search input{width:100%}.search span{font-size:10px;display:block;margin-top:9px;color:#6a757b}.menu-heading h2{font-size:35px}.menu-heading p{font-size:9px;letter-spacing:1.5px}.menu-heading{margin:25px 0 20px}.products{grid-template-columns:1fr;gap:25px;padding-bottom:25px}.products .foodcard img{height:280px}.products .card-title h3{font-size:23px}.products .price{font-size:23px}.products .foodcard p{font-size:13px}.products .card-actions .btn{width:100%}.text-dish{height:35px;font-size:10px}.cart:not(.cartmobile){display:none}.cartmobile{display:block;position:static;margin:0;border-radius:0;padding:25px;background:var(--blue);min-height:250px}.cartmobile .close{color:white;border-color:#ffffff50}.mobile-nav{position:fixed;bottom:0;left:0;right:0;z-index:22;background:var(--navy);color:var(--cream);display:flex;justify-content:space-around;padding:11px 8px max(11px,env(safe-area-inset-bottom));border-top:1px solid #ffffff25;min-height:64px}.mobile-nav a,.mobile-nav button{font-size:10px;background:none;border:0;color:inherit;text-align:center}.mobile-nav b{font-weight:400;font-size:20px;display:block;margin-bottom:3px}.mobile-nav a.active{color:#e2bd7d}.mobile-nav.orderbar{padding:12px 6%;align-items:center;justify-content:space-between}.mobile-nav.orderbar button{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:14px}.mobile-nav.orderbar strong{font:24px Georgia;color:#e7bd78}.reservation,.club-page{grid-template-columns:1fr;gap:35px}.panel{padding:24px}.field-pair{gap:12px}.club-page h2{font-size:40px}.club-page .pass{min-height:240px;padding:28px}.club-page .pass .brand-name{font-size:22px}.club-page .pass .eyebrow{margin-top:40px}.experience-list{grid-template-columns:1fr;gap:25px;margin-top:30px}.experience-list h3{font-size:27px}.mobile-menu{inset:78px 0 0}.dialog-inner{padding:24px}.toast{bottom:90px}.legal{font-size:10px}.dialog-img{height:210px}.products .foodcard.noimg{padding-top:5px}h1,h2{overflow-wrap:break-word}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.cartmobile{display:block;position:static;margin:0;border-radius:0;padding:28px;min-height:200px}.cartmobile .close{color:var(--cream);border-color:#ffffff55}.line-icon{width:21px;height:21px;vertical-align:middle;display:inline-block;fill:none;stroke:currentColor;stroke-width:1.5}.mobile-nav b .line-icon{width:22px;height:22px}.hero-img{image-rendering:auto}
/* Keep individual photographs intact inside menu cards. */
.featured .foodcard img,.products .foodcard img{height:auto;aspect-ratio:3/2;object-fit:contain}.hero-img{object-position:center}.products .foodcard:hover img{transform:none}

/* Consistent section gutters: section spacing must not erase the container inset. */
.section.wrap{padding:75px 5%}
.photo{display:block}
.featured .foodcard{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:#faf7f0;padding-bottom:18px}
.featured .card-title,.featured .foodcard>p,.featured .card-actions{margin-left:18px;margin-right:18px}
.featured .card-title{margin-top:18px}
.featured .card-actions{margin-top:18px}
.featured .foodcard:hover img{transform:none}
@media(max-width:760px){
 .header{height:70px}
 .mobile-menu{top:70px}
 .section.wrap{padding:38px 6%}
 .hero{display:flex;flex-direction:column;height:calc(100svh - 134px);min-height:420px;max-height:650px}
 .hero-inner{display:block;flex:0 0 auto;width:100%;min-height:0}
 .hero-copy{padding:22px 0 19px}
 .hero-copy .eyebrow{margin-bottom:11px;font-size:9px}
 .hero-copy h1{font-size:clamp(34px,10.7vw,44px);line-height:1.05;letter-spacing:-1.3px;max-width:none;width:100%}
 .hero-copy h1 em{white-space:nowrap}
 .hero-copy p{font-size:12px;line-height:1.5;margin:12px 0 15px;max-width:none}
 .hero-copy .btn{min-height:42px;padding:10px 17px;font-size:12px;gap:22px}
 .hero-location{margin-top:13px;font-size:8px;letter-spacing:1px;line-height:1.4}
 .hero-img{position:relative;flex:1 1 0;min-height:0;height:0;width:100%;object-fit:cover;object-position:center 58%;border-radius:55px 0 0 0}
 .moments{padding:20px 4%}
 .section-head h2{font-size:33px}
 .section-head .text-link{margin-top:14px;font-size:12px}
 .featured{gap:24px}
 .featured .card-title h3{font-size:23px}
 .featured .price{font-size:22px}
 .featured .foodcard p{font-size:13px}
 .featured .card-actions .btn{min-height:44px}
 .page-title{padding:24px 0}
 .page-title h1{font-size:37px}
 .page-title p{margin-top:10px;font-size:12px}
 .categorybar{margin:0;padding:12px 0;scrollbar-width:none;gap:5px}
 .categorybar::-webkit-scrollbar{display:none}
 .categorybar button{min-height:44px;padding:10px 13px}
 .search{margin:16px 0}
 .search span{display:none}
 .menu-heading{margin:22px 0 18px}
 .menu-heading h2{font-size:32px}
 .products{gap:22px}
 .products .foodcard:not(.noimg){border:1px solid var(--line);border-radius:5px;overflow:hidden;padding:0 0 16px;background:#faf7f0}
 .products .foodcard:not(.noimg) .card-title,.products .foodcard:not(.noimg)>p,.products .foodcard:not(.noimg) .card-actions{margin-left:16px;margin-right:16px}
 .products .card-title h3{font-size:21px}
 .products .price{font-size:21px}
 .products .foodcard:not(.noimg) p{padding-bottom:0}
 .products .card-actions .btn{min-height:44px}
 .text-dish{height:25px;letter-spacing:1.5px;font-size:9px}
 .text-dish:before{font-size:20px}
 .products .foodcard.noimg{padding-bottom:20px}
}
@media(max-width:760px) and (max-height:680px){
 .hero-copy{padding-top:17px;padding-bottom:15px}
 .hero-copy h1{font-size:clamp(32px,10vw,39px)}
 .hero-copy p{margin:10px 0 12px}
 .hero-location{margin-top:10px}
}

@media(max-width:760px){
 .featured .foodcard img,.products .foodcard img{aspect-ratio:auto;height:auto}
}

/* Native date/time controls must not set the grid's minimum width. */
.reservation{grid-template-columns:repeat(2,minmax(0,1fr))}
.reservation>*,.reservation .field,.reservation .field-pair{min-width:0}
.reservation .field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.reservation input,.reservation select,.reservation textarea{min-width:0;max-width:100%;width:100%;box-sizing:border-box}
.reservation .panel,.reservation .map-link{min-width:0;max-width:100%;overflow-wrap:anywhere}
@media(max-width:760px){.reservation{grid-template-columns:minmax(0,1fr)}}
@media(max-width:420px){.reservation .field-pair{grid-template-columns:minmax(0,1fr);gap:0}}

/* Compact menu: photos and ingredients expand only when a dish is selected. */
.menu-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;padding-bottom:42px}
.menu-group-label{grid-column:1/-1;font-family:'DM Sans',Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#8a672e;padding:24px 0 10px;border-bottom:1px solid var(--line);margin-top:10px}
.menu-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto 12px;align-items:center;gap:13px;text-align:left;min-width:0;width:100%;padding:14px 0;background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);transition:background .2s}
.menu-row:hover{background:#ece3d35c}.menu-thumb{width:64px;height:64px;object-fit:cover;border-radius:4px;background:#e9dfce;display:block}
.menu-row-copy{min-width:0}.menu-row-name{display:block;font:500 18px/1.3 'Playfair Display',Georgia,serif;overflow-wrap:anywhere}.menu-row-hint{display:block;font-size:10px;color:#6b777d;margin-top:6px}.menu-row-price{font:18px 'Playfair Display',Georgia,serif;color:#8d672b;white-space:nowrap}.menu-row-chevron{font:25px Georgia;color:#997742}.compact-heading{margin-bottom:4px}.compact-heading h2{font-size:38px}.compact-heading p{font-size:9px}
.dialog-img{height:auto;max-height:38dvh;object-fit:contain;background:var(--navy);width:100%;display:block}
#product-dialog .field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}#product-dialog .field,#product-dialog input{min-width:0;max-width:100%}
@media(max-width:1100px){.menu-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.menu-row{grid-template-columns:54px minmax(0,1fr) auto 10px;gap:11px;padding:11px 0;min-height:77px}.menu-thumb{width:54px;height:54px}.menu-row-name{font-size:17px}.menu-row-hint{font-size:9px;margin-top:4px}.menu-row-price{font-size:18px}.menu-row-chevron{font-size:22px}.menu-group-label{padding-top:22px;margin-top:3px}.compact-heading{margin:22px 0 0}.compact-heading h2{font-size:29px}.compact-heading p{font-size:8px;letter-spacing:1.5px}.menu-layout .categorybar{padding-top:9px;padding-bottom:9px}.menu-list{padding-bottom:22px}.menu-layout .search{margin:12px 0}.menu-layout~.legal{padding-bottom:30px}.dialog-inner h2{font-size:28px}.dialog-inner{padding:22px}}

@media(max-width:760px){.menu-title{padding:18px 0}.menu-title .eyebrow{margin-bottom:9px}.menu-title h1{font-size:29px;letter-spacing:-.8px}.menu-title p{font-size:11px;margin-top:8px}.menu-group-label:first-child{padding-top:15px}}

.home-menu-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.home-menu-list .menu-row{grid-template-columns:54px minmax(0,1fr) auto 10px;gap:10px}.home-menu-list .menu-thumb{width:54px;height:54px}.home-menu-list .menu-row-name{font-size:18px}@media(max-width:1100px){.home-menu-list{grid-template-columns:minmax(0,1fr);gap:0}}

/* A tactile, editorial menu in Cullinan's ivory, navy and muted gold. */
.menu-title{background:var(--navy)}.menu-title .eyebrow{color:#d8b57a}
.menu-layout>section{min-width:0}
.categorybar{gap:12px;padding:20px 1px 15px;border-bottom:0;scrollbar-width:none;box-shadow:0 9px 16px -16px #183b5a50}
.categorybar::-webkit-scrollbar{display:none}
.categorybar .category-tile{flex:0 0 82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:85px;padding:7px 5px 9px;border:1px solid transparent;border-radius:8px;background:transparent;color:#5e6a6e;font-size:10px;white-space:nowrap;transition:background .18s,border-color .18s,color .18s}
.category-tile img{display:block;width:64px;height:44px;object-fit:cover;border-radius:5px;filter:saturate(.7);transition:filter .18s}
.categorybar .category-tile.active{color:var(--cream);background:var(--blue);border-color:var(--blue)}.category-tile.active img,.category-tile:hover img{filter:saturate(1)}.categorybar .category-tile:hover:not(.active){background:#eaddc7;border-color:#d6c39f}
.menu-layout .search{margin:12px 0 23px}.menu-layout .search input{background:#fffaf1;border-color:#decfb7;border-radius:6px}
.menu-list{gap:13px 20px}.menu-group-label{font-family:'Playfair Display',Georgia,serif;font-size:29px;line-height:1.2;text-transform:none;letter-spacing:-.6px;color:var(--ink);padding:24px 0 13px;margin-top:5px;border:0;display:flex;align-items:center;gap:18px}.menu-group-label:after{content:'';height:1px;background:#c7ab77;flex:1;max-width:85px}
.compact-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:5px 0 6px;margin-top:12px}.compact-heading h2{font-size:38px}.compact-heading p{font-size:8px;letter-spacing:1.5px;white-space:nowrap;margin-top:0;color:#7b6a50}
.menu-row,.home-menu-list .menu-row{position:relative;grid-template-columns:94px minmax(0,1fr);gap:15px;align-items:center;padding:10px 13px 10px 10px;min-height:116px;border:1px solid #e5d9c6;border-radius:9px;background:#fffaf2;box-shadow:0 3px 8px #132e4310;transition:transform .2s,box-shadow .2s,border-color .2s}
.menu-row:hover{background:#fffdf8;border-color:#c6a164;box-shadow:0 7px 15px #132e4315;transform:translateY(-2px)}.menu-row:active{transform:translateY(0)}
.menu-thumb,.home-menu-list .menu-thumb{width:94px;height:94px;border-radius:6px;object-fit:cover;box-shadow:none}
.menu-row-copy{display:block;align-self:center;padding-right:0;min-width:0}
.menu-row-name,.home-menu-list .menu-row-name{font-size:21px;line-height:1.15;letter-spacing:-.3px;color:#12354f;padding-right:0}
.menu-row-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:11px;line-height:1.45;color:#6b7474;margin-top:6px;margin-bottom:8px}
.menu-row-price{display:block;font-family:'DM Sans',Arial,sans-serif;font-size:15px;font-weight:600;color:#946a2c;padding-right:30px;line-height:1.3}
.menu-row-chevron{position:absolute;right:12px;bottom:11px;width:25px;height:25px;border:1px solid #ccaf7d;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#8e6b31;font-size:16px;line-height:1;background:#f8efdf}
.home-menu-list{gap:16px}.home-menu-list .menu-row-desc{-webkit-line-clamp:2}
@media(max-width:1100px){.home-menu-list{gap:13px}}
@media(max-width:760px){
 .menu-title{padding:17px 0}.menu-title h1{font-size:30px}.menu-title p{display:none}.menu-title .eyebrow{font-size:8px;margin-bottom:8px}
 .menu-layout .categorybar{gap:8px;padding:12px 1px 10px;margin:0 -3px;top:0;z-index:12}
 .categorybar .category-tile{flex-basis:75px;min-height:77px;padding:5px 4px 7px;gap:6px;font-size:9px;border-radius:7px}.category-tile img{width:59px;height:39px;border-radius:4px}
 .menu-layout .search{margin:9px 0 14px}.menu-layout .search input{font-size:12px;padding:11px 13px;min-height:42px}
 .compact-heading{margin:7px 0 0;gap:10px}.compact-heading h2{font-size:30px}.compact-heading p{font-size:7px;letter-spacing:1px}
 .menu-list{gap:12px}.menu-group-label,.menu-group-label:first-child{font-size:25px;padding:18px 0 2px;margin-top:0;letter-spacing:-.5px}
 .menu-row,.home-menu-list .menu-row{grid-template-columns:90px minmax(0,1fr);gap:13px;padding:9px;min-height:110px;border-radius:8px}
 .menu-thumb,.home-menu-list .menu-thumb{width:90px;height:90px;border-radius:5px}
 .menu-row-name,.home-menu-list .menu-row-name{font-size:19px;line-height:1.16}
 .menu-row-desc{font-size:10px;line-height:1.45;margin-top:5px;margin-bottom:7px;-webkit-line-clamp:2}
 .menu-row-price{font-size:14px}.menu-row-chevron{right:10px;bottom:9px;width:23px;height:23px;font-size:15px}
 #product-dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:92dvh;border-radius:20px 20px 0 0;animation:sheet-rise .3s cubic-bezier(.2,.7,.2,1)}
 #product-dialog .dialog-img{border-radius:20px 20px 0 0;max-height:31dvh;min-height:160px;object-fit:contain;background:#132f43}
 #product-dialog .dialog-inner{padding:23px 24px max(25px,env(safe-area-inset-bottom))}
 #product-dialog .dialog-inner:before{content:'';position:absolute;top:10px;left:calc(50% - 20px);width:40px;height:4px;border-radius:3px;background:#f5f2ebc9;box-shadow:0 1px 5px #0002}
 #product-dialog .close{border-radius:50%;background:#f8f1e5;min-width:35px}
 #product-dialog .dialog-inner h2{font-size:29px;padding-right:35px}
 #product-dialog .btn.dark{min-height:49px;border-radius:5px}
}
@media(max-width:355px){.menu-row,.home-menu-list .menu-row{grid-template-columns:80px minmax(0,1fr);gap:10px}.menu-thumb,.home-menu-list .menu-thumb{width:80px;height:90px}.menu-row-name,.home-menu-list .menu-row-name{font-size:18px}.compact-heading{display:block}.compact-heading p{margin-top:8px}}
@keyframes sheet-rise{from{transform:translateY(70px);opacity:0}to{transform:translateY(0);opacity:1}}
@media(prefers-reduced-motion:reduce){#product-dialog{animation:none}.menu-row{transition:none}}

/* Complete, high resolution food photos and an informational menu. */
.menu-layout{display:block;max-width:1300px}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px}
.menu-row,.home-menu-list .menu-row{grid-template-columns:130px minmax(0,1fr) 27px;gap:17px;padding:12px;min-height:120px}
.menu-thumb,.home-menu-list .menu-thumb{width:130px;height:96px;object-fit:contain;aspect-ratio:auto;background:transparent;border-radius:5px;box-shadow:none;image-rendering:auto}
.menu-row-chevron{position:static;align-self:center;justify-self:center;transform:none;right:auto;bottom:auto;width:27px;height:27px}
.category-tile img{object-fit:contain;background:transparent;filter:none}
.dish-heading{display:flex;align-items:baseline;justify-content:space-between;gap:22px;margin:0 0 26px}.dish-heading h2{margin:0!important}.dish-heading .price{font-size:25px;color:#946a2c;white-space:nowrap}
.dish-description h3,.dish-preparation h3{font-family:'DM Sans',Arial,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#8d6e3c;margin:0 0 12px}.dish-description p{font-size:15px;line-height:1.8;margin:0}.dish-preparation{padding-top:24px;margin-top:24px;border-top:1px solid var(--line)}.dish-preparation p{font-size:13px}.dish-preparation dl{margin:0}.dish-preparation dl>div{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:12px 0;border-bottom:1px solid #decfb760}.dish-preparation dt{font-size:12px;color:#6b7474}.dish-preparation dd{font:18px 'Playfair Display',Georgia,serif;margin:0}.dish-preparation ul{padding-left:18px;margin:12px 0 0;columns:2;font-size:13px;line-height:1.8}.dish-footnote{margin:26px 0 0;font-size:10px;line-height:1.6;color:#6b7474;border-top:1px solid var(--line);padding-top:18px}
#product-dialog .dialog-img{width:100%;height:auto;max-height:42dvh;min-height:0;object-fit:contain;aspect-ratio:auto;background:#f6f1e7}
@media(max-width:1100px){.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.home-menu-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){
 .menu-list{grid-template-columns:minmax(0,1fr)}
 .menu-row,.home-menu-list .menu-row{grid-template-columns:112px minmax(0,1fr) 22px;gap:11px;padding:10px;min-height:115px}
 .menu-thumb,.home-menu-list .menu-thumb{width:112px;height:86px;object-fit:contain;aspect-ratio:auto}
 .menu-row-name,.home-menu-list .menu-row-name{font-size:19px;line-height:1.2}
 .menu-row-desc{font-size:11px;line-height:1.4;-webkit-line-clamp:2}
 .menu-row-chevron{position:static;width:22px;height:22px;right:auto;bottom:auto;align-self:center;justify-self:center;font-size:14px}
 .menu-row-price{padding-right:0;margin-top:8px}
 #product-dialog .dialog-inner{padding:24px 24px 30px}
 #product-dialog .dialog-inner h2{font-size:28px;padding-right:0}
 .dish-heading{display:block;margin-bottom:24px}.dish-heading .price{display:block;margin-top:12px;font-size:24px}
 .dish-description p{font-size:14px}.dish-preparation dl>div{grid-template-columns:1fr 1fr}.dish-preparation ul{columns:1}
}
@media(max-width:370px){.menu-row,.home-menu-list .menu-row{grid-template-columns:100px minmax(0,1fr) 20px;gap:9px;padding:9px}.menu-thumb,.home-menu-list .menu-thumb{width:100px;height:80px}.menu-row-name,.home-menu-list .menu-row-name{font-size:18px}.menu-row-desc{font-size:10px}}
@media(min-width:761px) and (max-width:1000px){.menu-list{grid-template-columns:minmax(0,1fr)}}

/* Cullinan motion: deliberate entrances, tactile controls and a branded page wipe. */
.page-curtain{position:fixed;inset:0;z-index:200;background:var(--navy);color:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;transform:translateY(100%);pointer-events:none}
.page-curtain img{width:84px;height:76px;object-fit:contain}.page-curtain span{font:22px Georgia,serif;letter-spacing:7px}
.route-enter{animation:route-arrive .65s cubic-bezier(.16,1,.3,1) both}
@keyframes route-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.motion-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease var(--reveal-delay,0ms),transform .6s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:none}
.menu-row-chevron{transition:transform .25s cubic-bezier(.16,1,.3,1),color .25s}.menu-row:active{transform:scale(.985)}
.categorybar .category-tile{transition:background .25s,color .25s,transform .25s}.category-tile:active{transform:scale(.95)}
.btn .arrow,.btn>span{transition:transform .3s}.btn:hover .arrow,.btn:hover>span{transform:translateX(5px)}
.mobile-menu.open{animation:nav-unfold .4s cubic-bezier(.16,1,.3,1) both}.mobile-menu.open a{animation:nav-link-in .5s cubic-bezier(.16,1,.3,1) both}.mobile-menu.open a:nth-child(2){animation-delay:40ms}.mobile-menu.open a:nth-child(3){animation-delay:80ms}.mobile-menu.open a:nth-child(4){animation-delay:120ms}.mobile-menu.open a:nth-child(5){animation-delay:160ms}
@keyframes nav-unfold{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:none}}@keyframes nav-link-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
dialog[open]::backdrop{animation:backdrop-in .35s ease both}@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
#product-dialog{animation:none}.close{transition:transform .2s,background .2s}.close:hover{transform:rotate(90deg);background:#e9ddc7}
@media(hover:hover){.menu-row:hover .menu-row-chevron{transform:translateX(4px);color:var(--ink)}.category-tile:hover{transform:translateY(-2px)}}
@media(prefers-reduced-motion:reduce){.route-enter,.motion-reveal{opacity:1;transform:none;animation:none;transition:none}.page-curtain{display:none}html{scroll-behavior:auto}}
