/* PYC VI 1.3 — visual polish only. Do not change copy. */
:root {
  --color-foam: #F6F0E4;
  --color-paper: #FFFFFF;
  --color-mist: #EFE6D4;
  --color-ink: #0E0C10;
  --color-muted: #6B6174;
  --color-line: #E3D8C4;
  --color-iris: #6E4EA8;
  --color-iris-deep: #5B3E96;
  --color-iris-mark: #6E4EA8;
  --color-seal: #3D2468;
  --color-pyc-p: #2C1B4A;
  --color-pyc-c: #B7A0DC;
  --color-beam: #D4B46A;
  --color-avocado: #7EAF45;
  --color-citrus: #E8873A;
  --color-melon: #E85A71;
  --font-sans: "Noto Sans SC", "Source Han Sans SC", system-ui, sans-serif;
  --font-serif: "Noto Serif SC", "Songti SC", "Libre Bodoni", "Times New Roman", serif;
}

html { background: var(--color-foam); }
body {
  font-family: var(--font-sans);
  color: var(--color-ink);
  background: var(--color-foam);
  line-height: 1.75;
  text-rendering: optimizeLegibility;
  font-feature-settings: "kern" 1, "liga" 1;
}

/* Type: headings stay serif, tighter optical size */
h1, h2, h3, .serif {
  font-family: var(--font-serif);
  font-weight: 700;
  letter-spacing: -0.028em;
  text-wrap: balance;
}
.bg-foam h1, .bg-paper h1, main > section.bg-paper h1 {
  color: var(--color-ink);
}
h1 { line-height: 1.12; }
h2 { line-height: 1.22; letter-spacing: -0.02em; }
h3 { line-height: 1.28; letter-spacing: -0.01em; font-weight: 600; }

/* Modules: 0 radius. Buttons: 4px. No glass. */
img, video, svg { border-radius: 0 !important; }
[class*="rounded-xl"],
[class*="rounded-lg"],
[class*="rounded-md"],
[class*="rounded-2xl"],
[class*="rounded-3xl"] { border-radius: 0 !important; }

a.inline-flex.min-h-11,
a[class*="bg-iris"],
a.bg-iris,
button[class*="bg-iris"] {
  border-radius: 4px !important;
  background-color: var(--color-iris) !important;
  color: #fff !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
a.inline-flex.min-h-11:hover,
a[class*="bg-iris"]:hover,
a.bg-iris:hover {
  background-color: var(--color-iris-deep) !important;
}

/* Ghost / secondary buttons stay paper with 4px */
a.inline-flex.min-h-11.border,
a[class*="border-line"][class*="inline-flex"] {
  border-radius: 4px !important;
  background: var(--color-paper) !important;
  color: var(--color-ink) !important;
  border-color: var(--color-line) !important;
}
a.inline-flex.min-h-11.border:hover {
  border-color: var(--color-ink) !important;
}

header, footer, section, article, aside { backdrop-filter: none !important; }

/* Header: quieter, gold as the one signal */
header.sticky {
  background: var(--color-foam) !important;
  border-bottom-color: var(--color-line) !important;
}
header .grid.h-1,
footer .grid.h-1 { height: 3px; }
header nav a,
header .flex-wrap a {
  letter-spacing: 0.04em;
}
header .flex-wrap a[aria-current="page"],
header .flex-wrap a.active {
  color: var(--color-ink) !important;
  box-shadow: inset 0 -1px 0 var(--color-beam);
}

/* Phone in header: gold is the signal */
header a[href^="tel"] {
  color: var(--color-seal) !important;
  letter-spacing: 0.04em;
}

/* Hero / banners: Iris field stays, type breathes */
.bg-iris-mark { background-color: var(--color-iris-mark) !important; }
.bg-iris { background-color: var(--color-iris) !important; }
.bg-iris-deep { background-color: var(--color-iris-deep) !important; }
.text-paper { color: var(--color-paper) !important; }
.bg-seal,
.bg-ink,
.bg-iris-mark,
.bg-iris,
.bg-iris-deep { color: var(--color-paper); }
.bg-seal h1, .bg-seal h2,
.bg-ink h1, .bg-ink h2,
.bg-iris-mark h1, .bg-iris-mark h2,
.bg-iris h1, .bg-iris h2,
footer h1, footer h2 {
  color: #fff !important;
}

/* Cards: square, paper, hairline. Gold only as hover signal. */
a.group.block,
a.block.border,
div.border.bg-paper,
div.border.bg-white,
div.bg-paper,
div.bg-white {
  border-radius: 0 !important;
  border-color: var(--color-line) !important;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
a.group.block:hover,
a.block.border:hover {
  border-color: var(--color-beam) !important;
  box-shadow: inset 3px 0 0 var(--color-beam);
}

/* Section rhythm */
main > section,
main > div > section {
  letter-spacing: inherit;
}

/* Labels / kickers */
.text-iris, .text-iris-deep {
  color: var(--color-iris-deep) !important;
}
.text-beam { color: var(--color-beam) !important; }
.text-muted { color: var(--color-muted) !important; }

/* Images sit flush, no sticker look */
main img:not([src*="/brand/"]) {
  border-radius: 0 !important;
  display: block;
}

/* Footer: ink field, gold signal, no invert */
footer {
  background: var(--color-ink) !important;
  color: var(--color-paper) !important;
}
footer a[href^="tel"],
footer .text-beam { color: var(--color-beam) !important; }
footer img[src*="py-outline.svg"]:not([src*="on-ink"]) {
  /* light mark on ink is off-spec; opacity keeps it quiet until src swap */
  opacity: 0.95;
}

/* Links inside body copy */
main a.underline { text-decoration-color: color-mix(in srgb, var(--color-beam) 70%, transparent); }
main a.underline:hover { text-decoration-color: var(--color-beam); }

/* Focus */
:focus-visible {
  outline: 2px solid var(--color-iris);
  outline-offset: 3px;
}

/* No gradients on brand fields */
.bg-gradient-to-b,
.bg-gradient-to-r,
[class*="bg-gradient"] {
  background-image: none !important;
}

@media (max-width: 1023px) {
  header .flex-wrap { gap: 0.35rem 1.1rem; }
}
