:root {
  --qpc-cream: #fbf7ed;
  --qpc-cream-2: #f4ead8;
  --qpc-paper: #fffaf1;
  --qpc-green: #163b2b;
  --qpc-green-soft: #275742;
  --qpc-gold: #c79b50;
  --qpc-gold-soft: #e8d0a2;
  --qpc-ink: #261f18;
  --qpc-muted: #6f6357;
  --qpc-border: rgba(38, 31, 24, .13);
  --qpc-shadow: 0 24px 70px rgba(38, 31, 24, .12);
  --qpc-radius: 28px;
  --qpc-radius-sm: 18px;
  --container: 1160px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background: radial-gradient(circle at 10% 0%, rgba(232, 208, 162, .22), transparent 30%), var(--qpc-cream);
  color: var(--qpc-ink);
  line-height: 1.55;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
p { margin: 0; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.skip-link { position:absolute; left:-999px; top:8px; background:var(--qpc-green); color:white; padding:10px 14px; z-index:50; border-radius:12px; }
.skip-link:focus { left:8px; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  overflow: visible;
}
.site-header::before {
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:10px;
  bottom:10px;
  pointer-events:none;
  background:radial-gradient(circle at 12% 0%,rgba(255,226,150,.26),transparent 34%),radial-gradient(circle at 86% 12%,rgba(92,178,112,.38),transparent 40%),linear-gradient(135deg,#041008 0%,#0d2a1a 28%,#1b4d31 54%,#0f3020 76%,#030b06 100%);
  border-top:1px solid rgba(240,202,103,.22);
  border-bottom:1px solid rgba(240,202,103,.34);
  box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,244,201,.12),inset 0 -1px 0 rgba(255,220,128,.10);
}
.header-inner {
  position:relative;
  z-index:2;
  min-height: 68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:min(1500px,calc(100% - 8px));
}
.brand {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  margin-left:-72px;
  color:#ffd979;
}
.brand-mark { display:none!important; }
.brand::before {
  content:"QPC";
  display:inline-block;
  font-family:'Lora', Georgia, serif;
  font-weight:700;
  font-size:4.05rem;
  line-height:.98;
  letter-spacing:.018em;
  transform:scaleX(.98);
  transform-origin:left center;
  text-rendering:geometricPrecision;
  -webkit-font-smoothing:antialiased;
  background:linear-gradient(180deg,#fff8c7 0%,#ffe17a 28%,#f0b94e 58%,#b97822 86%,#fff0a6 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  filter:drop-shadow(0 1px 0 rgba(255,244,190,.10));
}
.brand span {
  display:flex;
  align-items:center;
  gap:12px;
  font-size:0;
  letter-spacing:0;
}
.brand span::before {
  content:"";
  width:1px;
  height:49px;
  margin-top:5px;
  background:linear-gradient(to bottom,transparent,#fff3aa,#f0c864,#b87a25,transparent);
}
.brand span::after {
  content:"Quick Plates Club";
  padding-top:12px;
  font-size:.90rem;
  letter-spacing:.30em;
  line-height:1;
  text-transform:none;
  white-space:nowrap;
  background:linear-gradient(180deg,#fff6bd,#f4c86a 46%,#c88d2f 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}
.nav {
  position:relative;
  z-index:4;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin-right:-54px;
  color:#fff1c2;
  font-size:.82rem;
  font-weight:760;
}
.nav a, .nav-cta {
  position:relative;
  border:1px solid rgba(244,203,98,.60)!important;
  border-radius:999px;
  padding:.43rem .64rem;
  color:#fff1c2!important;
  background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.022))!important;
  box-shadow:0 1px 0 rgba(255,255,255,.12) inset,0 8px 18px rgba(0,0,0,.20)!important;
  backdrop-filter:blur(8px);
  letter-spacing:.055em;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.nav a:hover, .nav a[aria-current="page"], .nav-cta:hover {
  background:linear-gradient(180deg,#fff2aa 0%,#edc45f 48%,#b97925 100%)!important;
  color:#0d2117!important;
  border-color:#fff1a8!important;
  box-shadow:0 0 0 1px rgba(255,244,180,.34) inset,0 10px 20px rgba(0,0,0,.23)!important;
  transform:translateY(-1px);
}

h1, h2, h3 { margin:0; font-family: Georgia, "Times New Roman", serif; font-weight:500; line-height:1.02; letter-spacing:-.035em; }
h1 { font-size: clamp(2.8rem, 7vw, 6rem); }
h2 { font-size: clamp(2.1rem, 4.2vw, 4rem); color:var(--qpc-green); }
h3 { font-size: clamp(1.35rem, 2vw, 1.85rem); color:var(--qpc-green); }
.lead { margin-top:20px; max-width:720px; color:inherit; opacity:.86; font-size:clamp(1.05rem, 1.55vw, 1.25rem); }
.section-copy { margin-top:14px; max-width:720px; color:var(--qpc-muted); }
.eyebrow, .kicker, .label {
  display:inline-flex; align-items:center; gap:10px;
  color:var(--qpc-gold); font-size:.72rem; font-weight:850; letter-spacing:.14em; text-transform:uppercase;
}
.eyebrow::before, .kicker::before { content:""; width:28px; height:1px; background:currentColor; opacity:.65; }
.label { min-height:28px; padding:0 10px; border:1px solid var(--qpc-border); border-radius:999px; background:rgba(199,155,80,.08); color:var(--qpc-green); }
.label::before { display:none; }

.button-row, .recipe-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:0 20px; border:1px solid transparent; border-radius:999px; font-weight:850; transition: transform .18s ease, box-shadow .18s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-primary { background:var(--qpc-green); color:#fff; box-shadow:0 16px 36px rgba(22,59,43,.16); }
.btn-secondary { background:rgba(255,255,255,.72); color:var(--qpc-green); border-color:var(--qpc-border); }

.hero, .page-intro, .section { padding: clamp(54px, 7vw, 94px) 0; }
.home-hero, .hero {
  position:relative; overflow:hidden; color:#fff;
  background:linear-gradient(135deg, rgba(22,59,43,.95), rgba(22,59,43,.68)), var(--hero-image) center / cover;
}
.home-hero::after, .hero::after { content:""; position:absolute; inset:0; background:radial-gradient(circle at 72% 28%, rgba(199,155,80,.26), transparent 34%); pointer-events:none; }
.home-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.04fr .78fr; align-items:center; gap:clamp(28px,5vw,70px); }
.hero-content { position:relative; z-index:1; max-width:820px; padding:70px 0; }
.hero h1, .home-hero h1 { margin-top:18px; }
.hero .lead, .home-hero .lead { color:rgba(255,255,255,.86); }
.hero .eyebrow, .home-hero .eyebrow { color:var(--qpc-gold-soft); }
.hero-note { margin-top:18px; color:rgba(255,255,255,.68); }
.home-hero-media, .shop-qupi-visual, .contact-brand-seal { margin:0; border-radius:var(--qpc-radius); overflow:hidden; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.2); box-shadow:var(--qpc-shadow); }
.home-hero-media img { width:100%; aspect-ratio:3/4; object-fit:cover; }

.section.alt, .library-home-section, .shop-soon-section, .contact-direct-section { background:rgba(255,255,255,.42); border-block:1px solid rgba(38,31,24,.06); }
.section.dark { background:var(--qpc-green); color:#fff; }
.section.dark h2, .section.dark h3 { color:#fff; }
.section.dark p, .section.dark .section-copy, .section.dark .lead { color:rgba(255,255,255,.74); }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:28px; }

.feature-grid, .recipe-grid, .series-grid, .sections-grid, .contact-grid, .social-grid { display:grid; gap:18px; }
.feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.recipe-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.series-grid, .sections-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.social-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:22px; }
.contact-grid { grid-template-columns:.95fr 1.05fr; align-items:start; }

.feature, .recipe-card, .series-card, .social-card, .contact-panel, .legal-panel, .contact-mail-card, .shop-soon-card {
  border:1px solid var(--qpc-border); border-radius:var(--qpc-radius-sm); background:rgba(255,255,255,.72); box-shadow:0 18px 44px rgba(38,31,24,.07);
}
.feature, .series-card, .social-card, .contact-panel, .legal-panel, .contact-mail-card, .shop-soon-card { padding:24px; }
.feature p, .series-card p, .contact-panel p, .legal-panel p, .recipe-card p, .social-card p { color:var(--qpc-muted); }
.feature h3, .series-card h3 { margin:14px 0 10px; }
.series-link { min-height:170px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.series-link::after { content:""; position:absolute; width:130px; height:130px; border-radius:50%; right:-48px; bottom:-48px; background:rgba(199,155,80,.15); }
.series-link.olive::after { background:rgba(39,87,66,.15); }
.series-link.mint::after { background:rgba(148,181,153,.2); }
.series-link.tomato::after { background:rgba(144,63,45,.14); }
.series-link.gold::after { background:rgba(199,155,80,.24); }
.series-link.cream::after { background:rgba(244,234,216,.82); }

.recipe-card { overflow:hidden; display:flex; flex-direction:column; padding:0; }
.recipe-card[hidden] { display:none!important; }
.recipe-card-media { aspect-ratio:4/5; overflow:hidden; background:var(--qpc-cream-2); }
.recipe-card-media img { width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.recipe-card:hover .recipe-card-media img { transform:scale(1.025); }
.recipe-card-media img[src*="qpc-logo"], .recipe-card-media img[src*="qpc-la-barra"], .recipe-photo img[src*="qpc-logo"] { object-fit:contain; padding:34px; background:linear-gradient(135deg, rgba(199,155,80,.12), rgba(22,59,43,.08)), var(--qpc-paper); }
.recipe-card-body { padding:18px; display:flex; flex-direction:column; gap:8px; flex:1; }
.recipe-card h3 { margin-top:8px; }
.recipe-card p { font-size:.95rem; }
.recipe-card-meta { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:10px; color:var(--qpc-muted); font-size:.82rem; font-weight:760; }
.card-link { display:inline-flex; margin-top:auto; color:var(--qpc-green); font-weight:900; }
.featured-editorial-card { position:relative; }
.featured-number { position:absolute; top:12px; left:12px; z-index:1; background:rgba(251,247,237,.92); border-radius:999px; padding:7px 10px; font-weight:900; color:var(--qpc-green); }

.filters { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.filter { border:1px solid var(--qpc-border); background:#fff; color:var(--qpc-green); border-radius:999px; padding:10px 14px; font-weight:850; cursor:pointer; }
.filter.active, .filter:hover { background:var(--qpc-green); color:#fff; }
.recipe-count { color:var(--qpc-muted); font-size:.92rem; font-weight:760; }
.recipe-section { padding-top:34px; }
.recipe-section + .recipe-section { border-top:1px solid var(--qpc-border); }
.recipe-section .recipe-grid { margin-top:24px; }

.page-intro { background:linear-gradient(180deg, rgba(255,255,255,.58), rgba(255,255,255,0)); }
.page-intro h1 { margin-top:18px; color:var(--qpc-green); }
.recipe-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:36px; align-items:start; padding-bottom:80px; }
.recipe-main { min-width:0; }
.recipe-main h2 { margin-top:10px; margin-bottom:20px; font-size:clamp(2rem,3vw,3.2rem); }
.recipe-description { display:grid; gap:16px; color:var(--qpc-muted); font-size:1.05rem; }
.carousel-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-bottom:34px; }
.carousel-slide { margin:0; overflow:hidden; border:1px solid var(--qpc-border); border-radius:var(--qpc-radius-sm); background:var(--qpc-paper); box-shadow:0 16px 40px rgba(38,31,24,.07); }
.carousel-slide img { width:100%; aspect-ratio:3/4; object-fit:cover; background:#ded4c8; }
.carousel-slide figcaption { padding:10px 12px; color:var(--qpc-muted); font-size:.78rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.recipe-aside { position:sticky; top:96px; border:1px solid var(--qpc-border); border-radius:var(--qpc-radius-sm); background:rgba(255,255,255,.72); padding:22px; box-shadow:0 18px 44px rgba(38,31,24,.07); }
.stat-list { display:grid; gap:12px; margin-top:16px; }
.stat { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--qpc-border); }
.stat:last-child { border-bottom:0; padding-bottom:0; }
.stat span { color:var(--qpc-muted); font-size:.86rem; }
.stat strong { color:var(--qpc-green); text-align:right; }

.split, .home-social-layout, .shop-editorial-grid, .contact-hero-grid, .contact-direct-grid { display:grid; grid-template-columns:1fr .62fr; gap:40px; align-items:center; }
.split { grid-template-columns:.95fr 1.05fr; }
.split-media { min-height:520px; border-radius:var(--qpc-radius-sm); background:center / cover; border:1px solid var(--qpc-border); box-shadow:var(--qpc-shadow); }
.bar-feature-section { background:linear-gradient(135deg,#181817,#352416); color:#fff; }
.bar-feature { display:grid; grid-template-columns:1fr .7fr; gap:40px; align-items:center; }
.bar-feature h2 { color:#fff; }
.bar-feature .kicker { color:var(--qpc-gold-soft); }
.bar-feature-media { justify-self:end; max-width:360px; opacity:.95; }
.bar-feature-media img { filter:drop-shadow(0 20px 34px rgba(0,0,0,.25)); }

.home-social-section { padding:74px 0; }
.home-qupi-figure { min-height:320px; border-radius:40px; border:1px solid var(--qpc-border); background:linear-gradient(145deg,#fff7e7,#e9d5ab); display:flex; flex-direction:column; align-items:center; justify-content:center; color:var(--qpc-green); box-shadow:var(--qpc-shadow); }
.home-qupi-figure span { font-family:Georgia,serif; font-size:clamp(3rem,8vw,7rem); line-height:.9; }
.home-qupi-figure small { letter-spacing:.2em; text-transform:uppercase; font-weight:850; }
.social-card span { display:block; color:var(--qpc-muted); font-size:.82rem; text-transform:uppercase; letter-spacing:.12em; font-weight:850; }
.social-card strong { display:block; margin-top:6px; color:var(--qpc-green); }

.contact-brand-seal { padding:34px; background:#fff; }
.contact-brand-seal img { border-radius:50%; }
.contact-values { align-items:stretch; }
.contact-icon { color:var(--qpc-gold); font-weight:900; }
.contact-mail-card { display:flex; flex-direction:column; gap:16px; }
.contact-email { font-size:clamp(1.1rem,2vw,1.55rem); color:var(--qpc-green); font-weight:900; overflow-wrap:anywhere; }

.shop-editorial-hero { padding:clamp(56px,7vw,100px) 0; background:linear-gradient(135deg,var(--qpc-green),#254d38); color:#fff; }
.shop-editorial-hero h1 { margin-top:18px; font-size:clamp(2.7rem,6vw,5.6rem); }
.shop-qupi-visual { padding:34px; text-align:center; }
.shop-qupi-visual img { max-height:360px; margin:auto; object-fit:contain; }
.shop-qupi-visual figcaption { margin-top:14px; color:var(--qpc-gold-soft); font-weight:900; letter-spacing:.12em; font-size:.75rem; }
.shop-qupi-visual.is-missing { min-height:340px; display:grid; place-items:center; }
.shop-soon-card { max-width:840px; }

.legal-panel { display:grid; gap:18px; }
.legal-panel h2 { font-size:2rem; }

.footer { background:#141f18; color:rgba(255,255,255,.82); padding:34px 0; }
.footer-inner { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.footer-links { display:flex; flex-wrap:wrap; gap:14px; }
.footer a { color:rgba(255,255,255,.78); }
.footer a:hover { color:#fff; }

@media (max-width: 980px) {
  .home-hero-grid, .bar-feature, .home-social-layout, .shop-editorial-grid, .contact-hero-grid, .contact-direct-grid, .split, .recipe-layout, .contact-grid { grid-template-columns:1fr; }
  .series-grid, .sections-grid, .feature-grid, .recipe-grid, .carousel-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .bar-feature-media { justify-self:start; }
  .recipe-aside { position:static; }
}
@media (max-width: 680px) {
  .container { width:min(100% - 28px, var(--container)); }
  .header-inner { align-items:flex-start; flex-direction:column; padding:8px 0; gap:8px; width:calc(100% - 24px); }
  .brand { margin-left:0; }
  .brand::before { font-size:3.25rem; }
  .brand span::before { height:42px; }
  .brand span::after { font-size:.78rem; letter-spacing:.22em; }
  .nav { width:100%; justify-content:flex-start; gap:4px; margin-right:0; }
  .nav a { padding:8px 10px; font-size:.84rem; }
  .series-grid, .sections-grid, .feature-grid, .recipe-grid, .featured-editorial-grid, .social-grid, .carousel-grid { grid-template-columns:1fr; }
  .section-head, .footer-inner { align-items:flex-start; flex-direction:column; }
  .hero, .page-intro, .section, .home-social-section { padding:48px 0; }
  .home-hero-media { display:none; }
  .recipe-card-media, .carousel-slide img { aspect-ratio:3/4; }
}