    :root {
      --ink: #10231d;
      --ink-soft: #294138;
      --forest: #0f3429;
      --forest-2: #174b3a;
      --green: #178152;
      --green-light: #dff1e8;
      --lime: #b9d56a;
      --amber: #dba33b;
      --amber-light: #f6e7c8;
      --cream: #fbfaf6;
      --sand: #f1eee5;
      --white: #ffffff;
      --muted: #65736d;
      --line: #dce2dd;
      --line-dark: rgba(255, 255, 255, .15);
      --shadow: 0 24px 70px rgba(16, 35, 29, .12);
      --shadow-soft: 0 12px 36px rgba(16, 35, 29, .08);
      --radius: 22px;
      --radius-lg: 34px;
      --max: 1240px;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
      scroll-padding-top: 128px;
    }

    body {
      margin: 0;
      color: var(--ink);
      background: var(--cream);
      font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      font-size: 16px;
      line-height: 1.65;
      overflow-x: hidden;
    }

    body.menu-open {
      overflow: hidden;
    }

    a {
      color: inherit;
      text-decoration: none;
    }

    img {
      display: block;
      max-width: 100%;
    }

    button,
    input,
    textarea,
    select {
      font: inherit;
    }

    button,
    a {
      -webkit-tap-highlight-color: transparent;
    }

    :focus-visible {
      outline: 3px solid rgba(23, 129, 82, .35);
      outline-offset: 3px;
    }

    .container {
      width: min(calc(100% - 40px), var(--max));
      margin-inline: auto;
    }

    .eyebrow {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      margin: 0 0 16px;
      color: var(--green);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .eyebrow::before {
      width: 22px;
      height: 2px;
      background: currentColor;
      content: "";
    }

    .eyebrow.light {
      color: var(--lime);
    }

    h1,
    h2,
    h3,
    p {
      margin-top: 0;
    }

    h1,
    h2,
    h3 {
      color: var(--ink);
      line-height: 1.12;
      letter-spacing: -.035em;
    }

    h1 {
      max-width: 760px;
      margin-bottom: 24px;
      color: var(--white);
      font-size: clamp(40px, 5.2vw, 60px);
      font-weight: 800;
    }

    h2 {
      max-width: 820px;
      margin-bottom: 22px;
      font-size: clamp(34px, 4.2vw, 54px);
      font-weight: 800;
    }

    h3 {
      margin-bottom: 12px;
      font-size: 23px;
      font-weight: 800;
    }

    .section-heading {
      display: grid;
      grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
      align-items: end;
      gap: 46px;
      margin-bottom: 48px;
    }

    .section-heading h2,
    .section-heading p {
      margin-bottom: 0;
    }

    .section-heading p {
      color: var(--muted);
      font-size: 17px;
    }

    .section-heading.centered {
      display: block;
      max-width: 820px;
      margin-right: auto;
      margin-left: auto;
      text-align: center;
    }

    .section-heading.centered .eyebrow {
      justify-content: center;
    }

    .section-heading.centered h2 {
      margin-inline: auto;
    }

    .section-heading.centered p {
      max-width: 680px;
      margin: 18px auto 0;
    }

    .btn {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      padding: 0 22px;
      border: 1px solid transparent;
      border-radius: 999px;
      cursor: pointer;
      font-size: 14px;
      font-weight: 800;
      line-height: 1;
      transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
    }

    .btn:hover {
      transform: translateY(-2px);
    }

    .btn svg {
      width: 18px;
      height: 18px;
      flex: 0 0 auto;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .btn-primary {
      color: var(--white);
      background: var(--green);
      box-shadow: 0 12px 30px rgba(23, 129, 82, .24);
    }

    .btn-primary:hover {
      background: #116e45;
    }

    .btn-light {
      color: var(--forest);
      background: var(--white);
    }

    .btn-light:hover {
      background: #f4f6f4;
    }

    .btn-outline-light {
      color: var(--white);
      border-color: rgba(255, 255, 255, .32);
      background: rgba(255, 255, 255, .05);
    }

    .btn-outline-light:hover {
      border-color: rgba(255, 255, 255, .7);
      background: rgba(255, 255, 255, .1);
    }

    .btn-outline {
      color: var(--ink);
      border-color: var(--line);
      background: transparent;
    }

    .btn-outline:hover {
      border-color: var(--green);
      color: var(--green);
    }

    .site-header {
      position: sticky;
      top: 0;
      z-index: 100;
      border-bottom: 1px solid rgba(16, 35, 29, .08);
      background: rgba(251, 250, 246, .94);
      box-shadow: 0 8px 30px rgba(16, 35, 29, .05);
      backdrop-filter: blur(16px);
    }

    .top-contact-bar {
      color: var(--white);
      background: #0a281f;
    }

    .top-contact-inner {
      min-height: 38px;
      display: flex;
      align-items: center;
      justify-content: flex-end;
      gap: 16px;
    }

    .top-contact-text {
      margin-right: auto;
      color: rgba(255, 255, 255, .6);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .top-contact-link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      font-size: 11px;
      line-height: 1;
    }

    .top-contact-link span {
      color: var(--lime);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .top-contact-link strong {
      color: var(--white);
      font-size: 12px;
      font-weight: 800;
    }

    .top-contact-email strong {
      font-size: 13px;
    }

    .top-contact-link:hover strong {
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .top-contact-separator {
      width: 1px;
      height: 14px;
      background: rgba(255, 255, 255, .2);
    }

    .header-inner {
      min-height: 76px;
      display: flex;
      align-items: center;
      gap: 28px;
    }

    .logo {
      display: inline-flex;
      align-items: center;
      flex: 0 0 auto;
    }

    .logo img {
      width: 124px;
      height: auto;
    }

    .main-nav {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 26px;
      margin-left: auto;
    }

    .main-nav a {
      position: relative;
      color: var(--ink-soft);
      font-size: 13px;
      font-weight: 700;
    }

    .main-nav a::after {
      position: absolute;
      right: 0;
      bottom: -7px;
      left: 0;
      height: 2px;
      border-radius: 2px;
      background: var(--green);
      content: "";
      transform: scaleX(0);
      transform-origin: center;
      transition: transform .2s ease;
    }

    .main-nav a:hover::after {
      transform: scaleX(1);
    }

    .header-cta {
      min-height: 44px;
      padding-inline: 18px;
    }

    .menu-toggle {
      width: 46px;
      height: 46px;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 0;
      border: 1px solid var(--line);
      border-radius: 50%;
      background: var(--white);
      cursor: pointer;
    }

    .menu-toggle span,
    .menu-toggle span::before,
    .menu-toggle span::after {
      width: 19px;
      height: 2px;
      display: block;
      border-radius: 2px;
      background: var(--ink);
      transition: transform .2s ease, opacity .2s ease;
    }

    .menu-toggle span {
      position: relative;
    }

    .menu-toggle span::before,
    .menu-toggle span::after {
      position: absolute;
      left: 0;
      content: "";
    }

    .menu-toggle span::before {
      top: -6px;
    }

    .menu-toggle span::after {
      top: 6px;
    }

    .menu-toggle[aria-expanded="true"] span {
      background: transparent;
    }

    .menu-toggle[aria-expanded="true"] span::before {
      top: 0;
      transform: rotate(45deg);
    }

    .menu-toggle[aria-expanded="true"] span::after {
      top: 0;
      transform: rotate(-45deg);
    }

    .mobile-menu {
      display: none;
    }

    .hero {
      padding: 28px 0 0;
    }

    .hero-shell {
      position: relative;
      min-height: 640px;
      display: grid;
      grid-template-columns: minmax(0, .98fr) minmax(430px, 1.02fr);
      overflow: hidden;
      border-radius: var(--radius-lg);
      background:
        radial-gradient(circle at 18% 20%, rgba(185, 213, 106, .12), transparent 32%),
        linear-gradient(135deg, #0e2d25 0%, #123b30 55%, #0b2821 100%);
      box-shadow: var(--shadow);
    }

    .hero-copy {
      position: relative;
      z-index: 2;
      min-width: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      padding: 60px 34px 60px clamp(34px, 5vw, 72px);
    }

    .hero-copy .eyebrow {
      color: var(--lime);
    }

    .hero-lead {
      max-width: 650px;
      margin-bottom: 32px;
      color: rgba(255, 255, 255, .78);
      font-size: clamp(17px, 1.6vw, 20px);
      line-height: 1.7;
    }

    .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .hero-note {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      max-width: 600px;
      margin: 26px 0 0;
      color: rgba(255, 255, 255, .62);
      font-size: 13px;
    }

    .hero-note svg {
      width: 17px;
      height: 17px;
      flex: 0 0 auto;
      margin-top: 2px;
      fill: none;
      stroke: var(--lime);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .hero-media {
      position: relative;
      min-width: 0;
      min-height: 100%;
      display: flex;
      flex-direction: column;
      justify-content: center;
      gap: 16px;
      padding: 30px 28px 30px 0;
    }

    .hero-photo {
      position: relative;
      width: 100%;
      overflow: hidden;
      aspect-ratio: 4 / 3;
      border: 1px solid rgba(255, 255, 255, .16);
      border-radius: 24px;
      background: #203a30;
      box-shadow: 0 24px 60px rgba(0, 0, 0, .24);
    }

    .hero-photo::after {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, rgba(15, 52, 41, .18), transparent 30%);
      content: "";
      pointer-events: none;
    }

    .hero-photo img,
    .hero-photo video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 44% center;
      background: #203a30;
    }

    .hero-media-card {
      padding: 18px 20px;
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 18px;
      color: var(--white);
      background: rgba(10, 38, 31, .72);
      backdrop-filter: blur(14px);
    }

    .hero-media-card .hero-card-label {
      display: block;
      margin-bottom: 5px;
      color: var(--lime);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .13em;
      line-height: 1.2;
      text-transform: uppercase;
    }

    .hero-media-card b {
      display: block;
      margin-bottom: 4px;
      font-size: 15px;
    }

    .hero-media-card .hero-card-copy {
      display: block;
      color: rgba(255, 255, 255, .68);
      font-size: 12px;
      line-height: 1.5;
    }

    .proof-bar {
      position: relative;
      z-index: 3;
      width: min(calc(100% - 80px), 1080px);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      overflow: hidden;
      margin: -32px auto 0;
      border: 1px solid var(--line);
      border-radius: 22px;
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .proof-item {
      position: relative;
      min-height: 96px;
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr);
      align-items: center;
      gap: 13px;
      padding: 18px 30px 18px 22px;
      color: inherit;
      text-decoration: none;
      transition: background-color .2s ease;
    }

    .proof-item::after {
      content: "↗";
      position: absolute;
      top: 13px;
      right: 13px;
      color: rgba(20, 73, 58, .34);
      font-size: 12px;
      transition: color .2s ease, transform .2s ease;
    }

    .proof-item:hover {
      background: rgba(226, 243, 236, .45);
    }

    .proof-item:hover::after {
      color: var(--green);
      transform: translate(2px, -2px);
    }

    .proof-item:focus-visible {
      z-index: 1;
      outline: 3px solid rgba(21, 139, 89, .25);
      outline-offset: -3px;
    }

    .proof-item + .proof-item {
      border-left: 1px solid var(--line);
    }

    .proof-icon {
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      color: var(--green);
      background: var(--green-light);
    }

    .proof-icon svg {
      width: 22px;
      height: 22px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.8;
    }

    .proof-icon svg.auger-icon {
      width: 28px;
      height: 28px;
      stroke-width: 2.15;
    }

    .proof-mark {
      width: 52px;
      height: 40px;
      display: grid;
      place-items: center;
      border-radius: 12px;
      color: var(--green);
      background: var(--green-light);
      font-size: 15px;
      font-weight: 800;
      letter-spacing: -.025em;
      white-space: nowrap;
    }

    .proof-mark-wide {
      font-size: 12px;
      letter-spacing: -.04em;
    }

    .proof-item b,
    .proof-item small {
      display: block;
    }

    .proof-item b {
      margin-bottom: 3px;
      font-size: 13px;
    }

    .proof-item small {
      color: var(--muted);
      font-size: 11px;
      line-height: 1.45;
    }

    .section {
      padding: 118px 0;
    }

    .services-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
    }

    .service-card {
      position: relative;
      min-height: 330px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 190px;
      gap: 28px;
      overflow: hidden;
      padding: 34px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--white);
      box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
      transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }

    .service-card:hover {
      border-color: #c4d2c9;
      box-shadow: var(--shadow-soft);
      transform: translateY(-4px);
    }

    .service-card.featured {
      color: var(--white);
      border-color: transparent;
      background: var(--forest);
    }

    .service-card.featured h3 {
      color: var(--white);
    }

    .service-card.featured p,
    .service-card.featured .service-list {
      color: rgba(255, 255, 255, .7);
    }

    .service-number {
      display: block;
      margin-bottom: 34px;
      color: var(--green);
      font-size: 12px;
      font-weight: 800;
      letter-spacing: .14em;
    }

    .featured .service-number {
      color: var(--lime);
    }

    .service-card p {
      margin-bottom: 22px;
      color: var(--muted);
      font-size: 15px;
    }

    .service-list {
      display: grid;
      gap: 8px;
      margin: 0;
      padding: 0;
      color: var(--ink-soft);
      font-size: 13px;
      list-style: none;
    }

    .service-list li {
      position: relative;
      padding-left: 19px;
    }

    .service-list li::before {
      position: absolute;
      top: .72em;
      left: 0;
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      content: "";
      transform: translateY(-50%);
    }

    .featured .service-list li::before {
      background: var(--lime);
    }

    .service-visual {
      position: relative;
      min-height: 100%;
      overflow: hidden;
      border-radius: 16px;
      background: var(--sand);
    }

    .service-visual img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .service-visual::after {
      position: absolute;
      inset: 0;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: inherit;
      content: "";
      pointer-events: none;
    }

    .service-geofield-visual {
      display: grid;
      place-items: center;
      padding: 12px;
      background:
        radial-gradient(circle at 90% 8%, rgba(185, 213, 106, .28), transparent 34%),
        linear-gradient(155deg, #102737 0%, #0b322a 100%);
    }

    .service-geofield-window {
      position: relative;
      z-index: 1;
      width: 100%;
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .7);
      border-radius: 13px;
      background: #f7f8f6;
      box-shadow: 0 18px 38px rgba(3, 20, 17, .28);
      transform: rotate(-.7deg);
    }

    .service-geofield-bar {
      display: flex;
      gap: 8px;
      align-items: center;
      padding: 9px 10px;
      color: var(--white);
      background: #0b1927;
    }

    .service-geofield-mark {
      display: grid;
      flex: 0 0 27px;
      width: 27px;
      height: 27px;
      place-items: center;
      border-radius: 8px;
      color: #092b24;
      background: var(--lime);
      font-size: 9px;
      font-weight: 900;
      letter-spacing: -.03em;
    }

    .service-geofield-bar strong,
    .service-geofield-bar small {
      display: block;
      line-height: 1.2;
    }

    .service-geofield-bar strong {
      font-size: 11px;
      letter-spacing: .01em;
    }

    .service-geofield-bar small {
      margin-top: 2px;
      color: rgba(255, 255, 255, .62);
      font-size: 7px;
    }

    .service-geofield-main {
      position: relative;
      height: 142px;
      overflow: hidden;
      margin: 7px;
      border: 1px solid #d9e0dc;
      border-radius: 8px;
      background: var(--white);
    }

    .service-geofield-main img {
      object-position: 55% center;
    }

    .service-geofield-main span {
      position: absolute;
      right: 6px;
      bottom: 6px;
      padding: 4px 7px;
      border-radius: 999px;
      color: var(--white);
      background: rgba(8, 49, 41, .9);
      font-size: 7px;
      font-weight: 800;
      letter-spacing: .04em;
      text-transform: uppercase;
    }

    .service-geofield-thumbs {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 6px;
      padding: 0 7px 8px;
    }

    .service-geofield-thumbs figure {
      min-width: 0;
      margin: 0;
      overflow: hidden;
      border: 1px solid #d9e0dc;
      border-radius: 7px;
      background: var(--white);
    }

    .service-geofield-thumb {
      height: 54px;
      overflow: hidden;
      border-bottom: 1px solid #e2e7e4;
    }

    .service-geofield-thumb img {
      object-position: center;
    }

    .service-geofield-thumbs figure:first-child img {
      object-position: 44% center;
    }

    .service-geofield-thumbs figure:last-child img {
      object-position: 64% center;
    }

    .service-geofield-thumbs figcaption {
      min-height: 31px;
      padding: 5px 6px;
      color: #17322b;
      font-size: 7px;
      font-weight: 750;
      line-height: 1.3;
    }

    .insights-lead {
      display: grid;
      grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
      gap: 64px;
      align-items: center;
      margin-bottom: 52px;
    }

    .decision-media {
      position: relative;
    }

    .decision-main-img {
      width: 100%;
      height: 470px;
      overflow: hidden;
      border-radius: var(--radius-lg);
      box-shadow: var(--shadow);
    }

    .decision-main-img img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .decision-sample {
      display: grid;
      grid-template-columns: 168px minmax(0, 1fr);
      align-items: center;
      gap: 18px;
      width: min(430px, calc(100% - 20px));
      margin: -64px 10px 0 auto;
      padding: 0;
      position: relative;
      overflow: hidden;
      border: 8px solid #eef2ec;
      border-radius: 22px;
      background: var(--forest);
      box-shadow: var(--shadow-soft);
      color: inherit;
      font: inherit;
      text-align: left;
      cursor: zoom-in;
    }

    .decision-sample img {
      width: 168px;
      height: 146px;
      object-fit: cover;
      object-position: center;
      display: block;
    }

    .decision-sample span {
      display: block;
      padding: 14px 18px 14px 0;
      color: var(--white);
    }

    .decision-sample strong,
    .decision-sample small {
      display: block;
    }

    .decision-sample strong {
      font-size: 12px;
      font-weight: 700;
      line-height: 1.4;
    }

    .decision-sample small {
      margin-top: 7px;
      color: rgba(255, 255, 255, .64);
      font-size: 10px;
      line-height: 1.4;
    }

    .insights-lead-copy > p {
      max-width: 640px;
      margin: 20px 0 0;
      color: var(--muted);
      font-size: 17px;
    }

    .decision-note {
      display: flex;
      align-items: flex-start;
      gap: 13px;
      margin-top: 24px;
      padding: 18px 20px;
      border-left: 3px solid var(--green);
      color: var(--ink-soft);
      background: rgba(255, 255, 255, .6);
      font-size: 13px;
    }

    .decision-note svg {
      width: 21px;
      height: 21px;
      flex: 0 0 auto;
      margin-top: 1px;
      fill: none;
      stroke: var(--green);
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .insights-section {
      background: #eef2ec;
    }

    .insights-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 16px;
    }

    .insight-card {
      min-height: 230px;
      display: grid;
      grid-template-columns: 54px minmax(0, 1fr);
      gap: 20px;
      padding: 28px;
      border: 1px solid rgba(16, 35, 29, .09);
      border-radius: 20px;
      background: rgba(255, 255, 255, .78);
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .insight-card:hover {
      border-color: rgba(23, 129, 82, .22);
      box-shadow: var(--shadow-soft);
      transform: translateY(-3px);
    }

    .insight-index {
      width: 54px;
      height: 54px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(23, 129, 82, .18);
      border-radius: 50%;
      color: var(--green);
      background: rgba(23, 129, 82, .07);
      font-size: 11px;
      font-weight: 800;
    }

    .insight-topic {
      display: block;
      margin: 2px 0 8px;
      color: var(--green);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .insight-card h3 {
      margin-bottom: 10px;
      font-size: 20px;
    }

    .insight-card p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
      line-height: 1.65;
    }

    .insights-takeaway {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 18px;
      margin-top: 18px;
      padding: 20px 24px;
      border-left: 3px solid var(--green);
      color: var(--ink-soft);
      background: rgba(255, 255, 255, .7);
      font-size: 13px;
    }

    .insights-takeaway b {
      color: var(--ink);
    }

    .process-grid {
      position: relative;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 18px;
    }

    .process-grid::before {
      position: absolute;
      z-index: 0;
      top: 35px;
      right: 11%;
      left: 11%;
      height: 1px;
      background: var(--line);
      content: "";
    }

    .process-step {
      position: relative;
      z-index: 1;
      padding: 0 20px 24px 0;
    }

    .step-index {
      width: 70px;
      height: 70px;
      display: grid;
      place-items: center;
      margin-bottom: 25px;
      border: 1px solid var(--line);
      border-radius: 50%;
      color: var(--green);
      background: var(--cream);
      font-size: 13px;
      font-weight: 800;
    }

    .process-step h3 {
      font-size: 19px;
    }

    .process-step p {
      margin: 0;
      color: var(--muted);
      font-size: 13px;
    }

    .process-callout {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-top: 38px;
      padding: 24px 28px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: var(--white);
    }

    .process-callout b,
    .process-callout span {
      display: block;
    }

    .process-callout b {
      margin-bottom: 4px;
      font-size: 15px;
    }

    .process-callout span {
      color: var(--muted);
      font-size: 12px;
    }

    .geofield {
      position: relative;
      overflow: hidden;
      color: var(--white);
      background:
        radial-gradient(circle at 85% 0%, rgba(39, 127, 185, .2), transparent 35%),
        radial-gradient(circle at 10% 100%, rgba(185, 213, 106, .13), transparent 30%),
        #0a1d29;
    }

    .geofield-grid {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
      gap: 56px;
      align-items: center;
    }

    .geofield h2 {
      color: var(--white);
    }

    .geofield-copy > p {
      margin-bottom: 28px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
    }

    .geofield-points {
      display: grid;
      gap: 10px;
      margin: 0 0 30px;
      padding: 0;
      list-style: none;
    }

    .geofield-points li {
      display: grid;
      grid-template-columns: 34px minmax(0, 1fr);
      align-items: start;
      gap: 13px;
      padding: 14px;
      border: 1px solid rgba(255, 255, 255, .1);
      border-radius: 15px;
      background: rgba(255, 255, 255, .045);
    }

    .geofield-points .geofield-step-index {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      color: var(--lime);
      background: rgba(185, 213, 106, .1);
      font-size: 11px;
      font-weight: 800;
    }

    .geofield-step-copy {
      min-width: 0;
    }

    .geofield-step-copy strong,
    .geofield-step-copy small {
      display: block;
    }

    .geofield-step-copy strong {
      margin-bottom: 3px;
      color: var(--white);
      font-size: 13px;
    }

    .geofield-step-copy small {
      color: rgba(255, 255, 255, .66);
      font-size: 12px;
      line-height: 1.55;
    }

    .geofield-copy > .geofield-responsibility {
      margin-bottom: 0;
      padding: 14px 16px;
      border-left: 2px solid var(--lime);
      background: rgba(255, 255, 255, .04);
      font-size: 13px;
      line-height: 1.65;
    }

    .geofield-media {
      position: relative;
      align-self: center;
      padding: 14px;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 24px;
      background: rgba(255, 255, 255, .06);
      box-shadow: 0 30px 80px rgba(0, 0, 0, .32);
    }

    .geofield-media button {
      display: block;
      width: 100%;
      padding: 0;
      overflow: hidden;
      border: 0;
      border-radius: 15px;
      background: transparent;
      cursor: zoom-in;
    }

    .geofield-main {
      aspect-ratio: 1600 / 1008;
      background: #eef2ec;
    }

    .geofield-main img {
      display: block;
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center;
      transition: transform .35s ease;
    }

    .geofield-media button:hover img {
      transform: scale(1.012);
    }

    .geofield-thumbs {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 10px;
      margin-top: 10px;
    }

    .geofield-thumbs button {
      display: grid;
      grid-template-rows: 250px auto;
      width: 100%;
      padding: 0;
      border: 0;
      overflow: hidden;
      border-radius: 10px;
      color: #0a1d29;
      background: #f4f5f5;
      text-align: left;
      cursor: zoom-in;
    }

    .geofield-thumbs img {
      display: block;
      width: 100%;
      height: 250px;
      object-fit: contain;
      object-position: center;
      border-radius: 10px 10px 0 0;
      background: #eeecf1;
    }

    .geofield-thumbs span {
      padding: 9px 10px 10px;
      font-size: 10px;
      font-weight: 800;
      line-height: 1.35;
    }

    .media-label {
      display: inline-block;
      margin-top: 10px;
      padding: 11px 14px;
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 12px;
      color: var(--white);
      background: rgba(5, 22, 32, .78);
      backdrop-filter: blur(10px);
      font-size: 11px;
      font-weight: 700;
    }

    .geofield-tour {
      margin-top: 78px;
      padding-top: 64px;
      border-top: 1px solid rgba(255, 255, 255, .12);
    }

    .geofield-tour-heading {
      display: grid;
      grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
      align-items: end;
      gap: 56px;
      margin-bottom: 32px;
    }

    .geofield-tour-heading h3 {
      max-width: 760px;
      margin: 0;
      color: var(--white);
      font-size: clamp(32px, 3.3vw, 50px);
      line-height: 1.04;
      letter-spacing: -.035em;
    }

    .geofield-tour-heading p {
      margin: 0;
      color: rgba(255, 255, 255, .65);
      font-size: 15px;
      line-height: 1.7;
    }

    .geofield-tour-shell {
      overflow: hidden;
      border: 1px solid rgba(255, 255, 255, .18);
      border-radius: 23px;
      background: #07131d;
      box-shadow: 0 34px 90px rgba(0, 0, 0, .42);
    }

    .geofield-window-bar {
      min-height: 50px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr) auto;
      align-items: center;
      gap: 15px;
      padding: 10px 16px;
      color: rgba(255, 255, 255, .48);
      background: #0d1928;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: .05em;
      text-transform: uppercase;
    }

    .geofield-window-bar strong {
      color: rgba(255, 255, 255, .85);
      font-size: 10px;
      letter-spacing: .03em;
      text-align: right;
    }

    .geofield-window-dots {
      display: flex;
      gap: 6px;
    }

    .geofield-window-dots i {
      width: 7px;
      height: 7px;
      display: block;
      border-radius: 50%;
      background: rgba(255, 255, 255, .26);
    }

    .geofield-window-dots i:first-child {
      background: var(--lime);
    }

    .geofield-tour-preview {
      position: relative;
      width: 100%;
      display: block;
      padding: 0;
      overflow: hidden;
      border: 0;
      color: var(--white);
      background: #f5f7f9;
      cursor: zoom-in;
    }

    .geofield-tour-preview img {
      width: 100%;
      height: auto;
      display: block;
      aspect-ratio: 2084 / 754;
      object-fit: contain;
      object-position: center;
      background: #f5f7f9;
      transition: opacity .2s ease, transform .35s ease;
    }

    .geofield-tour-preview:hover img {
      transform: scale(1.006);
    }

    .geofield-tour-preview.is-switching img {
      opacity: .35;
    }

    .geofield-tour-expand {
      position: absolute;
      right: 14px;
      bottom: 14px;
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 9px 12px;
      border: 1px solid rgba(255, 255, 255, .2);
      border-radius: 10px;
      color: var(--white);
      background: rgba(5, 19, 29, .88);
      box-shadow: 0 8px 28px rgba(0, 0, 0, .24);
      backdrop-filter: blur(10px);
      font-size: 10px;
      font-weight: 800;
    }

    .geofield-tour-expand svg {
      width: 15px;
      height: 15px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 1.8;
    }

    .geofield-tour-tabs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
      margin-top: 16px;
    }

    .geofield-tour-tab {
      min-height: 112px;
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      align-items: start;
      gap: 12px;
      padding: 16px;
      border: 1px solid rgba(255, 255, 255, .13);
      border-radius: 16px;
      color: rgba(255, 255, 255, .72);
      background: rgba(255, 255, 255, .055);
      text-align: left;
      cursor: pointer;
      transition: color .2s ease, border-color .2s ease, background .2s ease, transform .2s ease;
    }

    .geofield-tour-tab:hover {
      transform: translateY(-2px);
      color: var(--white);
      border-color: rgba(185, 213, 106, .35);
      background: rgba(255, 255, 255, .08);
    }

    .geofield-tour-tab.is-active {
      color: var(--white);
      border-color: rgba(185, 213, 106, .55);
      background: linear-gradient(135deg, rgba(185, 213, 106, .16), rgba(23, 129, 82, .12));
      box-shadow: inset 0 0 0 1px rgba(185, 213, 106, .08);
    }

    .geofield-tour-tab > span:first-child {
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border-radius: 10px;
      color: var(--lime);
      background: rgba(185, 213, 106, .1);
      font-size: 10px;
      font-weight: 900;
    }

    .geofield-tour-tab strong,
    .geofield-tour-tab small {
      display: block;
    }

    .geofield-tour-tab strong {
      margin: 2px 0 6px;
      color: inherit;
      font-size: 13px;
    }

    .geofield-tour-tab small {
      color: rgba(255, 255, 255, .52);
      font-size: 10px;
      line-height: 1.5;
    }

    .geofield-tour-note {
      display: flex;
      flex-wrap: wrap;
      gap: 9px;
      margin-top: 20px;
    }

    .geofield-tour-note span {
      padding: 8px 11px;
      border: 1px solid rgba(255, 255, 255, .11);
      border-radius: 999px;
      color: rgba(255, 255, 255, .6);
      background: rgba(255, 255, 255, .04);
      font-size: 9px;
      font-weight: 700;
    }

    @media (max-width: 940px) {
      .geofield-tour {
        margin-top: 62px;
        padding-top: 52px;
      }

      .geofield-tour-heading {
        grid-template-columns: 1fr;
        gap: 16px;
      }
    }

    @media (max-width: 680px) {
      .geofield-tour {
        margin-top: 50px;
        padding-top: 42px;
      }

      .geofield-tour-heading {
        margin-bottom: 24px;
      }

      .geofield-tour-heading h3 {
        font-size: 32px;
      }

      .geofield-window-bar {
        grid-template-columns: auto minmax(0, 1fr);
      }

      .geofield-window-bar > span:nth-child(2) {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
      }

      .geofield-window-bar strong {
        display: none;
      }

      .geofield-tour-shell {
        border-radius: 16px;
      }

      .geofield-tour-expand {
        right: 8px;
        bottom: 8px;
        padding: 7px 9px;
        font-size: 9px;
      }

      .geofield-tour-tabs {
        display: flex;
        margin-right: -20px;
        padding-right: 20px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .geofield-tour-tabs::-webkit-scrollbar {
        display: none;
      }

      .geofield-tour-tab {
        min-width: 270px;
        flex: 0 0 270px;
        scroll-snap-align: start;
      }
    }

    .equipment-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 22px;
    }

    .equipment-card {
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--white);
    }

    .equipment-image {
      position: relative;
      height: 340px;
      overflow: hidden;
    }

    .equipment-image img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .4s ease;
    }

    .equipment-card:hover .equipment-image img {
      transform: scale(1.025);
    }

    .equipment-image .tag {
      position: absolute;
      top: 18px;
      left: 18px;
      padding: 9px 12px;
      border-radius: 999px;
      color: var(--forest);
      background: rgba(255, 255, 255, .9);
      backdrop-filter: blur(8px);
      font-size: 11px;
      font-weight: 800;
    }

    .equipment-body {
      padding: 28px;
    }

    .equipment-body p {
      margin-bottom: 22px;
      color: var(--muted);
      font-size: 14px;
    }

    .equipment-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .equipment-meta span {
      padding: 8px 11px;
      border-radius: 999px;
      color: var(--ink-soft);
      background: var(--sand);
      font-size: 10px;
      font-weight: 700;
    }

    .field-strip {
      display: grid;
      grid-template-columns: 1.35fr .85fr .8fr;
      gap: 14px;
      margin-top: 22px;
    }

    .field-photo {
      position: relative;
      height: 250px;
      overflow: hidden;
      width: 100%;
      padding: 0;
      border: 0;
      border-radius: 18px;
      color: inherit;
      background: transparent;
      cursor: zoom-in;
    }

    .field-photo img,
    .field-photo video {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform .35s ease;
    }

    .field-photo:hover img {
      transform: scale(1.035);
    }

    .field-photo span {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 36px 17px 15px;
      color: var(--white);
      background: linear-gradient(0deg, rgba(7, 27, 21, .85), transparent);
      font-size: 11px;
      font-weight: 700;
    }

    .soil-strip {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 14px;
      margin-top: 22px;
    }

    .soil-strip .field-photo {
      height: 300px;
    }

    @media (max-width: 1120px) {
      .soil-strip {
        grid-template-columns: repeat(3, 1fr);
      }
    }

    @media (max-width: 620px) {
      .soil-strip {
        grid-template-columns: repeat(2, 1fr);
      }

      .soil-strip .field-photo {
        height: 230px;
      }
    }

    .map-section {
      background: var(--sand);
    }

    .nearby-checker {
      display: grid;
      grid-template-columns: minmax(0, .88fr) minmax(460px, 1.12fr);
      overflow: hidden;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 24px;
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .nearby-panel {
      padding: 34px;
    }

    .nearby-panel h3 {
      max-width: 480px;
      margin: 9px 0 12px;
      font-size: clamp(25px, 2.2vw, 34px);
      line-height: 1.08;
    }

    .nearby-intro {
      margin: 0 0 24px;
      color: var(--muted);
      font-size: 13px;
    }

    .nearby-label {
      display: block;
      margin-bottom: 8px;
      color: var(--ink);
      font-size: 11px;
      font-weight: 800;
    }

    .nearby-search-mode {
      margin-bottom: 17px;
    }

    .nearby-search-mode .radius-option span {
      min-width: 116px;
    }

    .nearby-search-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 9px;
    }

    .nearby-search-row input {
      width: 100%;
      min-height: 52px;
      padding: 12px 15px;
      border: 1px solid rgba(16, 35, 29, .18);
      border-radius: 12px;
      color: var(--ink);
      background: #fbfcfa;
      font: inherit;
      font-size: 13px;
      outline: none;
      transition: border-color .2s ease, box-shadow .2s ease;
    }

    .nearby-search-row input:focus {
      border-color: var(--green);
      box-shadow: 0 0 0 3px rgba(23, 129, 82, .1);
    }

    .nearby-search-row .btn {
      min-height: 52px;
    }

    .address-search-fields[hidden],
    .parcel-search-fields[hidden] {
      display: none;
    }

    .parcel-search-fields {
      padding: 17px;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 16px;
      background: var(--sand);
    }

    .parcel-identifier-field label,
    .parcel-form-field label {
      display: block;
      margin-bottom: 7px;
      color: var(--ink);
      font-size: 10px;
      font-weight: 800;
    }

    .parcel-identifier-field input,
    .parcel-form-field input,
    .parcel-form-field select {
      width: 100%;
      min-height: 45px;
      padding: 10px 12px;
      border: 1px solid rgba(16, 35, 29, .16);
      border-radius: 10px;
      color: var(--ink);
      background: var(--white);
      font: inherit;
      font-size: 11px;
      outline: none;
      transition: border-color .2s ease, box-shadow .2s ease;
    }

    .parcel-identifier-field input:focus,
    .parcel-form-field input:focus,
    .parcel-form-field select:focus {
      border-color: var(--green);
      box-shadow: 0 0 0 3px rgba(23, 129, 82, .1);
    }

    .parcel-field-note {
      display: block;
      margin-top: 6px;
      color: var(--muted);
      font-size: 9px;
      line-height: 1.45;
    }

    .parcel-form-divider {
      position: relative;
      display: flex;
      align-items: center;
      gap: 10px;
      margin: 15px 0;
      color: var(--muted);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .parcel-form-divider::before,
    .parcel-form-divider::after {
      height: 1px;
      flex: 1;
      background: rgba(16, 35, 29, .12);
      content: "";
    }

    .parcel-form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 11px;
    }

    .parcel-search-submit {
      width: 100%;
      min-height: 47px;
      margin-top: 14px;
    }

    .nearby-radius {
      margin-top: 15px;
    }

    .radius-options {
      display: flex;
      flex-wrap: wrap;
      gap: 7px;
    }

    .radius-option {
      position: relative;
      cursor: pointer;
    }

    .radius-option input {
      position: absolute;
      opacity: 0;
      pointer-events: none;
    }

    .radius-option span {
      min-width: 58px;
      display: block;
      padding: 8px 11px;
      border: 1px solid rgba(16, 35, 29, .13);
      border-radius: 999px;
      color: var(--ink-soft);
      background: var(--white);
      font-size: 11px;
      font-weight: 800;
      text-align: center;
      transition: color .2s ease, border-color .2s ease, background .2s ease;
    }

    .radius-option input:checked + span {
      color: var(--white);
      border-color: var(--green);
      background: var(--green);
    }

    .radius-option input:focus-visible + span {
      outline: 3px solid rgba(23, 129, 82, .2);
      outline-offset: 2px;
    }

    .nearby-help {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 10px;
      line-height: 1.55;
    }

    .nearby-status {
      min-height: 20px;
      margin: 13px 0 0;
      color: var(--green-dark);
      font-size: 11px;
      font-weight: 700;
    }

    .nearby-status.is-error {
      color: #a33c2f;
    }

    .parcel-choices {
      margin-top: 14px;
      padding: 15px;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 14px;
      background: var(--sand);
    }

    .parcel-choice-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 8px;
    }

    .parcel-choice-row select {
      width: 100%;
      min-height: 44px;
      padding: 10px 12px;
      border: 1px solid rgba(16, 35, 29, .16);
      border-radius: 10px;
      color: var(--ink);
      background: var(--white);
      font: inherit;
      font-size: 11px;
      outline: none;
    }

    .parcel-choice-row select:focus {
      border-color: var(--green);
    }

    .parcel-choice-row .btn {
      min-height: 44px;
      padding: 10px 15px;
      font-size: 11px;
    }

    .nearby-result {
      margin-top: 18px;
      padding-top: 18px;
      border-top: 1px solid var(--line);
    }

    .nearby-stats {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 9px;
    }

    .nearby-stat {
      padding: 15px;
      border-radius: 14px;
      background: var(--sand);
    }

    .nearby-stat strong {
      display: block;
      margin-bottom: 3px;
      color: var(--green-dark);
      font-size: 24px;
      line-height: 1;
    }

    .nearby-stat span {
      color: var(--muted);
      font-size: 10px;
      font-weight: 700;
    }

    .nearby-summary {
      margin: 14px 0 0;
      color: var(--ink-soft);
      font-size: 12px;
      line-height: 1.6;
    }

    .nearby-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 15px;
    }

    .nearby-actions .btn {
      min-height: 42px;
      padding: 10px 15px;
      font-size: 11px;
    }

    .nearby-map-shell {
      position: relative;
      min-height: 520px;
      overflow: hidden;
      background: #e5ece6;
    }

    #nearbyMap {
      position: absolute;
      z-index: 1;
      inset: 0;
    }

    .nearby-map-key {
      position: absolute;
      z-index: 500;
      right: 12px;
      bottom: 12px;
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      padding: 9px 11px;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 10px;
      color: var(--ink-soft);
      background: rgba(255, 255, 255, .92);
      box-shadow: 0 8px 22px rgba(16, 35, 29, .12);
      font-size: 9px;
      font-weight: 800;
      backdrop-filter: blur(8px);
    }

    .nearby-map-key span {
      display: inline-flex;
      align-items: center;
      gap: 5px;
    }

    .nearby-map-key i {
      width: 8px;
      height: 8px;
      display: inline-block;
      border: 2px solid var(--white);
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 1px rgba(16, 35, 29, .15);
    }

    .nearby-map-key .query-point {
      background: var(--lime);
      box-shadow: 0 0 0 1px var(--forest);
    }

    .nearby-map-key .realization-point {
      background: #e02f35;
      box-shadow: 0 0 0 1px rgba(139, 18, 24, .35);
    }

    .leaflet-container {
      color: var(--ink);
      font-family: inherit;
    }

    .leaflet-popup-content {
      margin: 12px 14px;
      font-size: 11px;
      line-height: 1.45;
    }

    .region-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 22px;
    }

    .region-list span {
      padding: 9px 13px;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 999px;
      color: var(--ink-soft);
      background: rgba(255, 255, 255, .55);
      font-size: 11px;
      font-weight: 700;
    }

    .region-list span:first-child {
      color: var(--white);
      border-color: var(--green);
      background: var(--green);
    }

    .video-section {
      background:
        radial-gradient(circle at 92% 8%, rgba(23, 129, 82, .08), transparent 28%),
        var(--sand);
    }

    .channel-links {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
      margin-bottom: 30px;
    }

    .channel-links-single {
      max-width: 620px;
      grid-template-columns: minmax(0, 1fr);
    }

    .channel-link {
      min-height: 82px;
      display: grid;
      grid-template-columns: 48px minmax(0, 1fr) auto;
      align-items: center;
      gap: 14px;
      padding: 15px 18px;
      border: 1px solid var(--line);
      border-radius: 18px;
      color: var(--ink);
      background: var(--white);
      box-shadow: var(--shadow-soft);
      text-decoration: none;
      transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
    }

    .channel-link:hover {
      transform: translateY(-2px);
      border-color: rgba(23, 129, 82, .38);
      box-shadow: 0 18px 42px rgba(11, 51, 39, .1);
    }

    .youtube-mark {
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      border-radius: 14px;
      background: #fff0f0;
    }

    .youtube-mark svg {
      width: 29px;
      height: 29px;
      fill: #e52222;
    }

    .youtube-mark .youtube-play {
      fill: var(--white);
    }

    .channel-link strong,
    .channel-link small {
      display: block;
    }

    .channel-link strong {
      margin-bottom: 3px;
      font-size: 15px;
    }

    .channel-link small {
      color: var(--muted);
      font-size: 11px;
    }

    .channel-arrow {
      color: var(--green);
      font-size: 21px;
      font-weight: 700;
    }

    .video-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }

    .video-card {
      min-width: 0;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 18px;
      color: var(--ink);
      background: var(--white);
      box-shadow: var(--shadow-soft);
      text-decoration: none;
      transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .video-card:hover {
      transform: translateY(-4px);
      border-color: rgba(23, 129, 82, .32);
      box-shadow: 0 22px 50px rgba(11, 51, 39, .12);
    }

    .video-thumbnail {
      position: relative;
      aspect-ratio: 16 / 9;
      display: block;
      overflow: hidden;
      background: #0d1e1a;
    }

    .video-thumbnail::after {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, .42));
      content: "";
    }

    .video-thumbnail img {
      width: 100%;
      height: 100%;
      display: block;
      object-fit: cover;
      transition: transform .35s ease;
    }

    .video-card:hover .video-thumbnail img {
      transform: scale(1.025);
    }

    .video-play {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      width: 48px;
      height: 48px;
      display: grid;
      place-items: center;
      transform: translate(-50%, -50%);
      border: 2px solid rgba(255, 255, 255, .9);
      border-radius: 50%;
      background: rgba(229, 34, 34, .94);
      box-shadow: 0 8px 24px rgba(0, 0, 0, .24);
    }

    .video-play svg {
      width: 25px;
      height: 25px;
      fill: var(--white);
    }

    .video-duration {
      position: absolute;
      z-index: 2;
      right: 9px;
      bottom: 8px;
      padding: 3px 6px;
      border-radius: 5px;
      color: var(--white);
      background: rgba(0, 0, 0, .78);
      font-size: 10px;
      font-weight: 800;
    }

    .video-card-copy {
      min-height: 112px;
      display: block;
      padding: 16px 17px 18px;
    }

    .video-card-copy small,
    .video-card-copy strong {
      display: block;
    }

    .video-card-copy small {
      margin-bottom: 7px;
      color: var(--green);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .08em;
      line-height: 1.35;
      text-transform: uppercase;
    }

    .video-card-copy strong {
      font-size: 14px;
      line-height: 1.38;
    }

    @media (max-width: 940px) {
      .video-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
    }

    @media (max-width: 680px) {
      .channel-links,
      .video-grid {
        grid-template-columns: 1fr;
      }

      .channel-link {
        min-height: 74px;
        grid-template-columns: 42px minmax(0, 1fr) auto;
        padding: 13px 14px;
      }

      .youtube-mark {
        width: 42px;
        height: 42px;
      }

      .video-card-copy {
        min-height: 0;
      }
    }

    .reviews-layout {
      display: grid;
      grid-template-columns: 300px minmax(0, 1fr);
      gap: 22px;
    }

    .rating-card {
      min-height: 100%;
      display: flex;
      flex-direction: column;
      padding: 30px;
      border-radius: var(--radius);
      color: var(--white);
      background: var(--forest);
    }

    .rating-card .google-label {
      margin-bottom: auto;
      color: rgba(255, 255, 255, .62);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .rating-value {
      margin: 32px 0 2px;
      color: var(--white);
      font-size: 58px;
      font-weight: 800;
      line-height: 1;
      letter-spacing: -.06em;
    }

    .stars {
      color: var(--amber);
      font-size: 18px;
      letter-spacing: 2px;
    }

    .rating-count {
      margin: 10px 0 24px;
      color: rgba(255, 255, 255, .65);
      font-size: 12px;
    }

    .rating-card .btn {
      width: 100%;
    }

    .reviews-panel {
      min-height: 330px;
      padding: 24px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--white);
    }

    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .review-card {
      min-height: 280px;
      display: flex;
      flex-direction: column;
      padding: 24px;
      border: 1px solid var(--line);
      border-radius: 17px;
      background: #fcfcfa;
    }

    .review-head {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 18px;
    }

    .review-avatar {
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      flex: 0 0 auto;
      overflow: hidden;
      border-radius: 50%;
      color: var(--white);
      background: var(--green);
      font-size: 14px;
      font-weight: 800;
    }

    .review-avatar img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .review-meta {
      min-width: 0;
    }

    .review-meta b,
    .review-meta span {
      display: block;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .review-meta b {
      font-size: 13px;
    }

    .review-meta span {
      color: var(--muted);
      font-size: 10px;
    }

    .review-stars {
      margin-left: auto;
      color: var(--amber);
      font-size: 11px;
      letter-spacing: 1px;
      white-space: nowrap;
    }

    .review-text {
      display: -webkit-box;
      overflow: hidden;
      margin: 0;
      color: var(--ink-soft);
      font-size: 13px;
      line-height: 1.75;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 7;
    }

    .review-source {
      margin-top: auto;
      padding-top: 20px;
      color: var(--muted);
      font-size: 10px;
    }

    .review-fallback {
      min-height: 280px;
      display: grid;
      grid-column: 1 / -1;
      place-items: center;
      padding: 32px;
      border: 1px dashed #c9d1cb;
      border-radius: 17px;
      text-align: center;
      background: #fcfcfa;
    }

    .review-fallback strong {
      display: block;
      margin-bottom: 8px;
      font-size: 18px;
    }

    .review-fallback p {
      max-width: 540px;
      margin: 0 auto 20px;
      color: var(--muted);
      font-size: 13px;
    }

    .faq-grid {
      display: grid;
      grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
      gap: 76px;
      align-items: start;
    }

    .faq-intro {
      position: sticky;
      top: 116px;
    }

    .faq-intro p {
      margin-bottom: 25px;
      color: var(--muted);
    }

    .faq-list {
      border-top: 1px solid var(--line);
    }

    .faq-list details {
      border-bottom: 1px solid var(--line);
    }

    .faq-list summary {
      position: relative;
      padding: 24px 46px 24px 0;
      cursor: pointer;
      font-size: 16px;
      font-weight: 800;
      list-style: none;
    }

    .faq-list summary::-webkit-details-marker {
      display: none;
    }

    .faq-list summary::before,
    .faq-list summary::after {
      position: absolute;
      top: 50%;
      right: 8px;
      width: 15px;
      height: 2px;
      background: var(--green);
      content: "";
      transform: translateY(-50%);
      transition: transform .2s ease;
    }

    .faq-list summary::after {
      transform: translateY(-50%) rotate(90deg);
    }

    .faq-list details[open] summary::after {
      transform: translateY(-50%) rotate(0);
    }

    .faq-answer {
      max-width: 720px;
      padding: 0 46px 24px 0;
      color: var(--muted);
      font-size: 14px;
    }

    .faq-answer a {
      color: var(--green);
      font-weight: 700;
      text-decoration: underline;
      text-decoration-thickness: 1px;
      text-underline-offset: 3px;
    }

    .contact {
      padding: 30px 0 0;
    }

    .contact-shell {
      overflow: hidden;
      border-radius: var(--radius-lg) var(--radius-lg) 0 0;
      color: var(--white);
      background:
        radial-gradient(circle at 88% 10%, rgba(185, 213, 106, .13), transparent 30%),
        var(--forest);
    }

    .contact-grid {
      display: grid;
      grid-template-columns: minmax(0, .82fr) minmax(520px, 1.18fr);
      gap: 70px;
      padding: 78px 0;
    }

    .contact-copy h2 {
      color: var(--white);
    }

    .equipment-gallery {
      margin-top: 42px;
    }

    .equipment-gallery-heading {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(300px, .8fr);
      align-items: end;
      gap: 36px;
      margin-bottom: 22px;
    }

    .equipment-gallery-heading h3 {
      max-width: 650px;
      margin: 12px 0 0;
      font-size: clamp(27px, 3vw, 42px);
      line-height: 1.1;
      letter-spacing: -.04em;
    }

    .equipment-gallery-heading p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.75;
    }

    .equipment-gallery-grid {
      display: grid;
      grid-template-columns: 1.15fr .85fr .85fr;
      grid-template-rows: 220px 220px;
      gap: 14px;
    }

    .equipment-gallery-item {
      height: auto;
      min-height: 0;
      border-radius: 20px;
      box-shadow: 0 18px 44px rgba(16, 35, 29, .1);
    }

    .equipment-gallery-item::after {
      content: "↗";
      position: absolute;
      z-index: 2;
      top: 14px;
      right: 14px;
      width: 34px;
      height: 34px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .32);
      border-radius: 50%;
      color: var(--white);
      background: rgba(9, 31, 25, .55);
      backdrop-filter: blur(8px);
      font-size: 13px;
    }

    .equipment-gallery-main {
      grid-row: 1 / span 2;
    }

    .equipment-gallery-wide {
      grid-column: 2 / span 2;
    }

    .equipment-gallery-item > span {
      padding: 54px 18px 17px;
      background: linear-gradient(transparent, rgba(5, 30, 23, .9));
      text-align: left;
    }

    .equipment-gallery-item small,
    .equipment-gallery-item strong {
      display: block;
    }

    .equipment-gallery-item small {
      margin-bottom: 4px;
      color: var(--lime);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .1em;
    }

    .equipment-gallery-item strong {
      max-width: 92%;
      font-size: 13px;
      line-height: 1.4;
    }

    .rig-build-story {
      margin-top: 18px;
      padding: 28px;
      overflow: hidden;
      border-radius: 24px;
      color: var(--white);
      background:
        radial-gradient(circle at 92% 5%, rgba(156, 211, 76, .13), transparent 27%),
        linear-gradient(135deg, #0d3328, #08251e);
      box-shadow: 0 20px 50px rgba(9, 34, 27, .12);
    }

    .rig-build-heading {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
      align-items: end;
      gap: 42px;
      margin-bottom: 22px;
    }

    .rig-build-eyebrow {
      display: block;
      color: var(--lime);
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .13em;
      text-transform: uppercase;
    }

    .rig-build-heading h4 {
      max-width: 580px;
      margin: 9px 0 0;
      color: var(--white);
      font-size: clamp(24px, 2.7vw, 36px);
      line-height: 1.08;
      letter-spacing: -.035em;
    }

    .rig-build-heading p {
      margin: 0;
      color: rgba(255, 255, 255, .68);
      font-size: 13px;
      line-height: 1.7;
    }

    .rig-build-track {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 12px;
    }

    .rig-build-card {
      height: 270px;
      border: 1px solid rgba(255, 255, 255, .14);
      border-radius: 17px;
      background: #0c2b23;
      box-shadow: none;
    }

    .rig-build-card::after {
      content: "↗";
      position: absolute;
      z-index: 2;
      top: 12px;
      right: 12px;
      width: 31px;
      height: 31px;
      display: grid;
      place-items: center;
      border: 1px solid rgba(255, 255, 255, .28);
      border-radius: 50%;
      color: var(--white);
      background: rgba(6, 27, 21, .55);
      backdrop-filter: blur(8px);
      font-size: 12px;
    }

    .rig-build-card > span {
      padding: 56px 15px 15px;
      background: linear-gradient(transparent, rgba(4, 25, 19, .94));
      text-align: left;
    }

    .rig-build-card small,
    .rig-build-card strong {
      display: block;
    }

    .rig-build-card small {
      margin-bottom: 4px;
      color: var(--lime);
      font-size: 8px;
      font-weight: 800;
      letter-spacing: .1em;
    }

    .rig-build-card strong {
      max-width: 90%;
      font-size: 12px;
      line-height: 1.35;
    }

    .rig-build-card:nth-child(1) img {
      object-position: 50% 43%;
    }

    .rig-build-card:nth-child(2) img {
      object-position: 50% 48%;
    }

    .rig-build-card:nth-child(3) img {
      object-position: 50% 35%;
    }

    .rig-build-card:nth-child(4) img {
      object-position: 50% 38%;
    }

    .equipment-gallery-note {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      margin-top: 16px;
      padding: 18px 22px;
      border: 1px solid var(--line);
      border-radius: 18px;
      color: var(--muted);
      background: rgba(255, 255, 255, .72);
      font-size: 12px;
      line-height: 1.55;
    }

    .equipment-gallery-note strong {
      color: var(--ink);
    }

    .equipment-gallery-note .text-link {
      flex: 0 0 auto;
      color: var(--green);
      font-weight: 800;
      text-decoration: none;
    }

    .equipment-gallery-note .text-link:hover {
      text-decoration: underline;
      text-underline-offset: 3px;
    }

    .contact-copy > p {
      max-width: 520px;
      margin-bottom: 30px;
      color: rgba(255, 255, 255, .68);
      font-size: 16px;
    }

    .contact-list {
      display: grid;
      gap: 12px;
      margin-bottom: 32px;
    }

    .contact-list div {
      display: grid;
      grid-template-columns: 32px minmax(0, 1fr);
      gap: 12px;
      color: rgba(255, 255, 255, .78);
      font-size: 13px;
    }

    .contact-list span {
      width: 32px;
      height: 32px;
      display: grid;
      place-items: center;
      border-radius: 50%;
      color: var(--lime);
      background: rgba(185, 213, 106, .1);
      font-size: 11px;
      font-weight: 800;
    }

    .contact-direct {
      display: grid;
      gap: 8px;
      padding-top: 24px;
      border-top: 1px solid var(--line-dark);
    }

    .contact-direct a {
      width: fit-content;
      color: var(--white);
      font-size: 17px;
      font-weight: 800;
    }

    .contact-direct small {
      color: rgba(255, 255, 255, .5);
      font-size: 11px;
    }

    .quote-form {
      padding: 28px;
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 24px;
      background: rgba(255, 255, 255, .07);
      backdrop-filter: blur(12px);
    }

    .form-row {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 14px;
    }

    .form-field {
      margin-bottom: 14px;
    }

    .form-field label {
      display: block;
      margin-bottom: 7px;
      color: rgba(255, 255, 255, .68);
      font-size: 11px;
      font-weight: 700;
    }

    .form-field input,
    .form-field textarea,
    .form-field select {
      width: 100%;
      min-height: 48px;
      padding: 12px 14px;
      border: 1px solid rgba(255, 255, 255, .17);
      border-radius: 12px;
      outline: 0;
      color: var(--white);
      background: rgba(255, 255, 255, .07);
      transition: border-color .2s ease, background .2s ease;
    }

    .form-field textarea {
      min-height: 100px;
      resize: vertical;
    }

    .form-field select option {
      color: var(--ink);
      background: var(--white);
    }

    .form-field input::placeholder,
    .form-field textarea::placeholder {
      color: rgba(255, 255, 255, .35);
    }

    .form-field input:focus,
    .form-field textarea:focus,
    .form-field select:focus {
      border-color: rgba(185, 213, 106, .7);
      background: rgba(255, 255, 255, .1);
    }

    .form-submit {
      width: 100%;
      margin-top: 4px;
    }

    .form-note {
      margin: 12px 0 0;
      color: rgba(255, 255, 255, .45);
      font-size: 10px;
      text-align: center;
    }

    .site-footer {
      color: rgba(255, 255, 255, .65);
      background: #081c16;
    }

    .footer-inner {
      min-height: 118px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: center;
      justify-content: space-between;
      gap: 36px;
      padding: 22px 0;
      border-top: 1px solid rgba(255, 255, 255, .08);
    }

    .footer-brand {
      display: flex;
      align-items: center;
      min-width: 0;
      gap: 20px;
    }

    .footer-brand img {
      display: block;
      width: 132px;
      height: auto;
      flex: 0 0 auto;
      padding: 8px 10px;
      border-radius: 9px;
      background: #fff;
      box-sizing: border-box;
    }

    .footer-copy {
      display: grid;
      gap: 5px;
      line-height: 1.5;
    }

    .footer-copy .footer-company {
      color: rgba(255, 255, 255, .82);
    }

    .footer-copy,
    .footer-links {
      font-size: 11px;
    }

    .footer-links {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 18px;
    }

    .footer-links a:hover {
      color: var(--white);
    }

    .mobile-contact-bar {
      display: none;
    }

    .lightbox {
      position: fixed;
      z-index: 300;
      inset: 0;
      display: none;
      place-items: center;
      padding: 28px;
      background: rgba(5, 18, 14, .9);
      backdrop-filter: blur(10px);
    }

    .lightbox.open {
      display: grid;
    }

    .lightbox figure {
      max-width: 1180px;
      max-height: 90vh;
      margin: 0;
    }

    .lightbox img {
      max-width: 100%;
      max-height: calc(90vh - 50px);
      border-radius: 16px;
      box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
    }

    .lightbox figcaption {
      padding-top: 10px;
      color: rgba(255, 255, 255, .7);
      font-size: 12px;
      text-align: center;
    }

    .lightbox-close {
      position: absolute;
      top: 20px;
      right: 20px;
      width: 44px;
      height: 44px;
      border: 1px solid rgba(255, 255, 255, .25);
      border-radius: 50%;
      color: var(--white);
      background: rgba(255, 255, 255, .08);
      cursor: pointer;
      font-size: 23px;
    }

    .about-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
      gap: 48px;
      align-items: stretch;
    }

    #o-firmie .section-heading {
      margin-bottom: 34px;
    }

    .about-copy {
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .about-copy > p {
      max-width: 680px;
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 16px;
      line-height: 1.72;
    }

    .about-facts {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px;
      margin: 10px 0 0;
      padding: 0;
      list-style: none;
    }

    .about-facts li {
      padding: 18px 20px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--white);
      box-shadow: var(--shadow-soft);
    }

    .about-facts strong {
      display: block;
      margin-bottom: 4px;
      color: var(--forest);
    }

    .about-field {
      position: relative;
      min-height: 390px;
      margin: 0;
      overflow: hidden;
      border-radius: 26px;
      background: var(--forest);
      box-shadow: 0 22px 50px rgba(16, 35, 29, .13);
    }

    .about-field img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 52% 50%;
    }

    .about-field figcaption {
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 72px 24px 22px;
      color: var(--white);
      background: linear-gradient(transparent, rgba(5, 28, 21, .9));
    }

    .about-field small,
    .about-field strong {
      display: block;
    }

    .about-field small {
      margin-bottom: 5px;
      color: var(--lime);
      font-size: 9px;
      font-weight: 800;
      letter-spacing: .11em;
      text-transform: uppercase;
    }

    .about-field strong {
      max-width: 420px;
      font-size: 15px;
      line-height: 1.45;
    }

    @media (max-width: 940px) {
      .about-grid {
        grid-template-columns: 1fr;
      }

      .about-field {
        min-height: 330px;
      }
    }

    @media (max-width: 620px) {
      .about-facts {
        grid-template-columns: 1fr;
      }

      .about-field {
        min-height: 290px;
        border-radius: 21px;
      }
    }

    .reveal {
      opacity: 0;
      transform: translateY(18px);
      transition: opacity .65s ease, transform .65s ease;
    }

    .reveal.visible {
      opacity: 1;
      transform: translateY(0);
    }

    @media (prefers-reduced-motion: reduce) {
      html {
        scroll-behavior: auto;
      }

      .reveal {
        opacity: 1;
        transform: none;
        transition: none;
      }

      .btn,
      .service-card,
      .equipment-image img,
      .field-photo img,
      .geofield-media img {
        transition: none;
      }
    }

    @media (max-width: 1120px) {
      .main-nav {
        gap: 17px;
      }

      .main-nav a {
        font-size: 12px;
      }

      .hero-shell {
        grid-template-columns: minmax(0, 1fr) minmax(390px, .86fr);
      }

      .service-card {
        grid-template-columns: minmax(0, 1fr) 145px;
        padding: 28px;
      }

      .geofield-grid {
        grid-template-columns: minmax(0, .8fr) minmax(480px, 1.2fr);
        gap: 42px;
      }
    }

    @media (max-width: 940px) {
      .container {
        width: min(calc(100% - 32px), var(--max));
      }

      .site-header {
        backdrop-filter: none;
      }

      .main-nav,
      .header-cta {
        display: none;
      }

      .header-inner {
        min-height: 70px;
      }

      .menu-toggle {
        display: inline-flex;
        margin-left: auto;
      }

      .mobile-menu {
        position: fixed;
        z-index: 99;
        top: 108px;
        right: 0;
        bottom: 0;
        left: 0;
        display: grid;
        align-content: start;
        gap: 0;
        padding: 22px 24px 120px;
        overflow-y: auto;
        visibility: hidden;
        opacity: 0;
        background: var(--cream);
        transform: translateY(-8px);
        transition: opacity .2s ease, transform .2s ease, visibility .2s;
      }

      .mobile-menu.open {
        visibility: visible;
        opacity: 1;
        transform: translateY(0);
      }

      .mobile-menu a {
        padding: 17px 4px;
        border-bottom: 1px solid var(--line);
        font-size: 17px;
        font-weight: 800;
      }

      .mobile-menu .mobile-direct {
        display: grid;
        gap: 10px;
        margin-top: 24px;
      }

      .mobile-menu .mobile-direct a {
        padding: 0 18px;
        border: 0;
        font-size: 13px;
      }

      .hero {
        padding-top: 16px;
      }

      .hero-shell {
        min-height: auto;
        grid-template-columns: 1fr;
      }

      .hero-copy {
        padding: 64px 32px 54px;
      }

      .hero-media {
        min-height: auto;
        padding: 0 32px 32px;
      }

      .hero-photo {
        aspect-ratio: 16 / 9;
      }

      .proof-bar {
        width: min(calc(100% - 56px), 720px);
        grid-template-columns: repeat(2, 1fr);
      }

      .proof-item:nth-child(3) {
        border-left: 0;
      }

      .proof-item:nth-child(n + 3) {
        border-top: 1px solid var(--line);
      }

      .section {
        padding: 90px 0;
      }

      .section-heading {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-bottom: 34px;
      }

      .services-grid {
        grid-template-columns: 1fr;
      }

      .service-card {
        grid-template-columns: minmax(0, 1fr) 210px;
      }

      .insights-lead,
      .geofield-grid,
      .faq-grid,
      .contact-grid {
        grid-template-columns: 1fr;
      }

      .insights-lead {
        gap: 38px;
      }

      .insights-lead-copy {
        order: -1;
      }

      .decision-media {
        min-height: 0;
      }

      .decision-main-img {
        height: 440px;
      }

      .geofield-grid {
        gap: 40px;
      }

      .process-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .process-grid::before {
        display: none;
      }

      .process-step {
        padding-right: 28px;
      }

      .equipment-image {
        height: 280px;
      }

      .nearby-checker {
        grid-template-columns: 1fr;
      }

      .nearby-map-shell {
        min-height: 430px;
      }

      .reviews-layout {
        grid-template-columns: 250px minmax(0, 1fr);
      }

      .reviews-grid {
        grid-template-columns: 1fr;
      }

      .reviews-grid .review-card:nth-child(n + 2) {
        display: none;
      }

      .faq-grid {
        gap: 34px;
      }

      .faq-intro {
        position: static;
      }

      .contact-grid {
        gap: 42px;
        padding: 64px 0 76px;
      }
    }

    @media (max-width: 680px) {
      body {
        padding-bottom: 66px;
      }

      .container {
        width: min(calc(100% - 24px), var(--max));
      }

      .top-contact-inner {
        justify-content: center;
      }

      .top-contact-text,
      .top-contact-separator,
      .top-contact-phone {
        display: none;
      }

      .top-contact-link strong {
        font-size: 12px;
      }

      h1 {
        font-size: clamp(36px, 10.5vw, 44px);
        line-height: 1.08;
      }

      h2 {
        font-size: clamp(31px, 9.5vw, 43px);
      }

      .logo img {
        width: 112px;
      }

      .hero-shell {
        border-radius: 24px;
      }

      .hero-copy {
        padding: 50px 22px 42px;
      }

      .hero-lead {
        font-size: 16px;
      }

      .hero-actions {
        display: grid;
        grid-template-columns: 1fr;
      }

      .hero-actions .btn {
        width: 100%;
      }

      .hero-media {
        min-height: auto;
        padding: 0 22px 22px;
      }

      .hero-photo {
        aspect-ratio: 4 / 3;
      }

      .proof-bar {
        width: calc(100% - 40px);
        grid-template-columns: 1fr;
        margin-top: -18px;
      }

      .proof-item {
        min-height: 82px;
        padding: 15px 18px;
      }

      .proof-item + .proof-item,
      .proof-item:nth-child(3) {
        border-top: 1px solid var(--line);
        border-left: 0;
      }

      .section {
        padding: 76px 0;
      }

      .service-card {
        min-height: auto;
        grid-template-columns: 1fr;
        padding: 22px;
      }

      .service-number {
        margin-bottom: 22px;
      }

      .service-visual {
        min-height: 210px;
        grid-row: 1;
      }

      .decision-media {
        min-height: 0;
      }

      .decision-main-img {
        width: calc(100% - 28px);
        height: 400px;
      }

      .decision-sample {
        grid-template-columns: 120px minmax(0, 1fr);
        width: calc(100% - 14px);
        margin: -48px 0 0 auto;
        border-width: 6px;
      }

      .decision-sample img {
        width: 120px;
        height: 118px;
      }

      .decision-sample span {
        padding: 12px 12px 12px 0;
      }

      .decision-sample small {
        margin-top: 4px;
      }

      .geofield-thumbs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .geofield-thumbs img {
        height: 258px;
      }

      .geofield-thumbs button {
        grid-template-rows: 258px auto;
      }

      .insights-grid,
      .process-grid,
      .equipment-grid,
      .field-strip,
      .form-row {
        grid-template-columns: 1fr;
      }

      .process-step {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 15px;
        padding: 0;
      }

      .step-index {
        width: 58px;
        height: 58px;
        grid-row: span 2;
        margin: 0;
      }

      .process-step h3 {
        margin: 3px 0 6px;
      }

      .process-step + .process-step {
        margin-top: 24px;
      }

      .process-callout {
        display: grid;
        padding: 20px;
      }

      .process-callout .btn {
        width: 100%;
      }

      .insight-card {
        min-height: auto;
        grid-template-columns: 46px minmax(0, 1fr);
        gap: 15px;
        padding: 22px 20px;
      }

      .insight-index {
        width: 46px;
        height: 46px;
      }

      .insights-takeaway {
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 18px 20px;
      }

      .geofield-media {
        padding: 8px;
        border-radius: 17px;
      }

      .media-label {
        right: 16px;
        bottom: 16px;
      }

      .equipment-image {
        height: 270px;
      }

      .field-photo {
        height: 230px;
      }

      .nearby-panel {
        padding: 24px 20px;
      }

      .nearby-search-row {
        grid-template-columns: 1fr;
      }

      .parcel-form-grid {
        grid-template-columns: 1fr;
      }

      .parcel-choice-row {
        grid-template-columns: 1fr;
      }

      .nearby-search-row .btn {
        width: 100%;
      }

      .parcel-choice-row .btn {
        width: 100%;
      }

      .nearby-map-shell {
        min-height: 360px;
      }

      .nearby-actions {
        display: grid;
      }

      .nearby-actions .btn {
        width: 100%;
      }

      .reviews-layout {
        grid-template-columns: 1fr;
      }

      .rating-card {
        min-height: auto;
      }

      .rating-card .google-label {
        margin-bottom: 0;
      }

      .rating-value {
        margin-top: 22px;
      }

      .reviews-panel {
        padding: 14px;
      }

      .review-card {
        min-height: 300px;
        padding: 20px;
      }

      .review-stars {
        display: none;
      }

      .faq-list summary {
        padding: 20px 42px 20px 0;
        font-size: 15px;
      }

      .contact {
        padding-top: 12px;
      }

      .contact-shell {
        border-radius: 24px 24px 0 0;
      }

      .contact-grid {
        padding: 58px 0 68px;
      }

      .quote-form {
        padding: 20px;
      }

      .footer-inner {
        display: grid;
        grid-template-columns: 1fr;
        justify-content: stretch;
        gap: 22px;
        padding: 28px 0 84px;
      }

      .footer-brand {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
      }

      .footer-brand img {
        width: 132px;
        max-width: none;
      }

      .footer-links {
        justify-content: flex-start;
        flex-wrap: wrap;
      }

      .mobile-contact-bar {
        position: fixed;
        z-index: 120;
        right: 0;
        bottom: 0;
        left: 0;
        height: 66px;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1px;
        padding: 7px;
        border-top: 1px solid rgba(16, 35, 29, .1);
        background: rgba(251, 250, 246, .96);
        box-shadow: 0 -10px 35px rgba(16, 35, 29, .1);
        backdrop-filter: blur(14px);
      }

      .mobile-contact-bar a {
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        border-radius: 12px;
        font-size: 12px;
        font-weight: 800;
      }

      .mobile-contact-bar a:first-child {
        color: var(--white);
        background: var(--green);
      }

      .mobile-contact-bar a:last-child {
        color: var(--forest);
        background: var(--amber-light);
      }

      .mobile-contact-bar svg {
        width: 17px;
        height: 17px;
        fill: none;
        stroke: currentColor;
        stroke-linecap: round;
        stroke-linejoin: round;
        stroke-width: 2;
      }
    }

    /* Podstrony lokalizacyjne (SEO) */
    .breadcrumb {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      padding: 16px 0 0;
      color: var(--muted);
      font-size: 12px;
    }

    .breadcrumb a {
      color: var(--muted);
      text-decoration: none;
    }

    .breadcrumb a:hover {
      color: var(--green);
    }

    .breadcrumb .crumb-sep {
      color: var(--line);
    }

    .breadcrumb .crumb-current {
      color: var(--ink);
      font-weight: 700;
    }

    .location-hero {
      padding: 46px 0 10px;
    }

    .location-hero h1 {
      margin: 0 0 18px;
      max-width: 820px;
      color: var(--ink);
      font-size: clamp(30px, 4vw, 44px);
      font-weight: 800;
      line-height: 1.14;
    }

    .location-hero-lead {
      max-width: 720px;
      margin: 0 0 28px;
      color: var(--ink-soft);
      font-size: 17px;
      line-height: 1.6;
    }

    .location-hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .area-chips {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin: 22px 0 0;
      padding: 0;
      list-style: none;
    }

    .area-chips li {
      padding: 8px 13px;
      border-radius: 999px;
      color: var(--ink-soft);
      background: var(--sand);
      font-size: 12px;
      font-weight: 700;
    }

    .location-links {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 14px;
    }

    .location-links a {
      display: block;
      padding: 18px 20px;
      border: 1px solid var(--line);
      border-radius: 14px;
      color: var(--ink);
      text-decoration: none;
      font-weight: 800;
      font-size: 14px;
      transition: border-color .2s ease, color .2s ease;
    }

    .location-links a small {
      display: block;
      margin-top: 6px;
      color: var(--muted);
      font-weight: 500;
      font-size: 12.5px;
    }

    .location-links a:hover {
      border-color: var(--green);
      color: var(--green);
    }

    .location-band {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 40px 44px;
      border-radius: 22px;
      background: var(--forest);
      color: var(--white);
    }

    .location-band h2 {
      margin: 0 0 8px;
      color: var(--white);
      font-size: clamp(21px, 2.4vw, 27px);
    }

    .location-band p {
      margin: 0;
      max-width: 520px;
      color: rgba(255, 255, 255, .78);
      font-size: 14px;
    }

    .location-band-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
    }

    .other-towns {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 16px;
    }

    .region-cards {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }

    .region-card {
      padding: 30px;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      background: var(--white);
      box-shadow: 0 1px 0 rgba(255, 255, 255, .8) inset;
    }

    .region-card-icon {
      width: 40px;
      height: 40px;
      display: grid;
      place-items: center;
      margin-bottom: 16px;
      border-radius: 12px;
      color: var(--green);
      background: var(--green-light);
    }

    .region-card-icon svg {
      width: 20px;
      height: 20px;
      fill: none;
      stroke: currentColor;
      stroke-linecap: round;
      stroke-linejoin: round;
      stroke-width: 2;
    }

    .region-card h3 {
      margin: 0 0 16px;
      color: var(--ink);
      font-size: 18px;
      font-weight: 800;
      letter-spacing: -.01em;
    }

    .region-card-towns {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
    }

    .region-card-towns a {
        padding: 7px 12px;
        border-radius: 999px;
        color: var(--ink-soft);
        background: var(--sand);
        font-size: 12px;
        font-weight: 700;
        text-decoration: none;
        transition: background .2s ease, color .2s ease;
      }

    .region-card-towns a:hover {
        color: var(--white);
        background: var(--green);
      }

    @media (max-width: 900px) {
      .region-cards {
        grid-template-columns: 1fr;
      }
    }

    .other-towns a {
      padding: 9px 14px;
      border: 1px solid var(--line);
      border-radius: 999px;
      color: var(--ink-soft);
      text-decoration: none;
      font-size: 12.5px;
      font-weight: 700;
    }

    .other-towns a:hover {
      border-color: var(--green);
      color: var(--green);
    }

    @media (max-width: 900px) {
      .location-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .location-band {
        padding: 32px 26px;
      }
    }

    @media (max-width: 620px) {
      .location-links {
        grid-template-columns: 1fr;
      }

      .location-band {
        flex-direction: column;
        align-items: flex-start;
      }
    }

    .location-map-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.6fr) minmax(200px, .8fr);
      gap: 18px;
      align-items: stretch;
    }

    .location-map-shell {
      position: relative;
      min-height: 420px;
      overflow: hidden;
      border: 1px solid rgba(16, 35, 29, .1);
      border-radius: 22px;
      background: #e5ece6;
      box-shadow: var(--shadow-soft);
    }

    .location-map-shell #locationMap,
    .location-map-shell #regionMap {
      position: absolute;
      z-index: 1;
      inset: 0;
    }

    .region-map-shell {
      min-height: 460px;
      margin-bottom: 28px;
    }

    @media (max-width: 900px) {
      .region-map-shell {
        min-height: 360px;
      }
    }

    .location-map-stats {
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
      align-content: start;
    }

    .location-map-note {
      margin: 18px 0 0;
      color: var(--muted);
      font-size: 13px;
    }

    .location-map-note a {
      color: var(--green);
    }

    @media (max-width: 900px) {
      .location-map-layout {
        grid-template-columns: 1fr;
      }

      .location-map-stats {
        grid-template-columns: repeat(2, 1fr);
      }

      .location-map-shell {
        min-height: 340px;
      }
    }

    @media (max-width: 760px) {
      .equipment-gallery {
        margin-top: 34px;
      }

      .equipment-gallery-heading {
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .equipment-gallery-grid {
        display: flex;
        gap: 12px;
        overflow-x: auto;
        padding: 0 2px 10px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .equipment-gallery-grid::-webkit-scrollbar,
      .rig-build-track::-webkit-scrollbar {
        display: none;
      }

      .equipment-gallery-item,
      .equipment-gallery-main,
      .equipment-gallery-wide {
        flex: 0 0 84%;
        height: 300px;
        scroll-snap-align: start;
      }

      .rig-build-story {
        margin-top: 14px;
        padding: 22px 18px 18px;
        border-radius: 21px;
      }

      .rig-build-heading {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-bottom: 18px;
      }

      .rig-build-track {
        display: flex;
        gap: 11px;
        overflow-x: auto;
        margin-right: -18px;
        padding: 0 18px 8px 0;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }

      .rig-build-card {
        flex: 0 0 78%;
        height: 275px;
        scroll-snap-align: start;
      }

      .equipment-gallery-note {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
      }
    }
