@font-face{font-family:"Tajawal";src:url("../fonts/Tajawal-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Tajawal";src:url("../fonts/Tajawal-500.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:"Tajawal";src:url("../fonts/Tajawal-800.ttf") format("truetype");font-weight:800;font-display:swap}

:root{
  --green:#006233; --green-deep:#00361d; --green-ink:#0b5a32;
  --cream:#ffe5c7; --paper:#ffffff; --paper-2:#faf6f0; --surface:#ffffff;
  --ink:#16261d; --ink-soft:#56665c; --ink-faint:#7d8a82;
  --line:#e6e0d6; --line-strong:#d6cdbf;
  --radius:6px;
  color-scheme:light;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --paper:#0e1712; --paper-2:#121e17; --surface:#16231b;
    --ink:#eef0ea; --ink-soft:#b3beb6; --ink-faint:#8c998f; --green-ink:#7fc79d;
    --line:#24352b; --line-strong:#2f4437; color-scheme:dark;
  }
}
:root[data-theme="dark"]{
  --paper:#0e1712; --paper-2:#121e17; --surface:#16231b;
  --ink:#eef0ea; --ink-soft:#b3beb6; --ink-faint:#8c998f; --green-ink:#7fc79d;
  --line:#24352b; --line-strong:#2f4437; color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:auto;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Tajawal",Tahoma,Arial,sans-serif;font-weight:400;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-weight:800;line-height:1.3;margin:0;color:var(--ink)}
p{margin:0}
.wrap{width:min(1140px,100% - 2rem);margin-inline:auto}
@media (min-width:720px){.wrap{width:min(1140px,100% - 4rem)}}
:focus-visible{outline:2px solid var(--green);outline-offset:3px}

/* ---------- HEADER ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:76px}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}
.brand img{width:52px;height:52px;border-radius:50%;background:var(--cream);padding:4px;border:1px solid var(--line)}
.brand b{font-size:1.15rem;font-weight:800;color:var(--ink)}
.brand small{display:block;font-size:.8rem;color:var(--ink-faint);font-weight:500;line-height:1.2}
.nav{display:flex;align-items:center;gap:2rem;font-size:.95rem;font-weight:500}
.nav a{text-decoration:none;color:var(--ink-soft)}
.nav a:hover{color:var(--green-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.25rem;border-radius:var(--radius);background:var(--green);color:#fff;text-decoration:none;font-weight:500;font-size:.95rem;line-height:1.2;border:1px solid var(--green)}
.btn:hover{background:var(--green-deep);border-color:var(--green-deep)}
.btn-outline{background:transparent;color:var(--green-ink);border-color:var(--line-strong)}
.btn-outline:hover{background:var(--paper-2);border-color:var(--green-ink)}

/* ---------- HERO ---------- */
.hero{background:var(--paper-2);border-bottom:1px solid var(--line)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center;padding-block:4.5rem}
.eyebrow{font-size:.85rem;font-weight:500;color:var(--green-ink);letter-spacing:.02em;margin-bottom:.75rem}
.hero h1{font-size:clamp(2.2rem,1.6rem + 2.4vw,3.25rem)}
.hero-sub{margin-top:1rem;font-size:1.1rem;color:var(--ink-soft);max-width:44ch}
.branch-picker{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.branch-picker p{font-size:.9rem;color:var(--ink-faint);margin-bottom:.75rem}
.branch-picker .row{display:flex;flex-wrap:wrap;gap:.6rem}
.hero figure{margin:0}
.hero figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}

/* ---------- OFFERINGS ---------- */
.offer{border-bottom:1px solid var(--line)}
.offer ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.offer li{padding:1.75rem 1.5rem;border-inline-start:1px solid var(--line)}
.offer li:first-child{border-inline-start:0;padding-inline-start:0}
.offer b{display:block;font-size:1.05rem;font-weight:800}
.offer span{font-size:.92rem;color:var(--ink-soft)}

/* ---------- SECTIONS ---------- */
section.block{padding-block:5rem}
.section-head{max-width:640px;margin-bottom:2.5rem}
.block h2{font-size:clamp(1.6rem,1.3rem + 1.2vw,2.15rem)}
.lede{margin-top:.75rem;color:var(--ink-soft);font-size:1.05rem}

/* story */
.intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.intro .lede{max-width:52ch}
.intro .btn{margin-top:1.75rem}
.intro figure{margin:0}
.intro img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius)}
.intro figcaption,.gallery figcaption{margin-top:.6rem;font-size:.85rem;color:var(--ink-faint)}

/* values */
.values{background:var(--paper-2);border-block:1px solid var(--line)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card .body{padding:1.5rem}
.card .num{font-size:.8rem;font-weight:500;color:var(--green-ink);margin-bottom:.35rem}
.card h3{font-size:1.2rem}
.card p{margin-top:.5rem;font-size:.95rem;color:var(--ink-soft)}

/* gallery */
.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}

/* branches */
.branches-sec{background:var(--green-deep);color:#fff}
.branches-sec h2{color:#fff}
.branches-sec .lede{color:rgba(255,255,255,.75)}
.branch-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,229,199,.18);border:1px solid rgba(255,229,199,.18);border-radius:var(--radius);overflow:hidden}
.branch-item{background:var(--green-deep);padding:1.75rem;display:flex;flex-direction:column;gap:.5rem}
.branch-item h3{font-size:1.3rem;color:#fff}
.branch-item p{font-size:.95rem;color:rgba(255,255,255,.72);flex:1}
.branch-item a{margin-top:1rem;align-self:flex-start;color:var(--cream);font-weight:500;font-size:.95rem;text-decoration:none;border-bottom:1px solid rgba(255,229,199,.45);padding-bottom:2px}
.branch-item a:hover{border-color:var(--cream)}

/* footer */
footer{background:#00291a;color:rgba(255,255,255,.78);padding:2.5rem 0 calc(2rem + env(safe-area-inset-bottom,0px));font-size:.92rem}
footer .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.25rem 2rem}
footer .brand b{color:#fff}
footer .brand small{color:rgba(255,255,255,.55)}
footer .brand img{border-color:transparent}
footer nav{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem}
footer nav a{text-decoration:none}
footer nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.social{direction:ltr;unicode-bidi:embed}
.copy{width:100%;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12);font-size:.82rem;color:rgba(255,255,255,.5)}

/* ---------- RESPONSIVE ---------- */
@media (max-width:900px){
  .hero .wrap,.intro{grid-template-columns:1fr;gap:2rem}
  .hero .wrap{padding-block:2.5rem 3rem}
  .hero figure{order:-1}
  .cards,.gallery,.branch-list{grid-template-columns:1fr}
  .gallery img{aspect-ratio:4/3}
  section.block{padding-block:3.5rem}
  .nav a:not(.btn){display:none}
}
@media (max-width:640px){
  .offer ul{grid-template-columns:1fr}
  .offer li{padding:1rem 0;border-inline-start:0;border-top:1px solid var(--line)}
  .offer li:first-child{border-top:0}
  .branch-picker .row .btn{flex:1 1 30%}
  .brand small{display:none}
}

/* ---------- SHARED ---------- */
/* ---------- LANGUAGE ---------- */
.lang{display:flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;flex-shrink:0}
.nav .lang a{display:block;padding:.4rem .65rem;font-size:.8rem;font-weight:500;text-decoration:none;color:var(--ink-soft);line-height:1.3}
.lang a+a{border-inline-start:1px solid var(--line-strong)}
.nav .lang a[aria-current]{background:var(--ink);color:var(--paper)}
.nav .lang a:not([aria-current]):hover{background:var(--paper-2);color:var(--ink)}
[dir="ltr"] body{letter-spacing:0}
[dir="ltr"] h1,[dir="ltr"] h2,[dir="ltr"] h3{letter-spacing:-.01em;line-height:1.2}
.brand b{white-space:nowrap}
@media (max-width:640px){.site-header .wrap{gap:.75rem}.nav{gap:.6rem}.brand b{font-size:1rem}.nav .btn-outline{display:none}}
@media (max-width:420px){.site-header .brand span{display:none}}

/* ---------- STORY ---------- */
.kicker{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500;color:var(--green-ink);margin-bottom:.75rem}
.kicker span{display:inline-block;min-width:2rem;padding:.1rem .45rem;border:1px solid var(--line-strong);border-radius:4px;font-size:.78rem;text-align:center;direction:ltr}
.story-hero figure img{aspect-ratio:4/5;object-position:50% 35%}
.story-hero .hero-sub{font-weight:500}
.block p+p{margin-top:1rem}
.block .copy-text p{color:var(--ink-soft)}
.block .copy-text strong{color:var(--ink);font-weight:800}
.lead{margin-top:.9rem;font-size:1.12rem;font-weight:500;color:var(--ink)!important}
.alt{background:var(--paper-2);border-block:1px solid var(--line)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.5rem;align-items:center}
.split figure{margin:0}
.split figure img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.split figcaption{margin-top:.6rem;font-size:.85rem;color:var(--ink-faint)}
.split h2+p{margin-top:.9rem}
.statement{margin:1.5rem 0!important;padding:1rem 1.25rem;border-inline-start:3px solid var(--green);background:var(--surface);border-radius:var(--radius);color:var(--ink)!important;font-weight:500}
.tl-feature{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2.5rem;align-items:center;padding:2rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.tl-feature img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--radius)}
.tl-feature figure{margin:0}
.year{font-size:.95rem;font-weight:800;color:var(--green-ink);margin-bottom:.5rem;font-variant-numeric:tabular-nums}
.tl-feature h3{font-size:1.35rem}
.tl-feature p:not(.year){margin-top:.6rem;color:var(--ink-soft)}
.tl-list{margin-top:1.5rem;border-top:1px solid var(--line)}
.tl-item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--line)}
.tl-item .year{font-size:1.25rem;margin:0}
.tl-item h3{font-size:1.15rem}
.tl-item p:not(.year){margin-top:.4rem;color:var(--ink-soft)}
.dark-sec{background:var(--green-deep);color:rgba(255,255,255,.78)}
.dark-sec h2{color:#fff}
.dark-sec .kicker{color:var(--cream)}
.dark-sec .kicker span{border-color:rgba(255,229,199,.35)}
.growth{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:rgba(255,229,199,.18);border:1px solid rgba(255,229,199,.18);border-radius:var(--radius);overflow:hidden}
.growth li{background:var(--green-deep);padding:1.5rem;color:#fff;font-weight:500}
.growth span{display:block;font-size:.8rem;color:var(--cream);opacity:.75;margin-bottom:.25rem}
.values-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem}
.values-row article{border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;background:var(--surface)}
.values-row span{font-size:.78rem;color:var(--ink-faint)}
.values-row h3{font-size:1.05rem;margin-top:.15rem}
.values-row p{margin-top:.25rem!important;font-size:.9rem}
.identity{text-align:center}
.identity .kicker{justify-content:center}
.identity-name{margin-top:1.25rem;font-size:clamp(2rem,1.5rem + 2vw,2.8rem);font-weight:800;color:var(--green-ink);line-height:1.3}
.identity .copy-text{max-width:620px;margin:1.25rem auto 0}
.pair{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.pair img{aspect-ratio:3/4!important}
.finale{text-align:center}
.finale .wrap{max-width:680px}
.finale .kicker{justify-content:center}
.finale img{width:84px;height:84px;margin:0 auto 1.5rem;border-radius:50%;background:var(--cream);padding:6px}
.finale h2 em{font-style:normal;color:var(--cream)}
.finale h2+p{margin-top:1rem}
.finale .btn{margin-top:2rem;background:var(--cream);color:var(--green-deep);border-color:var(--cream)}
.finale .btn:hover{background:#fff;border-color:#fff}
@media (max-width:900px){
  .split,.tl-feature{grid-template-columns:1fr;gap:2rem}
  .split figure{order:-1}
  .split figure img,.story-hero figure img{aspect-ratio:4/3}
  .tl-feature{padding:1.25rem}
  .tl-feature img{aspect-ratio:4/3}
}
@media (max-width:640px){
  .tl-item{grid-template-columns:1fr;gap:.4rem}
  .values-row,.growth{grid-template-columns:1fr}
}

/* ---------- MENU ---------- */
.menu-hero{background:var(--paper-2);border-bottom:1px solid var(--line)}
.menu-hero .wrap{padding-block:2.5rem 2rem;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.5rem}
.menu-hero h1{font-size:clamp(1.8rem,1.4rem + 1.6vw,2.6rem)}
.menu-hero .meta{margin-top:.4rem;color:var(--ink-soft);font-size:.95rem}
.branch-switch{display:flex;border:1px solid var(--line-strong);border-radius:var(--radius);overflow:hidden;background:var(--surface)}
.branch-switch a{padding:.6rem 1.1rem;text-decoration:none;font-weight:500;font-size:.95rem;color:var(--ink-soft)}
.branch-switch a+a{border-inline-start:1px solid var(--line-strong)}
.branch-switch a[aria-current]{background:var(--green);color:#fff}
.branch-switch a:not([aria-current]):hover{background:var(--paper-2);color:var(--ink)}
.tools{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:1.75rem;width:100%}
.tabs{display:flex;gap:.4rem}
.tabs button{font:inherit;font-weight:500;font-size:.95rem;padding:.6rem 1.1rem;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.search{flex:1 1 260px;position:relative}
.search input{width:100%;font:inherit;font-size:1rem;padding-block:.7rem;padding-inline:1rem 2.6rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink)}
.search input:focus{outline:2px solid var(--green);outline-offset:0;border-color:var(--green)}
.search svg{position:absolute;inset-inline-end:.85rem;top:50%;translate:0 -50%;width:18px;height:18px;color:var(--ink-faint);pointer-events:none}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.cats{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line)}
.cats .wrap{display:flex;gap:.4rem;overflow-x:auto;padding-block:.7rem;scrollbar-width:thin}
.cats a{flex:0 0 auto;padding:.4rem .9rem;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:.9rem;font-weight:500;color:var(--ink-soft);white-space:nowrap}
.cats a:hover{border-color:var(--green-ink);color:var(--green-ink)}
.menu-body{padding-block:1rem 4rem}
.msec{padding-top:2.5rem;scroll-margin-top:64px}
.msec-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--green)}
.msec-head h2{font-size:1.45rem;color:var(--ink)}
.msec-head span{font-size:.85rem;color:var(--ink-faint)}
.items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
.item{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.iname{display:flex;flex-direction:column;min-width:0}
.iname span{font-weight:500;color:var(--ink)}
.iname small{font-size:.82rem;color:var(--ink-faint);line-height:1.5}
.iname small.en{direction:ltr;text-align:right}
.iname small.orig{text-align:start;direction:rtl;align-self:flex-start}
.price,.pp b{font-weight:800;color:var(--green-ink);direction:ltr;white-space:nowrap;font-variant-numeric:tabular-nums}
.prices{display:flex;gap:1rem;flex-shrink:0}
.pp{display:flex;flex-direction:column;align-items:center;line-height:1.35}
.pp small{font-size:.75rem;color:var(--ink-faint)}
.empty{padding:3rem 0;text-align:center;color:var(--ink-soft)}
@media (max-width:760px){
  .items{grid-template-columns:1fr}
  .menu-hero .wrap{padding-block:1.75rem 1.5rem}
  .branch-switch{width:100%}
  .branch-switch a{flex:1;text-align:center}
  .tabs{width:100%} .tabs button{flex:1}
}
.cats a[aria-current]{background:var(--green);border-color:var(--green);color:#fff}
.pager{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--line)}
.pager button{font:inherit;display:flex;align-items:center;gap:.75rem;min-width:0;padding:.75rem 1rem;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start}
.pager button:hover:not(:disabled){border-color:var(--green-ink);background:var(--paper-2)}
.pager button:disabled{opacity:.35;cursor:default}
.pg-prev{justify-self:start}
.pg-next{justify-self:end;text-align:end!important}
.pg-txt{display:flex;flex-direction:column;min-width:0;line-height:1.35}
.pg-txt small{font-size:.78rem;color:var(--ink-faint)}
.pg-txt b{font-weight:800;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:16ch}
.pg-arrow{font-size:1.2rem;color:var(--green-ink);line-height:1}
.pg-mid{display:flex;flex-direction:column;align-items:center;gap:.45rem}
.pg-count{font-size:.9rem;font-weight:500;color:var(--ink-soft);font-variant-numeric:tabular-nums;white-space:nowrap}
.pg-dots{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;max-width:260px}
.pg-dots i{width:6px;height:6px;border-radius:3px;background:var(--line-strong)}
.pg-dots i.on{background:var(--green);width:16px}
@media (max-width:560px){
  .pager{grid-template-columns:1fr 1fr;gap:.6rem}
  .pg-mid{grid-column:1/-1;grid-row:1}
  .pager button{padding:.7rem .8rem}
  .pg-txt b{max-width:12ch;font-size:.9rem}
}

/* ---------- CONTACT ---------- */
:root{--gold:#a8782f}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--gold:#d8ab62}}
:root[data-theme="dark"]{--gold:#d8ab62}

/* hero */
.c-hero{position:relative;overflow:hidden;background:radial-gradient(90% 120% at 100% 0%,color-mix(in srgb,var(--green) 14%,transparent) 0%,transparent 55%),var(--paper-2);border-bottom:1px solid var(--line)}
[dir="ltr"] .c-hero{background:radial-gradient(90% 120% at 0% 0%,color-mix(in srgb,var(--green) 14%,transparent) 0%,transparent 55%),var(--paper-2)}
.c-hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:4rem;align-items:center;padding-block:5rem 5.5rem}
.c-hero .eyebrow{display:inline-flex;align-items:center;gap:.6rem;color:var(--gold);letter-spacing:.04em}
.c-hero .eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
.c-hero h1{font-size:clamp(2.6rem,1.8rem + 3.4vw,4.4rem);line-height:1.1;letter-spacing:-.02em}
.c-hero .lede{margin-top:1.25rem;font-size:1.12rem;max-width:46ch}
.c-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-top:2.25rem}
.c-hero-actions .btn{padding:.85rem 1.4rem;font-size:1rem;box-shadow:0 10px 24px color-mix(in srgb,var(--green) 28%,transparent)}
.c-hero-actions .btn svg{width:18px;height:18px}
.c-mini-social{display:flex;gap:.5rem}
.c-mini-social a{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;color:var(--ink-soft)}
.c-mini-social a:hover{color:var(--green-ink);border-color:var(--green-ink);transform:translateY(-2px)}
.c-mini-social svg{width:18px;height:18px}
.c-hero-media{position:relative;margin:0}
.c-hero-media img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:14px;box-shadow:0 30px 60px rgba(0,0,0,.22)}
.c-hero-media::before{content:"";position:absolute;inset:-14px -14px auto auto;width:55%;height:55%;border:1px solid var(--gold);border-radius:14px;opacity:.55;z-index:-1}
[dir="rtl"] .c-hero-media::before{inset:-14px auto auto -14px}
.c-badge{position:absolute;inset-inline-start:-1.5rem;bottom:2rem;display:flex;align-items:center;gap:.85rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.c-badge b{font-size:2.4rem;font-weight:800;line-height:1;color:var(--green-ink)}
.c-badge span{font-size:.92rem;font-weight:500;color:var(--ink-soft);max-width:14ch;line-height:1.35}

/* locations */
.c-locs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:2rem;align-items:start}
.c-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}
.c-loc{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden;transition:border-color .25s,box-shadow .25s,transform .25s}
.c-loc::before{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:3px;background:var(--green);transform:scaleY(0);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.c-loc:hover{border-color:var(--line-strong)}
.c-loc.is-active{border-color:var(--green);box-shadow:0 14px 30px rgba(0,0,0,.12)}
.c-loc.is-active::before{transform:scaleY(1)}
.c-pick{width:100%;display:flex;align-items:center;gap:1rem;padding:1.1rem 1.25rem .6rem;border:0;background:transparent;color:var(--ink);font:inherit;text-align:start;cursor:pointer}
.c-num{font-size:.8rem;font-weight:800;color:var(--gold);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.c-main{display:flex;flex-direction:column;flex:1;min-width:0}
.c-main small{font-size:.78rem;color:var(--ink-faint);font-weight:500}
.c-main b{font-size:1.25rem;font-weight:800;line-height:1.3}
.c-pin{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:var(--paper-2);color:var(--ink-faint);flex-shrink:0}
.c-pin svg{width:18px;height:18px}
.c-loc.is-active .c-pin{background:var(--green);color:#fff}
.c-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1.25rem;padding:0 1.25rem 1.1rem;padding-inline-start:calc(1.25rem + 2.2rem)}
.c-actions a{font-size:.9rem;font-weight:500;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid transparent}
.c-actions a:hover{color:var(--green-ink);border-color:currentColor}
.c-actions .c-phone{display:inline-flex;align-items:center;gap:.4rem;font-weight:800;font-size:1rem;color:var(--ink);font-variant-numeric:tabular-nums}
.c-actions .c-phone svg{width:15px;height:15px;color:var(--green-ink)}
.c-map{position:sticky;top:1.5rem;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:var(--paper-2);box-shadow:0 24px 50px rgba(0,0,0,.14)}
.c-map iframe{display:block;width:100%;height:clamp(360px,62vh,560px);border:0}
.c-map-card{position:absolute;inset-inline:1rem;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.c-map-card span{display:flex;flex-direction:column;min-width:0}
.c-map-card small{font-size:.75rem;color:var(--ink-faint)}
.c-map-card b{font-weight:800;font-size:1.05rem}
.c-map-card .btn{flex-shrink:0}

/* social */
.c-social-sec{background:var(--paper-2);border-block:1px solid var(--line)}
.c-social{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.c-soc{display:flex;align-items:center;gap:1rem;padding:1.25rem;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);text-decoration:none;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,border-color .3s}
.c-soc:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.14);border-color:var(--green-ink)}
.c-soc-ic{width:52px;height:52px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;flex-shrink:0;transition:transform .3s}
.c-soc:hover .c-soc-ic{transform:scale(1.06)}
.c-soc-ic svg{width:24px;height:24px}
.c-soc-txt{display:flex;flex-direction:column;flex:1;min-width:0}
.c-soc-txt b{font-size:1.1rem;font-weight:800}
.c-soc-txt small{font-size:.85rem;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:start}
.c-soc-go{font-size:1.2rem;color:var(--ink-faint);transition:color .2s,transform .2s}
.c-soc:hover .c-soc-go{color:var(--green-ink);transform:translate(2px,-2px)}

/* closing band */
.c-cta{position:relative;overflow:hidden;background:var(--green-deep);color:#fff}
.c-cta::after{content:"";position:absolute;inset-inline-end:-120px;top:-120px;width:360px;height:360px;border-radius:50%;border:1px solid rgba(255,229,199,.18);box-shadow:0 0 0 60px rgba(255,229,199,.04),0 0 0 120px rgba(255,229,199,.025)}
.c-cta .wrap{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.5rem 3rem;padding-block:3.5rem}
.c-cta h2{color:#fff;font-size:clamp(1.6rem,1.2rem + 1.4vw,2.3rem)}
.c-cta p{margin-top:.4rem;color:rgba(255,255,255,.75)}
.c-cta .row{display:flex;flex-wrap:wrap;gap:.6rem}
.c-cta .btn{background:var(--cream);color:var(--green-deep);border-color:var(--cream);padding:.8rem 1.3rem}
.c-cta .btn:hover{background:#fff;border-color:#fff}

@media (max-width:900px){
  .c-hero .wrap{grid-template-columns:1fr;gap:2.5rem;padding-block:2.5rem 3.5rem}
  .c-hero-media{order:-1}
  .c-hero-media img{aspect-ratio:4/3}
  .c-badge{inset-inline-start:1rem;bottom:1rem}
  .c-locs{grid-template-columns:1fr}
  .c-map{position:relative;top:0}
  .c-map iframe{height:380px}
  .c-social{grid-template-columns:1fr}
}
@media (max-width:560px){
  .c-actions{padding-inline-start:1.25rem}
  .c-map-card{flex-direction:column;align-items:stretch}
  .c-badge b{font-size:2rem}
}

/* ---------- LIGHT / DARK BUTTON ---------- */
.theme-btn{width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:var(--radius);background:transparent;color:var(--ink-soft);cursor:pointer;flex-shrink:0}
.theme-btn:hover{color:var(--ink);background:var(--paper-2)}
.theme-btn svg{width:18px;height:18px}

/* ---------- TAGS ---------- */
:root{--tag-new:#a16207;--tag-pop:#c2410c}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--tag-new:#e3b341;--tag-pop:#f2895c}}
:root[data-theme="dark"]{--tag-new:#e3b341;--tag-pop:#f2895c}
.tags{display:inline-flex;flex-wrap:wrap;gap:.3rem;margin-inline-start:.45rem;vertical-align:middle}
.tag{font-size:.68rem;font-weight:500;line-height:1;padding:.22rem .45rem;border-radius:999px;border:1px solid currentColor;white-space:nowrap}
.tag-lent,.tag-vegan{color:var(--green-ink)}
.tag-new{color:var(--tag-new)}
.tag-popular{color:var(--tag-pop)}
.tagbar{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}
.tagbar button{font:inherit;font-size:.88rem;font-weight:500;padding:.4rem .85rem;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-soft);cursor:pointer}
.tagbar button span{font-size:.75rem;color:var(--ink-faint);margin-inline-start:.2rem}
.tagbar button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.tagbar button[aria-pressed="true"] span{color:inherit;opacity:.7}

/* ---------- MENU ITEM ROW ---------- */
.item{align-items:center}
.iright{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.print-btn svg{width:18px;height:18px}
.print-only{display:none}

/* ---------- PRINT (whole menu, black on white) ---------- */
@media print{
  :root:root:root{--paper:#fff;--paper-2:#fff;--surface:#fff;--ink:#000;--ink-soft:#222;--ink-faint:#555;--green:#00361d;--green-ink:#00361d;--line:#bbb;--line-strong:#999;--tag-new:#333;--tag-pop:#333;color-scheme:light}
  @page{margin:12mm}
  body{background:#fff!important;color:#000;font-size:10pt;line-height:1.4;padding:0!important}
  .site-header,footer,.cats,.pager,.tools,.tagbar,.branch-switch,.empty,.menu-hero .eyebrow{display:none!important}
  .menu-hero{background:#fff;border:0}
  .menu-hero .wrap{padding:0 0 6pt;display:block}
  .menu-hero h1{font-size:20pt}
  .print-only{display:block;margin-top:2pt;font-size:9pt;color:#555}
  .wrap{width:auto!important}
  .menu-body{padding:0}
  .menu-panel:not([hidden]) .msec[hidden]{display:block!important}
  .menu-panel:not([hidden]) .item[hidden]{display:flex!important}
  .msec{padding-top:10pt}
  .msec-head{break-after:avoid;padding-bottom:3pt;border-bottom-width:1.5pt}
  .msec-head h2{font-size:13pt}
  .items{column-gap:18pt}
  .item{padding:2.5pt 0;break-inside:avoid}
  .iname small{font-size:8pt}
}

/* the hidden attribute always wins over display rules (search, tag filter, pages) */
[hidden]{display:none!important}

/* <button> elements styled as .btn use the site font */
button.btn{font:inherit;font-weight:500;font-size:.95rem;cursor:pointer}

/* ---------- MOTION (moderate; switched off for "reduce motion" and for print) ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms),transform .7s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.reveal.in{opacity:1;transform:none}
a,button,.btn{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s,transform .2s}
.btn:hover:not(:disabled){transform:translateY(-1px)}
.hero figure{overflow:hidden;border-radius:var(--radius)}
.hero figure img{transform:scale(1.08);will-change:transform}
.card{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,0,0,.14);border-color:var(--line-strong)}
.card img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.card:hover img{transform:scale(1.05)}
.gallery figure{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.gallery figure:hover{transform:translateY(-4px)}
.branch-item{transition:background-color .25s}
.branch-item:hover{background:#00452a}
.msec:not([hidden]){animation:secIn .35s cubic-bezier(.2,.7,.2,1) both}
@keyframes secIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
  .hero figure img{transform:none!important}
}
@media print{.reveal{opacity:1!important;transform:none!important}}

/* ---------- 3D PRODUCTS ---------- */
.p3d{background:var(--paper-2);border-block:1px solid var(--line)}
.p3d .section-head{max-width:720px}
.p3d-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:2rem;align-items:start}
.p3d-stage{display:flex;flex-direction:column;gap:.6rem}
.p3d-viewer{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:radial-gradient(120% 90% at 50% 38%,var(--surface) 0%,var(--paper-2) 75%)}
.p3d-viewer model-viewer{position:absolute;inset:0;width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:var(--green)}
.p3d-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:10%;transition:opacity .5s}
.p3d-viewer[data-ready="true"] .p3d-poster{opacity:0;pointer-events:none}
.p3d-loading{position:absolute;inset-inline:0;bottom:1rem;text-align:center;font-size:.85rem;color:var(--ink-faint)}
.p3d-viewer[data-ready="true"] .p3d-loading{display:none}
.p3d-hint{font-size:.85rem;color:var(--ink-faint);text-align:center}
.p3d-ar{position:absolute;bottom:1rem;inset-inline-start:1rem}
.p3d-side{display:flex;flex-direction:column;gap:1rem}
.p3d-list{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.p3d-list button{font:inherit;display:flex;align-items:center;gap:.7rem;padding:.6rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);cursor:pointer;text-align:start}
.p3d-list button:hover{border-color:var(--green-ink);transform:translateY(-1px)}
.p3d-list button[aria-selected="true"]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.p3d-list img{width:48px;height:48px;object-fit:contain;border-radius:4px;background:var(--paper-2);flex-shrink:0}
.p3d-list b{font-weight:500;font-size:.92rem;line-height:1.3}
.p3d-info{padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.p3d-info h3{font-size:1.3rem}
.p3d-info p{margin-top:.4rem;color:var(--ink-soft)}
.p3d-info .btn{margin-top:1rem}
.p3d-note{font-size:.8rem;color:var(--ink-faint)}
@media (max-width:900px){.p3d-grid{grid-template-columns:1fr}.p3d-viewer{aspect-ratio:1/1}}
[dir="rtl"] .c-soc-go{transform:scaleX(-1)}
[dir="rtl"] .c-soc:hover .c-soc-go{transform:scaleX(-1) translate(2px,-2px)}

/* ---------- FROM FLOUR TO LOAF (scroll-driven 3D) ---------- */
.bake{position:relative;padding-block:5rem 2rem;border-block:1px solid var(--line);background:radial-gradient(55% 45% at 30% 55%,rgba(255,110,30,calc(var(--glow,0) * .28)),transparent 70%),var(--paper)}
[dir="rtl"] .bake{background:radial-gradient(55% 45% at 70% 55%,rgba(255,110,30,calc(var(--glow,0) * .28)),transparent 70%),var(--paper)}
.bake-head{margin-bottom:1rem}
.bake-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:3rem;align-items:start}
.bake-stage{position:sticky;top:8vh;height:84vh;display:flex;flex-direction:column;justify-content:center;gap:1rem}
.bake-canvas{position:relative;flex:1;min-height:0;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:radial-gradient(80% 70% at 50% 45%,var(--surface) 0%,var(--paper-2) 80%)}
.bake-canvas canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}
.bake-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s}
.bake-canvas.is-ready .bake-fallback{opacity:0}
.bake-dots{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:.5rem}
.bake-dots li{width:28px;height:4px;border-radius:2px;background:var(--line-strong);transition:background-color .3s,width .3s}
.bake-dots li.done{background:color-mix(in srgb,var(--green) 55%,transparent)}
.bake-dots li.on{background:var(--green);width:46px}
.bake-steps{list-style:none;margin:0;padding:0 0 30vh}
.bake-step{min-height:72vh;display:flex;flex-direction:column;justify-content:center;opacity:.28;transition:opacity .45s,transform .45s;transform:translateY(8px)}
.bake-step.is-active{opacity:1;transform:none}
.bake-n{font-size:.85rem;font-weight:800;color:var(--gold);letter-spacing:.08em}
.bake-step h3{font-size:clamp(1.7rem,1.3rem + 1.4vw,2.5rem);margin-top:.35rem}
.bake-step p{margin-top:.75rem;font-size:1.1rem;color:var(--ink-soft);max-width:34ch}
@media (max-width:900px){
  .bake{padding-top:3.5rem}
  .bake-grid{grid-template-columns:1fr;gap:0}
  .bake-stage{top:0;height:52vh;z-index:2;background:var(--paper);padding-block:.75rem;gap:.6rem}
  .bake-step{min-height:62vh;justify-content:flex-start;padding-top:8vh}
  .bake-steps{padding-bottom:20vh}
}
@media (prefers-reduced-motion: reduce){.bake-step{opacity:1;transform:none}}
@media print{.bake{display:none}}
