/* ==========================================================================
   PASTRY CHEF — "sugar-cherry" design system
   sugar-cream apricot ground · cherry as the ONE strong accent · cocoa ink
   signature: icing-drip dividers · pill everything · no sharp edges
   fonts: Grandstander (display) · Figtree (body) · Martian Mono
   ========================================================================== */

:root {
  --sugar: #F7E3C6;      /* ground */
  --sugar-2: #F2D8AE;    /* alternate band */
  --cream: #FFF7EA;      /* light band */
  --card: #FFFDF6;
  --ink: #3B2417;
  --ink-soft: #6B5342;
  --cherry: #D84558;     /* THE accent */
  --cherry-deep: #B03345;
  --pist: #CFE8C4;       /* micro only */
  --rule: rgba(59, 36, 23, .16);
  --ff-disp: "Grandstander", sans-serif;
  --ff-body: "Figtree", sans-serif;
  --ff-mono: "Martian Mono", monospace;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--sugar);
  color: var(--ink);
  font-family: var(--ff-body);
  font-size: 1.08rem;
  line-height: 1.68;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--cherry); color: var(--cream); }
img, iframe { max-width: 100%; display: block; }
a { color: inherit; }
.pcwrap { width: min(1160px, 92vw); margin-inline: auto; }

/* icing drip: tile 80x32, fill param via color */
.drip {
  height: 32px;
  background-repeat: repeat-x;
  background-size: 80px 32px;
  background-position: top center;
}
.drip--cherry {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='32' viewBox='0 0 80 32'%3E%3Cpath d='M0 0h80v8H0z' fill='%23D84558'/%3E%3Cellipse cx='14' cy='11' rx='7' ry='10' fill='%23D84558'/%3E%3Cellipse cx='44' cy='14' rx='4.5' ry='13' fill='%23D84558'/%3E%3Cellipse cx='64' cy='10' rx='5' ry='8.5' fill='%23D84558'/%3E%3C/svg%3E");
}
.drip--ink {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='32' viewBox='0 0 80 32'%3E%3Cpath d='M0 0h80v8H0z' fill='%233B2417'/%3E%3Cellipse cx='14' cy='11' rx='7' ry='10' fill='%233B2417'/%3E%3Cellipse cx='44' cy='14' rx='4.5' ry='13' fill='%233B2417'/%3E%3Cellipse cx='64' cy='10' rx='5' ry='8.5' fill='%233B2417'/%3E%3C/svg%3E");
}

/* header */
.pctop {
  position: sticky;
  top: 0;
  z-index: 70;
  background: rgba(247, 227, 198, .98);
  border-bottom: 2px solid var(--rule);
  border-radius: 0 0 20px 20px;
}
.pctop-inner {
  width: min(1240px, 94vw);
  margin-inline: auto;
  display: flex;
  align-items: center;
  gap: 1.2rem;
  min-height: 74px;
}
.pcbrand { display: flex; align-items: center; gap: .7rem; text-decoration: none; margin-right: auto; }
.pcmark { color: var(--cherry); display: grid; place-items: center; }
.pcbrand b {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1;
}
.pcbrand small {
  display: block;
  font-family: var(--ff-mono);
  font-size: .62rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-top: .15rem;
}
.pcnav { display: flex; align-items: center; gap: .3rem; }
.pcnav a {
  font-weight: 600;
  text-decoration: none;
  padding: .5rem .95rem;
  border-radius: 999px;
  transition: background .15s ease;
}
.pcnav a:hover { background: var(--cream); }
.pcnav a.ishere { background: var(--ink); color: var(--cream); }

.pcnav-call { display: none; }
.pcnav-toggle {
  display: none;
  font-family: var(--ff-body);
  font-weight: 700;
  background: var(--cherry);
  color: var(--cream);
  border: none;
  padding: .6rem 1.2rem;
  border-radius: 999px;
  cursor: pointer;
}
.pccall {
  font-weight: 700;
  text-decoration: none;
  color: var(--cream);
  background: var(--cherry);
  padding: .58rem 1.2rem;
  border-radius: 999px;
  box-shadow: 3px 3px 0 var(--ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.pccall:hover { transform: translate(-2px, -2px); box-shadow: 5px 5px 0 var(--ink); }

/* generic */
.pceyebrow {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  font-family: var(--ff-mono);
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--ink-soft);
  margin-bottom: 1.4rem;
}
.pceyebrow::before {
  content: "";
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--cherry);
  box-shadow: 2px 2px 0 var(--ink);
}

.sec-num {
  font-family: var(--ff-mono);
  font-size: .72rem;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--cherry);
  margin-bottom: 1.2rem;
}
.sec-title {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: clamp(2.2rem, 5.4vw, 3.7rem);
  line-height: 1.06;
  margin-bottom: 2rem;
}
.sec-title em {
  font-style: normal;
  color: var(--cherry);
}

.pcbtn {
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  padding: .85rem 1.8rem;
  border-radius: 999px;
  border: 2px solid var(--ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.pcbtn--fill { background: var(--cherry); color: var(--cream); box-shadow: 4px 4px 0 var(--ink); }
.pcbtn--fill:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ink); }
.pcbtn--line { background: var(--cream); color: var(--ink); box-shadow: 4px 4px 0 var(--ink); }
.pcbtn--line:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ink); }
.pcbtn--ghost { background: transparent; color: var(--cream); border-color: var(--cream); box-shadow: 4px 4px 0 var(--ink); }
.pcbtn--ghost:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--ink); }

/* hero */
.pchero { padding: 5rem 0 5.6rem; }
.pchero-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 3.6rem;
  align-items: center;
}
.pchero h1 {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: clamp(2.9rem, 6.4vw, 4.9rem);
  line-height: 1;
  margin-bottom: 1.4rem;
}
.pchero h1 em {
  font-style: normal;
  color: var(--cherry);
  text-decoration: underline;
  text-decoration-thickness: 6px;
  text-decoration-color: var(--pist);
  text-underline-offset: 9px;
}
.pclede {
  font-size: 1.18rem;
  color: var(--ink-soft);
  max-width: 36em;
  margin-bottom: 1.9rem;
}
.pchero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.pchero-note {
  margin-top: 1.5rem;
  font-family: var(--ff-mono);
  font-size: .76rem;
  color: var(--ink-soft);
  letter-spacing: .05em;
}

/* photo stack */
.pchero-art { position: relative; }
.pcphoto {
  border-radius: 26px;
  overflow: hidden;
  border: 3px solid var(--ink);
}
.pcphoto img { width: 100%; height: 100%; object-fit: cover; }
.pcphoto--main {
  box-shadow: 12px 14px 0 var(--cherry);
  transform: rotate(1.2deg);
}
.pcphoto--main img { height: clamp(360px, 36vw, 490px); }
.pcphoto--over {
  position: absolute;
  width: 56%;
  left: -10%;
  bottom: -16%;
  box-shadow: 8px 8px 0 var(--ink);
  transform: rotate(-2.4deg);
  background: var(--cream);
}
.pcphoto--over img { height: clamp(160px, 16vw, 220px); }
.pcfigcap {
  margin-top: 1rem;
  text-align: center;
  font-family: var(--ff-mono);
  font-size: .74rem;
  color: var(--ink-soft);
}
.pcstamp {
  position: absolute;
  right: -4%;
  top: 14%;
  background: var(--pist);
  color: var(--ink);
  border: 2.5px solid var(--ink);
  border-radius: 999px;
  padding: .65rem 1.05rem;
  text-align: center;
  box-shadow: 4px 4px 0 var(--ink);
  transform: rotate(4deg);
  z-index: 3;
}
.pcstamp-big { display: block; font-family: var(--ff-disp); font-weight: 700; font-size: 1.5rem; line-height: 1; }
.pcstamp-small { display: block; font-family: var(--ff-mono); font-size: .6rem; letter-spacing: .14em; text-transform: uppercase; margin-top: .15rem; }
.pcchip {
  position: absolute;
  left: -6%;
  top: -8%;
  background: var(--cherry);
  color: var(--cream);
  font-family: var(--ff-mono);
  font-size: .72rem;
  letter-spacing: .12em;
  padding: .55rem 1.05rem;
  border-radius: 999px;
  box-shadow: 4px 4px 0 var(--ink);
  transform: rotate(-4deg);
  z-index: 3;
}

/* marquee */
.pcmarquee {
  background: var(--ink);
  color: var(--sugar);
  overflow: hidden;
  padding: .65rem 0;
  border-top: 3px solid var(--ink);
}
.pcmarquee-track {
  display: flex;
  gap: 2.4rem;
  width: max-content;
  animation: pcroll 26s linear infinite;
}
.pcmarquee-track span {
  font-family: var(--ff-mono);
  font-size: .78rem;
  letter-spacing: .26em;
  text-transform: uppercase;
  white-space: nowrap;
}
.pcmarquee-track span::after { content: " ●"; color: var(--cherry); }
@keyframes pcroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* sections */
.pcsec { padding: 4.6rem 0; }
.pcsec--line { border-top: 2px solid var(--rule); }
.band-mid { background: var(--sugar-2); border-radius: 30px; padding: 4.4rem 0; }
.band-cream { background: var(--cream); border-radius: 30px; padding: 4.4rem 0; margin-inline: min(4vw, 44px); border: 2px solid var(--rule); }

.pcsplit {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 3.4rem;
  align-items: start;
}
.pcsplit-copy p + p { margin-top: 1.1rem; }
.pcsplit-copy strong { color: var(--cherry-deep); }
.pcmore {
  display: inline-block;
  margin-top: 1.9rem;
  font-weight: 700;
  text-decoration: none;
  color: var(--cherry-deep);
  background: var(--pist);
  border: 2.5px solid var(--ink);
  border-radius: 999px;
  padding: .65rem 1.3rem;
  box-shadow: 4px 4px 0 var(--ink);
  transition: transform .15s ease, box-shadow .15s ease;
}
.pcmore:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }

/* fact card */
.pcfact {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 10px 10px 0 var(--cherry);
}
.pcfact-top {
  display: block;
  background: var(--ink);
  color: var(--cream);
  text-align: center;
  font-family: var(--ff-mono);
  font-size: .72rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  padding: .8rem 1rem;
}
.pcfact-item { padding: .95rem 1.3rem; border-bottom: 2px dashed var(--rule); }
.pcfact-item:last-child { border-bottom: none; }
.pcfact-item b { display: block; font-size: 1.02rem; }
.pcfact-item span {
  font-family: var(--ff-mono);
  font-size: .64rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--ink-soft);
}
.pcfactquote {
  padding: 1.5rem 1.4rem 1.7rem;
  border-top: 2.5px solid var(--ink);
  background: var(--cream);
}
.pcfactquote p { font-style: italic; font-size: 1.06rem; margin-bottom: .8rem; }
.pcfactquote cite { font-family: var(--ff-mono); font-style: normal; font-size: .68rem; color: var(--ink-soft); }

/* case cards */
.pccards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.6rem;
}
.pccard {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 22px;
  padding: 1.9rem 1.7rem 2rem;
  box-shadow: 7px 7px 0 var(--ink);
}
.pccard-chip {
  display: inline-block;
  background: var(--pist);
  border: 2px solid var(--ink);
  border-radius: 999px;
  font-family: var(--ff-mono);
  font-size: .62rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  padding: .22rem .7rem;
  margin-bottom: 1rem;
}
.pccard-chip--warm { background: var(--cherry); color: var(--cream); }
.pccard h3 { font-family: var(--ff-disp); font-weight: 700; font-size: 1.5rem; margin-bottom: .5rem; }
.pccard p { color: var(--ink-soft); font-size: .98rem; }

/* band */
.pcband {
  background: var(--cherry);
  color: var(--cream);
  padding: 3.6rem 0 4.2rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  border-block: 2.5px solid var(--ink);
}
.pcband-tag {
  font-family: var(--ff-mono);
  font-size: .74rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255, 247, 234, .8);
  margin-bottom: 1.5rem;
  position: relative;
  z-index: 2;
}
.pcband-q {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: clamp(1.9rem, 4.2vw, 3.1rem);
  line-height: 1.2;
  max-width: 26em;
  margin-inline: auto;
  margin-bottom: .6rem;
  position: relative;
  z-index: 2;
}
.pcband-q em {
  font-style: normal;
  text-decoration: underline;
  text-decoration-thickness: 5px;
  text-decoration-color: var(--ink);
  text-underline-offset: 7px;
}
.pcband-cite {
  margin-top: 1.4rem;
  font-family: var(--ff-mono);
  font-size: .7rem;
  letter-spacing: .16em;
  color: rgba(255, 247, 234, .75);
  position: relative;
  z-index: 2;
  margin-bottom: 2rem;
}
.pcband-word {
  position: absolute;
  bottom: -.22em;
  left: 50%;
  transform: translateX(-50%);
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: clamp(6rem, 18vw, 15rem);
  color: transparent;
  -webkit-text-stroke: 2px rgba(255, 247, 234, .25);
  z-index: 1;
  user-select: none;
  pointer-events: none;
}

/* steps */
.pcsteps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
  list-style: none;
}
.pcdstep {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 22px;
  padding: 1.9rem 1.7rem 2rem;
  box-shadow: 8px 8px 0 var(--pist);
}
.pcdstep-n {
  display: inline-block;
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: 2.4rem;
  color: var(--cherry);
  margin-bottom: .5rem;
}
.pcdstep h3 { font-family: var(--ff-disp); font-weight: 700; font-size: 1.45rem; margin-bottom: .45rem; }
.pcdstep p { color: var(--ink-soft); font-size: .98rem; }

/* gallery */
.pcgallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 1.7rem;
}
.pcg {
  grid-column: span 4;
  border: 2.5px solid var(--ink);
  border-radius: 24px;
  overflow: hidden;
  position: relative;
}
.pcg img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 4/3; }
.pcg--tall { grid-column: span 6; }
.pcg--tall img { aspect-ratio: 4/3.1; }
.pcg figcaption {
  position: absolute;
  left: .9rem;
  bottom: .9rem;
  background: var(--ink);
  color: var(--cream);
  font-family: var(--ff-mono);
  font-size: .64rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: .35rem .8rem;
  border-radius: 999px;
}

/* reviews */
.pcreviews {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.8rem;
}
.pcreview {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 22px;
  padding: 1.7rem 1.7rem 1.5rem;
  box-shadow: 7px 7px 0 var(--cherry);
}
.pcreview:nth-child(even) { box-shadow: 7px 7px 0 var(--pist); transform: rotate(.5deg); }
.pcreview:nth-child(odd) { transform: rotate(-.4deg); }
.pcreview blockquote { font-style: italic; margin-bottom: .8rem; }
.pcreview figcaption { font-family: var(--ff-mono); font-size: .68rem; color: var(--ink-soft); }
.pcsrc-note {
  margin-top: 2rem;
  font-family: var(--ff-mono);
  font-size: .68rem;
  color: var(--ink-soft);
  letter-spacing: .08em;
}

/* visit strip */
.pcvisit {
  padding: 4.4rem 0 4.9rem;
}
.pcvisit-inner {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.pcvisit-line { color: var(--ink-soft); margin-bottom: .7rem; }
.pcvisit-photo img { height: clamp(280px, 30vw, 380px); }

/* head page */
.pchead { padding: 4.4rem 0 4rem; }
.pchead h1 {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: clamp(2.7rem, 6.2vw, 4.6rem);
  line-height: 1.02;
  margin-bottom: 1.3rem;
}
.pchead h1 em { font-style: normal; color: var(--cherry); }

/* catalogue rows (cakes page) */
.pcat {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.7rem;
}
.pcat-row {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 2rem;
  align-items: center;
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 9px 9px 0 var(--ink);
}
.pcat-row:nth-child(odd) { box-shadow: 9px 9px 0 var(--cherry); }
.pcat-row img { width: 100%; height: 100%; min-height: 200px; object-fit: cover; border-radius: 26px 0 26px 26px; border-right: 2.5px solid var(--ink); }
.pcat-row .pcat-copy { padding: 1.6rem 2rem 1.8rem 0; }
.pcat-row h3 { font-family: var(--ff-disp); font-weight: 700; font-size: 1.9rem; margin-bottom: .45rem; }
.pcat-row p { color: var(--ink-soft); }
.pcat-tag {
  display: inline-block;
  font-family: var(--ff-mono);
  font-size: .64rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cherry-deep);
  border: 2px dashed var(--cherry-deep);
  border-radius: 999px;
  padding: .3rem .8rem;
  margin-bottom: .8rem;
}

/* visit page */
.pcvisit-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.7rem;
  margin-bottom: 2.6rem;
}
.pcvcard {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 24px;
  padding: 1.9rem 1.9rem 2.1rem;
  box-shadow: 9px 9px 0 var(--ink);
}
.pcvcard--accent { background: var(--cream); box-shadow: 9px 9px 0 var(--cherry); }
.pcvcard-top {
  font-family: var(--ff-mono);
  font-size: .68rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cherry-deep);
  margin-bottom: 1rem;
  display: block;
}
.pcvcard h2 { font-family: var(--ff-disp); font-weight: 700; font-size: 1.9rem; margin-bottom: .7rem; }
.pcvcard p { color: var(--ink-soft); }
.pcplus {
  margin-top: 1rem;
  font-family: var(--ff-mono);
  font-size: .68rem;
  letter-spacing: .14em;
  color: var(--ink-soft);
}
.pchours { list-style: none; margin-top: 1.3rem; }
.pchours li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 2px dashed var(--rule);
  font-size: .98rem;
}
.pchours li:last-child { border-bottom: none; }
.pchours span { color: var(--ink-soft); }
.pcphone {
  font-family: var(--ff-disp);
  font-weight: 700;
  font-size: 2rem;
  margin: .9rem 0 1.6rem;
}
.pcphone a { text-decoration: none; }
.pcmap {
  border: 2.5px solid var(--ink);
  border-radius: 26px;
  overflow: hidden;
  box-shadow: 12px 12px 0 var(--cherry);
  height: 420px;
}
.pcmap iframe { width: 100%; height: 100%; border: 0; filter: saturate(1.05); }
.pcdirs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.7rem;
}
.pcdir {
  border: 2.5px solid var(--ink);
  background: var(--card);
  border-radius: 22px;
  padding: 1.7rem 1.6rem 1.9rem;
  box-shadow: 7px 7px 0 var(--pist);
}
.pcdir h3 { font-family: var(--ff-disp); font-weight: 700; font-size: 1.45rem; margin-bottom: .5rem; }
.pcdir p { color: var(--ink-soft); font-size: .98rem; }

/* strip */
.pcstrip {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.7rem;
  padding-bottom: 4.8rem;
}
.pcstrip .pcphoto { border-radius: 24px; }
.pcstrip .pcphoto img { height: clamp(200px, 22vw, 280px); transform: none; box-shadow: 7px 7px 0 var(--ink); }
.pcstrip .pcphoto:nth-child(2) { transform: rotate(1deg); }
.pcstrip .pcphoto:nth-child(1) { transform: rotate(-1deg); }

/* footer */
.pcfoot {
  background: var(--ink);
  color: var(--cream);
  padding: 0 0 2.4rem;
}
.pcfoot-mid {
  background: var(--ink);
}
.pcfoot-inner {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 2.6rem;
  align-items: start;
  padding-top: 1rem;
}
.pcfoot-brand b { font-family: var(--ff-disp); font-weight: 700; font-size: 1.8rem; }
.pcfoot-brand p { margin-top: .7rem; color: rgba(255, 247, 234, .75); }
.pcfoot-brand a { color: var(--cream); }
.pcfoot-nav { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; justify-content: flex-end; }
.pcfoot-nav a { text-decoration: none; border-bottom: 3px solid var(--cherry); }
.pcfoot-disc {
  grid-column: 1 / -1;
  margin-top: 1.6rem;
  font-family: var(--ff-mono);
  font-size: .64rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 247, 234, .55);
  line-height: 1.8;
}

/* reveal */
.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.seen { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1; transform: none; transition: none; }
  html { scroll-behavior: auto; }
  .pcmarquee-track { animation: none; }
}

/* responsive */
@media (max-width: 1000px) {
  .pchero-grid, .pcsplit, .pcvisit-inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .pchero-art { max-width: 560px; margin-inline: auto; width: 100%; }
  .pccards { grid-template-columns: repeat(2, 1fr); }
  .pcsteps { grid-template-columns: 1fr; }
  .pcdstep { box-shadow: 7px 7px 0 var(--ink); }
  .pcreviews { grid-template-columns: 1fr; }
  .pcreview:nth-child(n) { transform: none; }
  .pcgallery { grid-template-columns: repeat(6, 1fr); }
  .pcg, .pcg--tall { grid-column: span 3; }
  .pcvisit-cards { grid-template-columns: 1fr; }
  .pcdirs { grid-template-columns: repeat(2, 1fr); }
  .pcat-row { grid-template-columns: 1fr; }
  .pcat-row img { min-height: 0; height: 260px; border-right: none; border-radius: 26px 26px 0 0; }
  .pcat-row .pcat-copy { padding: 0 1.8rem 1.8rem; }
}
@media (max-width: 760px) {
  body { font-size: 1.02rem; }
  .pcnav {
    position: absolute;
    top: 100%;
    left: 0; right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: .4rem;
    padding: 1rem 4vw 1.2rem;
    background: var(--sugar);
    border-bottom: 2.5px solid var(--ink);
    display: none;
  }
  .pcnav.open { display: flex; }
  .pcnav a {
    padding: .85rem 1rem;
    border: 2px solid var(--ink);
    border-radius: 16px;
    background: var(--cream);
    text-align: center;
  }
  .pcnav a.ishere { background: var(--ink); color: var(--cream); }
  .pcnav-call { display: block; color: var(--cherry-deep); }
  .pcnav-toggle { display: inline-block; margin-left: auto; }
  .pccall { display: none; }
  .pcchip, .pcstamp { position: static; display: inline-block; margin: .4rem .6rem .0 0; }
  .pchero { padding: 3.2rem 0 3.8rem; }
  .pcsec { padding: 3.1rem 0; }
  .pchead { padding: 2.9rem 0 2.4rem; }
  .band-mid { border-radius: 22px; }
  .pccards, .pcgallery, .pcstrip { grid-template-columns: 1fr; }
  .pcg, .pcg--tall { grid-column: 1 / -1; }
  .pcstrip { grid-template-columns: 1fr; }
  .pcfoot-inner { grid-template-columns: 1fr; }
  .pcfoot-nav { justify-content: flex-start; }
  .pchero-actions .pcbtn { flex: 1 1 100%; text-align: center; }
  .pcband-word { display: none; }
}
