@font-face{font-family:Cardo;src:url("fonts/cardo-greek-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:Cardo;src:url("fonts/cardo-greek-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:Cardo;src:url("fonts/cardo-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:Cardo;src:url("fonts/cardo-latin-700-normal.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}
@font-face{font-family:"Didact Gothic";src:url("fonts/didact-gothic-greek-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0370-03FF,U+1F00-1FFF}
@font-face{font-family:"Didact Gothic";src:url("fonts/didact-gothic-latin-400-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC}

/* Palette: cream background, one sea-blue accent (no second accent colour). */
:root{--ink:#173641;--deep:#0a435e;--blue:#176b83;--wash:#f7f2e6;--paper:#fffaf0;--line:#d5cbb9;--font-head:Cardo,Georgia,serif;--font-body:"Didact Gothic",system-ui,sans-serif;--shell:min(1100px,calc(100% - 2rem));--shadow:0 22px 60px rgba(7,55,72,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.08rem;line-height:1.7}a{color:inherit}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}:focus-visible{outline:3px solid var(--blue)}h1,h2,h3,h4{font-family:var(--font-head);font-weight:400;line-height:1.1}h1{font-size:clamp(2.6rem,9vw,4.6rem);max-width:14ch;margin:.2em 0}h2{font-size:clamp(2rem,5vw,3rem);margin:.2em 0}h3{font-size:1.4rem;margin:.25rem 0}.section-shell{width:var(--shell);margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:700;color:var(--blue)}p{max-width:66ch}.skip-link{position:fixed;z-index:100;left:1rem;top:1rem;background:var(--ink);color:white;padding:.7rem 1rem;transform:translateY(-150%)}.skip-link:focus{transform:none}

.site-header{position:sticky;top:0;z-index:30;min-height:72px;background:rgba(255,250,240,.94);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(23,54,65,.13);padding:.65rem max(1rem,calc((100vw - 1100px)/2))}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;line-height:1.05}.brand-mark{color:var(--blue)}.brand strong{font:700 1.2rem var(--font-head);display:block}.brand small{color:var(--blue);font-size:.76rem;letter-spacing:.03em}
.menu-toggle{width:48px;height:48px;border:0;background:transparent;display:grid;place-content:center;gap:5px}.menu-toggle span{display:block;width:25px;height:2px;background:var(--ink);transition:.25s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.primary-nav{position:absolute;left:0;right:0;top:100%;display:none;background:var(--paper);padding:1.2rem 1.2rem 1.6rem;box-shadow:0 20px 30px rgba(10,67,94,.12)}.primary-nav.open{display:grid;gap:.2rem}.primary-nav>a{text-decoration:none;font-weight:700;padding:.7rem 0;border-bottom:1px solid var(--line);min-height:48px;display:flex;align-items:center}
.language-toggle{display:flex;gap:.4rem;margin-top:.6rem}.language-toggle button{border:1px solid var(--ink);background:transparent;padding:.2rem .6rem;border-radius:999px;cursor:pointer;min-width:48px;min-height:48px}.language-toggle button[aria-pressed="true"]{background:var(--ink);color:white}

.button{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:white;text-decoration:none;border:2px solid var(--blue);padding:.8rem 1.4rem;min-height:48px;border-radius:999px;cursor:pointer;font-weight:700;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{background:var(--deep);border-color:var(--deep);transform:translateY(-2px);box-shadow:0 9px 20px rgba(10,67,94,.25)}
.text-link{font-weight:700;color:var(--deep);text-underline-offset:5px;display:inline-flex;align-items:center;min-height:48px}.text-link:hover{color:var(--blue)}
.button-light{background:var(--wash);border-color:var(--wash);color:var(--deep)}
.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;margin-top:1.8rem}

/* Hero: text and art stack vertically on mobile (no overlap), sit side by side from 960px.
   Photo slot: set --hero-image on .hero-art (e.g. style="--hero-image:url('images/hero.webp')")
   or swap .hero-art for a plain <img> once a partner photo exists. */
.hero{display:grid;gap:2rem;padding:2.5rem 1.2rem 3rem}
.hero-copy{max-width:60ch}
.hero-art{--hero-image:none;aspect-ratio:4/3;background-color:var(--wash);background-image:var(--hero-image);background-size:cover;background-position:center;border:1px solid var(--line);border-radius:6px;display:grid;place-items:center;text-align:center}
.hero-art-mark{font-family:var(--font-head);font-size:clamp(1.6rem,7vw,2.2rem);color:var(--deep);line-height:1.15}

.menu-section{padding-block:4rem;scroll-margin-top:72px}.section-heading{margin-bottom:1.5rem}
.menu-note{margin:0 0 2rem;color:#4a5f64;font-size:1.08rem;line-height:1.55;max-width:62ch}
.button-outline{background:transparent;color:var(--deep);border-color:var(--deep)}.button-outline:hover{background:var(--deep);color:white}
.menu-toggle-all{margin-top:2rem}

.dish-list{list-style:none;margin:0;padding:0}
.dish{display:grid;grid-template-columns:2rem 1fr auto;grid-template-areas:"num name price" ". desc desc";column-gap:.6rem;align-items:baseline;padding:.85rem 0;border-bottom:1px solid var(--line)}
.dish:last-child{border-bottom:0}
.dish-num{grid-area:num;font-size:.85rem;color:#5b6f75;font-variant-numeric:tabular-nums}
.dish-name{grid-area:name;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.dish-desc{grid-area:desc;color:#4a5f64;font-size:1.08rem;line-height:1.45;margin-top:.15rem}.dish-desc:empty{display:none}
.dish-price{grid-area:price;text-align:right;white-space:nowrap;font-family:var(--font-head);font-weight:700;font-size:1.2rem;color:var(--deep);font-variant-numeric:tabular-nums}
.price-unsure{color:#5b6f75;font-weight:400}

.meze{background:var(--wash);border-top:3px solid var(--deep);border-bottom:1px solid var(--line);padding:1.6rem 1.1rem 1.2rem;margin-bottom:3rem}
.meze .eyebrow{margin:0 0 .2rem}
.meze-title{font-size:clamp(1.9rem,6vw,2.5rem);margin:0 0 .8rem}
.meze-title .sec-note{display:block;font-family:var(--font-body);font-size:1.08rem;color:#4a5f64;margin-top:.35rem;line-height:1.4}
.dish-featured{padding:1.3rem 0;border-bottom:1px solid var(--line)}
.dish-featured .dish-name{font-family:var(--font-head);font-weight:700;font-size:1.45rem}
.dish-featured .dish-price{font-size:1.7rem}
.dish-featured .dish-num{font-size:.95rem}
.dish-featured .dish-desc{margin-top:.35rem}

.menu-cols{display:grid;gap:2.5rem}
.group-title{font-size:1.9rem;margin:0 0 .6rem;padding-bottom:.5rem;border-bottom:1px solid var(--ink)}
.cat{border-bottom:1px solid var(--line)}
.cat summary{display:flex;align-items:center;gap:.8rem;min-height:56px;padding:.4rem 0;cursor:pointer;list-style:none}
.cat summary::-webkit-details-marker{display:none}
.cat-title{flex:1;margin:0;font-size:1.4rem;line-height:1.2}
.cat-title .sec-note{font-weight:400;display:block;font-family:var(--font-body);font-size:1.08rem;color:#4a5f64;margin-top:.15rem}
.cat-count{font-size:.9rem;color:#5b6f75;font-variant-numeric:tabular-nums}
.chev{width:.6rem;height:.6rem;border-right:2px solid var(--deep);border-bottom:2px solid var(--deep);transform:rotate(45deg);margin:0 .4rem .25rem .2rem;transition:transform .2s}
.cat[open] .chev{transform:rotate(225deg);margin-bottom:0;margin-top:.25rem}
.cat[open]>summary{border-bottom:1px solid var(--ink)}
.cat .dish-list{padding-bottom:.5rem}

@media(max-width:699px){
  .dish-multi{grid-template-areas:"num name name" ". desc desc" ". price price"}
  .dish-multi .dish-price{margin-top:.2rem}
}
@media(min-width:960px){
  .meze{padding:2.2rem 2.4rem 1.6rem}
  .meze .dish-list{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2.5rem}
  .dish-featured{grid-template-columns:2rem 1fr auto;align-content:start;border-bottom:0;border-top:1px solid var(--line)}
  .menu-cols{grid-template-columns:1fr 1fr;gap:4rem;align-items:start}
}

.story{padding-block:4rem}.story-columns{display:grid;gap:1.2rem;margin-bottom:1.5rem}
.about-rating,.amenities{margin:.4rem 0;color:#3c5257}
.about-rating{font-weight:700;color:var(--deep)}

.hours{background:var(--deep);color:var(--wash);display:grid;gap:1rem;margin-block:4rem;padding:3rem 1.4rem;border-radius:6px}
.hours dl{margin:0}.hours dl div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid rgba(255,255,255,.3);padding:.5rem 0}.hours dt{font-weight:700}.hours dd{margin:0}
.hours address{font-style:normal;margin:0}

.booking-cta{padding:4rem 1.2rem 5rem;background:var(--wash);text-align:center}
.booking-cta .button{margin-top:1.2rem}

.site-footer{background:var(--ink);color:var(--wash);padding:3rem max(1rem,calc((100vw - 1100px)/2)) 1.5rem}
.footer-grid{display:grid;gap:2rem}
.footer-brand{color:var(--wash)}.footer-brand small{color:#9ecdd8}
.site-footer h3{font-size:1.05rem;color:#9ecdd8;margin-bottom:.4rem}
.site-footer a{text-underline-offset:4px;min-height:48px;display:inline-flex;align-items:center}
.site-footer address{font-style:normal}
.footer-bottom{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.2);margin-top:2.5rem;padding-top:1.2rem;font-size:.85rem;color:#cfe3e8}

@media(min-width:700px){.hours{padding:3rem}}
@media(min-width:960px){
  .site-header{min-height:88px}
  .menu-toggle{display:none}
  .primary-nav{position:static;display:flex;align-items:center;gap:1.3rem;background:none;padding:0;box-shadow:none}
  .primary-nav>a{font-size:.95rem;border:0;padding:.4rem 0;min-height:auto}
  .language-toggle{margin-top:0}
  .hero{grid-template-columns:1.1fr 1fr;align-items:center;min-height:560px;padding-inline:max(1rem,calc((100vw - 1100px)/2))}
  .story-columns{grid-template-columns:1fr 1fr}
  .hours{grid-template-columns:120px 1fr auto auto;align-items:center;padding:2.5rem 3rem}
  .footer-grid{grid-template-columns:2fr 1.2fr 1fr auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
