/* Copper Oven Pizza — ov-*  (ember / Clinton St; not fc/cedar/gx/mp) */
:root{
  --ov-ink:#1c100c;
  --ov-soot:#241612;
  --ov-ember:#c45a28;
  --ov-copper:#a85a32;
  --ov-brick:#7a2e22;
  --ov-cream:#f6efe4;
  --ov-foam:#fffaf3;
  --ov-ash:#6d5a4e;
  --ov-line:#e4d5c4;
  --ov-gold:#e8c9a0;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--ov-cream);color:var(--ov-ink);
  font-family:"Trebuchet MS","Century Gothic",Candara,sans-serif;line-height:1.55;
  overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--ov-brick)}
a:hover{color:var(--ov-ember)}
.ov-skip{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ov-skip:focus{
  position:fixed;left:14px;top:14px;width:auto;height:auto;margin:0;clip:auto;
  background:#fff;padding:8px 14px;z-index:40;overflow:visible;white-space:normal}
.ov-mast{
  position:sticky;top:0;z-index:20;
  background:rgba(36,22,18,.94);color:var(--ov-gold);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(232,201,160,.18)}
.ov-mast-inner{
  width:min(1180px,100%);margin:0 auto;padding:12px 22px;
  display:flex;align-items:center;gap:18px;flex-wrap:nowrap}
.ov-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0;flex:0 0 auto}
.ov-brand img{flex:0 0 42px;border-radius:50%;background:var(--ov-ember)}
.ov-brand strong{display:block;font-family:Palatino,"Palatino Linotype","Book Antiqua",serif;
  font-size:1.22rem;color:#fff;letter-spacing:.01em;white-space:nowrap}
.ov-brand em{display:block;font-style:normal;font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;opacity:.82;white-space:nowrap}
.ov-nav{display:flex;flex-wrap:nowrap;gap:4px 16px;flex:1;min-width:0}
.ov-nav-a{color:var(--ov-gold);text-decoration:none;font-size:.95rem;padding:6px 0;border-bottom:2px solid transparent}
.ov-nav-a.ov-here{color:#fff;border-bottom-color:var(--ov-ember)}
.ov-mast-end{display:flex;align-items:center;gap:14px;margin-left:auto}
.ov-tel{color:#fff;text-decoration:none;font-size:.9rem;letter-spacing:.02em}
.ov-bag{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--ov-ember);color:#fff;text-decoration:none;
  padding:8px 14px;border-radius:999px;font-weight:700;font-size:.88rem}
.ov-bag span{
  background:#fff;color:var(--ov-brick);min-width:1.35em;height:1.35em;
  border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem}
.ov-bag span[hidden]{display:none}
.ov-hero{position:relative;min-height:78vh;display:grid;place-items:end stretch;color:#fff;overflow:hidden}
.ov-hero-pic{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ov-hero-veil{position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(28,16,12,.25) 0%,rgba(28,16,12,.55) 42%,rgba(28,16,12,.92) 100%)}
.ov-hero-copy{position:relative;width:min(1180px,100%);margin:0 auto;padding:48px 22px 56px}
.ov-hero h1{
  font-family:Palatino,"Palatino Linotype","Book Antiqua",serif;
  font-size:clamp(2.1rem,5.2vw,3.6rem);line-height:1.08;margin:0 0 16px;max-width:18ch;font-weight:700}
.ov-hero-lede{max-width:46ch;font-size:1.12rem;opacity:.95}
.ov-hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.ov-btn{
  display:inline-block;text-decoration:none;padding:12px 20px;border-radius:999px;font-weight:700}
.ov-btn-ember{background:var(--ov-ember);color:#fff}
.ov-btn-ember:hover{background:#a8461c;color:#fff}
.ov-btn-ghost{border:1px solid rgba(255,255,255,.55);color:#fff}
.ov-btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}
.ov-btn-soot{background:var(--ov-soot);color:#fff}
.ov-kicker{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ov-ember);margin:0 0 8px}
.ov-kicker-light{color:var(--ov-gold)}
.ov-main{width:min(1180px,100%);margin:0 auto;padding:40px 22px 72px}
.ov-has-hero .ov-main{padding-top:28px}
.ov-h1{font-family:Palatino,"Palatino Linotype","Book Antiqua",serif;
  font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.12;margin:0 0 14px}
.ov-h2{font-family:Palatino,serif;font-size:1.45rem;margin:36px 0 12px;color:var(--ov-brick)}
.ov-lede{font-size:1.12rem;max-width:62ch}
.ov-meta{color:var(--ov-ash);font-size:.92rem}
.ov-prose p{max-width:66ch}
.ov-prose ul{padding-left:1.2rem;max-width:66ch}
.ov-band{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:14px;margin:28px 0}
.ov-chip{background:var(--ov-foam);border:1px solid var(--ov-line);padding:16px 18px;border-radius:14px}
.ov-chip strong{display:block;font-family:Palatino,serif;font-size:1.05rem}
.ov-chip span{color:var(--ov-ash);font-size:.9rem}
.ov-mosaic{
  display:grid;grid-template-columns:1.4fr 1fr;gap:12px;margin:28px 0}
@media (max-width:760px){.ov-mosaic{grid-template-columns:1fr}}
.ov-mosaic img{width:100%;height:100%;object-fit:cover;min-height:220px;border-radius:16px}
.ov-fig{margin:24px 0}
.ov-fig img{width:100%;border-radius:16px}
.ov-fig figcaption{padding:10px 4px;font-size:.82rem;color:var(--ov-ash)}
.ov-fig figcaption span{display:block;margin-top:4px}
.ov-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;margin:18px 0 8px}
.ov-card{
  background:var(--ov-foam);border:1px solid var(--ov-line);border-radius:18px;overflow:hidden;
  display:flex;flex-direction:column}
.ov-card img{width:100%;height:210px;object-fit:cover}
.ov-card-body{padding:16px 16px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.ov-card h3{margin:0;font-family:Palatino,serif;font-size:1.22rem}
.ov-card p{margin:0;color:var(--ov-ash);font-size:.92rem;flex:1}
.ov-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}
.ov-cash{font-weight:800;color:var(--ov-brick);font-size:1.1rem}
.ov-add{
  border:0;background:var(--ov-soot);color:#fff;padding:8px 12px;border-radius:999px;
  cursor:pointer;font:inherit;font-size:.85rem}
.ov-add:hover{background:var(--ov-ember)}
.ov-add.ov-added{background:#2f6b3a}
.ov-item{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--ov-line)}
.ov-item strong{display:block}
.ov-item p{margin:4px 0 0;color:var(--ov-ash);font-size:.9rem}
.ov-sign{margin-top:40px;font-size:.85rem;color:var(--ov-ash)}
.ov-foot{background:var(--ov-soot);color:var(--ov-gold);padding:42px 22px 28px}
.ov-foot-grid{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.ov-foot a{color:#fff}
.ov-foot-mark{font-family:Palatino,serif;font-size:1.4rem;color:#fff;margin:0 0 8px}
.ov-foot-h{letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;margin:0 0 10px;color:var(--ov-ember)}
.ov-hours{list-style:none;padding:0;margin:0}
.ov-hours li{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.9rem}
.ov-sitemap{display:flex;flex-direction:column;gap:6px}
.ov-copy{width:min(1180px,100%);margin:28px auto 0;padding-top:18px;border-top:1px solid rgba(232,201,160,.2);font-size:.82rem;opacity:.85}
.ov-form label{display:block;font-size:.85rem;margin:12px 0 4px}
.ov-form input,.ov-form textarea,.ov-form select{
  width:100%;max-width:520px;padding:11px 12px;border:1px solid var(--ov-line);background:#fff;
  font:inherit;border-radius:10px}
.ov-form textarea{min-height:120px}
.ov-form button,.ov-form .ov-btn{
  margin-top:16px;background:var(--ov-ember);color:#fff;border:0;padding:12px 20px;
  font:inherit;cursor:pointer;border-radius:999px}
.ov-form button:hover{background:#a8461c}
.ov-hp{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ov-note{background:#f3e2c8;padding:14px 16px;border-radius:12px;max-width:60ch}
.ov-bag-list{background:var(--ov-foam);border:1px solid var(--ov-line);border-radius:16px;padding:8px 16px;margin:18px 0;max-width:560px}
.ov-bag-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--ov-line);list-style:none}
.ov-bag-list ul{margin:0;padding:0}
.ov-empty{color:var(--ov-ash)}
.ov-map-list{columns:2;gap:32px;max-width:720px}
@media (max-width:860px){
  .ov-tel{display:none}
  .ov-nav{gap:4px 12px}
}
@media (max-width:640px){
  .ov-map-list{columns:1}
  .ov-hero{min-height:88vh}
  .ov-mast-inner{gap:10px;padding:10px 14px;flex-wrap:wrap}
  .ov-brand strong{font-size:1.05rem}
  .ov-nav{flex-wrap:wrap;flex:1 1 100%;order:3}
  .ov-mast-end{margin-left:auto}
}
