/* YDS Integrated Services - authoritative corporate presentation layer.
   Loaded after the legacy component layer while the static pages are migrated. */

:root {
  --yds-black: #050505;
  --yds-ink: #171717;
  --yds-ink-2: #2f3130;
  --yds-gold: #d8a62b;
  --yds-gold-dark: #a9780d;
  --yds-gold-soft: #f7edcf;
  --yds-paper: #ffffff;
  --yds-paper-warm: #f7f6f2;
  --yds-line: #d8d6cf;
  --yds-muted: #5c605e;
  --charcoal: var(--yds-ink);
  --charcoal-90: #242525;
  --charcoal-70: #555957;
  --gold: var(--yds-gold);
  --gold-dark: var(--yds-gold-dark);
  --gold-soft: var(--yds-gold-soft);
  --green: var(--yds-gold-dark);
  --green-dark: var(--yds-ink);
  --green-soft: var(--yds-gold-soft);
  --g: var(--yds-gold-dark);
  --g-deep: var(--yds-black);
  --g-dark: var(--yds-ink);
  --g-soft: var(--yds-gold-soft);
  --y: var(--yds-gold);
  --y-dark: var(--yds-gold-dark);
  --cream: var(--yds-paper-warm);
  --ink: var(--yds-ink);
  --muted: var(--yds-muted);
  --deep: var(--yds-black);
  --deep-2: var(--yds-ink);
  --deep-soft: #efefed;
  --ivory: var(--yds-paper-warm);
  --ivory-2: #efeee9;
  --white: var(--yds-paper);
  --gray: var(--yds-muted);
  --line: var(--yds-line);
  --font-head: "Segoe UI", Arial, Helvetica, sans-serif;
  --font-body: "Segoe UI", Arial, Helvetica, sans-serif;
  --wrap: 1240px;
  --radius: 8px;
  --radius-sm: 6px;
  --shadow-sm: 0 10px 28px rgba(5, 5, 5, .07);
  --shadow-md: 0 18px 46px rgba(5, 5, 5, .12);
}

html { scroll-padding-top: 104px; }
body {
  color: var(--yds-ink);
  background: var(--yds-paper);
  font-size: 1rem;
  line-height: 1.65;
  letter-spacing: 0;
}
body, button, input, select, textarea { letter-spacing: 0; }
h1, h2, h3, h4 {
  color: var(--yds-ink);
  line-height: 1.12;
  letter-spacing: 0;
}
h1 { font-size: 3.05rem; }
h2 { font-size: 2.35rem; }
h3 { font-size: 1.3rem; }
p { max-width: 72ch; }
a { color: #725008; text-underline-offset: .18em; }
a:hover { color: var(--yds-gold-dark); }
section { padding: 84px 0; }
.wrap { padding-inline: 28px; }
.muted { color: var(--yds-muted); }
.bg-ivory2 { background: var(--yds-paper-warm); }
.bg-charcoal, .cta-final { background: var(--yds-black); }
.center p { margin-inline: auto; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  color: var(--yds-black);
  background: var(--yds-gold);
  border: 2px solid var(--yds-black);
  transform: translateY(-180%);
}
.skip-link:focus { transform: none; }

/* Corporate shell */
.util-bar {
  color: #f4f4f2;
  background: #000;
  border-bottom: 1px solid rgba(216, 166, 43, .3);
}
.util-bar .wrap {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.util-contact { display: flex; align-items: center; gap: 22px; }
.util-bar a {
  color: #f4f4f2;
  font-size: .78rem;
  font-weight: 650;
}
.util-bar a:hover, .util-bar a:focus-visible { color: var(--yds-gold); }
body.yds-site .site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  background: rgba(5, 5, 5, .98);
  border-bottom: 1px solid rgba(216, 166, 43, .44);
  box-shadow: 0 8px 28px rgba(0, 0, 0, .2);
  backdrop-filter: blur(10px);
}
.nav {
  grid-template-columns: minmax(112px, 126px) minmax(0, 1fr) auto;
  min-height: 88px;
  gap: 20px;
  padding-block: 7px;
}
.brand--approved {
  display: block;
  width: 124px;
  min-width: 112px;
  text-decoration: none;
}
.brand--approved img,
.yds-approved-logo {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.primary-navigation { justify-self: end; }
.nav-links { gap: 2px; }
.nav-links a, .desktop-menu-toggle {
  color: #f5f5f3;
  font-size: .79rem;
  font-weight: 700;
}
.nav-links > li > a, .desktop-menu-toggle {
  border-radius: 4px;
  padding: 10px 9px;
}
.nav-links a:hover, .desktop-menu-toggle:hover,
.nav-links > li > a[aria-current="page"],
.desktop-menu-toggle[aria-current="page"] {
  color: var(--yds-gold);
  background: rgba(216, 166, 43, .08);
}
.nav-dropdown {
  border-radius: 6px;
  border-color: #b9b7af;
  box-shadow: 0 24px 54px rgba(0, 0, 0, .22);
}
.nav-dropdown a { border-radius: 3px; color: var(--yds-ink); }
.nav-dropdown a:hover, .nav-dropdown a:focus-visible {
  color: var(--yds-black);
  background: var(--yds-gold-soft);
}
.nav-cta .btn { min-width: 132px; }
body.yds-site .mobile-nav { background: var(--yds-black); }
.mobile-nav a, .mobile-section-toggle { color: #f8f8f5; }
.mobile-accordion-panel { border-left-color: var(--yds-gold); }

/* Controls */
.btn {
  min-height: 48px;
  padding: 13px 20px;
  border-radius: 4px;
  border-width: 1px;
  font-size: .94rem;
  box-shadow: none;
}
.btn:hover { transform: translateY(-1px); }
.btn-gold {
  color: var(--yds-black);
  background: var(--yds-gold);
  border-color: var(--yds-gold);
}
.btn-gold:hover { color: var(--yds-black); background: #e4b63e; }
.btn-dark, .btn-green { color: #fff; background: var(--yds-black); }
.btn-dark:hover, .btn-green:hover { color: #fff; background: var(--yds-ink-2); }
.btn-ghost { color: var(--yds-ink); border-color: var(--yds-ink); }
.btn-ghost:hover { color: #fff; background: var(--yds-ink); }
.site-header .btn-gold { color: var(--yds-black); }

/* Hero system */
.hero { background: var(--yds-black); }
.hero::after { display: none; }
.hero .wrap { padding-block: 72px; }
.hero h1 { max-width: 19ch; color: #fff; }
.hero p.lead { color: #e5e5e1; max-width: 58ch; }
.hero .btn-ghost { color: #fff; border-color: rgba(255, 255, 255, .68); }
.hero .btn-ghost:hover { color: var(--yds-black); background: #fff; }
.visual-hero {
  min-height: 640px;
  background: var(--yds-black);
}
.visual-hero::before {
  background: linear-gradient(90deg, rgba(0,0,0,.34) 0%, rgba(0,0,0,.20) 46%, rgba(0,0,0,.06) 100%);
}
.visual-hero::after { display: none; }
.visual-hero .wrap {
  min-height: 640px;
  padding-block: 44px;
}
.visual-hero h1 { max-width: 18ch; color: #fff; font-size: 2.85rem; }
.visual-hero p.lead { color: #f0f0ed; font-size: 1.08rem; line-height: 1.55; }
.visual-hero--center::before { background: rgba(0, 0, 0, .20); }
.hero-approved-logo {
  width: min(100%, 240px);
  margin: 0 0 18px;
}
.hero-approved-logo img { display: block; width: 100%; height: auto; object-fit: contain; }
.hero-proof {
  border-top: 3px solid var(--yds-gold);
  background: rgba(5, 5, 5, .68);
  color: #f4f4f1;
  padding: 24px;
}
.hero-proof h2, .hero-proof h3 { color: #fff; }
.hero-proof ul { list-style: none; padding: 0; margin: 12px 0 0; }
.hero-proof li { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
.hero-proof li:last-child { border-bottom: 0; }
.kicker, .eyebrow, .eyebrow-light {
  color: #845d07;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.hero .kicker, .hero .eyebrow, .bg-charcoal .kicker, .cta-final .kicker { color: #f0c556; }

/* Content surfaces */
.sec-head { max-width: 780px; }
.sec-head.center { margin-inline: auto; }
.card, .division-card, .pathway-card, .principle-card,
.quote-card, .yd-service-card, .yd-form-card, .plan,
.svc-card, .goose-dashboard-card, .goose-factor-card,
.service-area-card, .offer-panel {
  border-radius: 8px;
  border: 1px solid var(--yds-line);
  background: #fff;
  box-shadow: var(--shadow-sm);
}
.card, .division-card, .pathway-card, .principle-card,
.yd-service-card, .svc-card { padding: 26px; }
.division-card, .pathway-card, .principle-card, .yd-service-card {
  transition: border-color .18s ease, box-shadow .18s ease;
}
@media (hover:hover) {
  .division-card:hover, .pathway-card:hover, .principle-card:hover, .yd-service-card:hover {
    border-color: var(--yds-gold);
    box-shadow: var(--shadow-md);
  }
}
.division-card::before, .cap-card::before { background: var(--yds-gold); }
.service-pillar-links { display: grid; gap: 0; margin-top: 18px; border-top: 1px solid var(--yds-line); }
.service-pillar-links a { padding: 10px 0; border-bottom: 1px solid var(--yds-line); font-weight: 700; }
.service-pillar-links a:last-child { border-bottom: 0; }
.pathway-card a { color: #725008; }
.pill, .yd-area-list li {
  color: var(--yds-ink);
  background: #fff;
  border: 1px solid #bdbbb4;
  border-radius: 999px;
}
.premium-strip > div {
  border-radius: 6px;
  border-top: 3px solid var(--yds-gold);
  box-shadow: var(--shadow-sm);
}
.client-band { color: #fff; background: var(--yds-black); }
.client-band h2 { color: #fff; }
.client-band .pill { color: #fff; background: transparent; border-color: rgba(216,166,43,.48); }
.standards li { border-radius: 6px; }
.standards li::before { color: var(--yds-gold-dark); }
.icon-badge { border-radius: 6px; background: var(--yds-gold-soft); color: var(--yds-gold-dark); }

/* Forms and interactive content */
input, select, textarea {
  min-height: 48px;
  color: var(--yds-ink);
  background: #fff;
  border-color: #aaa9a3;
  border-radius: 4px;
}
textarea { min-height: 112px; }
input:hover, select:hover, textarea:hover { border-color: #6c6d69; }
input:focus, select:focus, textarea:focus {
  border-color: var(--yds-gold-dark);
  box-shadow: 0 0 0 3px rgba(216, 166, 43, .25);
}
.choice label { border-radius: 4px; }
.choice input:checked + label { background: var(--yds-gold-soft); border-color: var(--yds-gold-dark); }
.quote-card, .yd-form-card { border-top: 4px solid var(--yds-gold); }
.quote-note, .yd-policy { background: var(--yds-gold-soft); border-color: var(--yds-gold); }
.quote-summary { background: #f2f3f1; border-color: #9ca19d; }
.progress span { height: 5px; border-radius: 0; }
.progress span.active, .progress span.done { background: var(--yds-gold); }
.faq details { border-radius: 6px; }
.faq summary::after { color: var(--yds-gold-dark); }

/* Animal-waste service stays visually subordinate to the corporate shell. */
.yd-hero { background: #151515; }
.yd-quick-nav { background: var(--yds-gold-soft); border-color: #c49628; }
.yd-quick-nav a { border-radius: 4px; color: var(--yds-ink); }
.yd-opportunity-card { color: #fff; background: var(--yds-black); border-radius: 8px; }
.yd-opportunity-card h3 { color: var(--yds-gold); }
.yd-hero-media { border-radius: 8px; background: rgba(255,255,255,.08); }
.yd-hero-media picture, .yd-hero-media img { border-radius: 4px; }
.goose-page .hero, .service-area-page .hero { background: var(--yds-black); }
.goose-page .home-hero { background: var(--yds-paper-warm); }
.service-area-page .home-hero { background: var(--yds-paper-warm); }
.service-area-hero > .wrap > section { padding: 0; }
.goose-property-map { background: var(--yds-paper-warm); }
.goose-map-path { background: #fff; border-color: rgba(216,166,43,.35); }
.goose-map-water { background: #e8ecee; border-color: rgba(23,23,23,.16); }
.goose-panel-list span { border-radius: 4px; border: 1px solid #d5b761; }
.service-map-card, .service-area-map, .service-coverage-panel, .coverage-step,
.goose-property-panel, .goose-property-map, .goose-operations-panel,
.goose-dashboard, .commercial-dashboard, .commercial-map,
.commercial-trust-panel, .commercial-zone-card, .commercial-profile-card,
.commercial-timeline-card, .goose-timeline-card, .offer-detail, .offer-disclaimer,
.property-photo-row picture, .photo-frame { border-radius: 8px; }
.goose-dashboard-card, .goose-factor-card, .selector-icon, .map-chip, .goose-zone { border-radius: 6px; }
.service-coverage-panel, .goose-operations-panel, .commercial-trust-panel,
.commercial-profile-card, .goose-dashboard-card, .offer-panel { background: #fff; }
.legend-primary { background: var(--yds-ink); box-shadow: 0 0 0 5px rgba(23,23,23,.16); }
.legend-route { background: var(--yds-gold); box-shadow: 0 0 0 5px rgba(216,166,43,.22); }
.legend-expansion { border-color: var(--yds-ink); }

/* Document view */
.page-capability-statement { background: var(--yds-paper-warm); }
.doc-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  padding: 18px 28px;
  background: var(--yds-black);
  border-bottom: 1px solid rgba(216,166,43,.4);
}
.doc-toolbar .btn-ghost { color: #fff; border-color: #8f8f89; }
.doc-toolbar .btn-ghost:hover { color: var(--yds-black); background: #fff; }
.page-capability-statement .sheet {
  width: min(calc(100% - 40px), 1040px);
  margin: 42px auto 64px;
  padding: clamp(24px, 4vw, 52px);
  border-radius: 0;
  border-top: 5px solid var(--yds-gold);
  background: #fff;
  box-shadow: var(--shadow-md);
}
.page-capability-statement .sheet section { padding: 0; }
.cs-head {
  display: grid;
  grid-template-columns: minmax(170px, 230px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 4vw, 46px);
  padding: clamp(24px, 4vw, 42px);
  color: #fff;
  background: var(--yds-black);
}
.cs-head img { display: block; width: 100%; height: auto; object-fit: contain; }
.cs-head h1 { margin: 4px 0 8px; color: #fff; }
.cs-head .doc-type { margin: 0; color: var(--yds-gold); font-size: .78rem; font-weight: 800; text-transform: uppercase; }
.cs-head .doc-sub { margin: 0; color: #e4e4df; font-weight: 650; }
.cs-overview { margin: 30px 0 34px; padding-bottom: 26px !important; border-bottom: 1px solid var(--yds-line); }
.cs-overview p { margin: 0 0 10px; }
.cs-overview p:last-child { margin-bottom: 0; }
.cs-cols { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .85fr); gap: 42px; }
.cs h2, h2.cs { margin: 0 0 14px; padding-bottom: 8px; border-bottom: 2px solid var(--yds-gold); font-size: 1.12rem; }
.comp { margin: 0 0 14px; }
.comp b { color: var(--yds-ink); }
.comp .no, .cs-foot .scope { color: var(--yds-muted); }
.side-block { margin: 0 0 26px; }
.side-block p { margin: 0; }
.tick { list-style: none; margin: 0; padding: 0; }
.tick li { position: relative; margin: 0 0 10px; padding-left: 20px; }
.tick li::before { content: ""; position: absolute; top: .62em; left: 0; width: 8px; height: 8px; background: var(--yds-gold); }
.pills { display: flex; flex-wrap: wrap; gap: 7px; }
.pills span { padding: 4px 9px; color: var(--yds-ink); background: var(--yds-gold-soft); border: 1px solid #d5b761; border-radius: 999px; font-size: .78rem; font-weight: 700; }
.avail { padding: 20px; background: var(--yds-paper-warm); border: 1px solid var(--yds-line); }
.cdata { padding: 22px; color: #eee; background: var(--yds-black); }
.cdata h2.cs { color: var(--yds-gold); }
.cdata table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.cdata td { padding: 5px 0; vertical-align: top; }
.cdata td:first-child { width: 38%; padding-right: 10px; color: #bbb; font-weight: 700; }
.cdata a { color: var(--yds-gold); }
.cs-foot { margin-top: 34px; padding-top: 24px; border-top: 2px solid var(--yds-gold); }
.cs-foot .tag { margin: 0 0 12px; font-weight: 800; }
.cs-foot .scope { margin: 0 0 9px; font-size: .84rem; }

/* Footer */
.cta-final h2 { color: #fff; }
.cta-final p { color: #d9d9d5; }
.site-footer {
  color: #d6d6d2;
  background: var(--yds-black);
  border-top: 1px solid rgba(216,166,43,.45);
}
.footer-grid { grid-template-columns: 1.45fr repeat(4, minmax(0, 1fr)); gap: 34px; }
.footer-brand .brand--approved { width: 190px; margin-bottom: 18px; }
.footer-brand p { max-width: 38ch; }
.site-footer h4 { color: #fff; }
.site-footer a { color: #d6d6d2; }
.site-footer a:hover, .site-footer a:focus-visible { color: var(--yds-gold); }
.site-footer a[href="service-areas.html"] { display: none !important; }
.site-footer li:has(> a[href="service-areas.html"]) { display: none !important; }
.footer-bottom { border-top-color: rgba(216,166,43,.25); }
.sticky-cta { display: none !important; }

/* Accessibility and motion */
:focus-visible { outline: 3px solid var(--yds-gold); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media (max-width: 1119px) {
  .nav { grid-template-columns: 112px 1fr auto; min-height: 80px; }
  .brand--approved { width: 112px; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .footer-brand { grid-column: 1 / -1; }
}

@media (min-width: 900px) and (max-width: 1119px) {
  .visual-hero, .visual-hero .wrap { min-height: 580px; }
  .hero-approved-logo { width: min(100%, 200px); }
  .visual-hero h1 { font-size: 2.45rem; }
  .visual-hero p.lead { font-size: 1rem; }
}

@media (max-width: 899px) {
  h1 { font-size: 2.55rem; }
  h2 { font-size: 2rem; }
  section { padding: 68px 0; }
  .visual-hero { min-height: 560px; }
  .visual-hero .wrap, .visual-hero--center .wrap {
    min-height: 560px;
    padding-block: 52px;
    align-content: end;
  }
  .visual-hero::before {
    background: linear-gradient(0deg, rgba(0,0,0,.42) 0%, rgba(0,0,0,.22) 58%, rgba(0,0,0,.06) 100%);
  }
  .visual-hero--center::before { background: rgba(0,0,0,.20); }
  .visual-hero--home .wrap > div:last-child { display: none; }
  .hero-approved-logo { width: min(100%, 270px); }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 82px; }
  .wrap { padding-inline: 20px; }
  .util-contact a:last-child { display: none; }
  .util-bar .wrap { min-height: 30px; }
  .util-vendor { display: none; }
  .nav { min-height: 76px; grid-template-columns: 104px 1fr auto; gap: 10px; }
  .brand--approved { width: 104px; min-width: 104px; }
  .menu-toggle { padding: 10px 4px 10px 12px; }
  .mobile-nav { max-height: calc(100vh - 76px); }
  h1 { font-size: 2.15rem; }
  h2 { font-size: 1.75rem; }
  h3 { font-size: 1.2rem; }
  section { padding: 56px 0; }
  .hero .wrap { padding-block: 50px; }
  .visual-hero { min-height: 600px; }
  .visual-hero .wrap, .visual-hero--center .wrap { min-height: 600px; padding-block: 34px; }
  .hero-approved-logo { width: min(100%, 230px); margin-bottom: 12px; }
  .visual-hero h1 { font-size: 1.95rem; }
  .visual-hero p.lead { font-size: .96rem; line-height: 1.55; }
  .hero-cta .btn { width: 100%; justify-content: center; }
  .premium-strip { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 26px; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { align-items: flex-start; gap: 8px; }
  .goose-page .home-hero .hero-media { display: none; }
  .service-area-page .service-area-hero .hero-benefit-row { display: none; }
  .doc-toolbar { padding: 14px 20px; }
  .doc-toolbar .btn { width: 100%; justify-content: center; }
  .page-capability-statement .sheet { width: calc(100% - 24px); margin: 24px auto 42px; padding: 20px; }
  .cs-head { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .cs-head .hlogo { max-width: 190px; }
  .cs-head h1 { font-size: 1.8rem; }
  .cs-cols { grid-template-columns: 1fr; gap: 30px; }
  .cdata { padding: 18px; }
  .cdata table, .cdata tbody, .cdata tr, .cdata td { display: block; width: 100%; }
  .cdata tr { padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .cdata tr:last-child { border-bottom: 0; }
  .cdata td:first-child { width: 100%; padding: 0; }
}

@media (max-width: 360px) {
  .wrap { padding-inline: 16px; }
  h1 { font-size: 1.95rem; }
  .nav { grid-template-columns: 94px 1fr auto; }
  .brand--approved { width: 94px; min-width: 94px; }
  .visual-hero .wrap, .visual-hero--center .wrap { padding-block: 22px; }
  .hero-approved-logo { width: 180px; margin-bottom: 8px; }
  .visual-hero h1 { font-size: 1.75rem; }
  .visual-hero p.lead { font-size: .9rem; line-height: 1.45; }
  .visual-hero--home .hero-cta .btn-ghost { display: none; }
  .page-index .visual-hero + section { padding-top: 28px; }
  .card, .division-card, .pathway-card, .principle-card, .yd-service-card, .svc-card { padding: 20px; }
}

@media print {
  .util-bar, .site-header, .site-footer, .sticky-cta, .doc-toolbar { display: none !important; }
  body { background: #fff; }
  .page-capability-statement .sheet { width: 100%; margin: 0; padding: .35in; box-shadow: none; border: 0; }
}
