:root {
  --seo-ink: #181818;
  --seo-paper: #fff;
  --seo-mint: #37e2c2;
  --seo-blue: #8daefc;
  --seo-violet: #6f2496;
  --seo-magenta: #d70062;
  --seo-line: #d9d9d9;
}

.seo-page, .seo-overview { background: var(--seo-paper); color: var(--seo-ink); }
.seo-wrap { width: min(calc(100% - 40px), 1180px); margin-inline: auto; }

.seo-hero { padding: clamp(3rem, 6vw, 6rem) 0 clamp(2.5rem, 5vw, 5rem); }
.seo-hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(24rem, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.seo-hero-copy h1, .seo-overview-hero h1 {
  max-width: 9ch; margin: 0 0 1.5rem; font-size: clamp(3.7rem, 8vw, 7.6rem); font-weight: 860; line-height: .86; letter-spacing: -.07em;
}
.seo-hero-copy > p { max-width: 53ch; margin: 0 0 2rem; font-size: clamp(1rem, 1.35vw, 1.22rem); line-height: 1.55; }
.seo-primary, .seo-secondary {
  display: inline-flex; min-height: 3.4rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1.15rem; border: 2px solid var(--seo-ink); background: var(--seo-mint); color: var(--seo-ink); font-size: .95rem; font-weight: 780; text-decoration: none;
}
.seo-primary:hover, .seo-primary:focus-visible { background: var(--seo-blue); }
.seo-hero-media { position: relative; margin: 0; }
.seo-hero-media::before { position: absolute; z-index: 0; width: 58%; aspect-ratio: 1; top: -14%; left: -10%; border-radius: 50%; background: var(--seo-mint); content: ''; }
.seo-hero-media img { position: relative; z-index: 1; width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; filter: grayscale(1); }
.seo-hero-media figcaption { position: relative; z-index: 2; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; padding-top: .75rem; font-size: .875rem; }
.seo-hero-media figcaption span { color: #666; }

.seo-service-nav { position: sticky; z-index: 50; top: 0; overflow: hidden; border-block: 1px solid var(--seo-line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.seo-service-nav .seo-wrap { display: flex; overflow-x: auto; scrollbar-width: none; }
.seo-service-nav a { flex: 0 0 auto; padding: 1rem 1.15rem; color: #555; font-size: .875rem; font-weight: 700; text-decoration: none; }
.seo-service-nav a:first-child { padding-left: 0; }
.seo-service-nav a[aria-current='page'] { color: var(--seo-ink); text-decoration: underline; text-decoration-color: var(--seo-mint); text-decoration-thickness: .28rem; text-underline-offset: .42rem; }

.seo-statement { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--seo-ink); color: #fff; }
.seo-statement h2 { max-width: 20ch; margin: 0; font-size: clamp(2.35rem, 5vw, 5.2rem); line-height: .98; letter-spacing: -.05em; }

.seo-production { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.seo-production-heading { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(2rem, 6vw, 7rem); align-items: end; margin-bottom: clamp(2.5rem, 5vw, 4.5rem); }
.seo-production h2, .seo-packages h2, .seo-proofs h2, .seo-details h2 { margin: 0; font-size: clamp(2.6rem, 5.2vw, 5.4rem); line-height: .95; letter-spacing: -.055em; }
.seo-production-heading p { max-width: 35ch; margin: 0; font-size: 1.05rem; line-height: 1.55; }
.seo-production-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--seo-ink); }
.seo-production-list li { display: grid; grid-template-columns: 4rem minmax(12rem, .7fr) minmax(0, 1.3fr); gap: 1.25rem; align-items: baseline; padding: 1.45rem 0; border-bottom: 1px solid var(--seo-line); }
.seo-production-list span { color: #777; font-size: .78rem; font-weight: 800; }
.seo-production-list h3 { margin: 0; font-size: clamp(1.35rem, 2.1vw, 2rem); line-height: 1.1; }
.seo-production-list p { margin: 0; font-size: 1.02rem; line-height: 1.5; }

.seo-details { padding: clamp(4rem, 8vw, 7.5rem) 0; background: #eef6f5; }
.seo-details-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.seo-details h2 { margin: 0; }
.seo-details ul { margin: 0; padding-left: 1.15rem; }
.seo-details li { padding: 1rem 0; border-bottom: 1px solid #a9bcb9; font-size: clamp(1.05rem, 1.6vw, 1.35rem); line-height: 1.4; }

.seo-proofs { padding: clamp(4rem, 8vw, 7.5rem) 0; }
.seo-proof-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.1rem; }
.seo-proof { color: var(--seo-ink); text-decoration: none; }
.seo-proof img { width: 100%; height: auto; aspect-ratio: 16/9; object-fit: cover; filter: grayscale(1); transition: filter .2s ease; }
.seo-proof:hover img, .seo-proof:focus-visible img { filter: grayscale(0); }
.seo-proof > span, .seo-proof small { display: block; margin-top: .8rem; color: #666; font-size: .78rem; }
.seo-proof h3 { margin: .35rem 0; font-size: 1.35rem; line-height: 1.15; }
.seo-proof p { margin: 0; line-height: 1.5; }
.seo-secondary { margin-top: 2.25rem; background: #fff; }
.seo-secondary:hover, .seo-secondary:focus-visible { background: var(--seo-mint); }

.seo-packages { padding: clamp(4rem, 8vw, 7.5rem) 0; background: #f3f3f3; }
.seo-package-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(2rem, 6vw, 7rem); align-items: start; }
.seo-package-heading { position: sticky; top: 5rem; }
.seo-package-heading p { max-width: 38ch; margin: 1.5rem 0 0; line-height: 1.55; }
.seo-package-heading .seo-secondary { margin-top: 1.75rem; }
.seo-package-list { border-top: 1px solid var(--seo-ink); }
.seo-package-row { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(13rem, 1.2fr); gap: 1.25rem 2rem; padding: 1.5rem 0; border-bottom: 1px solid #bdbdbd; }
.seo-package-row > div > p { margin: 0 0 .45rem; font-size: .75rem; font-weight: 850; letter-spacing: .08em; }
.seo-package-row h3 { margin: 0; font-size: clamp(1.05rem, 1.55vw, 1.35rem); line-height: 1.25; }
.seo-package-row ul { margin: 0; padding-left: 1.1rem; }
.seo-package-row li { margin-bottom: .35rem; line-height: 1.4; }
.seo-package-row > strong { grid-column: 1 / -1; font-size: clamp(1.25rem, 2vw, 1.7rem); line-height: 1.1; }
.seo-price-note { grid-column: 2; margin: .8rem 0 0; color: #666; font-size: .875rem; }

.seo-contact { padding: clamp(4rem, 9vw, 9rem) 0; background: var(--seo-ink); color: #fff; }
.seo-contact-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: clamp(2rem, 7vw, 8rem); align-items: end; }
.seo-contact h2 { max-width: 13ch; margin: 0; font-size: clamp(3rem, 6vw, 6.2rem); line-height: .9; letter-spacing: -.06em; }
.seo-contact p { max-width: 35ch; margin: 0 0 1.5rem; font-size: 1.1rem; line-height: 1.55; }

.seo-overview-hero { padding: clamp(4rem, 9vw, 9rem) 0; background: var(--seo-ink); color: #fff; }
.seo-overview-hero p { margin: 0; color: var(--seo-mint); font-size: clamp(1.25rem, 2.5vw, 2.2rem); font-weight: 700; }
.seo-overview-list { padding: 1rem 0 clamp(4rem, 8vw, 8rem); }
.seo-overview-list a { display: grid; grid-template-columns: 4rem 1fr auto; gap: 1.25rem; align-items: center; padding: 2rem 0; border-bottom: 1px solid var(--seo-line); color: var(--seo-ink); text-decoration: none; }
.seo-overview-list a:hover, .seo-overview-list a:focus-visible { color: var(--seo-violet); }
.seo-overview-list span { color: #777; font-size: .78rem; }
.seo-overview-list h2 { margin: 0; font-size: clamp(2rem, 5vw, 5rem); letter-spacing: -.05em; }
.seo-locked { display: grid; min-height: calc(100svh - 144px); place-content: center; gap: 1rem; padding: 2rem; background: var(--seo-ink); color: #fff; text-align: center; }
.seo-locked h1 { margin: 0; font-size: clamp(3rem, 8vw, 7rem); }
.seo-locked a { color: var(--seo-mint); }

@media (max-width: 850px) {
  .seo-hero-grid, .seo-production-heading, .seo-details-grid, .seo-package-layout, .seo-contact-grid { grid-template-columns: 1fr; }
  .seo-hero-media { width: min(100%, 42rem); }
  .seo-proof-grid { grid-template-columns: 1fr; }
  .seo-package-heading { position: static; }
  .seo-price-note { grid-column: 1; }
  .seo-contact-grid { align-items: start; }
}

@media (max-width: 550px) {
  .seo-wrap { width: min(calc(100% - 28px), 1180px); }
  .seo-hero-copy h1, .seo-overview-hero h1 { font-size: clamp(3rem, 14vw, 5.2rem); }
  .seo-primary { width: 100%; }
  .seo-service-nav .seo-wrap { flex-wrap: wrap; overflow: visible; }
  .seo-service-nav a { flex: 1 0 50%; padding: .7rem .75rem; }
  .seo-service-nav a:first-child { padding-left: .75rem; }
  .seo-overview-list a { grid-template-columns: 2.4rem 1fr auto; gap: .75rem; }
  .seo-production-list li { grid-template-columns: 2.4rem 1fr; gap: .5rem .75rem; }
  .seo-production-list p { grid-column: 2; }
  .seo-package-row { grid-template-columns: 1fr; }
  .seo-package-row > strong { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .seo-proof img { transition: none; }
}

/* Native WordPress production pages; editorial text lives in page content. */
.avr-pf-service * { box-sizing: border-box; }
.avr-pf-service .seo-page { font-family: var(--font-sans); }
.avr-pf-service .seo-page h1, .avr-pf-service .seo-page h2, .avr-pf-service .seo-page h3 { text-transform: none; overflow-wrap: normal; hyphens: none; }
.avr-pf-service .seo-hero { padding-block: 2rem 3.5rem; }
.avr-pf-service .seo-breadcrumb { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 2rem; font-size: .875rem; }
.avr-pf-service .seo-hero-copy h1 { font-size: clamp(2.8rem, 5.2vw, 5.4rem); line-height: 1; letter-spacing: -.045em; max-width: 100%; }
.avr-pf-service .seo-hero-media::before { display: none; }
.avr-pf-service .seo-hero-media video, .avr-pf-service .seo-hero-media img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: contain; filter: none; background: #181818; }
.avr-pf-service .seo-hero-media figcaption { font-size: .875rem; line-height: 1.4; }
.avr-pf-service .seo-page section { padding-block: clamp(2.5rem, 4vw, 4rem); }
.avr-pf-service .seo-statement h2 { max-width: 34ch; font-size: clamp(1.8rem, 3.2vw, 3.1rem); line-height: 1.15; }
.avr-pf-service .seo-production h2, .avr-pf-service .seo-details h2, .avr-pf-service .seo-proofs h2, .avr-pf-service .seo-packages h2 { font-size: clamp(2rem, 3.5vw, 3.4rem); line-height: 1.08; }
.avr-pf-service .seo-production-heading { gap: 2rem; margin-bottom: 2rem; }
.avr-pf-service .seo-production-list span, .avr-pf-service .seo-package-row > div > p { font-size: .875rem; }
.avr-pf-service .seo-proofs h2 { margin-bottom: 1.5rem; }
.avr-pf-service .seo-proof-grid { align-items: start; grid-template-columns: repeat(auto-fit,minmax(280px,1fr)); }
.avr-pf-service .seo-proof { border: 1px solid #d9d9d9; padding-bottom: 1.2rem; }
.avr-pf-service .seo-proof > :not(video):not(img) { margin-left: 1rem; margin-right: 1rem; }
.avr-pf-service .seo-proof video, .avr-pf-service .seo-proof img { display: block; width: 100%; height: auto; aspect-ratio: 16/10; object-fit: contain; filter: none; background: #181818; }
.avr-pf-service .seo-proof > span, .avr-pf-service .seo-proof small { font-size: .875rem; }
.avr-pf-service .seo-proof > a { display: inline-flex; align-items: center; min-height: 44px; margin-top: .75rem; font-weight: 750; }
.avr-pf-service .seo-package-layout { gap: 2rem 3rem; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); }
.avr-pf-service .seo-package-row { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 1rem; }
.avr-pf-service .seo-contact h2 { max-width: 18ch; font-size: clamp(2rem,4vw,4rem); line-height: 1.08; }
.avr-pf-service .seo-primary, .avr-pf-service .seo-secondary { color: #181818; }
.avr-pf-service .seo-page [id] { scroll-margin-top: 5rem; }
.avr-pf-service-footer { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem; padding:2rem max(20px,calc((100% - 1180px)/2)); background:#181818; color:#fff; font-size:.875rem; }
.avr-pf-service-footer nav { display:flex; gap:1.5rem; }
@media(max-width:850px) { .avr-pf-service .seo-package-layout { grid-template-columns: 1fr; } .avr-pf-service .seo-proof-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:550px) { .avr-pf-service .seo-hero-grid { gap:2rem; } .avr-pf-service .seo-proof-grid, .avr-pf-service .seo-package-row { grid-template-columns: 1fr; } .avr-pf-service .seo-service-nav { position:static; } .avr-pf-service .seo-primary, .avr-pf-service .seo-secondary { font-size:1rem; line-height:1.4; } }
