:root{
  --espresso:#2b1d12;
  --bark:#3e2a1e;
  --cream:#f7f1e5;
  --parchment:#fdf9f0;
  --brass:#b08d4a;
  --brass-light:#d4b978;
  --oxblood:#7a2e2e;
  --ink:#33241a;
  --muted:#7a6653;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'Jost',-apple-system,'Segoe UI',sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:400;color:var(--ink);background:var(--parchment);line-height:1.55;font-size:15.5px}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}

/* draft banner */
.draft-banner{background:var(--espresso);color:#e8dcc4;text-align:center;font-size:12px;letter-spacing:.06em;padding:7px 12px;font-weight:500}
.draft-banner a{color:var(--brass-light);font-weight:600}

/* header */
.site-header{background:rgba(253,249,240,.96);backdrop-filter:blur(8px);border-bottom:1px solid #e3d6bd;position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;gap:26px;padding:13px 28px}
.brand{text-decoration:none;display:flex;flex-direction:column;line-height:1}
.brand-name{font-family:var(--serif);font-weight:700;font-size:1.7rem;color:var(--espresso);letter-spacing:.01em}
.brand-sub{font-size:.62rem;letter-spacing:.34em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-top:3px}
.nav-links{display:flex;gap:24px;margin-left:auto}
.nav-links a{text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover{color:var(--oxblood);border-bottom-color:var(--brass)}
.nav-toggle{display:none;background:none;border:0;font-size:1.4rem;cursor:pointer;color:var(--espresso)}

/* buttons */
.btn{display:inline-block;background:var(--oxblood);color:#fdf9f0;text-decoration:none;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;padding:13px 28px;border:1px solid var(--oxblood);transition:background .2s,color .2s}
.btn:hover{background:var(--espresso);border-color:var(--espresso)}
.btn-ghost{background:transparent;color:var(--oxblood);border:1px solid var(--oxblood)}
.btn-ghost:hover{background:var(--oxblood);color:#fdf9f0}
.btn-small{padding:9px 18px;font-size:.72rem;margin-left:0}

/* type */
.kicker{font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;color:var(--brass);font-weight:600;margin-bottom:10px}
.kicker.centered,.section-title.centered,.ornament.centered{text-align:center}
.kicker.light{color:var(--brass-light)}
h1,h2,h3,.section-title{font-family:var(--serif);color:var(--espresso);font-weight:600;line-height:1.08}
.section{padding:52px 0}
.section-alt{background:var(--cream)}
.section-title{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:8px}
.ornament{color:var(--brass);font-size:1.3rem;margin:6px 0 26px}
.brass-rule{margin:16px 0}
.brass-rule span{display:block;width:72px;height:3px;background:linear-gradient(90deg,var(--brass),var(--brass-light))}
.brass-rule.left span{margin:0}
.hero .brass-rule:not(.left){text-align:left}

/* hero */
.hero{background:linear-gradient(180deg,#f3ead7 0%,var(--parchment) 100%);padding:52px 0 60px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:52px;align-items:center}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.3rem);letter-spacing:.005em}
.hero h1 em{font-style:italic;color:var(--oxblood)}
.lede{font-size:1.02rem;color:#4d3d2e;max-width:44ch;margin:4px 0 22px;font-weight:300}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.hero-meta{font-size:.78rem;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}
.hero-visual{position:relative;justify-self:center}
.arch-frame{width:min(380px,92%);border-radius:999px 999px 6px 6px;overflow:hidden;border:6px double var(--brass);box-shadow:0 22px 50px rgba(43,29,18,.22)}
.arch-frame img{width:100%;aspect-ratio:3/3.8;object-fit:cover}
.hero-seal{position:absolute;right:-6px;bottom:34px;width:92px;height:92px;border-radius:50%;background:var(--espresso);color:var(--brass-light);display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:1.05rem;line-height:1.15;border:2px solid var(--brass);box-shadow:0 10px 24px rgba(43,29,18,.3);transform:rotate(-8deg)}

/* heritage strip */
.heritage{background:var(--espresso);color:#e9dcc2;padding:26px 0}
.heritage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.heritage-item{display:flex;flex-direction:column;gap:4px;align-items:center}
.heritage-num{font-family:var(--serif);font-size:1.9rem;color:var(--brass-light);font-weight:700}
.heritage-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#c9b896}

/* signatures */
.sig-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:start}
.sig-feature{background:#fff;border:1px solid #e3d6bd;box-shadow:0 14px 34px rgba(43,29,18,.1)}
.sig-feature img{width:100%;aspect-ratio:16/8;object-fit:cover}
.sig-feature figcaption{padding:13px 22px 15px}
.sig-tag{display:inline-block;font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:#fdf9f0;background:var(--oxblood);padding:5px 12px;margin-bottom:10px;font-weight:600}
.sig-feature h3{font-size:1.6rem;margin-bottom:6px}
.sig-feature p{font-size:.92rem;color:#5a4a3a;font-weight:300;margin-bottom:10px}
.sig-list{display:flex;flex-direction:column;gap:16px}
.sig-card{background:#fff;border:1px solid #e3d6bd;border-left:4px solid var(--brass);padding:13px 18px;box-shadow:0 8px 20px rgba(43,29,18,.07)}
.sig-card h3{font-size:1.3rem;margin-bottom:4px}
.sig-note{font-size:.85rem;color:var(--brass);font-style:italic}
.sig-card p{font-size:.88rem;color:#5a4a3a;font-weight:300;margin-bottom:8px}
.price{font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--oxblood)}

/* menu tabs */
.tabs{display:flex;justify-content:center;gap:10px;margin:6px 0 8px;flex-wrap:wrap}
.tab{font-family:var(--sans);font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;background:transparent;border:1px solid var(--brass);color:var(--bark);padding:10px 24px;cursor:pointer;transition:all .2s}
.tab:hover{border-color:var(--oxblood);color:var(--oxblood)}
.tab.active{background:var(--espresso);border-color:var(--espresso);color:var(--brass-light)}
.tab-panel{display:none;max-width:760px;margin:0 auto}
.tab-panel.active{display:block}
.menu-note{text-align:center;font-style:italic;font-family:var(--serif);font-size:1rem;color:var(--muted);margin:8px 0 14px}
.menu-list{list-style:none;background:#fff;border:1px solid #e3d6bd;padding:4px 28px;box-shadow:0 10px 26px rgba(43,29,18,.07)}
.menu-list li{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:7px 0;border-bottom:1px dotted #cdbb96}
.menu-list li:last-child{border-bottom:0}
.menu-list h4{font-family:var(--serif);font-size:1.18rem;font-weight:600;color:var(--espresso)}
.menu-list p{font-size:.83rem;color:var(--muted);font-weight:300}
.menu-tag{font-family:var(--sans);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);font-weight:600}
.menu-foot{text-align:center;font-size:.85rem;color:var(--muted);margin-top:18px}
.menu-foot a{color:var(--oxblood);font-weight:600}

/* pizza band */
.pizza-band{background:var(--oxblood);color:#f3e6d4;padding:52px 0}
.pizza-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.pizza-band h2{color:#fdf6e8;font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:10px}
.pizza-band p{font-weight:300;font-size:.95rem;max-width:46ch;margin-bottom:10px}
.pizza-band strong{color:#fff}
.pizza-flavours{font-family:var(--serif);font-size:1.15rem;font-style:italic;color:var(--brass-light)}
.pizza-hours{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:#e0cba6}
.pizza-visual{margin:0}
.pizza-visual img{border-radius:6px;border:3px solid var(--brass);aspect-ratio:16/10;object-fit:cover;width:100%}
.pizza-visual figcaption{font-size:.78rem;font-style:italic;color:#d9c39a;margin-top:8px;text-align:center}

/* story */
.story-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center}
.story-copy p{font-weight:300;color:#4d3d2e;margin-bottom:12px;font-size:.97rem}
.story-sign{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--oxblood)}
.story-visual{margin:0}
.story-visual img{border-radius:6px;border:6px double var(--brass);aspect-ratio:4/3.4;object-fit:cover;width:100%;box-shadow:0 16px 36px rgba(43,29,18,.14)}
.story-visual figcaption,.visit-card .muted{font-size:.78rem;font-style:italic;color:var(--muted);margin-top:8px;text-align:center}

/* reviews */
.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.review-card{background:#fff;border:1px solid #e3d6bd;border-top:4px solid var(--brass);padding:22px 22px 20px;box-shadow:0 10px 24px rgba(43,29,18,.07);display:flex;flex-direction:column;gap:10px}
.stars{color:var(--brass);letter-spacing:.18em;font-size:.95rem}
.review-card p{font-family:var(--serif);font-size:1.08rem;font-style:italic;line-height:1.45;color:#443325;flex:1}
.review-card cite{font-style:normal;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}

/* visit */
.visit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:28px}
.visit-card{background:#fff;border:1px solid #e3d6bd;padding:24px;text-align:center;box-shadow:0 10px 24px rgba(43,29,18,.07)}
.visit-card h3{font-size:1.35rem;margin-bottom:8px}
.visit-card p{font-size:.93rem;font-weight:300}
.visit-card a{color:var(--oxblood);font-weight:500;text-decoration:none}
.visit-card a:hover{text-decoration:underline}
.visit-card .muted{color:var(--muted)}
.visit-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* footer */
.site-footer{background:var(--espresso);color:#c9b896;padding:30px 0}
.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.footer-brand .brand-name{color:#f0e4cb;font-size:1.4rem}
.footer-brand .brand-sub{color:var(--brass-light)}
.footer-note{font-size:.78rem;font-weight:300;max-width:52ch}

/* reveal (visual only — content readable without JS) */
[data-reveal]{transition:opacity .5s ease,transform .5s ease}
.js [data-reveal]:not(.revealed){opacity:0;transform:translateY(14px)}
[data-reveal].revealed{opacity:1;transform:none}

/* responsive */
@media(max-width:900px){
  .hero{padding:36px 0 40px}
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-visual{justify-self:center}
  .arch-frame{width:min(250px,66%)}
  .arch-frame img{aspect-ratio:3/3.6}
  .hero-seal{width:72px;height:72px;font-size:.85rem;right:0;bottom:20px}
  .hero h1{font-size:clamp(2.2rem,11vw,2.9rem)}
  .lede{font-size:.94rem;margin-bottom:18px}
  .sig-grid,.pizza-grid,.story-grid{grid-template-columns:1fr;gap:26px}
  .review-grid,.visit-grid{grid-template-columns:1fr;max-width:520px;margin-left:auto;margin-right:auto}
  .visit-grid{margin-bottom:24px}
  .heritage-grid{grid-template-columns:repeat(2,1fr);gap:18px}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--parchment);flex-direction:column;padding:14px 28px;gap:14px;border-bottom:1px solid #e3d6bd}
  .nav-links.open{display:flex}
  .nav-toggle{display:block;margin-left:auto}
  .btn-small{margin-left:0}
  .header-inner{gap:14px}
  .section-title{font-size:1.45rem}
  .ornament{margin:4px 0 16px}
  .sig-feature img{aspect-ratio:16/5}
  .sig-feature figcaption{padding:7px 12px 9px}
  .sig-feature h3{font-size:1.15rem;margin-bottom:2px}
  .sig-feature p{font-size:.75rem;margin-bottom:6px;line-height:1.42}
  .sig-tag{padding:4px 10px;margin-bottom:6px}
  .sig-list{gap:10px}
  .sig-card{padding:8px 12px}
  .sig-card h3{font-size:1rem;margin-bottom:2px}
  .sig-card p{font-size:.75rem;margin-bottom:4px;line-height:1.42}
  .price{font-size:1.1rem}
  .section{padding:36px 0}
  .menu-list{padding:2px 16px}
  .menu-list li{padding:8px 0}
  .menu-list h4{font-size:1rem}
  .menu-list p{font-size:.76rem}
  .menu-note{margin:8px 0 12px}
  .tabs{margin:4px 0 6px}
  .tab{padding:8px 16px;font-size:.7rem}
  .story-visual img{aspect-ratio:16/10}
  .review-card{padding:16px 18px}
  .review-card p{font-size:1rem}
  .visit-card{padding:18px}
  .section{padding:40px 0}
  .pizza-band{padding:40px 0}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}

/* Proper footer */
.site-footer{background:#2b1d12;color:#f7f1e5;margin-top:0}
.pf-grid{display:grid;grid-template-columns:1.5fr 1fr 1.2fr 1.2fr;gap:28px;max-width:1200px;margin:0 auto;padding:52px 24px 28px}
.pf-brand{font-size:1.25rem;font-weight:800;letter-spacing:.02em;margin:0 0 8px}
.pf-tag{opacity:.72;font-size:.92rem;margin:0;max-width:30ch;line-height:1.55}
.pf-h{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#b08d4a;margin:0 0 12px}
.pf-links{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pf-links a{color:#f7f1e5;opacity:.78;text-decoration:none;font-size:.94rem}
.pf-links a:hover{opacity:1;color:#b08d4a}
.pf-contact{margin:0;display:grid;gap:8px;font-size:.94rem;line-height:1.5;opacity:.85;font-style:normal}
.pf-contact a{color:#f7f1e5;text-decoration:none}
.pf-contact a:hover{color:#b08d4a}
.pf-bottom{border-top:1px solid rgba(255,255,255,.14);padding:16px 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;max-width:1200px;margin:0 auto;font-size:.82rem;opacity:.65}
@media(max-width:860px){.pf-grid{grid-template-columns:1fr 1fr;padding:40px 20px 24px}}
@media(max-width:560px){.pf-grid{grid-template-columns:1fr;gap:22px}}
