/* Perth Kitchen Crafters — "Find Your Style" premium page styles.
   Loaded only on find-your-style singles and the archive (see functions.php). */

.pkc-style {
  --pkc-ink: #1f1c17;
  --pkc-ink-2: #5b554b;
  --pkc-ink-3: #8b8477;
  --pkc-paper: #faf8f4;
  --pkc-panel: #ffffff;
  --pkc-line: #e6e1d8;
  --pkc-wood: #9c734e;
  --pkc-wood-deep: #7a5636;
  --pkc-wood-soft: #f3ece3;
  --pkc-serif: "Fraunces", "Cormorant Garamond", Georgia, "Times New Roman", serif;
  --pkc-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --pkc-max: 1180px;
  --pkc-measure: 66ch;
  font-family: var(--pkc-sans);
  color: var(--pkc-ink);
  background: var(--pkc-paper);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.pkc-style *, .pkc-style *::before, .pkc-style *::after { box-sizing: border-box; }
.pkc-style a { color: inherit; }

/* ── Eyebrow ── */
.pkc-eyebrow {
  font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600;
  color: var(--pkc-wood); margin: 0 0 14px;
}
.pkc-eyebrow a { text-decoration: none; }
.pkc-eyebrow a:hover { text-decoration: underline; text-underline-offset: 3px; }
.pkc-eyebrow__n { color: rgba(255,255,255,.7); margin-left: 12px; font-weight: 500; letter-spacing: .12em; }

/* ── Hero ── */
.pkc-hero {
  position: relative; min-height: min(88vh, 820px); display: grid; align-items: end;
  background: #2b2621; overflow: hidden; isolation: isolate;
  /* break out of the theme's content container: edge to edge */
  width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}
/* the theme's page-title banner ("Direct by Design") has no place on a style page */
.single-find-your-style .breadcrumb-wrap,
.single-find-your-style .kitchor-breadcrumb,
.single-find-your-style [data-elementor-type="kitchor-breadcrumb"] { display: none !important; }
.pkc-hero__img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2;
  transform: scale(1.02);
}
.pkc-hero::after {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(180deg, rgba(20,16,12,.05) 0%, rgba(20,16,12,.10) 45%, rgba(20,16,12,.78) 100%);
}
.pkc-hero__inner {
  width: 100%; max-width: var(--pkc-max); margin: 0 auto; padding: 0 28px 64px; color: #fff;
}
.pkc-hero__inner .pkc-eyebrow { color: #e9d8c4; }
.pkc-hero__title {
  font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(40px, 6.2vw, 78px);
  line-height: .98; letter-spacing: -.015em; margin: 0 0 18px; text-wrap: balance; color: #fff;
  font-variation-settings: "opsz" 144, "SOFT" 30;
}
.pkc-hero__standfirst {
  font-size: clamp(16px, 1.6vw, 20px); max-width: 52ch; margin: 0; color: rgba(255,255,255,.88); text-wrap: pretty;
}

/* ── At a glance strip ── */
.pkc-glance {
  max-width: var(--pkc-max); margin: 0 auto; padding: 22px 28px;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px;
  border-bottom: 1px solid var(--pkc-line);
}
.pkc-glance__item { display: grid; gap: 3px; }
.pkc-glance__k { font-size: 11px; letter-spacing: .16em; text-transform: uppercase; color: var(--pkc-ink-3); font-weight: 600; }
.pkc-glance__v { font-family: var(--pkc-serif); font-size: 20px; line-height: 1.25; color: var(--pkc-ink); }

/* ── Body: article + side ── */
.pkc-body {
  max-width: var(--pkc-max); margin: 0 auto; padding: 56px 28px 24px;
  display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; align-items: start;
}
.pkc-article { max-width: var(--pkc-measure); font-size: 17px; line-height: 1.7; color: var(--pkc-ink); }
.pkc-article > p:first-of-type::first-letter {
  font-family: var(--pkc-serif); font-size: 4.2em; line-height: .8; float: left; margin: .08em .14em 0 0; color: var(--pkc-wood);
}
.pkc-article h2 {
  font-family: var(--pkc-serif); font-weight: 400; font-size: 32px; line-height: 1.15; letter-spacing: -.01em;
  margin: 44px 0 12px; color: var(--pkc-ink);
}
.pkc-article h2:first-child { margin-top: 0; }
.pkc-article h3 { font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: var(--pkc-wood); margin: 32px 0 8px; font-weight: 700; }
.pkc-article p { margin: 0 0 18px; }
.pkc-article strong { color: var(--pkc-ink); font-weight: 700; }
.pkc-article blockquote {
  margin: 28px 0; padding: 4px 0 4px 22px; border-left: 3px solid var(--pkc-wood);
  font-family: var(--pkc-serif); font-size: 24px; line-height: 1.35; color: var(--pkc-ink-2);
}
.pkc-article ul, .pkc-article ol { padding-left: 22px; margin: 0 0 18px; }
.pkc-article li { margin: 6px 0; }
.pkc-article img { max-width: 100%; height: auto; border-radius: 4px; }

.pkc-side { position: sticky; top: 96px; display: grid; gap: 18px; }
.pkc-card { background: var(--pkc-panel); border: 1px solid var(--pkc-line); border-radius: 6px; padding: 22px 24px; }
.pkc-card__title {
  font-family: var(--pkc-serif); font-weight: 400; font-size: 22px; line-height: 1.2; margin: 0 0 14px; color: var(--pkc-ink);
}
.pkc-card__foot { font-size: 12.5px; color: var(--pkc-ink-3); margin: 12px 0 0; }
.pkc-card--price { background: var(--pkc-wood-soft); border-color: #e3d5c3; }

.pkc-details { margin: 0; padding: 0; list-style: none; counter-reset: pkc; display: grid; gap: 10px; }
.pkc-details li {
  counter-increment: pkc; position: relative; padding-left: 34px; font-size: 14.5px; line-height: 1.5; color: var(--pkc-ink-2);
}
.pkc-details li::before {
  content: counter(pkc, decimal-leading-zero); position: absolute; left: 0; top: 2px;
  font-family: var(--pkc-serif); font-size: 15px; color: var(--pkc-wood); font-variant-numeric: tabular-nums;
}

.pkc-palette { margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pkc-palette li { display: grid; grid-template-columns: 36px 1fr; grid-template-rows: auto auto; column-gap: 12px; row-gap: 1px; align-items: center; }
.pkc-swatch { grid-row: 1 / span 2; width: 36px; height: 36px; border-radius: 50%; border: 1px solid rgba(0,0,0,.08); box-shadow: inset 0 0 0 3px #fff; }
.pkc-swatch__name { grid-column: 2; align-self: end; font-size: 14px; font-weight: 600; line-height: 1.25; }
.pkc-swatch__note { grid-column: 2; align-self: start; font-size: 12px; color: var(--pkc-ink-3); font-weight: 400; line-height: 1.3; }
.pkc-palette li:not(:has(.pkc-swatch__note)) .pkc-swatch__name { align-self: center; }

.pkc-chips { margin: 0; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px; }
.pkc-chips li { font-size: 13px; padding: 6px 12px; border: 1px solid var(--pkc-line); border-radius: 999px; background: var(--pkc-paper); }

.pkc-price { font-family: var(--pkc-serif); font-size: 30px; line-height: 1.1; margin: 0; color: var(--pkc-wood-deep); font-variant-numeric: tabular-nums; }

/* ── Gallery ── */
.pkc-gallery {
  max-width: var(--pkc-max); margin: 0 auto; padding: 32px 28px 8px;
  display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px;
}
.pkc-gallery__item { margin: 0; grid-column: span 6; }
.pkc-gallery__item:first-child { grid-column: span 7; }
.pkc-gallery__item:nth-child(2) { grid-column: span 5; }
.pkc-gallery__item:nth-child(n+3) { grid-column: span 4; }
/* a third image on its own row runs the full width as a wide crop */
.pkc-gallery__item:nth-child(3):last-child { grid-column: span 12; }
.pkc-gallery__item:nth-child(3):last-child img { aspect-ratio: 21 / 9; }
.pkc-gallery__item img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; }
.pkc-gallery { align-items: start; }
.pkc-gallery__item figcaption { font-size: 12.5px; color: var(--pkc-ink-3); margin-top: 8px; }

/* ── CTA band ── */
.pkc-cta {
  background: var(--pkc-ink); color: #fff; margin-top: 56px;
  width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
}
.pkc-cta__inner { max-width: var(--pkc-max); margin: 0 auto; padding: 72px 28px; text-align: left; }
.pkc-cta .pkc-eyebrow { color: #d9b892; }
.pkc-cta__title { font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(32px, 4.5vw, 54px); line-height: 1.02; letter-spacing: -.015em; margin: 0 0 14px; text-wrap: balance; color: #fff; }
.pkc-cta__text { font-size: 17px; max-width: 48ch; color: rgba(255,255,255,.78); margin: 0 0 26px; }
.pkc-btn {
  display: inline-block; background: var(--pkc-wood); color: #fff !important; text-decoration: none; font-weight: 700;
  padding: 15px 26px; border-radius: 4px; letter-spacing: .02em; transition: background .15s ease;
}
.pkc-btn:hover { background: var(--pkc-wood-deep); }
.pkc-link { margin-left: 18px; color: rgba(255,255,255,.75) !important; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.3); }
.pkc-link:hover { color: #fff !important; }

/* ── Related ── */
.pkc-related { max-width: var(--pkc-max); margin: 0 auto; padding: 56px 28px 72px; }
.pkc-related__title { font-family: var(--pkc-serif); font-weight: 400; font-size: 30px; margin: 0 0 22px; }
.pkc-related__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pkc-related__card { display: grid; gap: 8px; text-decoration: none; }
.pkc-related__card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; transition: transform .25s ease; }
.pkc-related__card:hover img { transform: translateY(-2px); }
.pkc-related__name { font-family: var(--pkc-serif); font-size: 22px; line-height: 1.2; margin-top: 4px; }
.pkc-related__x { font-size: 13.5px; color: var(--pkc-ink-2); }

/* ── Archive: the hub ── */
.pkc-styles__intro { max-width: var(--pkc-max); margin: 0 auto; padding: 56px 28px 32px; }
.pkc-styles__title { font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(40px, 5.5vw, 68px); line-height: 1; letter-spacing: -.015em; margin: 0 0 16px; }
.pkc-styles__text { font-size: 18px; max-width: 58ch; color: var(--pkc-ink-2); margin: 0; text-wrap: pretty; }
.pkc-styles__grid {
  max-width: var(--pkc-max); margin: 0 auto; padding: 0 28px 24px;
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 24px;
}
.pkc-styles__card { display: grid; gap: 14px; text-decoration: none; color: inherit; }
.pkc-styles__card.is-lead { grid-column: 1 / -1; grid-template-columns: 1.4fr 1fr; align-items: end; }
.pkc-styles__media { position: relative; display: block; overflow: hidden; border-radius: 4px; background: #e9e4da; }
.pkc-styles__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; transition: transform .4s ease; }
.pkc-styles__card.is-lead .pkc-styles__media img { aspect-ratio: 16 / 10; }
.pkc-styles__card:hover .pkc-styles__media img { transform: scale(1.02); }
.pkc-styles__n {
  position: absolute; top: 14px; left: 14px; font-family: var(--pkc-serif); font-size: 15px; color: #fff;
  padding: 4px 9px; background: rgba(20,16,12,.45); border-radius: 3px; backdrop-filter: blur(4px);
}
.pkc-styles__body { display: grid; gap: 8px; }
.pkc-styles__name { font-family: var(--pkc-serif); font-size: 28px; line-height: 1.1; letter-spacing: -.01em; }
.pkc-styles__card.is-lead .pkc-styles__name { font-size: 40px; }
.pkc-styles__stand { font-size: 15px; color: var(--pkc-ink-2); max-width: 52ch; text-wrap: pretty; }
.pkc-styles__facts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 12.5px; color: var(--pkc-ink-3); }
.pkc-styles__from { color: var(--pkc-wood-deep); font-weight: 600; }
.pkc-styles__more { font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--pkc-wood); margin-top: 2px; }
.pkc-styles__card:hover .pkc-styles__more { text-decoration: underline; text-underline-offset: 4px; }
.pkc-styles .pkc-cta { margin-top: 48px; }
@media (max-width: 900px) {
  .pkc-styles__intro { padding-top: 96px; }
  .pkc-styles__grid { grid-template-columns: 1fr; }
  .pkc-styles__card.is-lead { grid-template-columns: 1fr; }
  .pkc-styles__card.is-lead .pkc-styles__name { font-size: 30px; }
}

/* ── Premium pages without a hero photo ── */
.pkc-plainhead {
  /* a dark type band so the transparent header reads, edge to edge like the photo heroes */
  background: #24201b; color: #f3eee4;
  width: 100vw; margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw);
  padding: 150px 0 56px;
}
.pkc-plainhead > * { max-width: var(--pkc-max); margin-left: auto; margin-right: auto; padding-left: 28px; padding-right: 28px; }
.pkc-plainhead .pkc-eyebrow { color: #d9b892; }
.pkc-plainhead__title { font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(40px, 5.5vw, 68px); line-height: 1; letter-spacing: -.015em; margin: 0 auto 16px; text-wrap: balance; color: #f8f4ec; }
.pkc-plainhead__standfirst { font-size: 18px; color: rgba(248,244,236,.78); margin: 0 auto; text-wrap: pretty; }
.pkc-plainhead__standfirst { max-width: var(--pkc-max); }
.pkc-plainhead__standfirst::after { content: ""; display: block; }
.pkc-plainhead__standfirst { padding-right: max(28px, calc(min(100%, var(--pkc-max)) - 58ch - 28px)); }

/* ── Tables (pricing) ── */
.pkc-table { width: 100%; border-collapse: collapse; margin: 18px 0 28px; font-size: 15px; max-width: none; }
.pkc-table th { text-align: left; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pkc-ink-3); padding: 0 14px 10px 0; border-bottom: 1px solid var(--pkc-ink); }
.pkc-table td { padding: 12px 14px 12px 0; border-bottom: 1px solid var(--pkc-line); vertical-align: top; }
.pkc-table td:nth-child(2) { font-family: var(--pkc-serif); font-size: 19px; white-space: nowrap; color: var(--pkc-wood-deep); }
.pkc-table td:nth-child(3) { color: var(--pkc-ink-2); font-size: 14px; }
.pkc-table a { text-decoration: none; border-bottom: 1px solid var(--pkc-line); }
.pkc-table a:hover { border-color: var(--pkc-wood); }
@media (max-width: 640px) { .pkc-table td:nth-child(3) { display: none; } .pkc-table th:nth-child(3) { display: none; } }
@media (max-width: 640px) { .pkc-plainhead { padding: 110px 0 36px; } .pkc-plainhead > * { padding-left: 20px; padding-right: 20px; } }
.pkc-children { padding-top: 12px; }
.pkc-body--wide { grid-template-columns: minmax(0, 1fr); }
.pkc-article { min-width: 0; }
.pkc-article--wide { max-width: none; }
.pkc-article--wide > p, .pkc-article--wide > ul, .pkc-article--wide > h2, .pkc-article--wide > h3 { max-width: var(--pkc-measure); }
.pkc-lede { font-size: 18px; color: var(--pkc-ink-2); }

/* ── Materials & Finishes ── */
.pkc-count { display: inline-block; font-family: var(--pkc-mono, ui-monospace, monospace); font-size: 12px; color: var(--pkc-ink-3); margin-left: 8px; font-weight: 400; vertical-align: 2px; }
.pkc-muted { color: var(--pkc-ink-3); font-size: 14.5px; }
.pkc-doors { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 16px 14px; margin: 14px 0 34px; }
.pkc-door { margin: 0; text-align: center; }
.pkc-door img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 4px; border: 1px solid var(--pkc-line); background: #fff; display: block; }
.pkc-door figcaption { font-size: 12.5px; line-height: 1.3; margin-top: 7px; color: var(--pkc-ink-2); }
.pkc-door figcaption strong { display: block; color: var(--pkc-ink); font-weight: 600; }
.pkc-door figcaption span { color: var(--pkc-ink-3); font-size: 11.5px; }
.pkc-finish { border: 1px solid var(--pkc-line); border-radius: 8px; background: var(--pkc-panel); padding: 0 18px; margin: 10px 0; max-width: none; }
.pkc-finish summary { cursor: pointer; padding: 14px 0; font-family: var(--pkc-serif); font-size: 20px; list-style: none; display: flex; align-items: center; }
.pkc-finish summary::-webkit-details-marker { display: none; }
.pkc-finish summary::after { content: "+"; margin-left: auto; color: var(--pkc-wood); font-size: 22px; line-height: 1; }
.pkc-finish[open] summary::after { content: "\2013"; }
.pkc-chips { display: flex; flex-wrap: wrap; gap: 7px; padding: 4px 0 18px; }
.pkc-chip { width: 30px; height: 30px; border-radius: 50%; border: 1px solid rgba(0,0,0,.08); box-shadow: inset 0 0 0 2px #fff; display: inline-block; flex: none; }
.pkc-chips--named { gap: 10px 18px; }
.pkc-chip-named { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; color: var(--pkc-ink-2); }
.pkc-chip-named .pkc-chip { width: 22px; height: 22px; }
.pkc-chip-named small { color: var(--pkc-ink-3); }
.pkc-tier { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--pkc-wood); font-weight: 700; margin: 12px 0 6px; }
.pkc-finishes { list-style: none; padding: 0; margin: 12px 0 20px; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.pkc-finishes li { background: var(--pkc-panel); border: 1px solid var(--pkc-line); border-radius: 8px; padding: 14px 16px; font-size: 14px; }

/* ── Responsive ── */
@media (max-width: 980px) {
  .pkc-body { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .pkc-side { position: static; }
  .pkc-glance { grid-template-columns: repeat(2, 1fr); }
  .pkc-related__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .pkc-hero { min-height: 72vh; }
  .pkc-hero__inner { padding: 0 20px 40px; }
  .pkc-body, .pkc-gallery, .pkc-related, .pkc-cta__inner, .pkc-glance { padding-left: 20px; padding-right: 20px; }
  .pkc-gallery__item, .pkc-gallery__item:first-child, .pkc-gallery__item:nth-child(2), .pkc-gallery__item:nth-child(n+3) { grid-column: span 12; }
  .pkc-related__grid { grid-template-columns: 1fr; }
  .pkc-link { display: block; margin: 16px 0 0; width: max-content; }
}
@media (prefers-reduced-motion: reduce) {
  .pkc-related__card img, .pkc-btn { transition: none; }
}

/* ── Project pages ── */
.pkc-projhead { padding-bottom: 44px; }
.pkc-projhead__title { padding-right: max(28px, calc(min(100%, var(--pkc-max)) - 26ch - 28px)); }
.pkc-projhead__stand { font-family: var(--pkc-serif); font-style: italic; font-size: clamp(19px, 2vw, 24px); line-height: 1.4; color: #e8e2d8; }
.pkc-chips { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; margin-bottom: 0; }
.pkc-projhead .pkc-chips li { font-size: 13.5px; font-weight: 600; padding: 7px 12px; margin: 0; border: 1px solid rgba(250,248,244,.22); border-radius: 999px; font-variant-numeric: tabular-nums; color: #f3eee4; background: rgba(255,255,255,.06); list-style: none; line-height: 1.3; }
.pkc-projhead .pkc-chips li span { display: block; font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: #b9ab98; font-weight: 600; }
.pkc-reveal-wrap { max-width: var(--pkc-max); margin: 0 auto; padding: 0 28px; }
.pkc-reveal-wrap .pkc-reveal { margin: 0; }
.pkc-project .pkc-body { padding-top: 44px; }
.pkc-project .pkc-article h3 { font-family: var(--pkc-sans); font-size: 17px; letter-spacing: 0; text-transform: none; color: var(--pkc-ink); margin: 22px 0 6px; font-weight: 700; }
.pkc-byline { max-width: var(--pkc-max); margin: 0 auto; padding: 8px 28px 44px; font-size: 14px; color: var(--pkc-ink-3); }
@media (max-width: 640px) { .pkc-reveal-wrap { padding: 0; } .pkc-byline { padding: 8px 20px 36px; } }
.pkc-reel { margin: 30px 0 38px; }
.pkc-reel__video { width: 100%; aspect-ratio: 16 / 9; display: block; background: #2b2621; border-radius: 4px; object-fit: cover; }
.pkc-reel figcaption { font-size: 12.5px; color: var(--pkc-ink-3); margin-top: 8px; }
@media (prefers-reduced-motion: reduce) { .pkc-reel__video { display: block; } }


/* ── Sectioned pages (service posts, Direct by Design, Our Story): alternating text/photo rows,
   card grid, accordion questions. Added 2026-09-06 after Vincent preferred the old page shape. ── */
.pkc-sections { max-width: var(--pkc-max); margin: 0 auto; padding: 8px 28px 0; }
.pkc-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 5vw, 72px); align-items: center; padding: clamp(36px, 5vw, 64px) 0; border-top: 1px solid var(--pkc-line); }
.pkc-section:first-child { border-top: 0; }
.pkc-section--text { grid-template-columns: 1fr; }
.pkc-section--text .pkc-section__body { max-width: 68ch; }
.pkc-section:nth-child(even):not(.pkc-section--text) .pkc-section__media { order: -1; }
.pkc-section__media { margin: 0; }
.pkc-section__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; display: block; }
.pkc-section__media figcaption { font-size: 13px; color: var(--pkc-ink-3); margin-top: 10px; }
.pkc-section__title { font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(26px, 3vw, 38px); line-height: 1.1; margin: 0 0 16px; letter-spacing: -.01em; }
.pkc-section__body p { margin: 0 0 14px; color: var(--pkc-ink-2); font-size: 16.5px; }
.pkc-section__body p:last-child { margin-bottom: 0; }
.pkc-section__body a { color: var(--pkc-ink); text-decoration-color: var(--pkc-wood); text-underline-offset: 3px; }
.pkc-section__more { display: inline-block; margin-top: 16px; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: var(--pkc-wood); text-decoration: none; }
.pkc-cards { max-width: var(--pkc-max); margin: 0 auto; padding: clamp(28px, 4vw, 48px) 28px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pkc-cards--2 { grid-template-columns: repeat(2, 1fr); }
.pkc-cards__item { background: var(--pkc-panel); border: 1px solid var(--pkc-line); border-radius: 6px; padding: 24px; display: grid; gap: 10px; align-content: start; text-decoration: none; color: inherit; }
.pkc-cards__item img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; display: block; margin: -24px -24px 8px; width: calc(100% + 48px); }
.pkc-cards__n { font-family: var(--pkc-serif); font-size: 14px; letter-spacing: .1em; color: var(--pkc-wood); }
.pkc-cards__title { font-family: var(--pkc-serif); font-weight: 400; font-size: 24px; line-height: 1.15; margin: 0; }
.pkc-cards__item p { margin: 0; color: var(--pkc-ink-2); font-size: 15px; }
.pkc-cards__item:hover .pkc-cards__title { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--pkc-wood); }
.pkc-faq { max-width: var(--pkc-max); margin: 0 auto; padding: clamp(28px, 4vw, 56px) 28px; }
.pkc-faq__title { font-family: var(--pkc-serif); font-weight: 400; font-size: clamp(26px, 3vw, 36px); margin: 0 0 18px; }
.pkc-faq details { border-top: 1px solid var(--pkc-line); padding: 14px 0; }
.pkc-faq details:last-child { border-bottom: 1px solid var(--pkc-line); }
.pkc-faq summary { cursor: pointer; font-family: var(--pkc-serif); font-size: 21px; list-style: none; display: flex; justify-content: space-between; gap: 20px; }
.pkc-faq summary::-webkit-details-marker { display: none; }
.pkc-faq summary::after { content: "+"; color: var(--pkc-wood); font-family: var(--pkc-sans); flex: none; }
.pkc-faq details[open] summary::after { content: "−"; }
.pkc-faq details p { margin: 10px 0 0; color: var(--pkc-ink-2); font-size: 15.5px; max-width: 68ch; }
@media (max-width: 820px) {
  .pkc-sections { padding-left: 20px; padding-right: 20px; }
  .pkc-section { grid-template-columns: 1fr; gap: 18px; }
  .pkc-section:nth-child(even):not(.pkc-section--text) .pkc-section__media { order: 0; }
  .pkc-cards, .pkc-cards--2 { grid-template-columns: 1fr; padding-left: 20px; padding-right: 20px; }
  .pkc-faq { padding-left: 20px; padding-right: 20px; }
}

/* ── The paper goes all the way out ──
   These pages sit on paper (#faf8f4) inside a body the theme leaves white, so at
   wide widths a white frame showed down both sides. Measured 2026-09-07 on
   /contact/ and /projects/: 68 px of white either side of the content. The body
   takes the same paper, and the theme's own white stays on every other page. */
body.pkc-paper-body { background: #faf8f4 !important; } /* literal: --pkc-paper is scoped to .pkc-style, not :root */ /* Elementor's kit sets a white body after us */
