/*
Theme Name: PyleDesignz Studio
Theme URI: https://pyledesignz.com
Author: PyleDesignz
Author URI: https://pyledesignz.com
Description: A fast, modern block theme for PyleDesignz - growth marketing, websites, and custom software.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.1
Version: 0.11.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pyledesignz
*/

:root {
  --pd-ink: #11140f;
  --pd-ink-soft: #292d26;
  --pd-dark: #101516;
  --pd-cream: #f5f0e7;
  --pd-paper: #fffdf8;
  --pd-copper: #d45f20;
  --pd-copper-dark: #9d4318;
  --pd-moss: #b7d36b;
  --pd-blue: #526cff;
  --pd-blue-deep: #2837a8;
  --pd-muted: #656a60;
  --pd-line: rgba(17, 20, 15, 0.16);
  --pd-line-light: rgba(255, 253, 248, 0.18);
  --pd-content: min(1180px, calc(100% - 40px));
  --pd-wide: min(1400px, calc(100% - 48px));
  --pd-reading: 700px;
  --pd-section: clamp(5.5rem, 8vw, 8rem);
  --pd-gap: clamp(2.5rem, 5vw, 5.5rem);
  --pd-radius-sm: 8px;
  --pd-radius-card: 16px;
  --pd-radius-pill: 999px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--pd-cream);
  color: var(--pd-ink);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
body.admin-bar .pd-header { top: 32px; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
.pd-home section { scroll-margin-top: 92px; }
.pd-wrap { width: var(--pd-content); margin-inline: auto; }
.pd-section { padding-block: var(--pd-section); }
.pd-section--ink { background: var(--pd-dark); color: var(--pd-paper); }
.pd-section--paper { background: var(--pd-paper); }

.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 {
  position: fixed !important;
  z-index: 9999;
  top: 12px;
  left: 12px;
  width: auto;
  height: auto;
  padding: 12px 18px;
  clip: auto;
  background: var(--pd-paper);
  border-radius: var(--pd-radius-sm);
}

.pd-kicker {
  display: flex;
  margin: 0 0 1.4rem;
  align-items: center;
  gap: 16px;
  color: var(--pd-copper-dark);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  line-height: 1.3;
  text-transform: uppercase;
}
.pd-kicker::before { width: 42px; height: 1px; background: var(--pd-copper); content: ""; }
.pd-section--ink .pd-kicker { color: #d8d0c2; }
.pd-section--ink .pd-kicker::before { display: none; }
.pd-display,
.pd-heading,
.pd-capability h3,
.pd-product h3,
.pd-contact h2 {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 850;
  letter-spacing: -0.06em;
  line-height: 0.96;
}
.pd-display { max-width: 760px; font-size: clamp(4rem, 6.15vw, 6.35rem); }
.pd-heading { max-width: 880px; font-size: clamp(2.7rem, 4.6vw, 4.6rem); }
.pd-heading--split span,
.pd-heading--split em { display: block; }
.pd-display em,
.pd-heading--split em,
.pd-case-title em {
  color: var(--pd-copper);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -0.055em;
}
.pd-heading--split em { margin-top: 0.08em; }
.pd-lead { max-width: var(--pd-reading); margin: 1.25rem 0 0; color: var(--pd-muted); font-size: 1.08rem; }
.pd-mini-rule { display: block; width: 38px; height: 2px; margin-top: 1.1rem; background: var(--pd-copper); }

.pd-button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 13px 20px;
  border: 1px solid var(--pd-ink);
  border-radius: var(--pd-radius-pill);
  background: var(--pd-ink);
  color: var(--pd-paper);
  font-size: 0.8rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.pd-button:hover { background: var(--pd-copper); border-color: var(--pd-copper); }
.pd-button--ghost { background: transparent; color: var(--pd-ink); }
.pd-button--ghost:hover { color: var(--pd-paper); }
.pd-button--copper { background: var(--pd-copper); border-color: var(--pd-copper); }
.pd-button--copper:hover { background: var(--pd-ink); border-color: var(--pd-ink); }
.pd-button--light-outline { border-color: rgba(255,255,255,.8); background: transparent; color: #fff; }
.pd-button--light-outline:hover { border-color: var(--pd-ink); background: var(--pd-ink); }
.pd-button--dark-outline { border-color: rgba(255,255,255,.42); background: transparent; color: #fff; }
.pd-button--dark-outline:hover { border-color: var(--pd-copper); }
.pd-play { font-size: 0.72rem; }
.pd-button:focus-visible,
.pd-text-link:focus-visible,
.pd-product-link:focus-visible,
.pd-case-link:focus-visible,
.pd-nav a:focus-visible,
.pd-footer a:focus-visible,
.pd-menu-toggle:focus-visible {
  outline: 3px solid var(--pd-blue);
  outline-offset: 4px;
}

/* Header */
.pd-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid var(--pd-line);
  background: rgba(245, 240, 231, 0.95);
  backdrop-filter: blur(14px);
}
.pd-header .pd-wrap { width: var(--pd-wide); }
.pd-header-inner { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 28px; }
.pd-brand { display: inline-flex; align-items: center; gap: 16px; font-weight: 900; text-decoration: none; }
.pd-brand-mark {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 50%;
  background: var(--pd-ink);
  color: var(--pd-paper);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.05rem;
  font-weight: 400;
  line-height: 1;
}
.pd-brand-copy { display: flex; flex-direction: column; }
.pd-brand-name { font-size: 1.35rem; letter-spacing: -0.04em; line-height: 1.1; }
.pd-brand-copy small { margin-top: 0.35rem; font-size: 0.62rem; font-weight: 800; letter-spacing: 0.18em; line-height: 1; text-transform: uppercase; }
.pd-brand em { color: var(--pd-copper); font-style: normal; }
.pd-nav { display: flex; align-items: center; gap: clamp(18px, 2.6vw, 36px); }
.pd-nav a { font-size: 0.88rem; font-weight: 800; letter-spacing: 0.02em; text-decoration: none; }
.pd-nav .pd-button { min-height: 54px; padding-inline: 26px; }
.pd-nav a:not(.pd-button):hover { color: var(--pd-copper-dark); }
.pd-menu-toggle { display: none; border: 0; background: transparent; font: inherit; font-weight: 800; }

/* Hero */
.pd-hero { overflow: hidden; background: var(--pd-cream); }
.pd-hero-grid {
  display: grid;
  width: var(--pd-wide);
  min-height: 760px;
  margin-inline: auto;
  grid-template-columns: minmax(0, 0.53fr) minmax(0, 0.47fr);
}
.pd-hero-copy {
  position: relative;
  z-index: 3;
  display: flex;
  max-width: 730px;
  flex-direction: column;
  justify-content: center;
  padding: clamp(5rem, 7vw, 7rem) 2rem 2.5rem 0;
}
.pd-display > span,
.pd-display em { display: block; }
.pd-display em { margin-top: 0.08em; line-height: 0.86; }
.pd-hero-rule { width: 42px; height: 2px; margin-top: 2rem; background: var(--pd-copper); }
.pd-hero-copy > p:not(.pd-kicker) {
  max-width: 660px;
  margin: 1.6rem 0 0;
  color: var(--pd-ink-soft);
  font-size: clamp(1.05rem, 1.35vw, 1.18rem);
}
.pd-hero-copy > p strong { color: var(--pd-ink); }
.pd-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem; }
.pd-hero-trust { display: grid; margin: 2.75rem 0 0; padding: 0; grid-template-columns: 0.8fr 1.35fr 1fr; list-style: none; }
.pd-hero-trust li { display: grid; min-width: 0; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; padding-right: 18px; color: var(--pd-muted); font-size: 0.61rem; font-weight: 800; letter-spacing: 0.13em; line-height: 1.45; text-transform: uppercase; }
.pd-hero-trust li + li { padding-left: 18px; border-left: 1px solid var(--pd-line); }
.pd-hero-trust strong { display: block; margin-top: 0.18rem; color: var(--pd-ink); font-size: 0.64rem; }
.pd-trust-icon { color: var(--pd-copper); font-size: 1.15rem; line-height: 1; }
.pd-hero-media { position: relative; min-width: 0; margin-right: calc((100vw - min(1400px, calc(100vw - 48px))) / -2); }
.pd-hero-media::before {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(90deg, var(--pd-cream) 0%, rgba(245, 240, 231, 0.76) 12%, rgba(245, 240, 231, 0) 40%);
  content: "";
  pointer-events: none;
}
.pd-hero-media > img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.pd-system-card {
  position: absolute;
  z-index: 2;
  top: 30%;
  left: 11%;
  width: min(330px, 72%);
  padding: 1.4rem 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 10px;
  background: rgba(13, 19, 20, 0.9);
  box-shadow: 0 22px 48px rgba(8, 12, 12, 0.28);
  color: var(--pd-paper);
  transform: rotate(-1.5deg);
  backdrop-filter: blur(5px);
}
.pd-system-label { margin: 0 0 1rem; color: var(--pd-moss); font-size: 0.6rem; font-weight: 800; letter-spacing: 0.2em; text-align: right; text-transform: uppercase; }
.pd-system-step { display: grid; grid-template-columns: 34px 1fr; gap: 11px; align-items: center; padding: 0.62rem 0; }
.pd-system-step > span { display: grid; width: 29px; height: 29px; place-items: center; border: 1px solid var(--pd-moss); border-radius: 50%; color: var(--pd-moss); font-size: 0.8rem; font-weight: 800; }
.pd-system-step p { margin: 0; line-height: 1.25; }
.pd-system-step strong,
.pd-system-step small { display: block; }
.pd-system-step strong { font-size: 0.83rem; }
.pd-system-step small { margin-top: 0.18rem; color: rgba(255, 253, 248, 0.6); font-size: 0.67rem; }
.pd-hero-capabilities { border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); background: rgba(255, 253, 248, 0.72); }
.pd-hero-capabilities-inner { display: grid; width: var(--pd-wide); margin-inline: auto; grid-template-columns: repeat(4, 1fr); }
.pd-hero-capabilities-inner > div { display: grid; min-height: 96px; grid-template-columns: 36px 1fr; gap: 14px; align-items: center; padding: 1.25rem clamp(1rem, 2vw, 2rem); }
.pd-hero-capabilities-inner > div:first-child { padding-left: 0; }
.pd-hero-capabilities-inner > div + div { border-left: 1px solid var(--pd-line); }
.pd-hero-capabilities p { margin: 0; line-height: 1.35; }
.pd-hero-capabilities strong,
.pd-hero-capabilities small { display: block; text-transform: uppercase; }
.pd-hero-capabilities strong { font-size: 0.72rem; letter-spacing: 0.12em; }
.pd-hero-capabilities small { margin-top: 0.26rem; color: var(--pd-muted); font-size: 0.6rem; letter-spacing: 0.12em; }
.pd-capability-symbol { font-size: 1.55rem; line-height: 1; }
.pd-capability-symbol--code { font-family: Consolas, monospace; font-size: 1rem; font-weight: 800; }

/* Capabilities */
.pd-services { padding-bottom: 0; }
.pd-capabilities-intro { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr); gap: var(--pd-gap); align-items: end; margin-bottom: clamp(3rem, 6vw, 5.5rem); }
.pd-capabilities-intro > p { max-width: 390px; margin: 0; color: var(--pd-ink-soft); font-size: 1.08rem; }
.pd-capabilities { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-capability { display: flex; min-width: 0; min-height: 500px; flex-direction: column; padding: 2.3rem clamp(2rem, 3vw, 3rem); }
.pd-capability:first-child { padding-left: 0; }
.pd-capability:last-child { padding-right: 0; }
.pd-capability + .pd-capability { border-left: 1px solid var(--pd-line); }
.pd-capability-stage { display: block; margin-bottom: 1.2rem; color: var(--pd-copper-dark); font-size: .64rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.pd-service-icon { display: grid; width: 76px; height: 76px; place-items: center; border-radius: 50%; background: #eee8df; color: var(--pd-copper); font-size: 2rem; }
.pd-service-icon--code { font-family: Consolas, monospace; font-size: 1.25rem; font-weight: 800; }
.pd-capability h3 { margin-top: 1.4rem; font-size: clamp(1.75rem, 2.5vw, 2.4rem); }
.pd-capability > p { margin: 1.25rem 0 0; color: var(--pd-ink-soft); }
.pd-text-link,
.pd-product-link,
.pd-case-link {
  display: inline-flex;
  width: fit-content;
  gap: 8px;
  margin-top: auto;
  padding-top: 1.45rem;
  border-top: 1px solid var(--pd-line);
  color: var(--pd-ink);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  line-height: 1.5;
  text-decoration: none;
  text-transform: uppercase;
}
.pd-text-link:hover,
.pd-product-link:hover { color: var(--pd-copper-dark); }
.pd-trust-rail { display: grid; margin-top: 0; grid-template-columns: repeat(4, 1fr); background: #f1ebe2; }
.pd-trust-rail > div { display: grid; min-height: 92px; grid-template-columns: 30px 1fr; gap: 12px; align-items: center; padding: 1rem 1.5rem; }
.pd-trust-rail > div + div { border-left: 1px solid var(--pd-line); }
.pd-trust-rail span { color: var(--pd-copper); font-size: 1.4rem; }
.pd-trust-rail p { margin: 0; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.1em; line-height: 1.5; text-transform: uppercase; }

/* Case study */
.pd-case-section { padding-block: clamp(6rem, 8vw, 8.5rem); }
.pd-results-intro { display: grid; margin-bottom: clamp(3rem, 6vw, 5rem); grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: var(--pd-gap); align-items: end; }
.pd-results-intro > p { max-width: 500px; margin: 0; color: rgba(255,253,248,.74); font-size: 1.08rem; }
.pd-home-results-grid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); border: 1px solid var(--pd-line-light); }
.pd-home-result { display: flex; min-width: 0; flex-direction: column; padding: clamp(2rem, 4vw, 4rem); }
.pd-home-result + .pd-home-result { border-left: 1px solid var(--pd-line-light); }
.pd-home-result--featured { background: rgba(194,89,31,.08); }
.pd-home-result .pd-case-client { min-height: 2.4em; margin-bottom: 2rem; }
.pd-home-result h3 { margin: 0; color: var(--pd-paper); line-height: .92; }
.pd-home-result h3 strong,
.pd-home-result h3 span { display: block; }
.pd-home-result h3 strong { font-size: clamp(4.8rem, 8vw, 8rem); letter-spacing: -.08em; }
.pd-home-result h3 span { max-width: 620px; margin-top: .45rem; font-family: Georgia, serif; font-size: clamp(2.3rem, 4.1vw, 4rem); font-style: italic; font-weight: 500; letter-spacing: -.045em; }
.pd-home-result > p:not(.pd-case-client) { max-width: 620px; margin: 2rem 0 0; color: rgba(255,253,248,.74); }
.pd-home-result dl { margin: 2.3rem 0 0; }
.pd-home-result dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 1.2rem; padding: 1rem 0; border-bottom: 1px solid var(--pd-line-light); }
.pd-home-result dt { color: rgba(255,253,248,.56); font-size: .66rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.pd-home-result dd { margin: 0; color: var(--pd-paper); font-size: 1.2rem; font-weight: 850; text-align: right; }
.pd-home-result .pd-case-link { margin-top: auto; padding-top: 2.2rem; }
.pd-results-all { display: inline-flex; gap: .6rem; margin-top: 2rem; color: var(--pd-paper); font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-decoration-color: var(--pd-copper); text-underline-offset: 5px; text-transform: uppercase; }
.pd-results-all:hover { color: var(--pd-copper); }
.pd-case { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(390px, 0.85fr); gap: clamp(4rem, 8vw, 8rem); align-items: center; }
.pd-case-proof { min-width: 0; }
.pd-case-client { margin: 0 0 2.8rem; color: var(--pd-copper); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }
.pd-case-title { margin: 0; line-height: 0.88; }
.pd-case-title strong,
.pd-case-title em { display: block; }
.pd-case-title strong { color: var(--pd-paper); font-family: Arial, Helvetica, sans-serif; font-size: clamp(5rem, 8.5vw, 8.5rem); font-weight: 850; letter-spacing: -0.08em; }
.pd-case-title em { margin-top: 0.2em; font-size: clamp(4rem, 6.8vw, 6.8rem); }
.pd-case-lead { max-width: 630px; margin: 3rem 0 0; color: rgba(255,253,248,.83); font-size: clamp(1.25rem, 2.2vw, 1.8rem); line-height: 1.55; }
.pd-case-summary { margin: 0; color: rgba(255, 253, 248, 0.8); font-size: 1.03rem; }
.pd-case-facts { margin: 2.6rem 0 0; }
.pd-case-facts div { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 1.5rem; align-items: baseline; padding: 1.35rem 0; border-bottom: 1px solid var(--pd-line-light); }
.pd-case-facts dt { color: #cfc6b8; font-size: 0.68rem; font-weight: 800; letter-spacing: 0.15em; text-transform: uppercase; }
.pd-case-facts dd { margin: 0; color: var(--pd-paper); font-size: 1rem; text-align: right; }
.pd-case-facts div:nth-child(n+2) dd { font-size: 1.45rem; font-weight: 850; }
.pd-case-link { margin-top: 2.2rem; padding-top: 0; border-top: 0; color: var(--pd-copper); }
.pd-case-link:hover { color: var(--pd-paper); }

/* Products */
.pd-labs .pd-heading { max-width: 900px; }
.pd-products { display: grid; margin-top: 2.8rem; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.pd-product { display: flex; overflow: hidden; min-width: 0; min-height: 720px; flex-direction: column; padding: clamp(1.8rem, 3vw, 2.6rem); border: 1px solid var(--pd-line); border-radius: var(--pd-radius-card); background: var(--pd-paper); }
.pd-product--blue { background: #f0f1fb; }
.pd-product--green { background: #eff0e5; }
.pd-product-label { display: block; margin-bottom: 1.4rem; color: var(--pd-blue-deep); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.pd-product--green .pd-product-label { color: #435b28; }
.pd-product-logo { width: auto; max-width: 150px; max-height: 44px; margin-bottom: 1.35rem; object-fit: contain; object-position: left center; }
.pd-product h3 { max-width: 570px; font-size: clamp(2.15rem, 3.3vw, 3.25rem); }
.pd-product > p { max-width: 560px; margin: 1.15rem 0 0; color: var(--pd-muted); }
.pd-product-media { position: relative; overflow: hidden; height: 330px; margin-top: 1.6rem; border: 1px solid rgba(40,55,168,.16); border-radius: 10px; background: #070b16; box-shadow: 0 18px 35px rgba(30,35,70,.14); }
.pd-product-media img { position: absolute; top: 0; right: 0; width: 155%; max-width: none; height: 100%; object-fit: cover; object-position: right center; }
.pd-product-media--zieyl { isolation: isolate; }
.pd-product-link { margin-top: auto; padding-top: 1.35rem; border-top: 0; color: var(--pd-blue-deep); font-family: Georgia, serif; font-size: 0.95rem; letter-spacing: 0; text-transform: none; }
.pd-product--green .pd-product-link { color: #415c28; }
.pd-homestead-demo { display: grid; height: 330px; margin-top: 1.6rem; grid-template-columns: 1fr 0.82fr 1fr; gap: 8px; align-items: center; padding: 18px; border: 1px solid rgba(67,91,40,.15); border-radius: 10px; background: #f7f5ea; box-shadow: 0 18px 35px rgba(57,67,42,.12); }
.pd-demo-panel,
.pd-demo-phone { display: flex; min-width: 0; flex-direction: column; gap: 8px; color: #25351b; font-size: 0.68rem; }
.pd-demo-panel { padding: 12px; border: 1px solid rgba(67,91,40,.16); border-radius: 8px; background: rgba(255,255,255,.78); }
.pd-demo-panel > span,
.pd-demo-phone > span { padding: 8px; border-radius: 6px; background: #fff; box-shadow: 0 2px 7px rgba(50,65,38,.08); font-weight: 700; }
.pd-demo-panel small,
.pd-demo-phone small { display: block; color: #748064; font-size: 0.55rem; font-weight: 400; }
.pd-demo-phone { min-height: 285px; justify-content: flex-start; padding: 18px 10px; border: 6px solid #161616; border-radius: 28px; background: #edf1df; box-shadow: 0 8px 18px rgba(0,0,0,.18); }
.pd-demo-phone > strong { padding: 8px; border-radius: 5px; background: #375524; color: #fff; }
.pd-demo-phone > small { margin: -5px 8px 4px; color: #59634f; }

/* Founder */
.pd-founder-section { overflow: hidden; }
.pd-founder { display: grid; grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1.1fr); gap: clamp(4rem, 8vw, 8rem); align-items: center; }
.pd-founder-photo-wrap { position: relative; }
.pd-founder-photo { position: relative; z-index: 2; width: min(100%, 470px); aspect-ratio: 1; border: 9px solid var(--pd-paper); border-radius: 50%; outline: 1px solid #d7ccba; object-fit: cover; }
.pd-founder-orbit { position: absolute; z-index: 1; top: -22px; left: -18px; width: 510px; height: 510px; border-top: 2px solid var(--pd-copper); border-radius: 50%; transform: rotate(-24deg); }
.pd-founder-caption { position: relative; z-index: 2; margin: 2.3rem 0 0 2.2rem; }
.pd-founder-caption strong,
.pd-founder-caption span { display: block; }
.pd-founder-caption strong { font-size: 1.15rem; }
.pd-founder-caption span { margin-top: 0.2rem; color: var(--pd-muted); }
.pd-founder-label { margin: 0 0 1.5rem !important; color: var(--pd-copper-dark) !important; font-size: 0.74rem !important; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; }
.pd-founder-copy > p { max-width: 680px; margin-top: 1.8rem; color: var(--pd-ink-soft); font-size: 1.08rem; }
.pd-signoff { max-width: 690px; margin: 2.4rem 0 0; padding-left: 1.5rem; border-left: 2px solid var(--pd-copper); color: var(--pd-ink); font-family: Georgia, serif; font-size: clamp(1.6rem, 2.8vw, 2.4rem); font-style: italic; line-height: 1.2; }

/* Process */
.pd-process { background: var(--pd-paper); }
.pd-process-intro { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.5fr); gap: var(--pd-gap); align-items: end; }
.pd-process-intro > p { max-width: 400px; margin: 0; color: var(--pd-ink-soft); font-size: 1.08rem; }
.pd-process-grid { display: grid; margin: 3.6rem 0 0; padding: 0; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line); list-style: none; }
.pd-process-grid > li { position: relative; min-width: 0; padding: 2rem clamp(1.5rem, 2.5vw, 2.4rem) 0; }
.pd-process-grid > li:first-child { padding-left: 0; }
.pd-process-grid > li:last-child { padding-right: 0; }
.pd-process-grid > li + li { border-left: 1px solid var(--pd-line); }
.pd-process-number { display: block; color: var(--pd-copper); font-size: 1.15rem; }
.pd-process-arrow { position: absolute; top: 1.85rem; right: 10px; color: #aaa093; font-size: 1.8rem; }
.pd-process-icon { display: grid; width: 72px; height: 72px; margin-top: 2.1rem; place-items: center; border-radius: 50%; background: #eee8df; color: var(--pd-copper); font-size: 1.9rem; }
.pd-process-grid h3 { margin: 1.2rem 0 0; font-size: clamp(1.5rem, 2.1vw, 2rem); letter-spacing: -0.04em; }
.pd-process-grid p { margin: 1.25rem 0 0; color: var(--pd-ink-soft); font-size: 0.92rem; }
.pd-process-grid ul { margin: 1.35rem 0 0; padding-left: 1.15rem; color: var(--pd-ink-soft); font-size: 0.83rem; }
.pd-process-grid ul li { padding: 0.2rem 0; }
.pd-process-grid ul li::marker { color: var(--pd-copper); }
.pd-process-note { margin: 3.2rem 0 0; padding: 1.8rem 2.4rem; border-left: 2px solid var(--pd-copper); background: #f1ece4; font-size: 1rem; }

/* Contact */
.pd-contact-section { overflow: hidden; padding: clamp(5rem, 7vw, 7rem) 0; background: var(--pd-copper); color: #fff; }
.pd-contact { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr); gap: var(--pd-gap); align-items: center; }
.pd-contact-kicker { display: flex; margin: 0 0 1.8rem !important; align-items: center; gap: 18px; color: #fff !important; font-size: 0.72rem !important; font-weight: 800; letter-spacing: 0.17em; text-transform: uppercase; }
.pd-contact-kicker::before { width: 42px; height: 1px; background: #fff; content: ""; }
.pd-contact h2 { color: #fff; font-size: clamp(3.7rem, 6.5vw, 6.5rem); }
.pd-contact h2 em { display: block; color: var(--pd-ink); font-family: Georgia, serif; font-weight: 500; letter-spacing: -0.055em; line-height: .8; }
.pd-contact-rule { display: block; width: 46px; height: 2px; margin-top: 2.8rem; background: #fff; }
.pd-contact-copy > p:last-child { max-width: 650px; margin: 1.6rem 0 0; color: rgba(255,255,255,.9); font-size: 1.15rem; }
.pd-contact-prompt { display: grid; grid-template-columns: 52px 1fr; gap: 18px; align-items: start; }
.pd-contact-prompt > span { display: grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: var(--pd-paper); color: var(--pd-copper); font-size: 1.4rem; }
.pd-contact-prompt h3 { margin: 0; font-size: 0.9rem; letter-spacing: 0.13em; text-transform: uppercase; }
.pd-contact-prompt p { max-width: 450px; margin: 1rem 0 0; color: rgba(255,255,255,.9); font-size: 1rem; }
.pd-contact-actions .pd-actions { margin-top: 2rem; }
.pd-contact-actions .pd-button { min-height: 58px; padding-inline: 28px; }
.pd-direct-note { width: fit-content; margin: 1.8rem 0 0 !important; padding-bottom: .6rem; border-bottom: 1px solid #fff; color: #fff !important; font-family: Georgia, serif; font-size: 1rem !important; font-style: italic; line-height: 1.35; transform: rotate(-2deg); }

/* Footer */
.pd-footer { padding: 3.4rem 0 1.8rem; background: #10171b; color: #fff; }
.pd-footer-cta { display: grid; grid-template-columns: 54px minmax(240px, 1fr) auto auto; gap: 18px; align-items: center; padding: 1.5rem 2rem; border: 1px solid rgba(255,255,255,.15); border-radius: 16px; background: rgba(255,255,255,.02); }
.pd-footer-cta-icon { display: grid; width: 48px; height: 48px; place-items: center; border-left: 3px solid var(--pd-copper); color: var(--pd-copper); font-size: 1.5rem; }
.pd-footer-cta div { display: flex; flex-direction: column; line-height: 1.35; }
.pd-footer-cta strong { font-size: 1.15rem; }
.pd-footer-cta div span { color: rgba(255,255,255,.74); }
.pd-footer-cta .pd-button { min-width: 210px; }
.pd-footer-grid { display: grid; margin-top: 3.5rem; grid-template-columns: 1.15fr .72fr 1.25fr .88fr; }
.pd-footer-grid > * { min-width: 0; padding-inline: 2rem; }
.pd-footer-grid > *:first-child { padding-left: 0; }
.pd-footer-grid > *:last-child { padding-right: 0; }
.pd-footer-grid > * + * { border-left: 1px solid rgba(255,255,255,.15); }
.pd-brand--footer .pd-brand-mark { background: var(--pd-paper); color: var(--pd-ink); }
.pd-footer-brand > p { max-width: 330px; margin: 1.8rem 0 0; color: rgba(255,255,255,.78); }
.pd-footer-brand .pd-mini-rule { margin-top: 1.8rem; }
.pd-footer-location { font-weight: 700; }
.pd-footer-location small { display: block; margin-top: .5rem; color: rgba(255,255,255,.58); font-size: .67rem; letter-spacing: .14em; text-transform: uppercase; }
.pd-footer-column { display: flex; flex-direction: column; gap: .85rem; }
.pd-footer-column h2 { margin: 0 0 1rem; font-size: 1.25rem; }
.pd-footer-column > a { display: flex; justify-content: space-between; gap: 14px; color: rgba(255,255,255,.85); text-decoration: none; }
.pd-footer-column > a:hover { color: var(--pd-copper); }
.pd-footer-services p { display: grid; margin: 0; grid-template-columns: 38px 1fr; }
.pd-footer-services p > span { grid-row: 1 / 3; color: var(--pd-copper); font-size: 1.3rem; }
.pd-footer-services strong,
.pd-footer-services small { display: block; }
.pd-footer-services small { color: rgba(255,255,255,.62); line-height: 1.4; }
.pd-footer-connect > p { margin: 0; color: rgba(255,255,255,.75); }
.pd-footer-script { width: fit-content; margin: .4rem 0 1rem; padding-bottom: .3rem; border-bottom: 1px solid var(--pd-copper); color: var(--pd-copper); font-family: Georgia, serif; font-size: 1.3rem; font-style: italic; font-weight: 400; transform: rotate(-2deg); }
.pd-footer-connect > a { justify-content: flex-start; font-size: .9rem; }
.pd-footer-bottom { display: flex; margin-top: 3.8rem; padding-top: 1.8rem; border-top: 1px solid rgba(255,255,255,.22); gap: 22px; align-items: center; }
.pd-footer-bottom p { margin: 0; color: rgba(255,255,255,.72); font-size: .78rem; }
.pd-footer-tagline { padding-left: 22px; border-left: 1px solid rgba(255,255,255,.32); font-family: Georgia, serif; font-size: 1rem !important; font-style: italic; }

@media (max-width: 1100px) {
  body.admin-bar .pd-header { top: 46px; }
  .pd-menu-toggle { display: inline-flex; padding: 10px; }
  .pd-nav {
    position: absolute;
    top: 92px;
    right: 20px;
    left: 20px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    padding: 22px;
    border: 1px solid var(--pd-line);
    border-radius: var(--pd-radius-card);
    background: var(--pd-paper);
  }
  .pd-nav.is-open { display: flex; }
  .pd-nav a { padding: 7px 5px; }
  .pd-nav .pd-button { margin-top: 6px; }
  .pd-hero-grid { width: 100%; min-height: 0; grid-template-columns: minmax(0, 1fr); }
  .pd-hero-copy { width: min(100% - 40px, 760px); max-width: none; margin-inline: auto; padding: 5rem 0 3.5rem; }
  .pd-hero-media { height: 560px; margin-right: 0; }
  .pd-hero-media::before { background: linear-gradient(180deg, var(--pd-cream) 0%, rgba(245, 240, 231, 0) 28%); }
  .pd-system-card { top: 23%; right: 7%; left: auto; }
  .pd-hero-capabilities-inner { grid-template-columns: repeat(2, 1fr); }
  .pd-hero-capabilities-inner > div:nth-child(3) { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-hero-capabilities-inner > div:nth-child(4) { border-top: 1px solid var(--pd-line); }
  .pd-hero-capabilities-inner > div:nth-child(3) { padding-left: 0; }
  .pd-case { grid-template-columns: 1fr; }
  .pd-case-story { max-width: 720px; }
  .pd-results-intro,
  .pd-home-results-grid { grid-template-columns: 1fr; }
  .pd-home-result + .pd-home-result { border-top: 1px solid var(--pd-line-light); border-left: 0; }
  .pd-products { grid-template-columns: 1fr; }
  .pd-product { min-height: 680px; }
  .pd-founder { grid-template-columns: minmax(300px, .8fr) 1.2fr; gap: 4rem; }
  .pd-process-grid { grid-template-columns: repeat(2, 1fr); }
  .pd-process-grid > li { padding: 2rem; border-bottom: 1px solid var(--pd-line); }
  .pd-process-grid > li:first-child { padding-left: 2rem; }
  .pd-process-grid > li:nth-child(3) { border-left: 0; }
  .pd-process-grid > li:last-child { padding-right: 2rem; }
  .pd-contact { grid-template-columns: minmax(0, 1fr); }
  .pd-contact-actions { max-width: 660px; }
  .pd-footer-cta { grid-template-columns: 54px 1fr; }
  .pd-footer-cta .pd-button { min-width: 0; }
  .pd-footer-grid { grid-template-columns: repeat(2, 1fr); gap: 3rem 0; }
  .pd-footer-grid > * { padding-inline: 2rem; }
  .pd-footer-grid > *:nth-child(odd) { padding-left: 0; border-left: 0; }
}

@media (max-width: 820px) {
  .pd-capabilities-intro,
  .pd-process-intro { grid-template-columns: 1fr; }
  .pd-capabilities-intro > p,
  .pd-process-intro > p { margin-top: .5rem; }
  .pd-capabilities { grid-template-columns: 1fr; }
  .pd-capability { min-height: 0; padding: 2.3rem 0; }
  .pd-capability + .pd-capability { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-capability .pd-text-link { margin-top: 2rem; }
  .pd-trust-rail { grid-template-columns: repeat(2, 1fr); }
  .pd-trust-rail > div:nth-child(3) { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-trust-rail > div:nth-child(4) { border-top: 1px solid var(--pd-line); }
  .pd-founder { grid-template-columns: 1fr; }
  .pd-founder-photo-wrap { max-width: 520px; }
}

@media (max-width: 680px) {
  :root { --pd-content: min(calc(100% - 28px), 1180px); --pd-wide: calc(100% - 28px); }
  body { font-size: 16px; }
  .pd-header-inner { min-height: 72px; }
  .pd-nav { top: 72px; }
  .pd-brand { gap: 10px; }
  .pd-brand-mark { width: 42px; height: 42px; font-size: 1.5rem; }
  .pd-brand-name { font-size: 1.05rem; }
  .pd-brand-copy small { margin-top: 0.25rem; font-size: 0.46rem; letter-spacing: 0.12em; }
  .pd-display { font-size: clamp(3.2rem, 15vw, 4.6rem); }
  .pd-heading { font-size: clamp(2.5rem, 12vw, 3.8rem); }
  .pd-hero-copy { width: calc(100% - 28px); padding-block: 4.25rem 3rem; }
  .pd-hero-copy > p:not(.pd-kicker) { font-size: 1rem; }
  .pd-hero-media { height: 440px; }
  .pd-hero-media > img { object-position: 58% center; }
  .pd-system-card { top: 17%; right: 14px; width: min(300px, calc(100% - 28px)); padding: 1.15rem; }
  .pd-system-step { padding-block: 0.5rem; }
  .pd-hero-trust { grid-template-columns: 1fr; margin-top: 2.25rem; }
  .pd-hero-trust li { padding: 0.8rem 0; }
  .pd-hero-trust li + li { padding-left: 0; border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-hero-capabilities-inner { grid-template-columns: 1fr; }
  .pd-hero-capabilities-inner > div { min-height: 82px; padding-inline: 0; }
  .pd-hero-capabilities-inner > div + div { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-case-title strong { font-size: clamp(4.2rem, 22vw, 6rem); }
  .pd-case-title em { font-size: clamp(3.4rem, 18vw, 5rem); }
  .pd-case-lead { margin-top: 2.2rem; font-size: 1.1rem; }
  .pd-home-result { padding: 1.6rem; }
  .pd-home-result .pd-case-client { min-height: 0; }
  .pd-home-result h3 strong { font-size: clamp(4.5rem, 22vw, 6rem); }
  .pd-home-result h3 span { font-size: clamp(2.1rem, 10vw, 3rem); }
  .pd-home-result dl div { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .pd-home-result dd { text-align: left; }
  .pd-case-facts div { grid-template-columns: 1fr; gap: .4rem; }
  .pd-case-facts dd { text-align: left; }
  .pd-trust-rail { grid-template-columns: 1fr; }
  .pd-trust-rail > div + div { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-product { min-height: 0; padding: 1.5rem; }
  .pd-product h3 br { display: none; }
  .pd-product-media,
  .pd-homestead-demo { height: 270px; }
  .pd-homestead-demo { grid-template-columns: .7fr 1.1fr .7fr; padding: 8px; }
  .pd-demo-panel { padding: 6px; font-size: .56rem; }
  .pd-demo-panel > span { padding: 5px; }
  .pd-demo-phone { min-height: 245px; padding: 13px 6px; }
  .pd-founder-photo { width: min(100%, 390px); }
  .pd-founder-orbit { width: 420px; height: 420px; }
  .pd-founder-caption { margin-left: 0; }
  .pd-process-grid { grid-template-columns: 1fr; }
  .pd-process-grid > li,
  .pd-process-grid > li:first-child,
  .pd-process-grid > li:last-child { padding: 2rem 0; border-left: 0; }
  .pd-process-grid > li + li { border-top: 1px solid var(--pd-line); }
  .pd-process-arrow { display: none; }
  .pd-process-note { padding: 1.5rem; }
  .pd-contact h2 { font-size: clamp(2.6rem, 10vw, 3rem); }
  .pd-contact h2 br { display: none; }
  .pd-contact-actions .pd-button { width: 100%; }
  .pd-footer-cta { grid-template-columns: 1fr; padding: 1.4rem; }
  .pd-footer-cta .pd-button { width: 100%; }
  .pd-footer-grid { grid-template-columns: 1fr; }
  .pd-footer-grid > *,
  .pd-footer-grid > *:first-child,
  .pd-footer-grid > *:last-child { padding: 2rem 0 0; border-top: 1px solid rgba(255,255,255,.15); border-left: 0; }
  .pd-footer-grid > *:first-child { padding-top: 0; border-top: 0; }
  .pd-footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pd-footer-tagline { padding-left: 0; border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* v0.6 page system */
.pd-page { overflow: hidden; }
.pd-page section { scroll-margin-top: 92px; }
.pd-page h1,
.pd-service-hero h1,
.pd-product-hero h1 {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: clamp(3.9rem, 6.6vw, 7rem);
  font-weight: 850;
  letter-spacing: -.07em;
  line-height: .94;
}
.pd-page h1 em,
.pd-service-hero h1 em,
.pd-product-hero h1 em {
  color: var(--pd-copper);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 500;
  letter-spacing: -.055em;
}
.pd-page-hero { padding-block: clamp(6rem, 10vw, 10rem); border-bottom: 1px solid var(--pd-line); background: var(--pd-cream); }
.pd-page-hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(330px, .65fr); gap: var(--pd-gap); align-items: end; }
.pd-page-hero-aside { max-width: 520px; padding-bottom: .6rem; }
.pd-page-hero-aside > p { margin: 0; color: var(--pd-ink-soft); font-size: clamp(1.08rem, 1.6vw, 1.3rem); }
.pd-page-hero-aside .pd-button { margin-top: 2rem; }
.pd-page-hero--dark { border-color: var(--pd-line-light); background: var(--pd-dark); color: var(--pd-paper); }
.pd-page-hero--dark .pd-page-hero-aside > p { color: rgba(255,253,248,.76); }
.pd-page-hero--contact { background: var(--pd-copper); color: #fff; }
.pd-page-hero--contact h1 em { color: var(--pd-ink); }
.pd-page-hero--contact .pd-kicker,
.pd-page-hero--contact .pd-page-hero-aside > p { color: #fff; }
.pd-page-hero--contact .pd-kicker::before { background: #fff; }
.pd-contact-direct { display: flex; margin-top: 2rem; flex-direction: column; gap: .5rem; }
.pd-contact-direct a { width: fit-content; color: #fff; font-weight: 800; text-underline-offset: 4px; }
.pd-page-section { padding-block: var(--pd-section); }
.pd-story-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(340px, .75fr); gap: var(--pd-gap); align-items: start; }
.pd-story-grid > div:last-child > p:first-child { margin-top: 0; }
.pd-story-grid > div:last-child > p { color: inherit; font-size: 1.06rem; }
.pd-section--ink .pd-story-grid > div:last-child > p { color: rgba(255,253,248,.78); }
.pd-offer-grid { display: grid; margin-top: 2.4rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-offer-grid article { display: flex; min-width: 0; flex-direction: column; padding: 2.6rem clamp(1.7rem, 3vw, 3rem); }
.pd-offer-grid article:first-child { padding-left: 0; }
.pd-offer-grid article:last-child { padding-right: 0; }
.pd-offer-grid article + article { border-left: 1px solid var(--pd-line); }
.pd-offer-number { color: var(--pd-copper); font-family: Georgia, serif; font-size: 1.15rem; }
.pd-offer-grid h2 { margin: 1.3rem 0 0; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.05em; line-height: 1; }
.pd-offer-grid p { color: var(--pd-muted); }
.pd-offer-grid ul { padding-left: 1.1rem; color: var(--pd-ink-soft); font-size: .88rem; }
.pd-offer-grid li { padding-block: .2rem; }
.pd-offer-grid li::marker { color: var(--pd-copper); }
.pd-offer-grid .pd-text-link { margin-top: auto; }
.pd-check-list { margin: 2rem 0 0; padding: 0; list-style: none; }
.pd-check-list li { position: relative; padding: .85rem 0 .85rem 2.2rem; border-bottom: 1px solid var(--pd-line); }
.pd-check-list li::before { position: absolute; left: 0; color: var(--pd-copper); content: "✓"; font-weight: 900; }
.pd-cta-band { padding-block: clamp(4.5rem, 7vw, 7rem); background: var(--pd-copper); color: #fff; }
.pd-cta-band .pd-wrap { display: grid; grid-template-columns: minmax(180px, .55fr) minmax(0, 1.2fr) auto; gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.pd-cta-band p { margin: 0; font-size: .75rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pd-cta-band h2 { margin: 0; color: #fff; font-size: clamp(2.2rem, 4.2vw, 4rem); letter-spacing: -.055em; line-height: .98; }
.pd-cta-band .pd-button { white-space: nowrap; }
.pd-case-feature { background: #f0e9df; }
.pd-case-feature-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .65fr); gap: var(--pd-gap); align-items: end; }
.pd-case-feature-grid > div > h2 { margin: 1.3rem 0; line-height: .88; }
.pd-case-feature-grid > div > h2 strong,
.pd-case-feature-grid > div > h2 em { display: block; }
.pd-case-feature-grid > div > h2 strong { font-size: clamp(4.4rem, 7vw, 7.5rem); letter-spacing: -.075em; }
.pd-case-feature-grid > div > h2 em { color: var(--pd-copper); font-family: Georgia, serif; font-size: clamp(3.7rem, 6vw, 6.4rem); font-weight: 500; letter-spacing: -.06em; }
.pd-case-feature-grid > div > p:last-child { max-width: 650px; font-size: 1.1rem; }
.pd-eyebrow { margin: 0; color: var(--pd-copper-dark); font-size: .7rem; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.pd-case-feature-grid dl { margin: 0; }
.pd-case-feature-grid dl div { display: flex; align-items: baseline; justify-content: space-between; padding: 1.2rem 0; border-bottom: 1px solid var(--pd-line); gap: 1rem; }
.pd-case-feature-grid dt { color: var(--pd-muted); font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pd-case-feature-grid dd { margin: 0; font-size: 1.7rem; font-weight: 850; }
.pd-case-feature-grid .pd-button { grid-column: 2; justify-self: start; }
.pd-case-feature--seo { background: #ece8df; }
.pd-case-feature--seo .pd-case-feature-grid > div > h2 strong { font-size: clamp(4rem, 6.4vw, 6.9rem); }
.pd-case-feature--seo .pd-case-feature-grid > div > h2 em { font-size: clamp(3.1rem, 4.9vw, 5.2rem); }
.pd-case-secondary { border-top: 1px solid var(--pd-line); background: var(--pd-paper); }
.pd-case-secondary-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .6fr); gap: var(--pd-gap); align-items: end; }
.pd-case-secondary-grid h2 { max-width: 720px; margin: 1rem 0; font-size: clamp(2.8rem, 5vw, 5.2rem); letter-spacing: -.065em; line-height: .95; }
.pd-case-secondary-grid p:not(.pd-kicker, .pd-eyebrow) { max-width: 680px; color: var(--pd-muted); font-size: 1.05rem; }
.pd-case-secondary-grid dl { margin: 0; }
.pd-case-secondary-grid dl div { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding: 1.1rem 0; border-bottom: 1px solid var(--pd-line); }
.pd-case-secondary-grid dt { color: var(--pd-muted); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pd-case-secondary-grid dd { margin: 0; font-size: 1.5rem; font-weight: 850; }
.pd-lab-list { display: grid; gap: 2rem; }
.pd-lab-row { display: grid; min-height: 560px; grid-template-columns: .85fr 1.15fr; border: 1px solid var(--pd-line); border-radius: 22px; }
.pd-lab-row > div:first-child { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(2rem, 5vw, 5rem); }
.pd-lab-row--blue { background: #eef0fb; }
.pd-lab-row--green { background: #eef1e4; }
.pd-lab-row h2 { max-width: 540px; margin: 1rem 0; font-size: clamp(2.6rem, 4vw, 4.4rem); letter-spacing: -.065em; line-height: .95; }
.pd-lab-row p:not(.pd-eyebrow) { max-width: 520px; color: var(--pd-muted); }
.pd-lab-row .pd-button { margin-top: 1.6rem; }
.pd-lab-logo { width: 140px; max-height: 52px; margin-top: 1.6rem; object-fit: contain; object-position: left center; }
.pd-lab-logo--wide { width: 230px; }
.pd-lab-image { position: relative; overflow: hidden; min-height: 430px; margin: 2rem 2rem 2rem 0; border-radius: 14px; background: #111; }
.pd-lab-image img { width: 100%; height: 100%; object-fit: cover; }
.pd-about-profile { display: grid; grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr); gap: var(--pd-gap); align-items: center; }
.pd-about-photo { position: relative; }
.pd-about-photo::before { position: absolute; inset: -18px 18px 18px -18px; border: 1px solid var(--pd-copper); border-radius: 50%; content: ""; }
.pd-about-photo img { position: relative; width: min(100%, 520px); aspect-ratio: 1; border-radius: 50%; object-fit: cover; }
.pd-about-profile > div:last-child > p:not(.pd-kicker) { max-width: 720px; color: var(--pd-ink-soft); font-size: 1.05rem; }
.pd-principle-grid { display: grid; margin-top: 2.5rem; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line-light); }
.pd-principle-grid article { padding: 2rem 1.8rem; }
.pd-principle-grid article:first-child { padding-left: 0; }
.pd-principle-grid article + article { border-left: 1px solid var(--pd-line-light); }
.pd-principle-grid span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-principle-grid h2 { margin: 1.5rem 0 .8rem; font-size: 2rem; }
.pd-principle-grid p { margin: 0; color: rgba(255,253,248,.72); font-size: .9rem; }
.pd-principle-grid--light { border-color: var(--pd-line); }
.pd-principle-grid--light article + article { border-color: var(--pd-line); }
.pd-principle-grid--light p { color: var(--pd-muted); }
.pd-contact-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: var(--pd-gap); align-items: start; }
.pd-contact-expect { max-width: 520px; margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--pd-line); }
.pd-contact-expect h3 { margin: 0; font-size: 1.3rem; }
.pd-contact-expect ol { padding-left: 1.2rem; color: var(--pd-muted); }
.pd-contact-expect li { padding: .3rem 0 .3rem .4rem; }
.pd-contact-expect li::marker { color: var(--pd-copper); font-weight: 800; }
.pd-form-card { padding: clamp(1.6rem, 3.5vw, 3rem); border: 1px solid var(--pd-line); border-radius: 18px; background: #f4eee5; }
.pd-contact-form { display: grid; gap: 1.2rem; }
.pd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pd-contact-form label { display: grid; gap: .45rem; color: var(--pd-ink-soft); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pd-contact-form label span { color: var(--pd-copper); }
.pd-contact-form input,
.pd-contact-form select,
.pd-contact-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid #bdb5aa; border-radius: 6px; background: var(--pd-paper); color: var(--pd-ink); font: 400 1rem/1.4 Arial, sans-serif; text-transform: none; }
.pd-contact-form textarea { resize: vertical; }
.pd-contact-form input:focus,
.pd-contact-form select:focus,
.pd-contact-form textarea:focus { border-color: var(--pd-blue); outline: 3px solid rgba(82,108,255,.17); }
.pd-contact-form .pd-button { justify-self: start; border: 0; cursor: pointer; }
.pd-form-privacy { margin: -.4rem 0 0; color: var(--pd-muted); font-size: .75rem; }
.pd-honeypot { position: absolute !important; left: -9999px; }
.pd-form-notice { margin-bottom: 1.3rem; padding: 1rem; border-left: 3px solid var(--pd-copper); background: var(--pd-paper); }
.pd-form-notice--success { border-color: #527b2e; }
.pd-service-hero { padding-block: clamp(5.5rem, 9vw, 9rem); background: var(--pd-cream); }
.pd-service-hero--software { background: #ecebe4; }
.pd-service-hero .pd-wrap { position: relative; }
.pd-back-link { display: inline-block; margin-bottom: 3.5rem; color: var(--pd-muted); font-size: .72rem; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; }
.pd-back-link:hover { color: var(--pd-copper-dark); }
.pd-service-hero h1 { max-width: 1080px; }
.pd-service-intro { max-width: 720px; margin: 2rem 0 0; color: var(--pd-ink-soft); font-size: clamp(1.1rem, 1.6vw, 1.35rem); }
.pd-stack-list { border-top: 1px solid var(--pd-line); }
.pd-stack-list article { display: grid; grid-template-columns: 62px 1fr; gap: 1.2rem; padding: 1.5rem 0; border-bottom: 1px solid var(--pd-line); }
.pd-stack-list article > span { color: var(--pd-copper); font-family: Georgia, serif; font-size: 1.05rem; }
.pd-stack-list h3 { margin: 0; font-size: 1.4rem; letter-spacing: -.03em; }
.pd-stack-list p { margin: .4rem 0 0; color: var(--pd-muted); font-size: .92rem !important; }
.pd-stat-band { padding-block: 2.5rem; background: var(--pd-dark); color: var(--pd-paper); }
.pd-stat-band .pd-wrap { display: grid; grid-template-columns: 1fr auto auto auto auto auto; gap: 1.3rem; align-items: baseline; }
.pd-stat-band p { margin: 0; color: var(--pd-copper); font-size: .7rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pd-stat-band strong { font-size: 2.4rem; }
.pd-stat-band span { color: rgba(255,253,248,.72); font-size: .82rem; }
.pd-stat-band a { color: var(--pd-paper); font-weight: 800; text-decoration-color: var(--pd-copper); text-underline-offset: 5px; }
.pd-number-list { margin: 0; padding: 0; list-style: none; }
.pd-number-list li { display: grid; grid-template-columns: 70px 1fr; gap: 1.2rem; padding: 1.4rem 0; border-bottom: 1px solid var(--pd-line-light); }
.pd-number-list li > span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-number-list strong { font-size: 1.35rem; }
.pd-number-list p { margin: .3rem 0 0; color: rgba(255,253,248,.7); font-size: .9rem; }
.pd-process-inline { display: grid; margin-top: 2.5rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); }
.pd-process-inline article { padding: 2rem clamp(1.5rem, 3vw, 3rem); }
.pd-process-inline article:first-child { padding-left: 0; }
.pd-process-inline article + article { border-left: 1px solid var(--pd-line); }
.pd-process-inline span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-process-inline h2 { margin: 1.6rem 0 .8rem; font-size: clamp(1.7rem, 2.6vw, 2.6rem); letter-spacing: -.05em; line-height: 1; }
.pd-process-inline p { color: var(--pd-muted); font-size: .9rem; }
.pd-case-study-hero { padding-block: clamp(5.5rem, 9vw, 9rem); background: var(--pd-dark); color: var(--pd-paper); }
.pd-case-study-hero .pd-back-link { color: rgba(255,253,248,.58); }
.pd-case-study-title { display: grid; margin-top: 2.2rem; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .6fr); gap: var(--pd-gap); align-items: end; }
.pd-case-study-title h1 strong,
.pd-case-study-title h1 em { display: block; }
.pd-case-study-title h1 strong { font-size: clamp(5rem, 9vw, 9rem); }
.pd-case-study-title h1 em { font-size: clamp(4rem, 7.5vw, 7.4rem); }
.pd-case-study-title--seo h1 strong { font-size: clamp(4.5rem, 7.5vw, 7.7rem); }
.pd-case-study-title--seo h1 em { max-width: 930px; font-size: clamp(3.1rem, 5.4vw, 5.6rem); line-height: .93; }
.pd-case-study-title > p { color: rgba(255,253,248,.75); font-size: 1.1rem; }
.pd-case-metrics { display: grid; margin: 4rem 0 0; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line-light); }
.pd-case-metrics div { padding: 1.7rem; }
.pd-case-metrics div:first-child { padding-left: 0; }
.pd-case-metrics div + div { border-left: 1px solid var(--pd-line-light); }
.pd-case-metrics dt { color: rgba(255,253,248,.58); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pd-case-metrics dd { margin: .6rem 0 0; color: var(--pd-paper); font-size: clamp(2rem, 4vw, 4rem); font-weight: 850; line-height: 1; }
.pd-case-narrative { display: grid; grid-template-columns: minmax(240px, .55fr) minmax(0, 1.45fr); gap: var(--pd-gap); }
.pd-case-narrative aside { padding: 1.7rem; border: 1px solid var(--pd-line); }
.pd-case-narrative aside dl { margin: 0; }
.pd-case-narrative aside dl div { padding: .9rem 0; border-bottom: 1px solid var(--pd-line); }
.pd-case-narrative aside dt { color: var(--pd-muted); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pd-case-narrative aside dd { margin: .25rem 0 0; font-weight: 750; }
.pd-case-narrative > div > p { max-width: 740px; color: var(--pd-ink-soft); font-size: 1.05rem; }
.pd-case-narrative h3 { margin: 2.4rem 0 .7rem; font-size: 1.5rem; }
.pd-quote { max-width: 760px; margin: 2.5rem 0 0; padding-left: 1.5rem; border-left: 2px solid var(--pd-copper); color: var(--pd-ink); font-family: Georgia, serif; font-size: clamp(1.5rem, 2.6vw, 2.2rem); font-style: italic; line-height: 1.25; }
.pd-case-method { margin: 1.2rem 0 0; color: rgba(255,253,248,.52); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.pd-case-breakthrough { padding-block: clamp(4rem, 7vw, 7rem); background: var(--pd-copper); color: #fff; }
.pd-case-breakthrough .pd-wrap { display: grid; grid-template-columns: minmax(260px, .8fr) minmax(330px, 1fr) minmax(280px, .7fr); gap: var(--pd-gap); align-items: center; }
.pd-case-breakthrough .pd-kicker { color: #fff; }
.pd-case-breakthrough .pd-kicker::before { background: #fff; }
.pd-case-breakthrough div > div strong { display: block; color: #fff; font-size: clamp(4.5rem, 8vw, 8rem); letter-spacing: -.08em; line-height: .85; }
.pd-case-breakthrough div > div span { display: block; margin-top: 1rem; font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pd-case-breakthrough .pd-wrap > p:last-child { margin: 0; font-size: 1.08rem; }
.pd-case-strategy-grid { display: grid; margin-top: 3rem; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line); }
.pd-case-strategy-grid article { padding: 2.1rem 1.7rem; }
.pd-case-strategy-grid article:first-child { padding-left: 0; }
.pd-case-strategy-grid article + article { border-left: 1px solid var(--pd-line); }
.pd-case-strategy-grid span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-case-strategy-grid h3 { margin: 1.5rem 0 .8rem; font-size: 1.45rem; letter-spacing: -.03em; }
.pd-case-strategy-grid p { margin: 0; color: var(--pd-muted); font-size: .9rem; }
.pd-case-table-heading { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .6fr); gap: var(--pd-gap); align-items: end; }
.pd-case-table-heading > p { color: rgba(255,253,248,.7); }
.pd-table-wrap { overflow-x: auto; margin-top: 3rem; border: 1px solid var(--pd-line-light); }
.pd-table-wrap:focus-visible { outline: 3px solid var(--pd-copper); outline-offset: 3px; }
.pd-data-table { width: 100%; min-width: 800px; border-collapse: collapse; color: var(--pd-paper); font-variant-numeric: tabular-nums; }
.pd-data-table th,
.pd-data-table td { padding: 1rem 1.1rem; border-bottom: 1px solid var(--pd-line-light); text-align: center; }
.pd-data-table thead th { color: rgba(255,253,248,.58); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.pd-data-table th:first-child { width: 38%; text-align: left; }
.pd-data-table tbody th { font-size: .9rem; }
.pd-data-table tbody tr:last-child th,
.pd-data-table tbody tr:last-child td { border-bottom: 0; }
.pd-data-table strong { color: var(--pd-copper); font-size: 1.15rem; }
.pd-not-ranked { color: rgba(255,253,248,.42); font-size: .75rem; }
.pd-proof-grid { display: grid; margin-top: 3rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); }
.pd-proof-grid article { padding: 2.2rem; }
.pd-proof-grid article:first-child { padding-left: 0; }
.pd-proof-grid article + article { border-left: 1px solid var(--pd-line); }
.pd-proof-grid strong { color: var(--pd-copper); font-size: clamp(3.5rem, 6vw, 6rem); letter-spacing: -.07em; }
.pd-proof-grid h3 { margin: .6rem 0; font-size: 1.35rem; }
.pd-proof-grid p { margin: 0; color: var(--pd-muted); }
.pd-case-note { max-width: 960px; margin-top: 3.5rem; padding: 2rem; border-left: 3px solid var(--pd-copper); background: #eee7dd; }
.pd-case-note p:last-child { margin-bottom: 0; color: var(--pd-ink-soft); }
.pd-next-grid { display: grid; margin-top: 2rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); }
.pd-next-grid article { padding: 2.2rem; }
.pd-next-grid article:first-child { padding-left: 0; }
.pd-next-grid article + article { border-left: 1px solid var(--pd-line); }
.pd-next-grid h2 { margin: 0 0 1rem; font-size: clamp(1.7rem, 2.5vw, 2.5rem); letter-spacing: -.05em; line-height: 1; }
.pd-next-grid p { margin: 0; color: var(--pd-muted); }
.pd-product-hero { padding-block: clamp(5.5rem, 9vw, 9rem); }
.pd-product-page--blue .pd-product-hero { background: #e9ecfb; }
.pd-product-page--green .pd-product-hero { background: #e9eedf; }
.pd-product-hero-grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr); gap: var(--pd-gap); align-items: center; }
.pd-product-page-logo { width: 150px; max-height: 58px; margin: 1.8rem 0; object-fit: contain; object-position: left center; }
.pd-product-page-logo--wide { width: 270px; }
.pd-product-hero h1 { max-width: 720px; font-size: clamp(3.6rem, 5.5vw, 5.9rem); }
.pd-product-hero p:not(.pd-eyebrow) { max-width: 650px; color: var(--pd-ink-soft); font-size: 1.1rem; }
.pd-product-hero .pd-button { margin-top: 1.4rem; }
.pd-product-shot { overflow: hidden; min-height: 520px; border: 1px solid var(--pd-line); border-radius: 18px; background: #111; box-shadow: 0 24px 60px rgba(17,20,15,.17); }
.pd-product-shot img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.pd-feature-cloud { display: flex; align-content: flex-start; flex-wrap: wrap; gap: .8rem; }
.pd-feature-cloud span { padding: .8rem 1rem; border: 1px solid #aab595; border-radius: 999px; background: #f4f6ed; color: #324328; font-size: .82rem; font-weight: 800; }

/* v0.10 social media service family */
.pd-sub-link { width: fit-content; margin-top: .85rem; color: var(--pd-copper-dark); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.pd-sub-link:hover { color: var(--pd-ink); }
.pd-inline-link { display: inline-block; margin-top: .55rem; color: var(--pd-copper-dark); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.pd-inline-link:hover { color: var(--pd-ink); }
.pd-service-hero--social { background: linear-gradient(135deg, var(--pd-cream) 0%, #eee4d6 100%); }
.pd-service-hero--social-dark { background: var(--pd-dark); color: var(--pd-paper); }
.pd-service-hero--social-dark .pd-back-link { color: rgba(255,253,248,.6); }
.pd-service-hero--social-dark .pd-service-intro { color: rgba(255,253,248,.74); }
.pd-service-nav { border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); background: var(--pd-paper); }
.pd-service-nav .pd-wrap { display: flex; min-height: 68px; align-items: center; gap: clamp(1.2rem, 3vw, 3rem); }
.pd-service-nav span,
.pd-service-nav a,
.pd-service-nav strong { color: var(--pd-muted); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.pd-service-nav span { margin-right: auto; color: var(--pd-ink); }
.pd-service-nav a:hover { color: var(--pd-copper-dark); }
.pd-service-nav strong { color: var(--pd-copper-dark); }
.pd-service-nav--dark { border-color: var(--pd-line-light); background: #181d1e; }
.pd-service-nav--dark span,
.pd-service-nav--dark a { color: rgba(255,253,248,.65); }
.pd-service-nav--dark strong { color: var(--pd-copper); }
.pd-service-paths { display: grid; margin-top: 4rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-service-paths article { display: flex; min-width: 0; flex-direction: column; padding: 2.5rem clamp(1.6rem, 3vw, 3rem); }
.pd-service-paths article:first-child { padding-left: 0; }
.pd-service-paths article:last-child { padding-right: 0; }
.pd-service-paths article + article { border-left: 1px solid var(--pd-line); }
.pd-service-paths article > span,
.pd-content-pillars article > span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-service-paths h3 { margin: 1.4rem 0 .7rem; font-size: clamp(1.8rem, 2.8vw, 2.7rem); letter-spacing: -.05em; line-height: 1; }
.pd-service-paths p { margin: 0; color: var(--pd-muted); }
.pd-service-paths .pd-text-link { margin-top: auto; }
.pd-social-loop { display: grid; margin-top: 3.5rem; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line-light); }
.pd-social-loop article { padding: 2rem 1.7rem; }
.pd-social-loop article:first-child { padding-left: 0; }
.pd-social-loop article + article { border-left: 1px solid var(--pd-line-light); }
.pd-social-loop span { color: var(--pd-copper); font-family: Georgia, serif; }
.pd-social-loop h3 { margin: 1.5rem 0 .7rem; color: var(--pd-paper); font-size: 1.65rem; }
.pd-social-loop p { margin: 0; color: rgba(255,253,248,.7); font-size: .9rem; }
.pd-social-loop--light { border-color: var(--pd-line); }
.pd-social-loop--light article + article { border-color: var(--pd-line); }
.pd-social-loop--light h3 { color: var(--pd-ink); }
.pd-social-loop--light p { color: var(--pd-muted); }
.pd-proof-callout { padding-block: clamp(4.5rem, 7vw, 7rem); background: #e9e0d3; }
.pd-proof-callout .pd-wrap { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--pd-gap); align-items: end; }
.pd-proof-callout h2 { margin: .8rem 0; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.07em; line-height: .9; }
.pd-proof-callout p:not(.pd-kicker) { max-width: 720px; color: var(--pd-ink-soft); font-size: 1.05rem; }
.pd-proof-callout .pd-button { align-self: end; background: var(--pd-dark); color: var(--pd-paper); }
.pd-social-feature { padding-block: clamp(5rem, 8vw, 8rem); background: #eee4d7; }
.pd-social-feature .pd-wrap { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: var(--pd-gap); align-items: start; }
.pd-social-feature h2 { margin: .8rem 0 1.2rem; font-size: clamp(3rem, 5.4vw, 5.5rem); letter-spacing: -.065em; line-height: .92; }
.pd-social-feature h2 em { color: var(--pd-copper); font-family: Georgia, serif; font-weight: 500; }
.pd-social-feature div > p:not(.pd-kicker) { max-width: 560px; color: var(--pd-ink-soft); }
.pd-social-feature .pd-button { margin-top: 1.3rem; }
.pd-social-feature-links { border-top: 1px solid var(--pd-line); }
.pd-social-feature-links a { display: grid; padding: 1.35rem 0; grid-template-columns: minmax(150px, .65fr) minmax(0, 1fr); gap: 1.5rem; border-bottom: 1px solid var(--pd-line); color: var(--pd-ink); text-decoration: none; }
.pd-social-feature-links a:hover strong { color: var(--pd-copper-dark); }
.pd-social-feature-links strong { font-size: 1.05rem; }
.pd-social-feature-links span { color: var(--pd-muted); font-size: .82rem; }
.pd-process-inline--four { grid-template-columns: repeat(4, 1fr); }
.pd-process-inline--four h2 { font-size: clamp(1.5rem, 2.2vw, 2.15rem); }
.pd-check-list--light li { border-color: var(--pd-line-light); color: rgba(255,253,248,.8); }
.pd-service-note { margin-top: 2rem; padding-left: 1.2rem; border-left: 2px solid var(--pd-copper); color: rgba(255,253,248,.62) !important; font-size: .85rem !important; }
.pd-related-services { padding-block: 3rem; border-top: 1px solid var(--pd-line); background: var(--pd-paper); }
.pd-related-services .pd-wrap { display: grid; grid-template-columns: minmax(180px, .4fr) minmax(0, 1.6fr); gap: var(--pd-gap); align-items: start; }
.pd-related-services .pd-wrap > p { margin: .2rem 0 0; color: var(--pd-copper-dark); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pd-related-services .pd-wrap > div { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.pd-related-services a { display: grid; gap: .35rem; padding-bottom: 1rem; border-bottom: 1px solid var(--pd-line); color: var(--pd-ink); text-decoration: none; }
.pd-related-services a:hover strong { color: var(--pd-copper-dark); }
.pd-related-services span { color: var(--pd-muted); font-size: .78rem; }
.pd-content-pillars { display: grid; margin-top: 4rem; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--pd-line); }
.pd-content-pillars article { padding: 2rem 1.6rem; }
.pd-content-pillars article:first-child { padding-left: 0; }
.pd-content-pillars article + article { border-left: 1px solid var(--pd-line); }
.pd-content-pillars h3 { margin: 1.3rem 0 .6rem; font-size: 1.55rem; letter-spacing: -.035em; }
.pd-content-pillars p { margin: 0; color: var(--pd-muted); font-size: .9rem; }
.pd-content-flow { display: grid; margin-top: 3rem; grid-template-columns: 1fr auto 1fr auto 1fr; gap: 1.5rem; align-items: center; }
.pd-content-flow article { min-height: 230px; padding: 2rem; border: 1px solid var(--pd-line-light); }
.pd-content-flow article > span { color: var(--pd-copper); font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.pd-content-flow strong { display: block; margin-top: 2.3rem; color: var(--pd-paper); font-size: 1.35rem; }
.pd-content-flow p { color: rgba(255,253,248,.66); font-size: .9rem; }
.pd-content-flow > b { color: var(--pd-copper); font-size: 1.5rem; }

@media (max-width: 980px) {
  .pd-page-hero-grid,
  .pd-story-grid,
  .pd-case-feature-grid,
  .pd-case-secondary-grid,
  .pd-about-profile,
  .pd-contact-layout,
  .pd-case-study-title,
  .pd-case-narrative,
  .pd-product-hero-grid { grid-template-columns: 1fr; }
  .pd-page-hero-aside { margin-top: 1rem; }
  .pd-offer-grid { grid-template-columns: 1fr; }
  .pd-offer-grid article,
  .pd-offer-grid article:first-child,
  .pd-offer-grid article:last-child { padding: 2.4rem 0; }
  .pd-offer-grid article + article { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-cta-band .pd-wrap { grid-template-columns: 1fr; }
  .pd-cta-band .pd-button { justify-self: start; }
  .pd-case-feature-grid .pd-button { grid-column: 1; }
  .pd-lab-row { grid-template-columns: 1fr; }
  .pd-lab-image { margin: 0 2rem 2rem; }
  .pd-principle-grid { grid-template-columns: repeat(2, 1fr); }
  .pd-principle-grid article:nth-child(3) { border-top: 1px solid var(--pd-line-light); border-left: 0; }
  .pd-principle-grid article:nth-child(4) { border-top: 1px solid var(--pd-line-light); }
  .pd-principle-grid--light article:nth-child(n+3) { border-top-color: var(--pd-line); }
  .pd-stat-band .pd-wrap { grid-template-columns: auto 1fr; }
  .pd-stat-band a { grid-column: 1 / -1; }
  .pd-case-metrics { grid-template-columns: repeat(2, 1fr); }
  .pd-case-metrics div:nth-child(3) { padding-left: 0; border-top: 1px solid var(--pd-line-light); border-left: 0; }
  .pd-case-metrics div:nth-child(4) { border-top: 1px solid var(--pd-line-light); }
  .pd-case-breakthrough .pd-wrap,
  .pd-case-table-heading { grid-template-columns: 1fr; }
  .pd-case-strategy-grid { grid-template-columns: repeat(2, 1fr); }
  .pd-case-strategy-grid article:nth-child(3) { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-case-strategy-grid article:nth-child(4) { border-top: 1px solid var(--pd-line); }
  .pd-service-paths { grid-template-columns: 1fr; }
  .pd-service-paths article,
  .pd-service-paths article:first-child,
  .pd-service-paths article:last-child { padding: 2.2rem 0; }
  .pd-service-paths article + article { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-social-loop,
  .pd-content-pillars,
  .pd-process-inline--four { grid-template-columns: repeat(2, 1fr); }
  .pd-social-loop article:nth-child(3),
  .pd-content-pillars article:nth-child(3),
  .pd-process-inline--four article:nth-child(3) { padding-left: 0; border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-social-loop article:nth-child(4),
  .pd-content-pillars article:nth-child(4),
  .pd-process-inline--four article:nth-child(4) { border-top: 1px solid var(--pd-line); }
  .pd-section--ink .pd-social-loop article:nth-child(n+3) { border-top-color: var(--pd-line-light); }
  .pd-proof-callout .pd-wrap,
  .pd-social-feature .pd-wrap,
  .pd-related-services .pd-wrap { grid-template-columns: 1fr; }
  .pd-proof-callout .pd-button { justify-self: start; }
  .pd-content-flow { grid-template-columns: 1fr; }
  .pd-content-flow > b { justify-self: center; transform: rotate(90deg); }
}

@media (max-width: 680px) {
  .pd-page h1,
  .pd-service-hero h1 { font-size: clamp(3.1rem, 15vw, 4.5rem); }
  .pd-page h1 br,
  .pd-service-hero h1 br,
  .pd-product-hero h1 br { display: none; }
  .pd-page-hero,
  .pd-service-hero,
  .pd-product-hero,
  .pd-case-study-hero { padding-block: 4.5rem; }
  .pd-principle-grid,
  .pd-process-inline { grid-template-columns: 1fr; }
  .pd-principle-grid article,
  .pd-principle-grid article:first-child,
  .pd-process-inline article,
  .pd-process-inline article:first-child { padding: 1.7rem 0; }
  .pd-principle-grid article + article,
  .pd-principle-grid article:nth-child(3),
  .pd-principle-grid article:nth-child(4),
  .pd-process-inline article + article { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-section--ink .pd-principle-grid article + article { border-top-color: var(--pd-line-light); }
  .pd-form-row { grid-template-columns: 1fr; }
  .pd-form-card { padding: 1.3rem; }
  .pd-stat-band .pd-wrap { grid-template-columns: 1fr 1fr; }
  .pd-stat-band p,
  .pd-stat-band a { grid-column: 1 / -1; }
  .pd-case-study-title h1 strong { font-size: clamp(4.1rem, 21vw, 5.8rem); }
  .pd-case-study-title h1 em { font-size: clamp(3.5rem, 18vw, 5rem); }
  .pd-case-study-title--seo h1 strong { font-size: clamp(3.5rem, 17vw, 5rem); }
  .pd-case-study-title--seo h1 em { font-size: clamp(2.7rem, 13vw, 4rem); }
  .pd-case-metrics { grid-template-columns: 1fr; }
  .pd-case-metrics div,
  .pd-case-metrics div:first-child,
  .pd-case-metrics div:nth-child(3) { padding: 1.4rem 0; border-top: 1px solid var(--pd-line-light); border-left: 0; }
  .pd-case-strategy-grid,
  .pd-proof-grid,
  .pd-next-grid { grid-template-columns: 1fr; }
  .pd-case-strategy-grid article,
  .pd-case-strategy-grid article:first-child,
  .pd-proof-grid article,
  .pd-proof-grid article:first-child,
  .pd-next-grid article,
  .pd-next-grid article:first-child { padding: 1.7rem 0; border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-lab-row { min-height: 0; }
  .pd-lab-row > div:first-child { padding: 1.6rem; }
  .pd-lab-image { min-height: 280px; margin: 0 1rem 1rem; }
  .pd-product-shot,
  .pd-product-shot img { min-height: 340px; }
  .pd-service-nav .pd-wrap { overflow-x: auto; padding-block: 1rem; }
  .pd-service-nav span { display: none; }
  .pd-service-nav a,
  .pd-service-nav strong { flex: none; }
  .pd-social-loop,
  .pd-content-pillars,
  .pd-process-inline--four,
  .pd-related-services .pd-wrap > div { grid-template-columns: 1fr; }
  .pd-social-loop article,
  .pd-social-loop article:first-child,
  .pd-content-pillars article,
  .pd-content-pillars article:first-child { padding: 1.7rem 0; border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-section--ink .pd-social-loop article { border-top-color: var(--pd-line-light); }
  .pd-social-feature-links a { grid-template-columns: 1fr; gap: .35rem; }
}

/* Demo directory */
.pd-demo-invite,
.pd-demo-directory-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .7fr);
  gap: var(--pd-gap);
  align-items: end;
}
.pd-demo-invite > div:last-child > p,
.pd-demo-directory-intro > p { margin: 0; color: var(--pd-muted); font-size: 1.08rem; }
.pd-demo-invite .pd-button { margin-top: 1.8rem; }
.pd-demos-hero { background: linear-gradient(135deg, #f5f0e7 0%, #fffdf8 56%, #eee6d9 100%); }
.pd-demo-directory { display: grid; margin-top: 4rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--pd-line); border-bottom: 1px solid var(--pd-line); }
.pd-demo-version-links { display:grid; margin-top:2rem; border-top:1px solid var(--pd-line); }
.pd-demo-version-links a { display:grid!important; padding:.8rem 0!important; grid-template-columns:42px 1fr; border-bottom:1px solid var(--pd-line); font-size:.68rem!important; letter-spacing:.02em!important; text-decoration:none; text-transform:none!important; }
.pd-demo-version-links a:hover { color:var(--pd-copper-dark); }
.pd-demo-version-links b { font-size:.62rem; letter-spacing:.12em; }
.pd-demo-version-links span { color:var(--pd-muted); }
.pd-demo-tile { display: flex; min-width: 0; min-height: 620px; flex-direction: column; padding: 2rem; }
.pd-demo-tile:first-child { padding-left: 0; }
.pd-demo-tile:last-child { padding-right: 0; }
.pd-demo-tile + .pd-demo-tile { border-left: 1px solid var(--pd-line); }
.pd-demo-tile-top { display: flex; justify-content: space-between; gap: 1rem; color: var(--pd-muted); font-size: .64rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.pd-demo-tile-top span { color: var(--pd-copper); }
.pd-demo-tile-top small { text-align: right; }
.pd-demo-tile-mark { position: relative; display: grid; overflow: hidden; height: 230px; margin: 2rem 0; place-items: center; border-radius: 12px; }
.pd-demo-tile-mark b { position: relative; z-index: 2; font-size: 4.2rem; letter-spacing: -.08em; }
.pd-demo-tile--wash .pd-demo-tile-mark { background: #dceff5; }
.pd-demo-tile--wash .pd-demo-tile-mark i { position: absolute; width: 260px; height: 260px; border: 1px solid rgba(12,103,137,.3); border-radius: 50%; }
.pd-demo-tile--wash .pd-demo-tile-mark i:nth-child(2) { width: 170px; height: 170px; }
.pd-demo-tile--wash .pd-demo-tile-mark i:nth-child(3) { width: 80px; height: 80px; background: #08739b; }
.pd-demo-tile--earth .pd-demo-tile-mark { background: #24231f; color: #f59a3f; }
.pd-demo-tile--earth .pd-demo-tile-mark::before { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 54px, rgba(255,255,255,.06) 54px 55px); content: ""; }
.pd-demo-tile--gym .pd-demo-tile-mark { background: #d8ff45; color: #131523; }
.pd-demo-tile--gym .pd-demo-tile-mark b { padding: .3rem .5rem; border: 5px solid currentColor; transform: rotate(-4deg); }
.pd-demo-tile-label { margin: 0 0 .65rem; color: var(--pd-copper-dark); font-size: .68rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.pd-demo-tile h3 { margin: 0; font-size: clamp(2rem, 3vw, 3rem); letter-spacing: -.055em; line-height: 1; }
.pd-demo-tile > div:last-child > p:not(.pd-demo-tile-label) { color: var(--pd-muted); }
.pd-demo-tile a { display: inline-flex; gap: .5rem; margin-top: 1rem; color: var(--pd-ink); font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-decoration-color: var(--pd-copper); text-underline-offset: 5px; text-transform: uppercase; }

/* Shared industry demo frame */
.industry-demo { min-height: 100vh; line-height: 1.5; }
.industry-demo * { box-sizing: border-box; }
.industry-demo a { color: inherit; }
.demo-notice { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: 1rem; padding: .55rem clamp(1rem, 4vw, 4rem); background: #111820; color: #fff; font-family: Arial, sans-serif; }
.demo-notice > div { display: flex; align-items: center; gap: .8rem; }
.demo-notice strong { color: #77d6ef; font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; }
.demo-notice span { color: rgba(255,255,255,.62); font-size: .7rem; }
.demo-notice > a { font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.demo-notice--dark { background: #e8892e; color: #171713; }
.demo-notice--dark strong { color: #171713; }
.demo-notice--dark span { color: rgba(23,23,19,.68); }
.demo-notice--lime { background: #d8ff45; color: #131523; }
.demo-notice--lime strong { color: #131523; }
.demo-notice--lime span { color: rgba(19,21,35,.68); }

/* Power washing concept */
.wash-demo { background: #f7fbfc; color: #102532; font-family: Arial, Helvetica, sans-serif; }
.wash-header { display: flex; min-height: 92px; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1.25rem, 5vw, 5rem); border-bottom: 1px solid #cce1e8; background: rgba(247,251,252,.96); }
.wash-brand { display: flex; align-items: center; gap: .8rem; text-decoration: none; }
.wash-brand > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #08739b; color: #fff; font-size: .75rem; font-weight: 900; }
.wash-brand strong { font-size: 1.08rem; letter-spacing: -.025em; line-height: 1; }
.wash-brand small { display: block; margin-top: .25rem; color: #4e6d7a; font-size: .57rem; letter-spacing: .16em; text-transform: uppercase; }
.wash-header nav { display: flex; align-items: center; gap: 2rem; }
.wash-header nav a { font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.wash-header .wash-nav-cta { padding: .85rem 1.2rem; border-radius: 999px; background: #08739b; color: #fff; }
.wash-hero { display: grid; overflow: hidden; min-height: 720px; grid-template-columns: 1.02fr .98fr; }
.wash-hero-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem, 8vw, 8rem) clamp(2rem, 7vw, 7rem); background: #edf7fa; }
.wash-eyebrow { margin: 0 0 1.5rem; color: #08739b; font-size: .68rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.wash-hero h1 { max-width: 720px; margin: 0; font-size: clamp(4rem, 7vw, 7.4rem); letter-spacing: -.075em; line-height: .85; }
.wash-hero h1 em { display: block; margin-top: .16em; color: #08739b; font-family: Georgia, serif; font-weight: 400; letter-spacing: -.06em; }
.wash-hero-copy > p:not(.wash-eyebrow) { max-width: 610px; margin: 2rem 0 0; color: #405f6b; font-size: 1.12rem; }
.wash-actions { display: flex; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.wash-actions > a:last-child { color: #294b59; font-size: .75rem; font-weight: 800; }
.wash-button { display: inline-flex; width: fit-content; min-height: 52px; align-items: center; justify-content: center; gap: .6rem; padding: .9rem 1.35rem; border-radius: 999px; background: #08739b; color: #fff !important; font-size: .72rem; font-weight: 850; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.wash-hero ul { display: flex; flex-wrap: wrap; gap: 1.2rem; margin: 2.7rem 0 0; padding: 0; color: #476775; font-size: .7rem; font-weight: 800; list-style: none; text-transform: uppercase; }
.wash-hero li span { color: #08739b; }
.wash-visual { position: relative; display: flex; overflow: hidden; flex-direction: column; justify-content: center; gap: 1px; padding: clamp(3rem, 7vw, 7rem); background: #08739b; }
.wash-visual::before { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.12), transparent 52%); content: ""; }
.wash-orbit { position: absolute; right: -10%; width: min(48vw, 650px); height: min(48vw, 650px); border: 1px solid rgba(255,255,255,.22); border-radius: 50%; }
.wash-orbit--two { right: 8%; width: min(30vw, 420px); height: min(30vw, 420px); }
.wash-surface { position: relative; z-index: 2; display: grid; padding: 1.4rem; grid-template-columns: 44px 1fr; border-top: 1px solid rgba(255,255,255,.28); color: #fff; }
.wash-surface:last-child { border-bottom: 1px solid rgba(255,255,255,.28); }
.wash-surface span { grid-row: 1 / 3; color: #aeeafb; font-size: .65rem; font-weight: 900; }
.wash-surface strong { font-size: 1.35rem; }
.wash-surface small { color: rgba(255,255,255,.68); }
.wash-trust { display: grid; padding: 1.8rem clamp(1.25rem, 5vw, 5rem); grid-template-columns: .7fr 1.3fr; border-bottom: 1px solid #cce1e8; }
.wash-trust p { margin: 0; color: #08739b; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.wash-trust div { display: flex; justify-content: space-between; gap: 1rem; color: #294b59; font-size: .75rem; font-weight: 800; }
.wash-services { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); }
.wash-section-head { display: grid; grid-template-columns: 1.2fr .8fr; gap: 5rem; align-items: end; }
.wash-section-head h2 { max-width: 760px; margin: 0; font-size: clamp(3rem, 5vw, 5.2rem); letter-spacing: -.065em; line-height: .95; }
.wash-section-head > p { margin: 0; color: #506d78; }
.wash-service-grid { display: grid; margin-top: 4rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #cce1e8; border-bottom: 1px solid #cce1e8; }
.wash-service-grid article { padding: 2.5rem; }
.wash-service-grid article:first-child { padding-left: 0; }
.wash-service-grid article + article { border-left: 1px solid #cce1e8; }
.wash-service-grid article > span { color: #08739b; font-size: .68rem; font-weight: 900; }
.wash-service-grid h3 { margin: 1.6rem 0 .8rem; font-size: 1.8rem; letter-spacing: -.045em; }
.wash-service-grid p { min-height: 5em; color: #506d78; }
.wash-service-grid a { color: #08739b; font-size: .7rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.wash-process { display: grid; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); grid-template-columns: .85fr 1.15fr; gap: 6rem; background: #102f3e; color: #fff; }
.wash-process h2 { max-width: 620px; margin: 0; font-size: clamp(3rem, 5vw, 5rem); letter-spacing: -.065em; line-height: .95; }
.wash-process ol { margin: 0; padding: 0; list-style: none; }
.wash-process li { display: grid; padding: 1.6rem 0; grid-template-columns: 48px 1fr; border-bottom: 1px solid rgba(255,255,255,.2); }
.wash-process li > span { color: #77d6ef; font-size: .72rem; font-weight: 900; }
.wash-process li strong { font-size: 1.3rem; }
.wash-process li p { margin: .35rem 0 0; color: rgba(255,255,255,.66); }
.wash-close { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 7vw, 7rem); text-align: center; }
.wash-close p { margin: 0; color: #08739b; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.wash-close h2 { max-width: 900px; margin: 1rem auto 2.5rem; font-size: clamp(3rem, 6vw, 6rem); letter-spacing: -.07em; line-height: .93; }
.wash-button--dark { margin-inline: auto; background: #102f3e; }
.wash-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1.25rem, 5vw, 5rem); background: #0c242f; color: rgba(255,255,255,.65); font-size: .7rem; }
.wash-footer strong { color: #fff; }

/* Excavation concept */
.earth-demo { background: #e9e4d9; color: #1b1b17; font-family: Arial, Helvetica, sans-serif; }
.earth-header { display: flex; min-height: 94px; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1.25rem, 5vw, 5rem); background: #1b1b17; color: #f6f0e3; }
.earth-brand { display: flex; align-items: center; gap: 1rem; text-decoration: none; }
.earth-brand > span { display: grid; width: 52px; height: 52px; place-items: center; border: 2px solid #e8892e; color: #e8892e; font-size: .85rem; font-weight: 900; transform: rotate(-3deg); }
.earth-brand strong { font-size: 1.08rem; letter-spacing: .02em; text-transform: uppercase; }
.earth-brand small { display: block; margin-top: .18rem; color: #a8a594; font-size: .55rem; letter-spacing: .16em; }
.earth-header nav { display: flex; align-items: center; gap: 2rem; }
.earth-header nav a { font-size: .7rem; font-weight: 850; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.earth-cta { padding: .9rem 1.1rem; background: #e8892e; color: #1b1b17 !important; }
.earth-hero { position: relative; display: grid; overflow: hidden; min-height: 760px; padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); grid-template-columns: 1.2fr .8fr; gap: 6rem; background: #24231f; color: #f6f0e3; }
.earth-grid-lines { position: absolute; inset: 0; background: linear-gradient(90deg, transparent 49.9%, rgba(255,255,255,.055) 50%, transparent 50.1%), repeating-linear-gradient(0deg, transparent 0 109px, rgba(255,255,255,.045) 109px 110px); }
.earth-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; }
.earth-hero-copy > p:first-child { margin: 0 0 1.7rem; color: #e8892e; font-size: .68rem; font-weight: 850; letter-spacing: .16em; text-transform: uppercase; }
.earth-hero h1 { margin: 0; font-size: clamp(5rem, 10vw, 10rem); letter-spacing: -.085em; line-height: .76; text-transform: uppercase; }
.earth-hero h1 em { display: block; margin-top: .22em; color: #e8892e; font-family: Georgia, serif; font-weight: 400; letter-spacing: -.06em; text-transform: none; }
.earth-hero-bottom { display: grid; margin-top: 4rem; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; }
.earth-hero-bottom p { max-width: 520px; margin: 0; color: #b9b4a8; font-size: 1.08rem; }
.earth-button { display: inline-flex; width: fit-content; min-height: 52px; align-items: center; gap: .7rem; padding: .9rem 1.25rem; background: #e8892e; color: #1b1b17 !important; font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.earth-spec { position: relative; z-index: 2; align-self: center; border-top: 4px solid #e8892e; background: #d9d2c3; color: #1b1b17; }
.earth-spec > span { display: block; padding: 1.2rem; border-bottom: 1px solid rgba(27,27,23,.22); font-size: .65rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.earth-spec dl { margin: 0; padding: 1rem 1.6rem 1.6rem; }
.earth-spec dl div { display: grid; padding: 1.2rem 0; grid-template-columns: 44px 1fr; border-bottom: 1px solid rgba(27,27,23,.18); }
.earth-spec dt { color: #9c531b; font-size: .68rem; font-weight: 900; }
.earth-spec dd { margin: 0; font-size: 1.15rem; font-weight: 850; }
.earth-intro { display: grid; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); grid-template-columns: .45fr 1.55fr; gap: 5rem; }
.earth-intro p { margin: .5rem 0 0; color: #8a4a1e; font-size: .7rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.earth-intro h2 { max-width: 900px; margin: 0; font-size: clamp(3rem, 5.7vw, 6rem); letter-spacing: -.07em; line-height: .92; }
.earth-capabilities { padding: clamp(5rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); background: #d7d0c1; }
.earth-section-label { display: grid; grid-template-columns: .45fr 1.55fr; gap: 5rem; align-items: start; }
.earth-section-label span { color: #8a4a1e; font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.earth-section-label h2 { max-width: 820px; margin: 0; font-size: clamp(3rem, 5vw, 5rem); letter-spacing: -.065em; line-height: .94; }
.earth-cap-grid { display: grid; margin-top: 4rem; grid-template-columns: repeat(2, 1fr); border-top: 1px solid rgba(27,27,23,.25); border-left: 1px solid rgba(27,27,23,.25); }
.earth-cap-grid article { min-height: 270px; padding: 2.2rem; border-right: 1px solid rgba(27,27,23,.25); border-bottom: 1px solid rgba(27,27,23,.25); }
.earth-cap-grid article > span { color: #a25b22; font-size: .7rem; font-weight: 900; }
.earth-cap-grid h3 { margin: 2.8rem 0 .7rem; font-size: 2rem; letter-spacing: -.045em; }
.earth-cap-grid p { max-width: 520px; margin: 0; color: #5c584e; }
.earth-process { display: grid; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); grid-template-columns: .8fr 1.2fr; gap: 6rem; }
.earth-process .earth-section-label { display: block; }
.earth-process .earth-section-label h2 { margin-top: 1.2rem; }
.earth-process ol { margin: 0; padding: 0; list-style: none; }
.earth-process li { display: grid; padding: 1.8rem 0; grid-template-columns: 52px 1fr; border-bottom: 1px solid rgba(27,27,23,.22); }
.earth-process li > span { color: #9c531b; font-size: .7rem; font-weight: 900; }
.earth-process strong { font-size: 1.35rem; }
.earth-process p { margin: .4rem 0 0; color: #645f54; }
.earth-close { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); background: #e8892e; }
.earth-close > span { font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.earth-close h2 { max-width: 1100px; margin: 1.5rem 0 2.8rem; font-size: clamp(4rem, 8vw, 8rem); letter-spacing: -.08em; line-height: .84; text-transform: uppercase; }
.earth-button--light { background: #f6f0e3; }
.earth-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1.25rem, 5vw, 5rem); background: #1b1b17; color: #9c998e; font-size: .7rem; }
.earth-footer strong { color: #e8892e; letter-spacing: .1em; }

/* Gym concept */
.gym-demo { background: #f4f0e6; color: #151726; font-family: Arial, Helvetica, sans-serif; }
.gym-header { display: flex; min-height: 90px; align-items: center; justify-content: space-between; gap: 2rem; padding: 1rem clamp(1.25rem, 5vw, 5rem); border-bottom: 1px solid rgba(21,23,38,.2); }
.gym-brand { display: flex; align-items: center; gap: .9rem; text-decoration: none; }
.gym-brand > span { display: grid; width: 50px; height: 50px; place-items: center; background: #151726; color: #d8ff45; font-size: .8rem; font-weight: 950; transform: rotate(-3deg); }
.gym-brand strong { font-size: 1.05rem; font-weight: 950; letter-spacing: -.025em; text-transform: uppercase; }
.gym-brand small { display: block; color: #676878; font-size: .57rem; letter-spacing: .14em; }
.gym-header nav { display: flex; align-items: center; gap: 2rem; }
.gym-header nav a { font-size: .7rem; font-weight: 900; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.gym-cta { padding: .9rem 1.15rem; background: #151726; color: #fff !important; }
.gym-hero { position: relative; display: grid; overflow: hidden; min-height: 730px; padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); grid-template-columns: 1.15fr .85fr; gap: 5rem; align-items: center; background: #151726; color: #fff; }
.gym-hero::before { position: absolute; top: -30%; left: -8%; width: 62vw; height: 62vw; border: 1px solid rgba(216,255,69,.18); border-radius: 50%; content: ""; }
.gym-stamp { position: absolute; top: 3rem; right: 3rem; display: grid; width: 115px; height: 115px; place-items: center; border: 2px solid #d8ff45; border-radius: 50%; color: #d8ff45; font-size: .62rem; font-weight: 950; letter-spacing: .13em; text-align: center; transform: rotate(9deg); }
.gym-hero-copy { position: relative; z-index: 2; }
.gym-hero-copy > p:first-child { margin: 0 0 1.8rem; color: #d8ff45; font-size: .67rem; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.gym-hero h1 { margin: 0; font-size: clamp(5rem, 10vw, 10rem); letter-spacing: -.09em; line-height: .72; text-transform: uppercase; }
.gym-hero h1 em { display: block; margin-top: .28em; color: #d8ff45; font-family: Georgia, serif; font-weight: 400; letter-spacing: -.065em; text-transform: none; }
.gym-hero-copy > p:not(:first-child) { max-width: 610px; margin: 2.5rem 0 0; color: rgba(255,255,255,.72); font-size: 1.08rem; }
.gym-hero-copy > div:last-child { display: flex; align-items: center; gap: 1.5rem; margin-top: 2rem; }
.gym-button { display: inline-flex; width: fit-content; min-height: 52px; align-items: center; gap: .65rem; padding: .9rem 1.3rem; background: #d8ff45; color: #151726 !important; font-size: .7rem; font-weight: 950; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.gym-text-link { color: #fff; font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gym-board { position: relative; z-index: 2; padding: 1.7rem; border: 1px solid rgba(255,255,255,.22); background: #202337; transform: rotate(1.5deg); }
.gym-board > p { margin: 0 0 1.5rem; color: #d8ff45; font-size: .67rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gym-board > div { display: grid; padding: 1.3rem 0; grid-template-columns: 52px 1fr; border-top: 1px solid rgba(255,255,255,.18); }
.gym-board span { grid-row: 1 / 3; color: #d8ff45; font-size: .65rem; font-weight: 900; }
.gym-board strong { font-size: 1.12rem; }
.gym-board small { color: rgba(255,255,255,.55); }
.gym-marquee { display: flex; overflow: hidden; justify-content: space-around; gap: 2rem; padding: 1.3rem; background: #d8ff45; color: #151726; font-size: .68rem; font-weight: 950; letter-spacing: .11em; white-space: nowrap; }
.gym-programs { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); }
.gym-section-head { display: grid; grid-template-columns: .42fr 1.58fr; gap: 5rem; }
.gym-section-head > p,
.gym-week > div > p { margin: .4rem 0 0; color: #62647a; font-size: .67rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.gym-section-head h2 { max-width: 940px; margin: 0; font-size: clamp(3rem, 5.5vw, 5.6rem); letter-spacing: -.07em; line-height: .93; }
.gym-program-grid { display: grid; margin-top: 4rem; grid-template-columns: repeat(3, 1fr); border-top: 1px solid rgba(21,23,38,.22); border-bottom: 1px solid rgba(21,23,38,.22); }
.gym-program-grid article { min-height: 360px; padding: 2.2rem; }
.gym-program-grid article:first-child { padding-left: 0; }
.gym-program-grid article + article { border-left: 1px solid rgba(21,23,38,.22); }
.gym-program-grid article > span { color: #777a26; font-size: .67rem; font-weight: 900; }
.gym-program-grid h3 { margin: 3rem 0 .8rem; font-size: 2.6rem; letter-spacing: -.06em; }
.gym-program-grid p { color: #656575; }
.gym-program-grid strong { display: block; margin-top: 2rem; color: #4f5119; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; }
.gym-week { display: grid; padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); grid-template-columns: .8fr 1.2fr; gap: 6rem; background: #d8ff45; }
.gym-week h2 { margin: 1rem 0 0; font-size: clamp(3.5rem, 6vw, 6rem); letter-spacing: -.075em; line-height: .86; text-transform: uppercase; }
.gym-week ol { margin: 0; padding: 0; list-style: none; }
.gym-week li { display: grid; padding: 1.6rem 0; grid-template-columns: 48px 1fr; border-bottom: 1px solid rgba(21,23,38,.28); }
.gym-week li > span { grid-row: 1 / 3; font-size: .72rem; font-weight: 950; }
.gym-week strong { font-size: 1.3rem; }
.gym-week li p { margin: .35rem 0 0; color: #484a33; }
.gym-close { padding: clamp(5rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); background: #f4f0e6; text-align: center; }
.gym-close p { margin: 0; color: #62647a; font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.gym-close h2 { max-width: 1000px; margin: 1.2rem auto 2.8rem; font-size: clamp(3.5rem, 7vw, 7rem); letter-spacing: -.08em; line-height: .88; text-transform: uppercase; }
.gym-button--dark { margin-inline: auto; background: #151726; color: #fff !important; }
.gym-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 2rem clamp(1.25rem, 5vw, 5rem); background: #151726; color: rgba(255,255,255,.57); font-size: .7rem; }
.gym-footer strong { color: #d8ff45; text-transform: uppercase; }

@media (max-width: 980px) {
  .pd-demo-invite,
  .pd-demo-directory-intro { grid-template-columns: 1fr; }
  .pd-demo-directory { grid-template-columns: 1fr; }
  .pd-demo-tile,
  .pd-demo-tile:first-child,
  .pd-demo-tile:last-child { min-height: 0; padding: 2.5rem 0; }
  .pd-demo-tile + .pd-demo-tile { border-top: 1px solid var(--pd-line); border-left: 0; }
  .pd-demo-tile-mark { height: 280px; }
  .wash-hero,
  .earth-hero,
  .gym-hero { grid-template-columns: 1fr; }
  .wash-visual { min-height: 500px; }
  .wash-section-head,
  .wash-process,
  .earth-intro,
  .earth-section-label,
  .earth-process,
  .gym-section-head,
  .gym-week { grid-template-columns: 1fr; gap: 3rem; }
  .earth-spec,
  .gym-board { width: min(620px, 100%); }
  .earth-hero-bottom { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .demo-notice { align-items: flex-start; }
  .demo-notice > div { display: block; }
  .demo-notice span { display: none; }
  .wash-header,
  .earth-header,
  .gym-header { min-height: 78px; }
  .wash-header nav a:not(.wash-nav-cta),
  .earth-header nav a:not(.earth-cta),
  .gym-header nav a:not(.gym-cta) { display: none; }
  .wash-header nav,
  .earth-header nav,
  .gym-header nav { gap: 0; }
  .wash-header .wash-nav-cta,
  .earth-cta,
  .gym-cta { padding: .75rem .8rem; font-size: .58rem; }
  .wash-brand strong,
  .earth-brand strong,
  .gym-brand strong { font-size: .88rem; }
  .wash-brand > span,
  .earth-brand > span,
  .gym-brand > span { width: 42px; height: 42px; }
  .wash-hero { min-height: 0; }
  .wash-hero h1,
  .earth-hero h1,
  .gym-hero h1 { font-size: clamp(3.8rem, 19vw, 6rem); }
  .wash-actions,
  .gym-hero-copy > div:last-child { align-items: flex-start; flex-direction: column; }
  .wash-hero ul { flex-direction: column; }
  .wash-visual { min-height: 390px; }
  .wash-trust { grid-template-columns: 1fr; gap: 1rem; }
  .wash-trust div { align-items: flex-start; flex-direction: column; }
  .wash-service-grid,
  .earth-cap-grid,
  .gym-program-grid { grid-template-columns: 1fr; }
  .wash-service-grid article,
  .wash-service-grid article:first-child,
  .gym-program-grid article,
  .gym-program-grid article:first-child { min-height: 0; padding: 2rem 0; border-left: 0; }
  .wash-service-grid article + article,
  .gym-program-grid article + article { border-top: 1px solid rgba(21,23,38,.22); border-left: 0; }
  .wash-service-grid article + article { border-top-color: #cce1e8; }
  .earth-hero { min-height: 0; gap: 4rem; }
  .earth-close h2,
  .gym-close h2 { font-size: clamp(3.2rem, 15vw, 5.2rem); }
  .gym-stamp { top: 1rem; right: 1rem; width: 82px; height: 82px; font-size: .48rem; }
  .gym-marquee { justify-content: flex-start; }
  .wash-footer,
  .earth-footer,
  .gym-footer { align-items: flex-start; flex-direction: column; }
}

/* v0.9.0: concept library */
.demo-variants { display: flex; align-items: center; gap: 5px; }
.demo-variants a { display: grid; min-width: 34px; height: 28px; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 999px; color: inherit; font: 800 .62rem/1 Arial, sans-serif; text-decoration: none; }
.demo-variants a:hover,
.demo-variants a.is-current { border-color: #fff; background: #fff; color: #111820; }
.demo-notice--dark .demo-variants a,
.demo-notice--lime .demo-variants a { border-color: rgba(17,20,15,.3); }
.demo-notice--dark .demo-variants a:hover,
.demo-notice--dark .demo-variants a.is-current,
.demo-notice--lime .demo-variants a:hover,
.demo-notice--lime .demo-variants a.is-current { border-color: #171713; background: #171713; color: #fff; }

/* High Tide: cinematic, transformation-led power washing */
.tide-demo { --tide-ink:#12222a; --tide-blue:#176f86; --tide-sky:#cbe9eb; --tide-sand:#efe9de; background:#f5f1e9; color:var(--tide-ink); font-family:"Helvetica Neue",Arial,sans-serif; }
.tide-header { display:flex; min-height:92px; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.2rem,5vw,5rem); background:#f5f1e9; }
.tide-brand { display:grid; grid-template-columns:48px auto; align-items:center; column-gap:.8rem; text-decoration:none; }
.tide-brand > span { display:grid; width:48px; height:48px; grid-row:1/3; place-items:center; border-radius:50%; background:var(--tide-ink); color:#fff; font:700 .8rem Georgia,serif; }
.tide-brand strong { font:600 1.1rem/1 Georgia,serif; letter-spacing:.02em; }
.tide-brand small { color:#60747a; font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; }
.tide-header nav { display:flex; align-items:center; gap:2rem; }
.tide-header nav a { font-size:.68rem; font-weight:700; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.tide-header .tide-header-cta { padding:.8rem 1rem; border:1px solid var(--tide-ink); }
.tide-hero { position:relative; min-height:calc(100vh - 140px); overflow:hidden; background:var(--tide-ink); color:#fff; }
.tide-scene { position:absolute; inset:0; display:grid; grid-template-columns:1fr 1fr; }
.tide-scene > div { position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:clamp(2rem,5vw,5rem); background-size:cover; }
.tide-before { background:linear-gradient(150deg,#34474a,#15282e 62%,#0e1d22); filter:saturate(.55); }
.tide-after { background:radial-gradient(circle at 70% 30%,rgba(255,255,255,.65),transparent 22%),linear-gradient(145deg,#99e2e4,#338fa0 58%,#16657b); }
.tide-scene > div::before { position:absolute; inset:8% 10%; border:1px solid rgba(255,255,255,.18); border-radius:50% 44% 52% 38%; content:""; transform:rotate(-8deg); }
.tide-scene span,.tide-scene b { position:relative; z-index:1; }
.tide-scene span { font-size:.62rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.tide-scene b { max-width:260px; margin-top:.5rem; font:400 clamp(1.2rem,2vw,2rem)/1.15 Georgia,serif; }
.tide-scene > i { position:absolute; z-index:2; top:0; bottom:0; left:50%; width:2px; background:#fff; box-shadow:0 0 0 7px rgba(255,255,255,.16); }
.tide-hero-copy { position:relative; z-index:3; display:flex; min-height:calc(100vh - 140px); align-items:center; flex-direction:column; justify-content:center; padding:4rem 1.5rem; text-align:center; pointer-events:none; }
.tide-hero-copy > p:first-child { margin:0; font-size:.64rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.tide-hero-copy h1 { margin:1.4rem 0; font:500 clamp(4rem,9vw,9rem)/.8 Georgia,serif; letter-spacing:-.065em; text-shadow:0 4px 28px rgba(0,0,0,.34); }
.tide-hero-copy h1 em { color:#b8f3f2; font-weight:400; }
.tide-hero-copy > p:nth-of-type(2) { max-width:620px; margin:0; font-size:1.05rem; text-shadow:0 2px 12px #000; }
.tide-button { display:inline-flex; margin-top:2rem; padding:1rem 1.35rem; background:#fff; color:var(--tide-ink)!important; font-size:.68rem; font-weight:800; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; pointer-events:auto; }
.tide-scroll { position:absolute; z-index:4; right:2rem; bottom:2rem; font-size:.62rem; font-weight:800; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.tide-proof { padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); }
.tide-proof-intro { display:grid; max-width:1200px; margin:0 auto 4rem; grid-template-columns:.7fr 1.3fr; gap:3rem; }
.tide-proof-intro p { margin:0; color:var(--tide-blue); font-size:.65rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.tide-proof h2,.tide-care h2 { margin:0; font:400 clamp(3rem,5.4vw,5.4rem)/.98 Georgia,serif; letter-spacing:-.05em; }
.tide-story-strip { display:grid; max-width:1200px; margin:auto; grid-template-columns:repeat(3,1fr); border-top:1px solid #b7b1a7; }
.tide-story-strip article { padding:2rem; border-left:1px solid #b7b1a7; }
.tide-story-strip article:first-child { padding-left:0; border:0; }
.tide-story-strip span { color:var(--tide-blue); font-size:.62rem; font-weight:800; letter-spacing:.12em; }
.tide-story-strip h3 { margin:5rem 0 1rem; font:400 1.65rem/1.1 Georgia,serif; }
.tide-story-strip p { color:#57666a; }
.tide-care { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.25rem,6vw,6rem); grid-template-columns:1fr 1fr; gap:clamp(3rem,8vw,8rem); background:var(--tide-sky); }
.tide-care-copy p:first-child { color:var(--tide-blue); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.tide-care-copy > p:last-of-type { max-width:590px; margin-top:2rem; }
.tide-care-copy a { display:inline-block; margin-top:2rem; font-weight:800; }
.tide-care-list > div { display:grid; padding:1.35rem 0; grid-template-columns:48px 1fr; border-bottom:1px solid rgba(18,34,42,.25); }
.tide-care-list span { grid-row:1/3; color:var(--tide-blue); font-size:.65rem; font-weight:800; }
.tide-care-list strong { font:500 1.25rem Georgia,serif; }
.tide-care-list small { margin-top:.25rem; color:#526a70; }
.tide-close { display:flex; align-items:end; justify-content:space-between; gap:2rem; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,6vw,6rem); background:var(--tide-blue); color:#fff; }
.tide-close p { margin:0; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.tide-close h2 { margin:.8rem 0 0; font:400 clamp(4rem,8vw,8rem)/.85 Georgia,serif; letter-spacing:-.06em; }
.tide-button--light { flex:none; }
.tide-footer,.rinse-footer,.field-footer,.grade-footer,.porch-footer,.pulse-footer { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.8rem clamp(1.25rem,5vw,5rem); font-size:.65rem; }
.tide-footer { background:var(--tide-ink); color:rgba(255,255,255,.65); }

/* RinseRight: utility-first estimate experience */
.rinse-demo { --rinse:#54f0bb; --rinse-ink:#071e22; --rinse-line:#a9c9c5; background:#eef7f4; color:var(--rinse-ink); font-family:Arial,sans-serif; }
.rinse-header { display:grid; min-height:74px; align-items:center; padding:1rem clamp(1.2rem,4vw,4rem); grid-template-columns:1fr auto 1fr; border-bottom:1px solid var(--rinse-line); background:#eef7f4; }
.rinse-brand { display:flex; align-items:center; gap:.7rem; font-size:1.15rem; text-decoration:none; }
.rinse-brand span { display:grid; width:38px; height:38px; place-items:center; background:var(--rinse-ink); color:var(--rinse); font-weight:900; }
.rinse-header > span { color:#56706f; font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.rinse-header > a:last-child { justify-self:end; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.rinse-hero { display:grid; min-height:690px; padding:clamp(3rem,7vw,7rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,7rem); background:var(--rinse-ink); color:#fff; }
.rinse-copy > p:first-child,.rinse-options-head p,.rinse-faq > div p { color:var(--rinse); font-size:.65rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.rinse-copy h1 { margin:1.2rem 0; font-size:clamp(4.5rem,8vw,8rem); letter-spacing:-.08em; line-height:.78; }
.rinse-copy > p:nth-of-type(2) { max-width:460px; color:#b8c8c7; }
.rinse-progress { display:grid; margin-top:4rem; grid-template-columns:28px 1fr; align-items:center; gap:.8rem; }
.rinse-progress span { display:grid; width:28px; height:28px; place-items:center; border-radius:50%; background:var(--rinse); color:var(--rinse-ink); font-size:.65rem; font-weight:900; }
.rinse-progress i { height:2px; background:linear-gradient(90deg,var(--rinse) 33%,#32484b 33%); }
.rinse-progress small { grid-column:1/3; color:#8ca09f; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; }
.rinse-builder { display:grid; gap:.65rem; align-content:center; }
.rinse-builder a { display:grid; min-height:112px; align-items:center; padding:1.4rem; grid-template-columns:45px 1fr 28px; border:1px solid #385052; background:#102b30; text-decoration:none; transition:background .15s,color .15s; }
.rinse-builder a:hover { background:var(--rinse); color:var(--rinse-ink); }
.rinse-builder a > span { font:700 .66rem Consolas,monospace; }
.rinse-builder strong,.rinse-builder small { display:block; }
.rinse-builder strong { font-size:1.2rem; }
.rinse-builder small { margin-top:.25rem; color:#9db0af; }
.rinse-builder a:hover small { color:#254a43; }
.rinse-builder b { font-size:1.4rem; }
.rinse-confidence { display:grid; padding:1.5rem clamp(1.2rem,6vw,6rem); grid-template-columns:1.25fr .75fr; gap:3rem; border-bottom:1px solid var(--rinse-line); background:var(--rinse); }
.rinse-confidence > div { display:flex; flex-wrap:wrap; align-items:center; gap:1.5rem; }
.rinse-confidence strong { font-size:.7rem; text-transform:uppercase; }
.rinse-confidence span { padding-left:1.5rem; border-left:1px solid rgba(7,30,34,.3); font-size:.7rem; font-weight:800; }
.rinse-confidence p { margin:0; font-size:.65rem; }
.rinse-options { padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); }
.rinse-options-head { display:grid; grid-template-columns:.6fr 1.4fr; gap:3rem; }
.rinse-options h2,.rinse-faq h2 { margin:0; font-size:clamp(3rem,5vw,5rem); letter-spacing:-.065em; line-height:.92; }
.rinse-option-grid { display:grid; margin-top:4rem; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--rinse-line); }
.rinse-option-grid article { padding:2.2rem; border-left:1px solid var(--rinse-line); }
.rinse-option-grid article:first-child { padding-left:0; border:0; }
.rinse-option-grid span { font:700 .65rem Consolas,monospace; }
.rinse-option-grid h3 { margin:4rem 0 1rem; font-size:1.5rem; letter-spacing:-.035em; }
.rinse-option-grid p { color:#4d6664; }
.rinse-faq { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.8fr 1.2fr; gap:5rem; background:#d8ebe6; }
.rinse-faq dl { margin:0; }
.rinse-faq dl div { padding:1.4rem 0; border-bottom:1px solid var(--rinse-line); }
.rinse-faq dt { font-weight:900; }
.rinse-faq dd { margin:.5rem 0 0; color:#4d6664; }
.rinse-close { padding:clamp(5rem,8vw,8rem) 1.2rem; background:var(--rinse); text-align:center; }
.rinse-close span { font-size:.65rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.rinse-close h2 { margin:1rem 0 2.2rem; font-size:clamp(4rem,8vw,8rem); letter-spacing:-.08em; line-height:.85; }
.rinse-close a { display:inline-flex; padding:1rem 1.4rem; gap:2rem; background:var(--rinse-ink); color:#fff!important; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.rinse-footer { background:var(--rinse-ink); color:#97aaa9; }
.rinse-footer strong { color:var(--rinse); }

/* Backcountry Civil: cinematic field documentary */
.field-demo { --field-clay:#b95c35; --field-bone:#e9e1d2; --field-ink:#171917; background:var(--field-bone); color:var(--field-ink); font-family:Georgia,serif; }
.field-header { display:flex; min-height:86px; align-items:center; justify-content:space-between; padding:1rem clamp(1.2rem,5vw,5rem); background:var(--field-bone); }
.field-brand { display:flex; align-items:center; gap:.8rem; font-family:Arial,sans-serif; text-decoration:none; }
.field-brand span { display:grid; width:44px; height:44px; place-items:center; border:1px solid var(--field-ink); border-radius:50%; font-size:.68rem; font-weight:900; }
.field-brand strong { font-size:1rem; letter-spacing:.08em; text-transform:uppercase; }
.field-header nav { display:flex; align-items:center; gap:2rem; }
.field-header nav a { font-family:Arial,sans-serif; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.field-header nav a:last-child { padding:.8rem 1rem; background:var(--field-clay); color:#fff; }
.field-hero { position:relative; min-height:calc(100vh - 134px); overflow:hidden; background:#181a18; color:#fff; }
.field-video,.field-shade { position:absolute; inset:0; width:100%; height:100%; }
.field-video { object-fit:cover; filter:saturate(.65) contrast(1.1); }
.field-shade { background:linear-gradient(90deg,rgba(11,13,12,.82),rgba(11,13,12,.22) 62%),linear-gradient(0deg,rgba(11,13,12,.7),transparent 50%); }
.field-hero-copy { position:relative; z-index:2; display:flex; min-height:calc(100vh - 134px); flex-direction:column; justify-content:center; padding:clamp(5rem,10vw,10rem) clamp(1.2rem,6vw,6rem); }
.field-hero-copy > p { margin:0; font-family:Arial,sans-serif; font-size:.65rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.field-hero h1 { max-width:1100px; margin:1.5rem 0 3rem; font-size:clamp(5rem,10vw,10rem); font-weight:400; letter-spacing:-.075em; line-height:.78; }
.field-hero-copy > div { display:flex; align-items:center; gap:2rem; }
.field-hero-copy > div span { font-style:italic; }
.field-hero-copy a { padding:1rem 1.2rem; background:var(--field-clay); font-family:Arial,sans-serif; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.field-caption { position:absolute; z-index:2; right:1rem; bottom:1rem; margin:0; color:rgba(255,255,255,.6); font-family:Arial,sans-serif; font-size:.55rem; }
.field-thinking { display:grid; padding:clamp(5rem,9vw,9rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.65fr 1.35fr; gap:clamp(3rem,8vw,8rem); }
.field-thinking aside { padding-top:1rem; border-top:1px solid var(--field-ink); }
.field-thinking aside span,.field-thinking > div > p:first-child,.field-work-title > span,.field-log > div > p { font-family:Arial,sans-serif; font-size:.63rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.field-thinking aside p { max-width:360px; margin-top:3rem; color:var(--field-clay); font-size:1.55rem; font-style:italic; }
.field-thinking h2,.field-work-title h2,.field-log h2,.field-close h2 { margin:0; font-size:clamp(3.5rem,6.5vw,6.5rem); font-weight:400; letter-spacing:-.065em; line-height:.88; }
.field-thinking > div > p:last-child { max-width:620px; margin-top:2rem; }
.field-work { padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); background:#1a1c1a; color:#fff; }
.field-work-title { display:grid; grid-template-columns:.55fr 1.45fr; gap:4rem; }
.field-work-title span { color:#ce8a6d; }
.field-reel { margin-top:5rem; }
.field-reel article { display:grid; min-height:240px; align-items:start; padding:2rem 0; grid-template-columns:80px 1fr; border-top:1px solid rgba(255,255,255,.25); }
.field-reel article > span { font-family:Arial,sans-serif; font-size:.64rem; font-weight:900; }
.field-reel small { color:#ce8a6d; font-family:Arial,sans-serif; font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.field-reel h3 { margin:1rem 0; font-size:clamp(2.3rem,4vw,4rem); font-weight:400; letter-spacing:-.05em; }
.field-reel p { max-width:600px; color:#bfc1bc; }
.field-log { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:1fr 1fr; gap:5rem; }
.field-log ol { margin:0; padding:0; list-style:none; }
.field-log li { display:grid; padding:1.5rem 0; grid-template-columns:46px 1fr; border-bottom:1px solid #aaa295; }
.field-log li > span { font:800 .62rem Arial,sans-serif; }
.field-log li p { margin:0; }
.field-log li strong { display:block; margin-bottom:.35rem; font-size:1.2rem; }
.field-close { padding:clamp(5rem,9vw,9rem) clamp(1.2rem,6vw,6rem); background:var(--field-clay); color:#fff; text-align:center; }
.field-close p { font-family:Arial,sans-serif; font-size:.65rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.field-close a { display:inline-block; margin-top:2.5rem; padding:1rem 1.3rem; border:1px solid #fff; font-family:Arial,sans-serif; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.field-footer { background:var(--field-ink); color:#aaa; font-family:Arial,sans-serif; }

/* GradeLine: blueprint project planner */
.grade-demo { --grade-blue:#144b87; --grade-cyan:#76d6e4; --grade-paper:#eef5f4; --grade-line:#8faead; background:var(--grade-paper); color:#092d4f; font-family:Consolas,"Courier New",monospace; }
.grade-header { display:flex; min-height:82px; align-items:center; justify-content:space-between; padding:1rem clamp(1.2rem,4vw,4rem); border-bottom:1px solid var(--grade-line); }
.grade-header > a { display:grid; grid-template-columns:42px 1fr; align-items:center; column-gap:.7rem; text-decoration:none; }
.grade-header > a span { display:grid; width:42px; height:42px; grid-row:1/3; place-items:center; background:var(--grade-blue); color:#fff; font-weight:900; }
.grade-header > a strong { font:900 1.05rem Arial,sans-serif; text-transform:uppercase; }
.grade-header > a small { font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; }
.grade-header > div { display:flex; align-items:center; gap:1.4rem; font-size:.62rem; }
.grade-header > div > span::before { color:#23a66d; content:"● "; }
.grade-header > div a { padding:.8rem 1rem; background:var(--grade-blue); color:#fff; font-weight:900; text-decoration:none; text-transform:uppercase; }
.grade-hero { display:grid; min-height:680px; padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,7vw,7rem); background-image:linear-gradient(rgba(20,75,135,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(20,75,135,.08) 1px,transparent 1px); background-size:32px 32px; }
.grade-title > p,.grade-map-copy > p,.grade-sequence > div > p { font-size:.64rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.grade-title h1 { margin:1.5rem 0; font:900 clamp(4.2rem,7.5vw,7.5rem)/.8 Arial,sans-serif; letter-spacing:-.075em; }
.grade-title h1 span { color:var(--grade-blue); }
.grade-title > p:last-child { max-width:520px; font:400 1rem/1.6 Arial,sans-serif; text-transform:none; }
.grade-panel { align-self:center; border:1px solid var(--grade-blue); background:#f8fbfa; box-shadow:12px 12px 0 rgba(20,75,135,.12); }
.grade-panel-head { display:flex; justify-content:space-between; padding:1rem 1.2rem; background:var(--grade-blue); color:#fff; font-size:.62rem; text-transform:uppercase; }
.grade-choices a { display:grid; align-items:center; padding:1.1rem; grid-template-columns:48px 1fr 24px; border-bottom:1px solid var(--grade-line); text-decoration:none; }
.grade-choices a:hover { background:#d9eff0; }
.grade-choices a > b { color:var(--grade-blue); font-size:.68rem; }
.grade-choices strong,.grade-choices small { display:block; font-family:Arial,sans-serif; }
.grade-choices strong { font-size:1.05rem; }
.grade-choices small { margin-top:.2rem; color:#587374; }
.grade-choices i { font-style:normal; }
.grade-data { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid var(--grade-line); }
.grade-data > div { min-height:110px; padding:1.5rem clamp(1.2rem,3vw,3rem); }
.grade-data > div + div { border-left:1px solid var(--grade-line); }
.grade-data small,.grade-data strong { display:block; }
.grade-data small { color:#607f80; font-size:.58rem; text-transform:uppercase; }
.grade-data strong { margin-top:.6rem; font:800 .9rem Arial,sans-serif; }
.grade-map { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.75fr 1.25fr; gap:5rem; background:var(--grade-blue); color:#fff; }
.grade-map h2,.grade-sequence h2 { margin:1.2rem 0; font:900 clamp(3.2rem,5.5vw,5.5rem)/.9 Arial,sans-serif; letter-spacing:-.065em; }
.grade-map-copy > p:last-of-type { font-family:Arial,sans-serif; color:#c9dcdf; }
.grade-map-copy a { display:inline-block; margin-top:2rem; color:var(--grade-cyan); font-weight:900; }
.grade-diagram { position:relative; min-height:460px; border:1px solid rgba(255,255,255,.6); background-image:linear-gradient(rgba(118,214,228,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(118,214,228,.15) 1px,transparent 1px); background-size:28px 28px; }
.grade-zone { position:absolute; display:grid; place-items:center; border:2px solid var(--grade-cyan); border-radius:50%; color:var(--grade-cyan); font-size:.6rem; font-weight:900; }
.grade-zone--one { top:54%; left:4%; width:220px; height:80px; border-radius:0; transform:rotate(-12deg); }
.grade-zone--two { top:14%; right:16%; width:190px; height:150px; border-radius:0; }
.grade-zone--three { right:5%; bottom:5%; width:230px; height:110px; border-style:dashed; }
.grade-diagram > i { position:absolute; right:42%; bottom:0; width:2px; height:100%; background:var(--grade-cyan); transform:rotate(26deg); }
.grade-diagram > b { position:absolute; top:1rem; left:1rem; font-size:.7rem; }
.grade-sequence { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.7fr 1.3fr; gap:5rem; }
.grade-sequence ol { margin:0; padding:0; list-style:none; }
.grade-sequence li { display:grid; padding:1.35rem 0; grid-template-columns:48px 1fr; border-bottom:1px solid var(--grade-line); }
.grade-sequence li > b { font-size:.65rem; }
.grade-sequence strong,.grade-sequence small { display:block; font-family:Arial,sans-serif; }
.grade-sequence strong { font-size:1.2rem; }
.grade-sequence small { margin-top:.25rem; color:#607f80; }
.grade-close { display:flex; align-items:end; justify-content:space-between; gap:2rem; padding:clamp(4rem,7vw,7rem) clamp(1.2rem,6vw,6rem); background:var(--grade-cyan); }
.grade-close span { font-size:.62rem; font-weight:900; text-transform:uppercase; }
.grade-close h2 { margin:.8rem 0 0; font:900 clamp(3rem,5vw,5rem)/.9 Arial,sans-serif; letter-spacing:-.055em; }
.grade-close > a { flex:none; padding:1rem 1.2rem; background:var(--grade-blue); color:#fff!important; font-size:.68rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.grade-footer { background:#092d4f; color:#9cb2ba; }

/* Porchlight Club: warm neighborhood fitness */
.porch-demo { --porch-rust:#bd563d; --porch-green:#244e43; --porch-cream:#f4eddf; background:var(--porch-cream); color:#2a2925; font-family:"Trebuchet MS",Arial,sans-serif; }
.porch-header { display:flex; min-height:96px; align-items:center; justify-content:space-between; padding:1rem clamp(1.2rem,5vw,5rem); }
.porch-brand { display:grid; grid-template-columns:44px auto; align-items:center; column-gap:.8rem; text-decoration:none; }
.porch-brand > span { display:grid; width:44px; height:44px; grid-row:1/3; place-items:center; border-radius:50%; background:var(--porch-rust); color:#fff; font:700 .55rem Georgia,serif; }
.porch-brand strong { font:600 1.1rem Georgia,serif; }
.porch-brand small { color:#6f6b60; font-size:.58rem; }
.porch-header nav { display:flex; align-items:center; gap:2rem; }
.porch-header nav a { font-size:.65rem; font-weight:800; text-decoration:none; }
.porch-header nav a:last-child { padding:.85rem 1rem; border-radius:999px; background:var(--porch-green); color:#fff; }
.porch-hero { display:grid; min-height:680px; padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:1fr 1fr; gap:clamp(3rem,7vw,7rem); align-items:center; background:#e7d8c3; }
.porch-copy > p:first-child,.porch-begin > div > p,.porch-week-copy > p { color:var(--porch-rust); font-size:.64rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.porch-copy h1 { margin:1.3rem 0; font:500 clamp(4rem,7.5vw,7.5rem)/.84 Georgia,serif; letter-spacing:-.065em; }
.porch-copy h1 em { color:var(--porch-rust); font-weight:400; }
.porch-copy > p:nth-of-type(2) { max-width:560px; font-size:1.05rem; }
.porch-copy > div { display:flex; align-items:center; gap:1.5rem; margin-top:2rem; }
.porch-button { display:inline-block; padding:1rem 1.3rem; border-radius:999px; background:var(--porch-rust); color:#fff!important; font-size:.68rem; font-weight:900; text-decoration:none; }
.porch-copy > div > a:last-child { font-size:.68rem; font-weight:800; }
.porch-collage { position:relative; min-height:500px; }
.porch-collage > div { position:absolute; display:flex; width:58%; min-height:210px; flex-direction:column; justify-content:flex-end; padding:1.5rem; border:8px solid var(--porch-cream); box-shadow:0 16px 35px rgba(80,60,40,.16); color:#fff; }
.porch-collage > div:nth-child(1) { top:0; right:0; background:var(--porch-green); transform:rotate(4deg); }
.porch-collage > div:nth-child(2) { top:28%; left:0; background:var(--porch-rust); transform:rotate(-5deg); }
.porch-collage > div:nth-child(3) { right:8%; bottom:0; background:#d7a64a; color:#2a2925; transform:rotate(2deg); }
.porch-collage span { font-size:.6rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.porch-collage strong { margin-top:.7rem; font:500 1.45rem/1.1 Georgia,serif; }
.porch-note { padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); background:var(--porch-green); color:#fff; text-align:center; }
.porch-note p { font-size:.64rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.porch-note h2 { max-width:1000px; margin:1.2rem auto 0; font:400 clamp(3rem,5.6vw,5.6rem)/.98 Georgia,serif; letter-spacing:-.045em; }
.porch-begin { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.7fr 1.3fr; gap:5rem; }
.porch-begin h2,.porch-week h2,.porch-close h2 { margin:1rem 0 0; font:500 clamp(3rem,5vw,5rem)/.95 Georgia,serif; letter-spacing:-.05em; }
.porch-steps article { display:grid; padding:1.5rem 0; grid-template-columns:48px 1fr; border-bottom:1px solid #b9ad9b; }
.porch-steps span { grid-row:1/3; color:var(--porch-rust); font-size:.65rem; font-weight:900; }
.porch-steps h3 { margin:0; font:500 1.35rem Georgia,serif; }
.porch-steps p { margin:.45rem 0 0; color:#676258; }
.porch-week { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.8fr 1.2fr; gap:5rem; background:#fffaf0; }
.porch-week-copy > p:last-child { max-width:500px; margin-top:2rem; color:#676258; }
.porch-calendar { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.porch-calendar > div { min-height:190px; padding:1.4rem; border:1px solid #cfc1ad; border-radius:30px 4px 30px 4px; }
.porch-calendar span,.porch-calendar strong,.porch-calendar small { display:block; }
.porch-calendar span { color:var(--porch-rust); font-size:.62rem; font-weight:900; }
.porch-calendar strong { margin-top:3rem; font:500 1.3rem Georgia,serif; }
.porch-calendar small { margin-top:.5rem; color:#777064; }
.porch-close { padding:clamp(5rem,8vw,8rem) 1.2rem; background:#d9a953; text-align:center; }
.porch-close p { font-size:.64rem; font-weight:900; text-transform:uppercase; }
.porch-close h2 { margin-bottom:2.2rem; }
.porch-button--dark { background:var(--porch-green); }
.porch-footer { background:#2a2925; color:#aaa59a; }

/* PULSE/45: schedule-first performance console */
.pulse-demo { --pulse:#adff2f; --pulse-violet:#7764ff; --pulse-ink:#0d1020; background:var(--pulse-ink); color:#fff; font-family:Arial,sans-serif; }
.pulse-header { display:flex; min-height:78px; align-items:center; justify-content:space-between; padding:1rem clamp(1.2rem,4vw,4rem); border-bottom:1px solid #2e324b; }
.pulse-header > a { display:flex; align-items:center; gap:.7rem; font-weight:950; letter-spacing:.06em; text-decoration:none; }
.pulse-header > a i { width:16px; height:16px; border-radius:50%; background:var(--pulse); box-shadow:0 0 18px var(--pulse); }
.pulse-header nav { display:flex; align-items:center; gap:2rem; }
.pulse-header nav a { color:#aeb2c8; font-size:.65rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.pulse-header nav a:last-child { padding:.8rem 1rem; border:1px solid var(--pulse); color:var(--pulse); }
.pulse-hero { display:grid; min-height:650px; padding:clamp(4rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:1.15fr .85fr; gap:5rem; align-items:center; background:radial-gradient(circle at 85% 20%,rgba(119,100,255,.28),transparent 32%),linear-gradient(135deg,#0d1020,#151932); }
.pulse-copy > p { color:var(--pulse); font-size:.64rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.pulse-copy h1 { margin:1.3rem 0; font-size:clamp(4.5rem,8.5vw,8.5rem); letter-spacing:-.08em; line-height:.78; }
.pulse-copy h1 span { color:var(--pulse-violet); }
.pulse-copy > p:nth-of-type(2) { max-width:620px; color:#adb1c5; font-size:1.05rem; letter-spacing:0; text-transform:none; }
.pulse-copy > div { display:flex; align-items:center; gap:1.5rem; margin-top:2.2rem; }
.pulse-copy > div a { padding:1rem 1.2rem; background:var(--pulse); color:var(--pulse-ink)!important; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.pulse-copy > div small { max-width:220px; color:#858aa5; }
.pulse-status { display:grid; border:1px solid #3d4262; background:rgba(9,12,27,.55); }
.pulse-status > div { display:grid; min-height:138px; align-items:center; padding:1.3rem; grid-template-columns:1fr auto; border-bottom:1px solid #3d4262; }
.pulse-status span,.pulse-status small { color:#8f94ae; font-size:.6rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.pulse-status strong { grid-row:1/3; grid-column:2; color:var(--pulse); font-size:3.5rem; letter-spacing:-.07em; }
.pulse-schedule { padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); background:#f0f1f6; color:#121426; }
.pulse-section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; }
.pulse-section-head p,.pulse-tracks > div > p { color:#6050da; font-size:.62rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.pulse-section-head h2,.pulse-tracks h2,.pulse-close h2 { margin:.9rem 0 0; font-size:clamp(3.5rem,6vw,6rem); letter-spacing:-.07em; line-height:.85; }
.pulse-days { display:flex; gap:.45rem; }
.pulse-days span { display:grid; width:46px; height:46px; place-items:center; border:1px solid #b8bac8; font-size:.6rem; font-weight:900; }
.pulse-days span:first-child { border-color:#121426; background:#121426; color:var(--pulse); }
.pulse-slots { margin-top:4rem; border-top:2px solid #121426; }
.pulse-slots article { display:grid; min-height:108px; align-items:center; padding:1rem 0; grid-template-columns:120px 1fr auto; border-bottom:1px solid #b8bac8; }
.pulse-slots article > span { font-size:1.5rem; font-weight:950; letter-spacing:-.04em; }
.pulse-slots strong,.pulse-slots small { display:block; }
.pulse-slots small { margin-top:.3rem; color:#717487; }
.pulse-slots a { padding:.75rem 1rem; border:1px solid #121426; font-size:.64rem; font-weight:900; text-decoration:none; text-transform:uppercase; }
.pulse-disclaimer { margin-top:1rem; color:#717487; font-size:.62rem; }
.pulse-tracks { display:grid; padding:clamp(5rem,8vw,8rem) clamp(1.2rem,6vw,6rem); grid-template-columns:.7fr 1.3fr; gap:5rem; }
.pulse-track-grid { display:grid; gap:.7rem; }
.pulse-track-grid article { position:relative; padding:1.6rem; border:1px solid #383c59; background:#15182c; }
.pulse-track-grid article > span { position:absolute; top:1rem; right:1rem; color:#777c9a; font-size:.62rem; }
.pulse-track-grid h3 { margin:0; color:var(--pulse); font-size:2.2rem; }
.pulse-track-grid p { color:#aeb2c8; }
.pulse-track-grid small { color:var(--pulse-violet); font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.pulse-onboard { display:grid; grid-template-columns:repeat(3,1fr); background:var(--pulse-violet); }
.pulse-onboard > div { min-height:230px; padding:2rem; }
.pulse-onboard > div + div { border-left:1px solid rgba(255,255,255,.3); }
.pulse-onboard span { font-size:.62rem; font-weight:900; }
.pulse-onboard h3 { margin:3rem 0 .8rem; font-size:1.35rem; }
.pulse-onboard p { color:#e2dfff; }
.pulse-close { padding:clamp(5rem,8vw,8rem) 1.2rem; text-align:center; }
.pulse-close p { color:var(--pulse); font-size:.62rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.pulse-close a { display:inline-block; margin-top:2.5rem; padding:1rem 1.3rem; background:var(--pulse); color:var(--pulse-ink)!important; font-size:.68rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.pulse-footer { border-top:1px solid #2e324b; color:#7e839d; }
.pulse-footer strong { color:var(--pulse); }

@media (max-width: 900px) {
  .tide-proof-intro,.tide-care,.rinse-hero,.rinse-options-head,.rinse-faq,.field-thinking,.field-work-title,.field-log,.grade-hero,.grade-map,.grade-sequence,.porch-hero,.porch-begin,.porch-week,.pulse-hero,.pulse-tracks { grid-template-columns:1fr; }
  .tide-story-strip,.rinse-option-grid { grid-template-columns:1fr; }
  .tide-story-strip article,.rinse-option-grid article,.tide-story-strip article:first-child,.rinse-option-grid article:first-child { padding:2rem 0; border-left:0; border-bottom:1px solid #b7b1a7; }
  .tide-story-strip h3,.rinse-option-grid h3 { margin-top:2rem; }
  .field-reel article { min-height:0; }
  .grade-data { grid-template-columns:1fr; }
  .grade-data > div + div { border-top:1px solid var(--grade-line); border-left:0; }
  .porch-collage { width:min(620px,100%); }
  .pulse-status { width:min(620px,100%); }
}

@media (max-width: 720px) {
  .demo-notice { display:grid; grid-template-columns:1fr auto; }
  .demo-notice .demo-variants { grid-row:2; grid-column:1/3; justify-content:center; padding-top:.45rem; border-top:1px solid rgba(255,255,255,.2); }
  .tide-header nav a:not(.tide-header-cta),.field-header nav a:not(:last-child),.porch-header nav a:not(:last-child),.pulse-header nav a:not(:last-child),.rinse-header > span,.grade-header > div > span { display:none; }
  .tide-header nav,.field-header nav,.porch-header nav,.pulse-header nav { gap:0; }
  .tide-scene { grid-template-columns:1fr; }
  .tide-scene .tide-before { display:none; }
  .tide-scene > i { display:none; }
  .tide-hero-copy { text-align:left; align-items:flex-start; }
  .tide-scroll { right:auto; left:1.5rem; }
  .tide-close,.grade-close { align-items:flex-start; flex-direction:column; }
  .tide-story-strip,.rinse-option-grid,.porch-calendar,.pulse-onboard { grid-template-columns:1fr; }
  .rinse-header { grid-template-columns:1fr auto; }
  .rinse-hero { min-height:0; }
  .rinse-confidence { grid-template-columns:1fr; gap:1rem; }
  .rinse-confidence > div { align-items:flex-start; flex-direction:column; }
  .rinse-confidence span { padding:0; border:0; }
  .field-hero h1 { font-size:clamp(4.2rem,20vw,7rem); }
  .field-hero-copy > div { align-items:flex-start; flex-direction:column; }
  .field-reel article { grid-template-columns:45px 1fr; }
  .grade-diagram { min-height:380px; }
  .grade-zone--one { width:150px; }
  .grade-zone--two { right:5%; width:130px; }
  .grade-zone--three { width:160px; }
  .porch-copy > div { align-items:flex-start; flex-direction:column; }
  .porch-collage { min-height:420px; }
  .porch-collage > div { min-height:180px; }
  .pulse-copy > div { align-items:flex-start; flex-direction:column; }
  .pulse-section-head { align-items:flex-start; flex-direction:column; }
  .pulse-days { max-width:100%; overflow-x:auto; }
  .pulse-slots article { grid-template-columns:84px 1fr; }
  .pulse-slots article > a { grid-column:2; width:fit-content; margin-top:.8rem; }
  .pulse-onboard > div + div { border-top:1px solid rgba(255,255,255,.3); border-left:0; }
  .tide-footer,.rinse-footer,.field-footer,.grade-footer,.porch-footer,.pulse-footer { align-items:flex-start; flex-direction:column; }
}

/* v0.8.1: independent demo identities
   The PyleDesignz demo bar is the only shared brand surface. */

/* Clear Current: friendly, airy, convenience-first */
.wash-demo--independent {
  --wash-blue: #087c9f;
  --wash-navy: #123442;
  --wash-mist: #eaf7fa;
  --wash-aqua: #9ee8ee;
  background: #f9fdfe;
  font-family: "Segoe UI", "Avenir Next", Arial, sans-serif;
}
.wash-demo--independent .wash-header { min-height: 84px; border: 0; background: #fff; }
.wash-demo--independent .wash-brand > span { border-radius: 15px 50% 50% 50%; background: var(--wash-blue); transform: rotate(-5deg); }
.wash-demo--independent .wash-brand strong { color: var(--wash-navy); font-weight: 800; }
.wash-demo--independent .wash-brand small { color: #5e7b84; font-weight: 700; }
.wash-demo--independent .wash-header nav a { color: #35545f; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.wash-demo--independent .wash-header .wash-nav-cta { border-radius: 12px; background: var(--wash-blue); color: #fff; text-transform: none; }
.wash-demo--independent .wash-hero { min-height: 700px; padding: clamp(1rem, 2vw, 2rem); gap: clamp(1rem, 2vw, 2rem); background: var(--wash-mist); }
.wash-demo--independent .wash-hero-copy { padding: clamp(3rem, 7vw, 7rem); border-radius: 28px; background: #fff; }
.wash-demo--independent .wash-eyebrow { color: var(--wash-blue); font-weight: 800; letter-spacing: .08em; text-transform: none; }
.wash-demo--independent .wash-hero h1 { font-size: clamp(3.8rem, 6.8vw, 7rem); font-weight: 800; letter-spacing: -.075em; line-height: .87; }
.wash-demo--independent .wash-hero h1 span,
.wash-demo--independent .wash-hero h1 strong { display: block; }
.wash-demo--independent .wash-hero h1 strong { margin-top: .18em; color: var(--wash-blue); font-family: inherit; font-weight: 500; letter-spacing: -.065em; }
.wash-demo--independent .wash-hero-copy > p:not(.wash-eyebrow) { color: #4f6b75; font-size: 1.08rem; }
.wash-demo--independent .wash-button { border-radius: 12px; background: var(--wash-blue); font-weight: 800; letter-spacing: .02em; text-transform: none; }
.wash-demo--independent .wash-actions > a:last-child { color: var(--wash-navy); font-weight: 700; }
.wash-demo--independent .wash-hero ul { color: #4f6b75; font-size: .68rem; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.wash-demo--independent .wash-visual { overflow: hidden; justify-content: flex-end; padding: clamp(2rem, 5vw, 5rem); border-radius: 28px; background: linear-gradient(155deg, #72d7e2 0%, var(--wash-blue) 62%, #08617e 100%); }
.wash-demo--independent .wash-visual::before { border: 1px solid rgba(255,255,255,.22); border-radius: 50%; background: transparent; transform: scale(1.15); }
.wash-demo--independent .wash-orbit { display: none; }
.wash-demo--independent .wash-bubble { position: relative; z-index: 2; align-self: flex-end; width: min(330px, 88%); margin-bottom: auto; padding: 1.4rem; border-radius: 22px 22px 4px 22px; background: #fff; box-shadow: 0 18px 45px rgba(6,66,82,.2); color: var(--wash-navy); }
.wash-demo--independent .wash-bubble span,
.wash-demo--independent .wash-bubble strong { display: block; }
.wash-demo--independent .wash-bubble span { color: #66818a; font-size: .65rem; }
.wash-demo--independent .wash-bubble strong { margin-top: .2rem; font-size: 1.15rem; }
.wash-demo--independent .wash-surface { padding: 1rem 0; grid-template-columns: 92px 1fr; border-color: rgba(255,255,255,.28); }
.wash-demo--independent .wash-surface span { grid-row: auto; color: var(--wash-aqua); font-size: .7rem; font-weight: 700; }
.wash-demo--independent .wash-surface strong { font-size: 1rem; font-weight: 600; }
.wash-demo--independent .wash-trust { border: 0; background: #fff; }
.wash-demo--independent .wash-trust p { color: var(--wash-navy); font-weight: 700; letter-spacing: 0; text-transform: none; }
.wash-demo--independent .wash-trust div { color: #55727b; font-weight: 600; }
.wash-demo--independent .wash-section-head h2 { font-weight: 750; letter-spacing: -.055em; }
.wash-demo--independent .wash-service-grid { gap: 1rem; border: 0; }
.wash-demo--independent .wash-service-grid article,
.wash-demo--independent .wash-service-grid article:first-child { padding: 2rem; border: 1px solid #d4e8ec; border-radius: 18px; background: #fff; }
.wash-demo--independent .wash-service-grid article + article { border-left: 1px solid #d4e8ec; }
.wash-demo--independent .wash-service-grid article > span { display: inline-block; padding: .35rem .6rem; border-radius: 999px; background: var(--wash-mist); font-weight: 700; }
.wash-demo--independent .wash-service-grid h3 { font-weight: 750; }
.wash-demo--independent .wash-service-grid a { color: var(--wash-blue); font-weight: 750; letter-spacing: 0; text-transform: none; }
.wash-demo--independent .wash-process { border-radius: 32px 32px 0 0; background: var(--wash-navy); }
.wash-demo--independent .wash-process h2 { font-weight: 750; letter-spacing: -.055em; }
.wash-demo--independent .wash-process li > span { color: var(--wash-aqua); font-weight: 700; }
.wash-demo--independent .wash-close h2 { font-weight: 750; letter-spacing: -.055em; }
.wash-demo--independent .wash-button--dark { background: var(--wash-navy); }

/* Iron Ridge: blunt, engineered, jobsite-first */
.earth-demo--independent {
  --earth-orange: #f18a24;
  --earth-black: #171713;
  --earth-dust: #d9d1c1;
  background: #e5ded0;
  font-family: "Arial Narrow", "Roboto Condensed", Arial, sans-serif;
}
.earth-demo--independent .earth-brand strong,
.earth-demo--independent .earth-header nav a,
.earth-demo--independent .earth-button,
.earth-demo--independent .earth-cta { font-family: "Arial Narrow", Arial, sans-serif; font-weight: 900; }
.earth-demo--independent .earth-hero { min-height: 790px; background: var(--earth-black); }
.earth-demo--independent .earth-grid-lines { background: repeating-linear-gradient(90deg, transparent 0 calc(20% - 1px), rgba(255,255,255,.055) calc(20% - 1px) 20%), repeating-linear-gradient(0deg, transparent 0 119px, rgba(255,255,255,.04) 119px 120px); }
.earth-demo--independent .earth-hero-copy > p:first-child,
.earth-demo--independent .earth-section-label span,
.earth-demo--independent .earth-intro p { font-family: Consolas, "Courier New", monospace; }
.earth-demo--independent .earth-hero h1 { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: clamp(5.5rem, 11vw, 11rem); font-weight: 400; letter-spacing: -.035em; line-height: .76; }
.earth-demo--independent .earth-hero h1 span { display: block; margin-top: .2em; color: var(--earth-orange); font-family: inherit; font-weight: 400; letter-spacing: -.025em; }
.earth-demo--independent .earth-hero-bottom p { color: #cac3b7; font-size: 1.1rem; }
.earth-demo--independent .earth-button { border: 2px solid var(--earth-orange); background: var(--earth-orange); letter-spacing: .06em; }
.earth-demo--independent .earth-spec { border: 1px solid #908a7d; border-top: 8px solid var(--earth-orange); background: var(--earth-dust); box-shadow: 16px 16px 0 rgba(0,0,0,.18); }
.earth-demo--independent .earth-spec > span { font-family: Consolas, "Courier New", monospace; }
.earth-demo--independent .earth-spec dt { color: #8d4714; font-family: Consolas, "Courier New", monospace; }
.earth-demo--independent .earth-intro h2,
.earth-demo--independent .earth-section-label h2,
.earth-demo--independent .earth-close h2 { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-weight: 400; letter-spacing: -.02em; text-transform: uppercase; }
.earth-demo--independent .earth-capabilities { background: #cbc2b1; }
.earth-demo--independent .earth-cap-grid { border-color: #827d72; }
.earth-demo--independent .earth-cap-grid article { border-color: #827d72; }
.earth-demo--independent .earth-cap-grid article > span { display: inline-block; padding: .2rem .4rem; background: var(--earth-black); color: var(--earth-orange); font-family: Consolas, "Courier New", monospace; }
.earth-demo--independent .earth-cap-grid h3 { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 2.5rem; font-weight: 400; letter-spacing: -.015em; text-transform: uppercase; }
.earth-demo--independent .earth-process strong { font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif; font-size: 1.7rem; font-weight: 400; letter-spacing: .01em; text-transform: uppercase; }
.earth-demo--independent .earth-process li > span { font-family: Consolas, "Courier New", monospace; }
.earth-demo--independent .earth-close { background: var(--earth-orange); }
.earth-demo--independent .earth-button--light { border-color: var(--earth-black); background: var(--earth-black); color: #fff !important; }

/* Main Street Strength: loud, kinetic, coach-led */
.gym-demo--independent {
  --gym-ink: #101225;
  --gym-lime: #d6ff38;
  --gym-cream: #f1ede3;
  background: var(--gym-cream);
  font-family: "Trebuchet MS", Arial, sans-serif;
}
.gym-demo--independent .gym-header { background: var(--gym-cream); }
.gym-demo--independent .gym-brand strong { font-family: "Arial Black", Arial, sans-serif; }
.gym-demo--independent .gym-header nav a { font-weight: 900; letter-spacing: .04em; }
.gym-demo--independent .gym-cta { box-shadow: 5px 5px 0 var(--gym-lime); }
.gym-demo--independent .gym-hero { min-height: 760px; background: var(--gym-ink); }
.gym-demo--independent .gym-hero::before { top: auto; right: -12%; bottom: -55%; left: auto; width: 70vw; height: 70vw; border: 14px solid rgba(214,255,56,.07); }
.gym-demo--independent .gym-hero-copy > p:first-child { letter-spacing: .08em; }
.gym-demo--independent .gym-hero h1 { font-family: "Arial Black", Arial, sans-serif; font-size: clamp(5.2rem, 11vw, 11rem); font-weight: 950; letter-spacing: -.075em; line-height: .72; }
.gym-demo--independent .gym-hero h1 span { display: block; width: fit-content; margin-top: .25em; padding: .06em .14em .1em; background: var(--gym-lime); color: var(--gym-ink); font-family: inherit; font-weight: 950; letter-spacing: -.06em; line-height: .82; transform: rotate(-2deg); }
.gym-demo--independent .gym-board { border: 3px solid #fff; background: #20233c; box-shadow: 12px 12px 0 var(--gym-lime); transform: rotate(1deg); }
.gym-demo--independent .gym-stamp { border-width: 4px; font-family: "Arial Black", Arial, sans-serif; }
.gym-demo--independent .gym-button { box-shadow: 6px 6px 0 #fff; font-family: "Arial Black", Arial, sans-serif; letter-spacing: .035em; }
.gym-demo--independent .gym-marquee { font-family: "Arial Black", Arial, sans-serif; }
.gym-demo--independent .gym-section-head h2,
.gym-demo--independent .gym-week h2,
.gym-demo--independent .gym-close h2 { font-family: "Arial Black", Arial, sans-serif; font-weight: 950; letter-spacing: -.055em; text-transform: uppercase; }
.gym-demo--independent .gym-program-grid { gap: .8rem; border: 0; }
.gym-demo--independent .gym-program-grid article,
.gym-demo--independent .gym-program-grid article:first-child { padding: 2rem; border: 3px solid var(--gym-ink); background: #fff; box-shadow: 7px 7px 0 var(--gym-ink); }
.gym-demo--independent .gym-program-grid article:nth-child(2) { background: var(--gym-lime); transform: translateY(-14px); }
.gym-demo--independent .gym-program-grid article + article { border-left: 3px solid var(--gym-ink); }
.gym-demo--independent .gym-program-grid h3 { font-family: "Arial Black", Arial, sans-serif; font-size: 2.4rem; text-transform: uppercase; }
.gym-demo--independent .gym-week { background: var(--gym-lime); }
.gym-demo--independent .gym-week strong { font-family: "Arial Black", Arial, sans-serif; text-transform: uppercase; }
.gym-demo--independent .gym-button--dark { box-shadow: 6px 6px 0 var(--gym-lime); }

@media (max-width: 980px) {
  .wash-demo--independent .wash-hero { grid-template-columns: 1fr; }
  .wash-demo--independent .wash-visual { min-height: 500px; }
  .earth-demo--independent .earth-spec,
  .gym-demo--independent .gym-board { box-shadow: 8px 8px 0 rgba(0,0,0,.18); }
}

@media (max-width: 720px) {
  .wash-demo--independent .wash-hero { padding: .6rem; gap: .6rem; }
  .wash-demo--independent .wash-hero-copy,
  .wash-demo--independent .wash-visual { border-radius: 18px; }
  .wash-demo--independent .wash-service-grid { gap: .8rem; }
  .wash-demo--independent .wash-service-grid article + article { border-left: 1px solid #d4e8ec; }
  .wash-demo--independent .wash-process { border-radius: 20px 20px 0 0; }
  .gym-demo--independent .gym-hero h1 { font-size: clamp(4.2rem, 21vw, 6.4rem); }

  /* Keep Excavation V1's intentionally oversized typography inside the
   * mobile canvas. The unbroken GROUNDWORK. word otherwise establishes a
   * min-content width wider than the viewport and clips the entire hero. */
  .earth-demo--independent .earth-hero { padding-inline: clamp(1rem, 5vw, 1.25rem); }
  .earth-demo--independent .earth-hero-copy,
  .earth-demo--independent .earth-hero-bottom,
  .earth-demo--independent .earth-spec {
    min-width: 0;
    width: 100%;
    max-width: 100%;
  }
  .earth-demo--independent .earth-hero h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 13vw, 3.55rem);
    line-height: .82;
  }
  .earth-demo--independent .earth-hero-bottom p {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
  .earth-demo--independent .earth-spec { box-shadow: 6px 6px 0 rgba(0,0,0,.18); }
  .gym-demo--independent .gym-program-grid { gap: 1.2rem; }
  .gym-demo--independent .gym-program-grid article,
  .gym-demo--independent .gym-program-grid article:first-child,
  .gym-demo--independent .gym-program-grid article + article { border: 3px solid var(--gym-ink); }
  .gym-demo--independent .gym-program-grid article:nth-child(2) { transform: none; }
}

/* Desktop canvas alignment
 * Keep tablets and phones unchanged. From standard desktop widths upward,
 * establish a visible left rail instead of centering narrow content inside a
 * large empty canvas. This final rule intentionally wins over component styles.
 */
@media (min-width: 1280px) {
  :root { --pd-desktop-gutter: clamp(48px, 4vw, 88px); }

  body:not(.pd-demo-page) .pd-wrap {
    width: calc(100% - var(--pd-desktop-gutter) - var(--pd-desktop-gutter));
    margin-right: var(--pd-desktop-gutter);
    margin-left: var(--pd-desktop-gutter);
  }

  body:not(.pd-demo-page) .pd-header .pd-wrap,
  body:not(.pd-demo-page) .pd-hero-capabilities-inner {
    width: calc(100% - var(--pd-desktop-gutter) - var(--pd-desktop-gutter));
    margin-right: var(--pd-desktop-gutter);
    margin-left: var(--pd-desktop-gutter);
  }

  body:not(.pd-demo-page) .pd-hero-grid {
    width: calc(100% - var(--pd-desktop-gutter));
    margin-right: 0;
    margin-left: var(--pd-desktop-gutter);
    grid-template-columns: minmax(620px, 760px) minmax(0, 1fr);
  }

  body:not(.pd-demo-page) .pd-hero-media { margin-right: 0; }

  body:not(.pd-demo-page) .pd-system-card {
    top: 25%;
    left: 18%;
    width: min(clamp(440px, 26vw, 560px), 75%);
    padding: 2rem 2.2rem;
  }

  body:not(.pd-demo-page) .pd-system-label {
    margin-bottom: 1.3rem;
    font-size: .76rem;
  }

  body:not(.pd-demo-page) .pd-system-step {
    grid-template-columns: 46px 1fr;
    gap: 16px;
    padding: .85rem 0;
  }

  body:not(.pd-demo-page) .pd-system-step > span {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }

  body:not(.pd-demo-page) .pd-system-step strong { font-size: 1.05rem; }
  body:not(.pd-demo-page) .pd-system-step small { font-size: .82rem; }
}

/* v0.11.0: auto-detailing concept library
 * Three independent page systems: editorial, diagnostic, and wash-bay. */
.pd-demo-tile--detail .pd-demo-tile-mark { border: 1px solid #171717; border-radius: 0; background: #d7d8d5; color: #111; }
.pd-demo-tile--detail .pd-demo-tile-mark::before { position: absolute; inset: 24px; border: 1px solid #111; content: ""; }
.pd-demo-tile--detail .pd-demo-tile-mark::after { position: absolute; right: 24px; bottom: 20px; color: #555; font: 700 .6rem/1 Consolas, monospace; letter-spacing: .12em; content: "FINISH / CONDITION / PROCESS"; }

/* Aperture Auto Studio: quiet, image-led automotive editorial */
.gloss-demo { --gloss-black:#11110f; --gloss-bone:#e8e5de; --gloss-silver:#c9cbc8; --gloss-blue:#2d4fe5; overflow:hidden; background:var(--gloss-bone); color:var(--gloss-black); font-family:"Helvetica Neue",Arial,sans-serif; }
.gloss-notice { border-bottom:1px solid #383834; background:var(--gloss-black); }
.gloss-notice strong { color:#fff; }
.gloss-header { display:flex; min-height:94px; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.25rem,4vw,4.5rem); border-bottom:1px solid #aaa9a3; }
.gloss-brand { display:flex; align-items:center; gap:.85rem; text-decoration:none; }
.gloss-brand > span { display:grid; width:44px; height:58px; place-items:center; border:1px solid currentColor; font-family:Georgia,serif; font-size:1.35rem; }
.gloss-brand strong { font-size:.82rem; letter-spacing:.22em; }
.gloss-brand small { display:block; margin-top:.35rem; color:#62625d; font-size:.58rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; }
.gloss-header nav { display:flex; align-items:center; gap:2.2rem; }
.gloss-header nav a { font-size:.68rem; font-weight:700; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.gloss-header nav a:last-child { padding:.75rem 0; border-bottom:2px solid var(--gloss-blue); }
.gloss-hero { display:grid; min-height:760px; padding:clamp(3rem,6vw,6rem) clamp(1.25rem,4vw,4.5rem); grid-template-columns:110px minmax(360px,.72fr) minmax(440px,1.28fr); gap:clamp(1.5rem,4vw,5rem); align-items:center; }
.gloss-number { align-self:start; padding-top:1rem; color:#777873; font:400 5rem/.8 Georgia,serif; writing-mode:vertical-rl; }
.gloss-hero-copy > p:first-child,.gloss-index,.gloss-section-title > p { margin:0 0 1.4rem; color:var(--gloss-blue); font-size:.67rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.gloss-hero h1 { margin:0; font:500 clamp(4rem,6.6vw,7.8rem)/.84 "Arial Narrow",Arial,sans-serif; letter-spacing:-.075em; }
.gloss-hero h1 em { display:block; margin-top:.2em; font-family:Georgia,serif; font-weight:400; letter-spacing:-.055em; }
.gloss-hero-copy > p:nth-of-type(2) { max-width:500px; margin:2rem 0; color:#555550; font-size:1.08rem; }
.gloss-hero-copy > a,.gloss-close > a { display:inline-flex; gap:.7rem; padding:.8rem 0; border-bottom:1px solid currentColor; font-size:.7rem; font-weight:800; letter-spacing:.11em; text-decoration:none; text-transform:uppercase; }
.gloss-hero figure { position:relative; margin:0; }
.gloss-hero figure::before { position:absolute; top:-20px; right:-20px; bottom:20px; left:20px; border:1px solid var(--gloss-blue); content:""; }
.gloss-hero img { position:relative; display:block; width:100%; height:min(64vw,680px); object-fit:cover; filter:saturate(.22) contrast(1.06); }
.gloss-hero figcaption { display:flex; justify-content:space-between; padding:.75rem 0; color:#5f605b; font:700 .62rem/1.4 Consolas,monospace; letter-spacing:.08em; text-transform:uppercase; }
.gloss-statement { display:grid; padding:clamp(5rem,9vw,10rem) clamp(1.25rem,7vw,8rem); grid-template-columns:.42fr .9fr .68fr; gap:clamp(2rem,6vw,7rem); border-top:1px solid #aaa9a3; background:#f3f1ec; }
.gloss-statement h2,.gloss-services h2,.gloss-close h2 { margin:0; font-family:Georgia,serif; font-weight:400; letter-spacing:-.045em; line-height:.95; }
.gloss-statement h2 { font-size:clamp(3.2rem,5vw,5.8rem); }
.gloss-statement p { color:#555550; font-size:1.08rem; }
.gloss-statement blockquote { margin:0; padding-left:2rem; border-left:1px solid var(--gloss-blue); font:italic 1.7rem/1.25 Georgia,serif; }
.gloss-services { padding:clamp(5rem,9vw,10rem) clamp(1.25rem,7vw,8rem); background:var(--gloss-black); color:#f4f2ec; }
.gloss-section-title { display:grid; grid-template-columns:.42fr 1.58fr; gap:3rem; }
.gloss-services h2 { max-width:950px; font-size:clamp(3.5rem,6vw,7rem); }
.gloss-services ol { margin:5rem 0 0; padding:0; border-top:1px solid #4b4b47; list-style:none; }
.gloss-services li { display:grid; padding:2.2rem 0; grid-template-columns:90px 1fr .7fr; gap:2rem; align-items:center; border-bottom:1px solid #4b4b47; }
.gloss-services li > span { color:#8b8c87; font:700 .7rem Consolas,monospace; }
.gloss-services h3 { margin:0; font:400 2.6rem/1 Georgia,serif; }
.gloss-services li p { max-width:620px; margin:.65rem 0 0; color:#aaa9a3; }
.gloss-services li small { justify-self:end; color:#777873; font:700 .62rem/1.5 Consolas,monospace; letter-spacing:.07em; text-transform:uppercase; }
.gloss-close { padding:clamp(6rem,11vw,12rem) clamp(1.25rem,7vw,8rem); }
.gloss-close > p { margin:0; color:var(--gloss-blue); font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.gloss-close h2 { max-width:1100px; margin:1.4rem 0 3rem; font-size:clamp(4rem,8vw,9rem); }
.gloss-footer,.spec-footer,.bay-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem 2rem; padding:2rem clamp(1.25rem,4vw,4.5rem); font-size:.7rem; }
.gloss-footer { border-top:1px solid #aaa9a3; }
.gloss-footer a,.spec-footer a,.bay-footer a { text-underline-offset:3px; }

/* Spec / Ready: an inspection report that behaves like a page */
.spec-demo { --spec-ink:#14262c; --spec-paper:#f0f0ea; --spec-rule:#9ba7a7; --spec-signal:#ff4d22; overflow:hidden; background:var(--spec-paper); color:var(--spec-ink); font-family:Arial,sans-serif; }
.spec-notice { background:var(--spec-signal); color:#111; }
.spec-notice strong,.spec-notice span { color:#111; }
.spec-notice .demo-variants a { border-color:rgba(0,0,0,.35); }
.spec-notice .demo-variants a:hover,.spec-notice .demo-variants a.is-current { border-color:#111; background:#111; color:#fff; }
.spec-header { display:flex; min-height:88px; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.25rem,4vw,4rem); border-bottom:1px solid var(--spec-rule); }
.spec-header > a { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.spec-header > a > b { display:grid; width:50px; height:50px; place-items:center; background:var(--spec-ink); color:#fff; font:700 .82rem Consolas,monospace; }
.spec-header strong { display:block; font-size:.84rem; letter-spacing:.15em; }
.spec-header small { display:block; margin-top:.2rem; color:#5f7072; font-size:.58rem; letter-spacing:.13em; text-transform:uppercase; }
.spec-header > div { display:flex; align-items:center; gap:1.5rem; }
.spec-header > div span { font:700 .63rem Consolas,monospace; }
.spec-header > div a { padding:.8rem 1rem; border:1px solid var(--spec-ink); font-size:.67rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.spec-hero { display:grid; min-height:720px; grid-template-columns:minmax(400px,.95fr) minmax(450px,1.25fr) 180px; border-bottom:1px solid var(--spec-rule); }
.spec-title { display:flex; flex-direction:column; justify-content:center; padding:clamp(3rem,6vw,7rem) clamp(1.25rem,5vw,6rem); border-right:1px solid var(--spec-rule); }
.spec-title > p,.spec-section-head > p,.spec-scope > div > p { margin:0 0 1.5rem; color:#5f7072; font:700 .67rem Consolas,monospace; letter-spacing:.09em; text-transform:uppercase; }
.spec-title h1 { margin:0; font:800 clamp(4rem,6.5vw,7.6rem)/.82 Arial,sans-serif; letter-spacing:-.075em; text-transform:uppercase; }
.spec-title h1 span { display:inline-block; padding:.05em .08em; background:var(--spec-signal); color:#111; }
.spec-actions { display:flex; margin-top:3rem; align-items:center; justify-content:space-between; gap:1rem; }
.spec-actions a { padding:.85rem 1rem; background:var(--spec-ink); color:#fff; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.spec-actions span { color:#657577; font:700 .61rem Consolas,monospace; }
.spec-hero figure { position:relative; margin:0; min-width:0; }
.spec-hero img { display:block; width:100%; height:100%; min-height:720px; object-fit:cover; filter:saturate(.35) contrast(1.08); }
.spec-hero figcaption { position:absolute; right:0; bottom:0; left:0; display:flex; justify-content:space-between; padding:1rem; background:var(--spec-paper); border-top:1px solid var(--spec-rule); font:700 .64rem Consolas,monospace; }
.spec-hero aside { padding:1.5rem; border-left:1px solid var(--spec-rule); background:#dfe3df; }
.spec-hero aside > span { font:700 .62rem Consolas,monospace; }
.spec-hero dl { margin:2rem 0 0; }
.spec-hero dl div { padding:1.2rem 0; border-top:1px solid var(--spec-rule); }
.spec-hero dt { color:var(--spec-signal); font:800 1.7rem Consolas,monospace; }
.spec-hero dd { margin:.3rem 0 0; font-size:.72rem; font-weight:800; text-transform:uppercase; }
.spec-assessment { display:grid; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,6rem); grid-template-columns:.62fr 1.38fr; gap:clamp(3rem,7vw,8rem); }
.spec-section-head h2,.spec-scope h2,.spec-close h2 { margin:0; font-size:clamp(3.2rem,5.2vw,6rem); letter-spacing:-.065em; line-height:.9; }
.spec-options { border-top:1px solid var(--spec-rule); }
.spec-options a { display:grid; padding:1.5rem 0; grid-template-columns:55px 1fr 40px; gap:1rem; align-items:center; border-bottom:1px solid var(--spec-rule); text-decoration:none; }
.spec-options a > b { color:var(--spec-signal); font:800 .7rem Consolas,monospace; }
.spec-options strong { display:block; font-size:1.2rem; }
.spec-options small { display:block; margin-top:.3rem; color:#5f7072; font-size:.86rem; }
.spec-options i { justify-self:end; font-style:normal; }
.spec-options a:hover strong { text-decoration:underline; text-decoration-color:var(--spec-signal); text-underline-offset:5px; }
.spec-scope { display:grid; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,6rem); grid-template-columns:.65fr 1.35fr; gap:clamp(3rem,7vw,8rem); border-top:1px solid var(--spec-rule); background:var(--spec-ink); color:#fff; }
.spec-scope > div { min-width:0; }
.spec-scope h2 { max-width:9ch; font-size:clamp(2.8rem,4.6vw,5rem); }
.spec-scope > div > p:last-child { max-width:520px; margin-top:1.4rem; color:#b2bec0; }
.spec-scope table { width:100%; align-self:start; border-collapse:collapse; }
.spec-scope th,.spec-scope td { padding:1.2rem .8rem; border-bottom:1px solid #4c5d61; text-align:left; }
.spec-scope th { color:#a8b6b8; font:700 .63rem Consolas,monospace; letter-spacing:.06em; text-transform:uppercase; }
.spec-scope td { font-size:.92rem; }
.spec-close { display:flex; align-items:end; justify-content:space-between; gap:3rem; padding:clamp(5rem,8vw,8rem) clamp(1.25rem,5vw,6rem); background:var(--spec-signal); color:#111; }
.spec-close span { font:700 .65rem Consolas,monospace; }
.spec-close a { flex:0 0 auto; padding:1rem 1.2rem; border:1px solid #111; font-size:.7rem; font-weight:800; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.spec-footer { background:#0e1d22; color:#aab6b7; }
.spec-footer strong { color:#fff; }

/* Northline Detail Department: industrial wash-bay rhythm */
.bay-demo { --bay-black:#111313; --bay-white:#f0f1eb; --bay-blue:#1b77ff; --bay-yellow:#f3e83c; overflow:hidden; background:var(--bay-white); color:var(--bay-black); font-family:"Arial Narrow",Arial,sans-serif; }
.bay-notice { background:var(--bay-blue); }
.bay-notice strong,.bay-notice span { color:#fff; }
.bay-header { display:flex; min-height:90px; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.25rem,4vw,4rem); background:var(--bay-black); color:#fff; }
.bay-header > a { display:flex; align-items:center; gap:.8rem; text-decoration:none; }
.bay-header > a > span { display:grid; width:52px; height:52px; place-items:center; border:2px solid var(--bay-yellow); color:var(--bay-yellow); font-weight:900; }
.bay-header strong { font-size:1rem; font-weight:900; letter-spacing:.1em; }
.bay-header small { display:block; color:#8c9696; font-size:.56rem; letter-spacing:.15em; text-transform:uppercase; }
.bay-header nav { display:flex; align-items:center; gap:2rem; }
.bay-header nav a { font-size:.68rem; font-weight:900; letter-spacing:.1em; text-decoration:none; text-transform:uppercase; }
.bay-header nav a:last-child { padding:.8rem 1rem; background:var(--bay-yellow); color:#111; }
.bay-hero { position:relative; min-height:calc(100vh - 138px); overflow:hidden; background:var(--bay-black); color:#fff; }
.bay-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; filter:grayscale(.35) contrast(1.16) brightness(.62); }
.bay-hero::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.8) 0,rgba(0,0,0,.35) 58%,rgba(0,0,0,.05)); content:""; }
.bay-washline { position:absolute; z-index:1; top:0; bottom:0; left:54%; width:10px; background:var(--bay-blue); transform:skewX(-8deg); }
.bay-hero-copy { position:relative; z-index:2; display:flex; min-height:calc(100vh - 138px); flex-direction:column; justify-content:center; padding:clamp(4rem,7vw,8rem) clamp(1.25rem,5vw,6rem); }
.bay-hero-copy > p:first-child { margin:0 0 1.5rem; color:var(--bay-yellow); font-size:.7rem; font-weight:900; letter-spacing:.15em; text-transform:uppercase; }
.bay-hero h1 { margin:0; font:950 clamp(5rem,11vw,12rem)/.68 Impact,"Arial Black",sans-serif; letter-spacing:-.035em; }
.bay-hero h1 span { color:transparent; -webkit-text-stroke:2px #fff; }
.bay-hero-copy > div { display:flex; max-width:720px; align-items:end; justify-content:space-between; gap:2rem; margin-top:3rem; padding-top:1.3rem; border-top:2px solid #fff; }
.bay-hero-copy > div p { max-width:430px; margin:0; color:#d2d5d1; font-size:1.05rem; }
.bay-hero-copy > div a { flex:0 0 auto; padding:.9rem 1rem; background:var(--bay-yellow); color:#111; font-size:.68rem; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.bay-shift { position:absolute; z-index:3; top:2rem; right:2rem; padding:.8rem; border:1px solid rgba(255,255,255,.65); font:700 .62rem/1.5 Consolas,monospace; }
.bay-marquee { display:flex; overflow:hidden; align-items:center; justify-content:space-around; gap:2rem; padding:1.2rem; background:var(--bay-yellow); font-size:.72rem; font-weight:900; letter-spacing:.09em; white-space:nowrap; }
.bay-marquee i { font-style:normal; color:var(--bay-blue); }
.bay-run { display:grid; padding:clamp(5rem,9vw,9rem) clamp(1.25rem,5vw,6rem); grid-template-columns:.8fr 1.2fr; gap:clamp(3rem,7vw,8rem); background:#d9ddda; }
.bay-run-title > p { margin:0 0 1.2rem; color:#485153; font-size:.67rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.bay-run h2,.bay-close h2 { margin:0; font:900 clamp(3.5rem,6.5vw,7.5rem)/.82 Impact,"Arial Black",sans-serif; letter-spacing:-.02em; text-transform:uppercase; }
.bay-run ol { margin:0; padding:0; border-top:2px solid var(--bay-black); list-style:none; }
.bay-run li { display:grid; padding:1.7rem 0; grid-template-columns:60px 1fr; border-bottom:1px solid #858d8b; }
.bay-run li > span { grid-row:1/3; color:var(--bay-blue); font:900 .72rem Consolas,monospace; }
.bay-run strong { font-size:1.25rem; text-transform:uppercase; }
.bay-run li p { margin:.35rem 0 0; color:#515a5b; }
.bay-menu { display:grid; grid-template-columns:repeat(3,1fr); background:var(--bay-black); color:#fff; }
.bay-menu header { grid-column:1/4; display:flex; justify-content:space-between; gap:2rem; padding:1.5rem clamp(1.25rem,5vw,6rem); border-bottom:1px solid #434747; }
.bay-menu header span { color:var(--bay-yellow); font-size:.68rem; font-weight:900; letter-spacing:.12em; }
.bay-menu header p { margin:0; color:#939a99; }
.bay-menu > a { display:flex; min-height:350px; flex-direction:column; justify-content:flex-end; padding:clamp(2rem,4vw,4rem); border-right:1px solid #434747; text-decoration:none; }
.bay-menu > a:nth-of-type(3) { border-right:0; }
.bay-menu > a b { color:var(--bay-yellow); font:900 clamp(2.4rem,4vw,4.6rem)/.9 Impact,"Arial Black",sans-serif; }
.bay-menu > a span { max-width:330px; margin:1rem 0 3rem; color:#aeb4b3; }
.bay-menu > a i { color:var(--bay-blue); font-size:.68rem; font-style:normal; font-weight:900; letter-spacing:.1em; }
.bay-menu > a:hover { background:#1b1f1f; }
.bay-close { padding:clamp(6rem,10vw,11rem) clamp(1.25rem,5vw,6rem); background:var(--bay-blue); color:#fff; }
.bay-close > p { margin:0 0 1.4rem; color:#dbe7ff; font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.bay-close h2 { max-width:1200px; }
.bay-close > a { display:inline-flex; gap:.7rem; margin-top:3rem; padding:1rem 1.2rem; background:var(--bay-yellow); color:#111; font-size:.7rem; font-weight:900; letter-spacing:.08em; text-decoration:none; text-transform:uppercase; }
.bay-footer { background:var(--bay-black); color:#8f9796; }
.bay-footer strong { color:var(--bay-yellow); }

@media (max-width: 1100px) {
  .gloss-hero { grid-template-columns:70px minmax(300px,.8fr) minmax(360px,1.2fr); }
  .spec-hero { grid-template-columns:.9fr 1.1fr; }
  .spec-hero aside { display:none; }
}

@media (max-width: 820px) {
  .gloss-header nav a:not(:last-child),.spec-header > div span,.bay-header nav a:not(:last-child) { display:none; }
  .gloss-header nav,.bay-header nav { gap:0; }
  .gloss-hero { padding-top:4rem; grid-template-columns:1fr; }
  .gloss-number { display:none; }
  .gloss-hero img { height:min(110vw,620px); }
  .gloss-statement,.gloss-section-title,.spec-assessment,.spec-scope,.bay-run { grid-template-columns:1fr; }
  .gloss-statement blockquote { max-width:550px; }
  .spec-hero { grid-template-columns:1fr; }
  .spec-title { border-right:0; border-bottom:1px solid var(--spec-rule); }
  .spec-hero img { min-height:0; height:70vw; }
  .spec-close { align-items:flex-start; flex-direction:column; }
  .bay-menu { grid-template-columns:1fr; }
  .bay-menu header { grid-column:1; }
  .bay-menu > a { min-height:260px; border-right:0; border-bottom:1px solid #434747; }
}

@media (max-width: 620px) {
  .gloss-header,.spec-header,.bay-header { min-height:76px; padding-inline:1rem; }
  .gloss-brand > span { width:34px; height:46px; }
  .gloss-brand strong,.bay-header strong { font-size:.68rem; }
  .gloss-header nav a:last-child,.spec-header > div a,.bay-header nav a:last-child { padding:.7rem .55rem; font-size:.56rem; }
  .gloss-hero { min-height:0; padding:3.5rem 1rem; gap:3rem; }
  .gloss-hero h1 { font-size:clamp(3.4rem,17vw,5rem); }
  .gloss-hero figure::before { top:-10px; right:-10px; bottom:10px; left:10px; }
  .gloss-statement,.gloss-services,.gloss-close,.spec-assessment,.spec-scope,.spec-close,.bay-run,.bay-close { padding-right:1rem; padding-left:1rem; }
  .gloss-services li { grid-template-columns:42px 1fr; }
  .gloss-services li small { grid-column:2; justify-self:start; }
  .gloss-close h2 { font-size:clamp(3.5rem,17vw,5.5rem); }
  .spec-header > a > b,.bay-header > a > span { width:40px; height:40px; }
  .spec-header small,.bay-header small { display:none; }
  .spec-title { padding:4rem 1rem; }
  .spec-title h1 { max-width:100%; font-size:clamp(3rem,14.2vw,4.5rem); overflow-wrap:anywhere; }
  .spec-actions { align-items:flex-start; flex-direction:column; }
  .spec-hero img { height:85vw; }
  .spec-options a { grid-template-columns:40px 1fr 24px; }
  .spec-scope { overflow-x:auto; }
  .spec-scope h2 { max-width:100%; font-size:clamp(2.5rem,11vw,3.4rem); overflow-wrap:anywhere; }
  .spec-scope table { min-width:620px; }
  .spec-close h2 { font-size:clamp(3rem,14vw,4.5rem); }
  .bay-hero { min-height:690px; }
  .bay-hero-copy { min-height:690px; padding:5rem 1rem 3rem; }
  .bay-hero h1 { font-size:clamp(5rem,25vw,7.2rem); }
  .bay-hero-copy > div { align-items:flex-start; flex-direction:column; }
  .bay-shift { top:1rem; right:1rem; }
  .bay-marquee { justify-content:flex-start; }
  .bay-menu header { align-items:flex-start; flex-direction:column; padding:1.2rem 1rem; }
  .bay-menu > a { padding:2rem 1rem; }
  .gloss-footer,.spec-footer,.bay-footer { align-items:flex-start; flex-direction:column; padding-inline:1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .gloss-demo *,.spec-demo *,.bay-demo * { scroll-behavior:auto !important; }
}
