@font-face{font-family:Niyya;src:url('assets/niyya-display.ttf') format('truetype');font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Manrope;src:url('assets/manrope-semibold.ttf') format('truetype');font-weight:600 800;font-display:swap}
:root{color-scheme:light;--paper:#f6ecd9;--cream:#fffbf1;--ink:#1a1712;--muted:#635e4e;--olive:#545637;--clay:#a53d22;--line:#dbccb3;--header:74px;font-family:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 68px)}
body{margin:0;min-width:0}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.5}
img{display:block;max-width:100%}
a{color:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
h1,h2,h3,p,figure{margin:0}
h1,h2{font-family:Niyya,Manrope,sans-serif;font-weight:400;letter-spacing:-.025em}
[hidden]{display:none!important}
.shell{width:min(100% - 64px,1220px);margin-inline:auto}
.skip{position:fixed;left:12px;top:12px;z-index:10;padding:12px;background:white;transform:translateY(-160%)}
.skip:focus{transform:translateY(0)}
.header{position:sticky;top:0;z-index:4;background:var(--paper);border-bottom:1px solid var(--line)}
.masthead{height:var(--header);display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{width:94px;height:auto;object-fit:contain}
.masthead nav{display:flex;align-items:center;gap:clamp(12px,2.8vw,34px);font-weight:700;font-size:.92rem}
.masthead nav>a,.text-link{text-decoration:none}
.masthead nav>a:hover,.text-link:hover,.footer a:hover{text-decoration:underline;text-underline-offset:4px}
.basket-button{border:1px solid var(--ink);border-radius:100px;min-height:45px;display:flex;gap:10px;align-items:center;padding:4px 6px 4px 14px;background:transparent;color:var(--ink);font-weight:800}
.basket-button span{background:var(--ink);color:var(--cream);min-width:29px;min-height:29px;display:grid;place-items:center;padding:2px 5px;border-radius:30px}
.hero{display:grid;grid-template-columns:.91fr 1.09fr;gap:0;min-height:440px;margin-top:30px;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--cream)}
.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(32px,5.3vw,76px)}
.location{display:flex;align-items:center;gap:9px;color:var(--olive);font-size:.82rem;font-weight:800;margin-bottom:18px}
.location span{width:8px;height:8px;background:var(--olive);border-radius:50%}
.hero h1{font-size:clamp(2.8rem,6vw,5.45rem);line-height:.98}
.hero-description{margin-top:20px;max-width:33ch;font-size:clamp(.94rem,1.5vw,1.14rem);line-height:1.6;color:var(--muted)}
.hero-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:26px}
.primary,.secondary{min-height:46px;display:inline-flex;align-items:center;justify-content:space-between;gap:13px;padding:11px 17px;border:1px solid transparent;border-radius:100px;text-decoration:none;font-weight:800;font-size:.89rem}
.primary{background:var(--clay);color:#fffaf1}
.primary:hover{background:#85321d}
.secondary{color:var(--ink);border-color:var(--ink);background:transparent}
.secondary:hover{background:var(--ink);color:var(--cream)}
.text-link{font-size:.89rem;font-weight:800;color:var(--olive);padding-block:10px}
.text-button{border:0;background:transparent;padding-inline:0;text-align:left;min-height:44px}
.hero-photo{position:relative;isolation:isolate;min-height:100%;background:#d6b68e}
.hero-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center}
.hero-photo figcaption{position:absolute;right:15px;bottom:15px;padding:7px 12px;border-radius:100px;background:var(--cream);font-size:.76rem;font-weight:800}
.menu-section{margin-top:50px}
.menu-heading{display:flex;justify-content:space-between;align-items:end;gap:12px;padding-bottom:10px}
.menu-heading h2,.order-guide h2{font-size:clamp(2rem,4.2vw,3.1rem);line-height:1.13}
.menu-heading p{font-size:.86rem;color:var(--muted);padding-bottom:4px}
.category-nav{position:sticky;top:var(--header);z-index:3;display:flex;gap:8px;overflow:auto;scrollbar-width:thin;padding:10px 2px;background:var(--paper);border-bottom:1px solid var(--line);scroll-padding-inline:8px}
.category-nav a{white-space:nowrap;border-radius:100px;min-height:44px;display:flex;align-items:center;text-decoration:none;font-weight:800;font-size:.87rem;padding:7px 16px;border:1px solid var(--line)}
.category-nav a:hover,.category-nav a[aria-current="location"]{color:var(--cream);background:var(--olive);border-color:var(--olive)}
.menu-category{padding-top:29px}
.menu-category>h3{font-family:Niyya,Manrope,sans-serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(1.48rem,2.5vw,2rem);margin-bottom:14px}
.menu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.card{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:var(--cream)}
.card-photo{aspect-ratio:1.84;background:#e8d2b0;overflow:hidden}
.card-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.card-copy{display:flex;flex:1;flex-direction:column;gap:8px;padding:15px 16px 13px}
.card h4{font-size:1.03rem;line-height:1.3;font-weight:800;margin:0}
.card p{font-size:.85rem;line-height:1.55;color:var(--muted)}
.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:7px;margin-top:auto;padding-top:7px}
.price{font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.add-button{color:var(--olive);background:transparent;border:1px solid var(--olive);min-height:44px;border-radius:100px;min-width:73px;padding:7px 12px;font-weight:800;font-size:.86rem}
.add-button:hover{background:var(--olive);color:var(--cream)}
.order-guide{padding:28px 0;margin-top:45px;border-top:1px solid var(--line)}
.order-guide ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:17px 0}
.order-guide li{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:16px}
.order-guide h3{font-size:1rem}
.order-guide p{margin-top:5px;font-size:.9rem;color:var(--muted);line-height:1.55}
.footer{border-top:1px solid var(--line);padding:20px 0 calc(24px + env(safe-area-inset-bottom));font-size:.85rem;color:var(--muted)}
.footer-inner{display:flex;align-items:center;flex-wrap:wrap;gap:14px 25px}
.footer .logo{width:67px}
.footer a{text-underline-offset:3px}
.basket-dock{position:fixed;z-index:5;bottom:calc(14px + env(safe-area-inset-bottom));right:max(24px,calc((100vw - 1220px)/2));width:min(310px,100% - 28px);box-shadow:0 10px 30px #1a171234;border-radius:100px}
.basket-dock button{width:100%;min-height:53px}
body.has-basket .footer{padding-bottom:calc(92px + env(safe-area-inset-bottom))}
.modal{border:1px solid var(--line);border-radius:20px;background:var(--cream);color:var(--ink);padding:0;width:min(100% - 32px,500px);max-height:calc(100dvh - 28px);overflow:auto;overscroll-behavior:contain;box-shadow:0 22px 70px #1a171250}
.modal::backdrop{background:#20190e80}
.basket-modal{width:min(100% - 32px,570px)}
.dialog-header{padding:15px 17px 13px 20px;display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;background:var(--cream);border-bottom:1px solid var(--line);z-index:1}
.dialog-header h2{font-size:clamp(1.28rem,4vw,1.85rem);line-height:1.18}
.icon-button{display:grid;place-items:center;min-width:44px;min-height:44px;border:1px solid var(--line);color:var(--ink);border-radius:50%;background:transparent;font-size:1.55rem;line-height:1}
.item-modal form,.basket-content{padding:18px 20px 20px}
.item-modal form>p,.confirm-copy,#basket-empty{font-size:.91rem;color:var(--muted);line-height:1.6}
fieldset{margin:14px 0 17px;border:1px solid var(--line);border-radius:12px;padding:5px 11px}
legend{color:var(--muted);font-size:.84rem;font-weight:700;padding:0 5px}
.option-row{display:flex;align-items:center;gap:10px;min-height:45px;font-size:.92rem}
.option-row small{margin-left:auto;color:var(--muted)}
input[type=checkbox]{accent-color:var(--olive);height:19px;width:19px}
.full{width:100%;margin-top:11px}
.basket-lines{list-style:none;padding:0;margin:0}
.basket-line{display:flex;justify-content:space-between;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}
.line-info{min-width:0}
.line-info strong{display:block;font-size:.9rem}
.line-info p{font-size:.78rem;line-height:1.5;color:var(--muted)}
.qty{display:flex;align-items:center;gap:4px;white-space:nowrap}
.qty button{background:transparent;color:var(--ink);border:1px solid var(--line);border-radius:50%;width:44px;height:44px;font-weight:800}
.qty span{min-width:20px;text-align:center;font-weight:700}
.subtotal{display:flex;justify-content:space-between;gap:10px;padding:16px 0 8px;font-size:1.02rem}
.order-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:13px}
.basket-content label{display:block;min-width:0;font-size:.87rem;font-weight:800}
.basket-content label span{color:var(--muted);font-weight:400}
.basket-content label #note-title{color:inherit;font-weight:inherit}
.wide-field{grid-column:1/-1}
.order-fields input,.order-fields select,.order-fields textarea{display:block;width:100%;min-width:0;min-height:44px;padding:8px 9px;margin-top:5px;border:1px solid var(--line);border-radius:10px;background:var(--cream);color:var(--ink);font-size:1rem}
.order-fields textarea{resize:vertical}
.order-confirmation{margin-top:13px}
.quiet-button{min-height:44px;color:var(--olive);border:0;background:transparent;font-weight:800;text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.copy-status{font-size:.84rem;color:var(--olive)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:960px){.shell{width:calc(100% - 40px)}.hero{min-height:365px}.hero-copy{padding:32px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){:root{--header:62px}.shell{width:calc(100% - 28px)}.logo{width:81px}.hero{grid-template-columns:1fr;margin-top:14px;min-height:0;border-radius:18px}.hero-copy{padding:23px 20px 20px}.hero h1{font-size:clamp(2.35rem,9vw,3.8rem)}.hero h1 br{display:none}.hero-photo{min-height:0;aspect-ratio:1.6}.hero-description{margin-top:10px}.location{margin-bottom:10px}.hero-actions{margin-top:15px;gap:10px}.menu-section{margin-top:30px}.menu-grid{gap:10px}.menu-category{padding-top:19px}.card-copy{padding:11px;gap:5px}.card p{font-size:.8rem}.card h4{font-size:.94rem}.category-nav a{padding-inline:13px}.basket-dock{right:14px}.order-guide{margin-top:29px}.order-guide ol{grid-template-columns:1fr;gap:8px}.footer-inner{gap:11px 17px}}
@media(max-width:465px){.menu-grid{grid-template-columns:minmax(0,1fr)}.card-photo{aspect-ratio:2}.header-delivery{display:none}.card-copy{padding:13px 14px}.hero-photo{aspect-ratio:1.88}.order-fields{grid-template-columns:1fr}}
@media(max-width:350px){.header-menu{display:none}.shell{width:calc(100% - 20px)}.dialog-header,.item-modal form,.basket-content{padding-inline:12px}.qty button{width:40px;height:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
