/* Paramount Vet Care — component-first design system */
:root {
  --pvc-primary: #0758a8;
  --pvc-primary-deep: #03447f;
  --pvc-secondary: #082f49;
  --pvc-accent: #18b7a0;
  --pvc-accent-soft: #baf2e8;
  --pvc-ink: #102a3a;
  --pvc-muted: #5b6f7c;
  --pvc-cream: #f4f8f7;
  --pvc-white: #ffffff;
  --pvc-line: #dce8e6;
  --pvc-danger: #a72b35;
  --pvc-success: #17693d;
  --pvc-shadow-sm: 0 10px 35px rgba(8, 47, 73, 0.08);
  --pvc-shadow-lg: 0 30px 80px rgba(8, 47, 73, 0.16);
  --pvc-radius-sm: 14px;
  --pvc-radius-md: 24px;
  --pvc-radius-lg: 36px;
  --pvc-container: 1180px;
  --pvc-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pvc-display: "Avenir Next", "Segoe UI", var(--pvc-font);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pvc-white);
  color: var(--pvc-ink);
  font-family: var(--pvc-font);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.pvc-menu-open { overflow: hidden; }
img { max-width: 100%; height: auto; }
a { color: var(--pvc-primary); text-decoration-thickness: 1px; text-underline-offset: 0.2em; }
a:hover { color: var(--pvc-primary-deep); }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
::selection { background: var(--pvc-accent-soft); color: var(--pvc-secondary); }

h1, h2, h3, h4, h5, h6 {
  margin: 0 0 0.6em;
  color: var(--pvc-secondary);
  font-family: var(--pvc-display);
  font-weight: 800;
  letter-spacing: -0.045em;
  line-height: 1.04;
}
h1 { font-size: clamp(2.85rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2.2rem, 4.3vw, 4rem); }
h3 { font-size: clamp(1.22rem, 2vw, 1.55rem); letter-spacing: -0.028em; line-height: 1.18; }
p { margin: 0 0 1.15em; }
ul, ol { margin-top: 0; }

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0);
  white-space: nowrap; border: 0;
}
.screen-reader-text:focus, .skip-link:focus {
  z-index: 99999;
  top: 12px; left: 12px;
  width: auto; height: auto;
  padding: 12px 18px;
  clip: auto;
  background: var(--pvc-white);
  color: var(--pvc-secondary);
  border-radius: 10px;
  box-shadow: var(--pvc-shadow-lg);
}
:focus-visible { outline: 3px solid var(--pvc-accent); outline-offset: 3px; }

.pvc-container { width: min(calc(100% - 40px), var(--pvc-container)); margin-inline: auto; }
.pvc-main { overflow: clip; }
.pvc-section { position: relative; padding: clamp(78px, 10vw, 138px) 0; }
.pvc-kicker, .pvc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 18px;
  color: var(--pvc-primary);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}
.pvc-kicker::before { width: 30px; height: 2px; background: var(--pvc-accent); content: ""; }
.pvc-eyebrow span, .pvc-eyebrow svg { width: 21px; height: 21px; }
.pvc-section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: clamp(35px, 8vw, 100px);
  align-items: end;
  margin-bottom: 48px;
}
.pvc-section-heading > p { color: var(--pvc-muted); font-size: 1.06rem; }
.pvc-section-heading--center { display: block; max-width: 760px; margin-inline: auto; text-align: center; }
.pvc-section-heading--center .pvc-kicker { justify-content: center; }

.pvc-button-row { display: flex; flex-wrap: wrap; gap: 13px; align-items: center; }
.pvc-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 0.91rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease, border-color 180ms ease;
}
.pvc-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.9; }
.pvc-button:hover { transform: translateY(-2px); }
.pvc-button--primary { background: var(--pvc-primary); color: var(--pvc-white); box-shadow: 0 12px 25px rgba(7, 88, 168, 0.25); }
.pvc-button--primary:hover { background: var(--pvc-primary-deep); color: var(--pvc-white); box-shadow: 0 16px 30px rgba(7, 88, 168, 0.28); }
.pvc-button--ghost { border-color: rgba(8, 47, 73, 0.18); background: rgba(255,255,255,0.74); color: var(--pvc-secondary); }
.pvc-button--ghost:hover { border-color: var(--pvc-primary); background: var(--pvc-white); color: var(--pvc-primary); }
.pvc-button--light { background: var(--pvc-white); color: var(--pvc-secondary); }
.pvc-button--light:hover { color: var(--pvc-primary); box-shadow: 0 15px 30px rgba(0,0,0,0.16); }
.pvc-button--outline-light { border-color: rgba(255,255,255,0.52); color: var(--pvc-white); }
.pvc-button--outline-light:hover { background: rgba(255,255,255,0.12); color: var(--pvc-white); }
.pvc-text-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--pvc-primary);
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}
.pvc-text-link svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; transition: transform 180ms ease; }
.pvc-text-link:hover svg { transform: translateX(4px); }

.pvc-topbar { background: var(--pvc-secondary); color: rgba(255,255,255,0.84); font-size: 0.75rem; }
.pvc-topbar__inner { display: flex; min-height: 36px; align-items: center; justify-content: space-between; gap: 22px; }
.pvc-topbar p { display: flex; align-items: center; gap: 8px; margin: 0; }
.pvc-topbar__dot { width: 7px; height: 7px; background: var(--pvc-accent); border-radius: 50%; box-shadow: 0 0 0 5px rgba(24,183,160,0.14); }
.pvc-topbar__links { display: flex; gap: 22px; }
.pvc-topbar a { color: inherit; text-decoration: none; }
.pvc-topbar a:hover { color: var(--pvc-white); }
.pvc-site-header { position: relative; z-index: 100; }
.pvc-nav-shell { background: rgba(255,255,255,0.93); border-bottom: 1px solid rgba(8,47,73,0.08); backdrop-filter: blur(18px); }
.pvc-site-header.is-scrolled .pvc-nav-shell { position: fixed; top: 0; right: 0; left: 0; box-shadow: var(--pvc-shadow-sm); }
.admin-bar .pvc-site-header.is-scrolled .pvc-nav-shell { top: 32px; }
.pvc-nav { display: grid; min-height: 92px; grid-template-columns: 210px minmax(0, 1fr) auto; align-items: center; gap: 28px; }
.pvc-logo-wrap { min-width: 0; }
.pvc-brand, .custom-logo-link { display: inline-flex; align-items: center; }
.pvc-brand img, .custom-logo { display: block; width: auto; max-height: 72px; object-fit: contain; }
.pvc-primary-nav { min-width: 0; }
.pvc-menu { display: flex; align-items: center; justify-content: center; gap: clamp(12px, 2vw, 28px); margin: 0; padding: 0; list-style: none; }
.pvc-menu li { position: relative; }
.pvc-menu > li > a { display: block; padding: 32px 0; color: var(--pvc-secondary); font-size: 0.86rem; font-weight: 750; text-decoration: none; }
.pvc-menu > li > a::after { position: absolute; right: 0; bottom: 24px; left: 0; height: 2px; background: var(--pvc-accent); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 180ms ease; }
.pvc-menu > li:hover > a::after, .pvc-menu > .current-menu-item > a::after { transform: scaleX(1); }
.pvc-menu .sub-menu { position: absolute; top: calc(100% - 8px); left: -18px; min-width: 230px; margin: 0; padding: 12px; visibility: hidden; opacity: 0; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 16px; box-shadow: var(--pvc-shadow-lg); list-style: none; transform: translateY(8px); transition: 180ms ease; }
.pvc-menu li:hover > .sub-menu, .pvc-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.pvc-menu .sub-menu a { display: block; padding: 10px 12px; border-radius: 10px; color: var(--pvc-secondary); font-size: 0.84rem; text-decoration: none; }
.pvc-menu .sub-menu a:hover { background: var(--pvc-cream); color: var(--pvc-primary); }
.pvc-menu-toggle { display: none; width: 46px; height: 46px; padding: 10px; border: 1px solid var(--pvc-line); background: var(--pvc-white); border-radius: 14px; }
.pvc-menu-toggle span:not(.screen-reader-text) { display: block; width: 23px; height: 2px; margin: 5px auto; background: var(--pvc-secondary); transition: 180ms ease; }

.pvc-hero { position: relative; min-height: 780px; padding: clamp(75px, 9vw, 132px) 0 42px; overflow: hidden; background: linear-gradient(135deg, #f5fbff 0%, #f5faf8 52%, #edf9f6 100%); }
.pvc-hero::before { position: absolute; top: -160px; left: -160px; width: 520px; height: 520px; border: 1px solid rgba(7,88,168,0.10); border-radius: 50%; content: ""; box-shadow: 0 0 0 80px rgba(7,88,168,0.025), 0 0 0 160px rgba(7,88,168,0.018); }
.pvc-hero__mesh { position: absolute; inset: 0; opacity: 0.38; background-image: radial-gradient(rgba(7,88,168,0.14) 1px, transparent 1px); background-size: 28px 28px; mask-image: linear-gradient(to right, #000, transparent 68%); }
.pvc-hero__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.03fr) minmax(420px, 0.97fr); gap: clamp(36px, 6vw, 92px); align-items: center; }
.pvc-hero__content { max-width: 690px; }
.pvc-hero__lead { max-width: 650px; margin-bottom: 30px; color: var(--pvc-muted); font-size: clamp(1.06rem, 1.5vw, 1.24rem); }
.pvc-hero__microcopy { display: flex; align-items: center; gap: 11px; margin-top: 24px; color: var(--pvc-muted); font-size: 0.88rem; }
.pvc-hero__microcopy > span { display: grid; width: 37px; height: 37px; place-items: center; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 50%; }
.pvc-hero__microcopy svg { width: 18px; height: 18px; fill: none; stroke: var(--pvc-primary); stroke-width: 1.8; }
.pvc-hero__microcopy p { margin: 0; }
.pvc-hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.pvc-hero-visual__halo { position: absolute; width: 450px; height: 450px; background: radial-gradient(circle at 35% 28%, rgba(24,183,160,0.28), rgba(7,88,168,0.12) 52%, rgba(255,255,255,0) 72%); border-radius: 50%; filter: blur(4px); }
.pvc-hero-logo-card { position: relative; z-index: 2; display: grid; width: min(100%, 485px); min-height: 390px; place-items: center; padding: 64px 42px; overflow: hidden; background: rgba(255,255,255,0.88); border: 1px solid rgba(255,255,255,0.78); border-radius: 48px 110px 48px 110px; box-shadow: var(--pvc-shadow-lg); backdrop-filter: blur(15px); transform: rotate(-2deg); }
.pvc-hero-logo-card::before { position: absolute; right: -55px; bottom: -55px; width: 180px; height: 180px; background: var(--pvc-accent); border-radius: 50%; content: ""; opacity: 0.15; }
.pvc-hero-logo-card img { width: min(100%, 420px); filter: drop-shadow(0 12px 22px rgba(8,47,73,0.12)); transform: rotate(2deg); }
.pvc-float-card { position: absolute; z-index: 3; display: flex; align-items: center; gap: 11px; min-width: 195px; padding: 13px 15px; background: rgba(255,255,255,0.92); border: 1px solid rgba(255,255,255,0.85); border-radius: 18px; box-shadow: var(--pvc-shadow-sm); backdrop-filter: blur(14px); animation: pvcFloat 5.5s ease-in-out infinite; }
.pvc-float-card strong, .pvc-float-card small { display: block; }
.pvc-float-card strong { color: var(--pvc-secondary); font-size: 0.84rem; }
.pvc-float-card small { color: var(--pvc-muted); font-size: 0.69rem; }
.pvc-float-card--one { top: 18px; right: 10px; }
.pvc-float-card--two { bottom: 50px; left: -30px; animation-delay: -2s; }
.pvc-float-card--three { right: -20px; bottom: 10px; animation-delay: -3.5s; }
.pvc-icon-badge { display: grid; flex: 0 0 auto; width: 48px; height: 48px; place-items: center; background: linear-gradient(145deg, rgba(24,183,160,0.17), rgba(7,88,168,0.10)); border: 1px solid rgba(24,183,160,0.22); border-radius: 15px; color: var(--pvc-primary); }
.pvc-icon-badge svg { width: 25px; height: 25px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.pvc-trust-strip { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 80px; overflow: hidden; background: var(--pvc-line); border: 1px solid var(--pvc-line); border-radius: 20px; box-shadow: var(--pvc-shadow-sm); }
.pvc-trust-strip > div { display: flex; min-height: 70px; align-items: center; justify-content: center; gap: 9px; padding: 16px; background: rgba(255,255,255,0.92); color: var(--pvc-secondary); font-size: 0.82rem; font-weight: 750; text-align: center; }
.pvc-trust-strip span { display: grid; width: 23px; height: 23px; place-items: center; background: rgba(24,183,160,0.13); border-radius: 50%; color: var(--pvc-accent); }
.pvc-trust-strip svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.5; }

.pvc-section--services { background: var(--pvc-white); }
.pvc-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pvc-service-card { position: relative; display: flex; min-height: 310px; flex-direction: column; align-items: flex-start; padding: 30px; overflow: hidden; background: var(--pvc-cream); border: 1px solid transparent; border-radius: var(--pvc-radius-md); transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease; }
.pvc-service-card::after { position: absolute; right: -70px; bottom: -70px; width: 180px; height: 180px; background: radial-gradient(circle, rgba(24,183,160,0.19), transparent 68%); content: ""; }
.pvc-service-card:hover { border-color: rgba(7,88,168,0.16); box-shadow: var(--pvc-shadow-sm); transform: translateY(-6px); }
.pvc-service-card h3 { margin-top: 24px; }
.pvc-service-card h3 a { color: inherit; text-decoration: none; }
.pvc-service-card p { color: var(--pvc-muted); }
.pvc-service-card .pvc-text-link { margin-top: auto; }

.pvc-section--story { overflow: hidden; background: var(--pvc-secondary); color: rgba(255,255,255,0.78); }
.pvc-section--story::after { position: absolute; right: -180px; bottom: -260px; width: 680px; height: 680px; border: 1px solid rgba(255,255,255,0.08); border-radius: 50%; content: ""; box-shadow: 0 0 0 90px rgba(255,255,255,0.018), 0 0 0 180px rgba(255,255,255,0.012); }
.pvc-story-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr); gap: clamp(45px, 9vw, 110px); align-items: center; }
.pvc-story-copy h2 { color: var(--pvc-white); }
.pvc-story-copy > p { font-size: 1.06rem; }
.pvc-story-copy .pvc-text-link { color: var(--pvc-accent-soft); }
.pvc-story-art { position: relative; min-height: 520px; overflow: hidden; background: linear-gradient(145deg, rgba(7,88,168,0.55), rgba(24,183,160,0.22)), #0d4667; border: 1px solid rgba(255,255,255,0.12); border-radius: 48px 110px 48px 48px; }
.pvc-story-art::before { position: absolute; inset: 0; background-image: radial-gradient(rgba(255,255,255,0.14) 1px, transparent 1px); background-size: 24px 24px; content: ""; mask-image: linear-gradient(to bottom right, #000, transparent 70%); }
.pvc-story-art__mountains::before, .pvc-story-art__mountains::after { position: absolute; bottom: 0; content: ""; clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.pvc-story-art__mountains::before { left: -70px; width: 420px; height: 350px; background: linear-gradient(145deg, rgba(255,255,255,0.18), rgba(255,255,255,0.03)); }
.pvc-story-art__mountains::after { right: -60px; width: 390px; height: 290px; background: linear-gradient(145deg, rgba(24,183,160,0.55), rgba(24,183,160,0.06)); }
.pvc-story-art__card { position: absolute; right: 28px; bottom: 28px; left: 28px; display: flex; align-items: center; gap: 18px; padding: 22px; background: rgba(255,255,255,0.93); border-radius: 20px; color: var(--pvc-secondary); box-shadow: var(--pvc-shadow-lg); }
.pvc-story-art__card span { display: grid; width: 54px; height: 54px; flex: 0 0 auto; place-items: center; background: var(--pvc-accent-soft); border-radius: 17px; color: var(--pvc-primary); }
.pvc-story-art__card svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.pvc-story-art__card p { margin: 0; font-weight: 800; line-height: 1.35; }
.pvc-check-list { display: grid; gap: 14px; margin: 28px 0 32px; padding: 0; list-style: none; }
.pvc-check-list li { display: flex; align-items: flex-start; gap: 12px; }
.pvc-check-list svg { width: 22px; height: 22px; flex: 0 0 auto; fill: none; stroke: var(--pvc-accent); stroke-width: 2.5; }

.pvc-section--pathways { background: linear-gradient(180deg, #f8fbfa, #eef8f5); }
.pvc-pathway-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pvc-pathway-card { display: flex; min-height: 245px; flex-direction: column; align-items: flex-start; justify-content: flex-end; padding: 26px; overflow: hidden; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 30px; color: var(--pvc-secondary); text-decoration: none; box-shadow: 0 12px 35px rgba(8,47,73,0.04); transition: 220ms ease; }
.pvc-pathway-card::before { position: absolute; content: ""; }
.pvc-pathway-card > span { display: grid; width: 62px; height: 62px; margin-bottom: auto; place-items: center; background: linear-gradient(145deg, rgba(7,88,168,0.11), rgba(24,183,160,0.16)); border-radius: 20px; color: var(--pvc-primary); }
.pvc-pathway-card svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 1.55; }
.pvc-pathway-card strong { margin-bottom: 7px; font-size: 1.2rem; }
.pvc-pathway-card small { color: var(--pvc-muted); line-height: 1.5; }
.pvc-pathway-card:hover { border-color: rgba(7,88,168,0.22); color: var(--pvc-primary); box-shadow: var(--pvc-shadow-sm); transform: translateY(-7px); }
.pvc-availability-note { margin: 26px 0 0; color: var(--pvc-muted); font-size: 0.84rem; text-align: center; }

.pvc-section--products { background: var(--pvc-white); }
.pvc-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pvc-product-card { display: flex; min-height: 330px; flex-direction: column; padding: 28px; background: #fbfdfd; border: 1px solid var(--pvc-line); border-radius: 26px; transition: 220ms ease; }
.pvc-product-card:hover { box-shadow: var(--pvc-shadow-sm); transform: translateY(-5px); }
.pvc-product-card__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 34px; }
.pvc-product-card__top span { display: grid; width: 52px; height: 52px; place-items: center; background: var(--pvc-secondary); border-radius: 17px; color: var(--pvc-white); }
.pvc-product-card__top svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.pvc-product-card__top em { color: var(--pvc-muted); font-size: 0.68rem; font-style: normal; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.pvc-product-card p { color: var(--pvc-muted); }
.pvc-product-card .pvc-text-link { margin-top: auto; }
.pvc-products-cta { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 26px; padding: 24px 26px; background: var(--pvc-cream); border: 1px solid var(--pvc-line); border-radius: 20px; }
.pvc-products-cta strong, .pvc-products-cta span { display: block; }
.pvc-products-cta span { color: var(--pvc-muted); font-size: 0.86rem; }

.pvc-section--process { background: #f7faf9; }
.pvc-process-grid { display: grid; grid-template-columns: minmax(0, 0.86fr) minmax(0, 1.14fr); gap: clamp(45px, 9vw, 120px); align-items: start; }
.pvc-process-copy { position: sticky; top: 140px; }
.pvc-process-copy > p { color: var(--pvc-muted); font-size: 1.03rem; }
.pvc-process-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.pvc-process-list li { display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: start; padding: 26px; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 23px; box-shadow: 0 8px 30px rgba(8,47,73,0.035); }
.pvc-process-list > li > span { display: grid; width: 58px; height: 58px; place-items: center; background: var(--pvc-secondary); border-radius: 17px; color: var(--pvc-white); font-weight: 850; letter-spacing: 0.08em; }
.pvc-process-list h3 { margin-top: 4px; }
.pvc-process-list p { margin: 0; color: var(--pvc-muted); }

.pvc-section--cta { padding-top: 0; background: #f7faf9; }
.pvc-cta-panel { position: relative; display: grid; grid-template-columns: 100px minmax(0, 1fr) auto; gap: 30px; align-items: center; padding: clamp(34px, 5vw, 58px); overflow: hidden; background: linear-gradient(135deg, var(--pvc-primary), var(--pvc-secondary)); border-radius: var(--pvc-radius-lg); color: rgba(255,255,255,0.82); box-shadow: var(--pvc-shadow-lg); }
.pvc-cta-panel::after { position: absolute; top: -220px; right: -180px; width: 500px; height: 500px; border: 1px solid rgba(255,255,255,0.12); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgba(255,255,255,0.035), 0 0 0 140px rgba(255,255,255,0.02); }
.pvc-cta-panel > * { position: relative; z-index: 1; }
.pvc-cta-panel h2 { max-width: 680px; color: var(--pvc-white); font-size: clamp(2rem, 4vw, 3.6rem); }
.pvc-cta-panel p { margin-bottom: 0; }
.pvc-cta-panel .pvc-kicker { color: var(--pvc-accent-soft); }
.pvc-cta-panel__mark { display: grid; width: 90px; height: 90px; place-items: center; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.17); border-radius: 28px; }
.pvc-cta-panel__mark svg { width: 44px; height: 44px; fill: none; stroke: var(--pvc-white); stroke-width: 1.4; }

.pvc-inner-hero { padding: clamp(80px, 10vw, 135px) 0 65px; background: linear-gradient(135deg, #f4faff, #edf8f5); border-bottom: 1px solid var(--pvc-line); }
.pvc-inner-hero .pvc-container { max-width: 940px; }
.pvc-inner-hero h1 { font-size: clamp(2.8rem, 5.5vw, 5.3rem); }
.pvc-inner-hero p { max-width: 720px; color: var(--pvc-muted); font-size: 1.1rem; }
.pvc-content-area { padding-bottom: 110px; }
.pvc-prose { max-width: 900px; padding-top: 70px; font-size: 1.03rem; }
.pvc-prose > * { max-width: 760px; margin-right: auto; margin-left: auto; }
.pvc-prose > .alignwide { max-width: 1100px; }
.pvc-prose > .alignfull { max-width: none; margin-right: calc(50% - 50vw); margin-left: calc(50% - 50vw); }
.pvc-prose h2, .pvc-prose h3 { margin-top: 1.55em; }
.pvc-prose blockquote { padding: 24px 28px; background: var(--pvc-cream); border-left: 4px solid var(--pvc-accent); border-radius: 0 18px 18px 0; }
.pvc-prose table { width: 100%; border-collapse: collapse; }
.pvc-prose th, .pvc-prose td { padding: 12px; border: 1px solid var(--pvc-line); text-align: left; }
.pvc-featured-image { max-width: 1100px; overflow: hidden; border-radius: 26px; }
.pvc-featured-image img { display: block; width: 100%; }

.pvc-archive-grid, .pvc-post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; padding-top: 60px; }
.pvc-archive-card, .pvc-post-card { display: flex; min-height: 310px; flex-direction: column; padding: 28px; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 24px; box-shadow: 0 10px 35px rgba(8,47,73,0.04); }
.pvc-archive-card h2, .pvc-archive-card h3 { margin-top: 22px; }
.pvc-archive-card h2 a, .pvc-archive-card h3 a, .pvc-post-card h2 a { color: inherit; text-decoration: none; }
.pvc-archive-card p, .pvc-post-card p { color: var(--pvc-muted); }
.pvc-archive-card .pvc-text-link, .pvc-post-card .pvc-text-link { margin-top: auto; }
.pvc-post-card { padding: 0; overflow: hidden; }
.pvc-post-card__image { display: block; aspect-ratio: 1.45; overflow: hidden; }
.pvc-post-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform 300ms ease; }
.pvc-post-card:hover .pvc-post-card__image img { transform: scale(1.04); }
.pvc-post-card__content { display: flex; flex: 1; flex-direction: column; padding: 25px; }
.pvc-card-meta { margin-bottom: 10px !important; font-size: 0.74rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.pvc-page-header { padding-top: 80px; }
.pvc-empty-state, .pvc-error { padding-top: 100px; padding-bottom: 100px; text-align: center; }
.pvc-empty-state .pvc-icon-badge { margin-inline: auto; }
.pvc-error { max-width: 800px; }
.pvc-error form { display: inline-flex; }
.search-form { display: flex; gap: 8px; }
.search-field { min-height: 48px; padding: 10px 15px; border: 1px solid var(--pvc-line); border-radius: 999px; }
.search-submit { min-height: 48px; padding: 10px 18px; border: 0; background: var(--pvc-secondary); border-radius: 999px; color: var(--pvc-white); font-weight: 800; }

.pvc-form-shell { margin-top: 34px; }
.pvc-form { display: grid; gap: 20px; padding: clamp(24px, 5vw, 46px); background: var(--pvc-cream); border: 1px solid var(--pvc-line); border-radius: 28px; }
.pvc-form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.pvc-form label { display: grid; gap: 7px; color: var(--pvc-secondary); font-size: 0.86rem; font-weight: 750; }
.pvc-form input, .pvc-form select, .pvc-form textarea { width: 100%; min-height: 50px; padding: 11px 13px; background: var(--pvc-white); border: 1px solid #c8d8d6; border-radius: 12px; color: var(--pvc-ink); }
.pvc-form textarea { min-height: 150px; resize: vertical; }
.pvc-form input:focus, .pvc-form select:focus, .pvc-form textarea:focus { border-color: var(--pvc-primary); box-shadow: 0 0 0 4px rgba(7,88,168,0.10); outline: none; }
.pvc-consent { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 500 !important; }
.pvc-consent input { width: 18px; min-height: 18px; margin-top: 3px; }
.pvc-honeypot { position: absolute; left: -9999px; }
.pvc-alert { margin-bottom: 18px; padding: 14px 16px; border-radius: 12px; font-weight: 700; }
.pvc-alert--success { background: #e7f7ed; color: var(--pvc-success); }
.pvc-alert--error { background: #fff0f1; color: var(--pvc-danger); }

.pvc-footer { position: relative; overflow: hidden; padding: 80px 0 20px; background: #061f31; color: rgba(255,255,255,0.73); }
.pvc-footer__glow { position: absolute; top: -380px; left: -250px; width: 720px; height: 720px; background: radial-gradient(circle, rgba(24,183,160,0.17), transparent 66%); border-radius: 50%; }
.pvc-footer__grid { position: relative; display: grid; grid-template-columns: 1.25fr 0.8fr 1fr 0.8fr; gap: 45px; }
.pvc-footer h2 { color: var(--pvc-white); font-size: 1rem; letter-spacing: -0.02em; }
.pvc-footer__brand .pvc-brand img, .pvc-footer__brand .custom-logo { max-height: 96px; filter: brightness(0) invert(1); opacity: 0.96; }
.pvc-footer__brand p { max-width: 390px; margin: 22px 0; }
.pvc-footer a { color: rgba(255,255,255,0.82); text-decoration: none; }
.pvc-footer a:hover { color: var(--pvc-accent-soft); }
.pvc-footer-list, .pvc-hours-list, .pvc-footer-menu { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 0.84rem; }
.pvc-hours-list li { display: flex; justify-content: space-between; gap: 10px; }
.pvc-hours-list strong { color: rgba(255,255,255,0.9); font-weight: 650; }
.pvc-footer__bottom { position: relative; display: flex; justify-content: space-between; gap: 28px; margin-top: 55px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.10); font-size: 0.72rem; }
.pvc-footer__bottom p { margin: 0; }

/* WooCommerce and popular form builder compatibility */
.pvc-woocommerce-wrap { padding-top: 65px; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { padding: 18px; border: 1px solid var(--pvc-line); border-radius: 20px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--pvc-primary); border-radius: 999px; color: var(--pvc-white); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--pvc-primary-deep); color: var(--pvc-white); }
.wpforms-container input, .wpforms-container select, .wpforms-container textarea,
.wpcf7 input, .wpcf7 select, .wpcf7 textarea,
.gform_wrapper input, .gform_wrapper select, .gform_wrapper textarea { border-radius: 12px !important; }

/* Builder compatibility */
.pvc-builder-page, .pvc-builder-canvas { width: 100%; }
.elementor-section.elementor-section-boxed > .elementor-container { max-width: var(--pvc-container); }

/* Motion */
.pvc-js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 650ms ease, transform 650ms cubic-bezier(.2,.75,.25,1); }
.pvc-js [data-reveal].is-visible { opacity: 1; transform: translateY(0); }
@keyframes pvcFloat { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-9px); } }

@media (max-width: 1080px) {
  .pvc-nav { grid-template-columns: 180px 1fr auto; gap: 18px; }
  .pvc-menu { gap: 15px; }
  .pvc-menu > li > a { font-size: 0.79rem; }
  .pvc-hero__grid { grid-template-columns: 1fr 0.9fr; }
  .pvc-hero-logo-card { min-height: 350px; }
  .pvc-service-grid { grid-template-columns: repeat(2, 1fr); }
  .pvc-product-grid { grid-template-columns: repeat(2, 1fr); }
  .pvc-pathway-grid { grid-template-columns: repeat(2, 1fr); }
  .pvc-footer__grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .pvc-footer__grid > :last-child { grid-column: 2 / span 2; }
}

@media (max-width: 900px) {
  .pvc-topbar__links a:first-child { display: none; }
  .pvc-nav { min-height: 78px; grid-template-columns: 1fr auto; }
  .pvc-logo-wrap { width: 180px; }
  .pvc-nav-cta { display: none; }
  .pvc-menu-toggle { display: block; }
  .pvc-primary-nav { position: fixed; z-index: 90; top: 114px; right: 18px; left: 18px; max-height: calc(100vh - 140px); padding: 18px; overflow-y: auto; visibility: hidden; opacity: 0; background: var(--pvc-white); border: 1px solid var(--pvc-line); border-radius: 22px; box-shadow: var(--pvc-shadow-lg); transform: translateY(-12px); transition: 180ms ease; }
  .admin-bar .pvc-primary-nav { top: 146px; }
  .pvc-site-header.is-scrolled .pvc-primary-nav { top: 88px; }
  .admin-bar .pvc-site-header.is-scrolled .pvc-primary-nav { top: 120px; }
  .pvc-primary-nav.is-open { visibility: visible; opacity: 1; transform: translateY(0); }
  .pvc-menu { display: grid; gap: 2px; }
  .pvc-menu > li > a { padding: 13px 12px; border-radius: 10px; font-size: 0.96rem; }
  .pvc-menu > li > a::after { display: none; }
  .pvc-menu > li > a:hover { background: var(--pvc-cream); }
  .pvc-menu .sub-menu { position: static; display: block; min-width: 0; padding: 0 0 0 12px; visibility: visible; opacity: 1; border: 0; box-shadow: none; transform: none; }
  .pvc-hero { min-height: 0; }
  .pvc-hero__grid, .pvc-story-grid, .pvc-process-grid { grid-template-columns: 1fr; }
  .pvc-hero__content { max-width: 760px; }
  .pvc-hero-visual { max-width: 650px; min-height: 520px; margin-inline: auto; }
  .pvc-story-art { min-height: 430px; }
  .pvc-process-copy { position: static; }
  .pvc-cta-panel { grid-template-columns: 80px 1fr; }
  .pvc-cta-panel .pvc-button-row { grid-column: 1 / -1; }
  .pvc-archive-grid, .pvc-post-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 700px) {
  .pvc-container { width: min(calc(100% - 28px), var(--pvc-container)); }
  .pvc-topbar__inner { min-height: 34px; justify-content: center; }
  .pvc-topbar__inner > p { display: none; }
  .pvc-topbar__links { width: 100%; justify-content: center; }
  .pvc-primary-nav { top: 106px; }
  .admin-bar .pvc-primary-nav { top: 152px; }
  .pvc-section-heading { grid-template-columns: 1fr; gap: 10px; }
  .pvc-hero { padding-top: 66px; }
  .pvc-hero__visual { min-height: 430px; }
  .pvc-hero-logo-card { width: 90%; min-height: 300px; padding: 42px 25px; border-radius: 35px 75px 35px 75px; }
  .pvc-float-card { min-width: 165px; padding: 10px; }
  .pvc-float-card--one { right: 0; }
  .pvc-float-card--two { left: 0; bottom: 45px; }
  .pvc-float-card--three { display: none; }
  .pvc-trust-strip { grid-template-columns: repeat(2, 1fr); margin-top: 48px; }
  .pvc-service-grid, .pvc-product-grid, .pvc-pathway-grid, .pvc-archive-grid, .pvc-post-grid { grid-template-columns: 1fr; }
  .pvc-service-card { min-height: 275px; }
  .pvc-products-cta { align-items: flex-start; flex-direction: column; }
  .pvc-form-grid { grid-template-columns: 1fr; }
  .pvc-cta-panel { display: block; }
  .pvc-cta-panel__mark { width: 70px; height: 70px; margin-bottom: 25px; }
  .pvc-cta-panel .pvc-button-row { margin-top: 25px; }
  .pvc-footer__grid { grid-template-columns: 1fr; }
  .pvc-footer__grid > :last-child { grid-column: auto; }
  .pvc-footer__bottom { align-items: flex-start; flex-direction: column; }
  .pvc-story-art { min-height: 360px; }
}

@media (max-width: 480px) {
  h1 { font-size: 2.62rem; }
  h2 { font-size: 2.12rem; }
  .pvc-button-row { align-items: stretch; flex-direction: column; }
  .pvc-button { width: 100%; }
  .pvc-hero__microcopy { align-items: flex-start; }
  .pvc-trust-strip { grid-template-columns: 1fr; }
  .pvc-hero-visual { min-height: 380px; }
  .pvc-hero-logo-card { min-height: 260px; }
  .pvc-float-card--two { bottom: 20px; }
  .pvc-process-list li { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .pvc-js [data-reveal] { opacity: 1; transform: none; }
}
