      :root {
        color-scheme: light;
        --ink: #14221f;
        --muted: #66736e;
        --paper: #f5f6f2;
        --primary: #cc0033;
        --secondary: #ef233c;
        --tertiary: #c33149;
        --highlight: #fff0f3;
        --white: #fff;
        --green: #b6ed66;
        --green-light: #638a43;
        --green-dark: #315b35;
        --line: #e2e7df;
        --serif: Georgia, "Times New Roman", serif;
        --sans: "Avenir Next", Avenir, "Segoe UI", sans-serif;
      }

      * { box-sizing: border-box; }
      html { scroll-behavior: smooth; }
      body {
        margin: 0;
        background: var(--paper);
        color: var(--ink);
        font-family: var(--sans);
        -webkit-font-smoothing: antialiased;
      }
      a { color: inherit; }
      a.email { 
        color: var(--green-dark);
        text-decoration: none;
      }
      button { font: inherit; }
      .wrap { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
      .skip-link {
        position: absolute;
        top: -60px;
        left: 16px;
        z-index: 10;
        padding: 12px 16px;
        background: var(--white);
        color: var(--ink);
      }
      .skip-link:focus { top: 12px; }
      .announcement {
        padding: 10px 20px;
        background: var(--ink);
        color: #e7ebe5;
        text-align: center;
        font-size: 12px;
        letter-spacing: .04em;
      }
      .announcement span { color: var(--green); }
      header {
        position: relative;
        z-index: 2;
        border-bottom: 1px solid rgba(20, 34, 31, .08);
      }
      .nav {
        min-height: 82px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
      }
      .brand {
        display: inline-flex;
        align-items: center;
        gap: 11px;
        text-decoration: none;
      }
      .brand-mark {
        width: 96px;
        height: 96px;
        display: grid;
        place-items: center;
        border-radius: 12px;
        background: transparent;
        color: var(--green);
      }
      .brand-mark img { width: 88px; height: 88px; }
      .brand-name { font-size: 15px; font-weight: 750; letter-spacing: -.04em; }
      .brand-name small {
        display: block;
        margin-top: 2px;
        color: var(--muted);
        font-size: 9px;
        font-weight: 650;
        letter-spacing: .15em;
        text-transform: uppercase;
      }
      .nav-links { display: flex; align-items: center; gap: 34px; }
      .nav-links a {
        color: var(--ink);
        font-size: 13px;
        font-weight: 600;
        text-decoration: none;
        transition: color .2s ease;
      }
      .nav-links a:hover { color: var(--green-dark); }
      .nav-links .nav-cta {
        padding: 12px 17px;
        border-radius: 6px;
        background: var(--ink);
        color: var(--white);
      }
      .nav-links .nav-cta:hover { background: var(--green-dark); color: var(--white); }
      .menu-toggle {
        display: none;
        width: 42px;
        height: 42px;
        border: 1px solid var(--line);
        border-radius: 7px;
        background: transparent;
        color: var(--ink);
        cursor: pointer;
      }

      .hero { overflow: hidden; padding: 88px 0 72px; }
      .hero-grid {
        display: grid;
        grid-template-columns: 1.02fr .98fr;
        align-items: center;
        gap: 48px;
      }
      .eyebrow {
        display: inline-flex;
        align-items: center;
        gap: 9px;
        color: var(--tertiary);
        font-size: 11px;
        font-weight: 750;
        letter-spacing: .16em;
        text-transform: uppercase;
      }
      .eyebrow::before {
        width: 20px;
        height: 2px;
        background: var(--secondary);
        content: "";
      }
      h1 {
        max-width: 590px;
        margin: 21px 0 19px;
        font-size: clamp(48px, 6.3vw, 78px);
        font-weight: 600;
        letter-spacing: -.075em;
        line-height: .99;
      }
      h1 em { color: var(--primary); font-family: var(--serif); font-weight: 400; }
      .hero-copy {
        max-width: 485px;
        margin: 0;
        color: var(--muted);
        font-size: 16px;
        line-height: 1.8;
      }
      .hero-actions { display: flex; align-items: center; gap: 24px; margin-top: 31px; }
      .button {
        display: inline-flex;
        min-height: 49px;
        align-items: center;
        justify-content: center;
        gap: 11px;
        padding: 0 19px;
        border: 0;
        border-radius: 6px;
        background: var(--ink);
        color: var(--white);
        font-size: 13px;
        font-weight: 650;
        text-decoration: none;
        transition: transform .2s ease, background .2s ease;
      }
      .button:hover { transform: translateY(-2px); background: var(--green-dark); }
      .button svg { width: 15px; height: 15px; }
      .text-link {
        color: var(--ink);
        font-size: 13px;
        font-weight: 650;
        text-decoration: none;
      }
      .text-link span { padding-left: 5px; color: #668842; }
      .hero-visual {
        position: relative;
        min-height: 430px;
        display: grid;
        place-items: center;
      }
      .orb {
        position: absolute;
        width: min(420px, 90%);
        aspect-ratio: 1;
        border-radius: 50%;
        background:
          radial-gradient(circle at 67% 28%, rgba(255,255,255,.88) 0 2%, transparent 3%),
          radial-gradient(circle at 68% 34%, #d9edb7 0, #b8d995 22%, #71975b 58%, #38573e 100%);
        box-shadow: inset -30px -28px 80px rgba(15, 34, 24, .24), 0 42px 80px rgba(42, 69, 43, .16);
      }
      .orb::before, .orb::after {
        position: absolute;
        inset: 9%;
        border: 1px solid rgba(255, 255, 255, .24);
        border-radius: 50%;
        content: "";
        transform: rotate(-30deg) scaleX(.44);
      }
      .orb::after { transform: rotate(30deg) scaleX(.44); }
      .orbit {
        position: absolute;
        width: min(500px, 105%);
        aspect-ratio: 1;
        border: 1px solid rgba(85, 116, 75, .24);
        border-radius: 50%;
        transform: rotate(-24deg) scaleY(.58);
      }
      .orbit::before {
        position: absolute;
        top: 14%;
        left: 13%;
        width: 13px;
        height: 13px;
        border-radius: 50%;
        background: var(--green);
        box-shadow: 0 0 24px rgba(171, 223, 103, .8);
        content: "";
      }
      .visual-card {
        position: absolute;
        z-index: 1;
        right: 0;
        bottom: 26px;
        width: 220px;
        padding: 17px;
        border: 1px solid rgba(255,255,255,.7);
        border-radius: 11px;
        background: rgba(255,255,255,.87);
        box-shadow: 0 18px 50px rgba(36, 54, 41, .12);
        backdrop-filter: blur(12px);
      }
      .card-top { display: flex; align-items: center; gap: 10px; }
      .status-icon {
        width: 31px;
        height: 31px;
        display: grid;
        place-items: center;
        border-radius: 9px;
        background: var(--highlight);
        color: var(--secondary);
      }
      .status-icon svg { width: 17px; height: 17px; }
      .card-top strong { font-size: 11px; }
      .card-top small { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
      .card-rule { height: 1px; margin: 14px 0 11px; background: var(--line); }
      .card-detail { display: flex; justify-content: space-between; color: var(--muted); font-size: 9px; }
      .card-detail b { color: var(--green-dark); font-weight: 700; }
      .hero-note {
        position: absolute;
        bottom: 57px;
        left: -4px;
        z-index: 1;
        display: flex;
        align-items: center;
        gap: 10px;
        color: var(--white);
        font-size: 10px;
        font-weight: 650;
        letter-spacing: .04em;
      }
      .hero-note span {
        width: 28px;
        height: 2px;
        background: var(--green);
      }

      .proof { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
      .proof-inner {
        min-height: 110px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 28px;
      }
      .proof-label { max-width: 190px; color: var(--muted); font-size: 11px; line-height: 1.6; }
      .proof-item { display: flex; align-items: center; gap: 12px; }
      .proof-item svg { width: 22px; height: 22px; color: var(--secondary); }
      .proof-item strong { display: block; font-size: 12px; }
      .proof-item small { display: block; margin-top: 4px; color: var(--muted); font-size: 10px; }

      section.content-section { padding: 108px 0; }
      .section-heading {
        display: flex;
        align-items: end;
        justify-content: space-between;
        gap: 36px;
        margin-bottom: 43px;
      }
      .section-heading h2, .about-copy h2, .contact-copy h2 {
        margin: 13px 0 0;
        font-size: clamp(34px, 4vw, 51px);
        font-weight: 550;
        letter-spacing: -.065em;
        line-height: 1.06;
      }
      .section-heading p {
        max-width: 380px;
        margin: 0 0 3px;
        color: var(--muted);
        font-size: 14px;
        line-height: 1.75;
      }
      .service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
      .service-card {
        min-height: 240px;
        padding: 25px;
        border: 1px solid var(--line);
        border-radius: 9px;
        background: rgba(255,255,255,.55);
        transition: border-color .2s ease, transform .2s ease, background .2s ease;
      }
      .service-card:hover { transform: translateY(-4px); border-color: #bed59e; background: var(--white); }
      .service-icon {
        width: 40px;
        height: 40px;
        display: grid;
        place-items: center;
        border-radius: 11px;
        background: var(--highlight);
        color: var(--secondary);
      }
      .service-icon svg { width: 20px; height: 20px; }
      .service-card h3 { margin: 21px 0 9px; font-size: 17px; letter-spacing: -.03em; }
      .service-card p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.8; }

      .approach {
        padding: 87px 0;
        background: #e9eee5;
      }
      .approach-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; }
      .approach-intro h2 {
        max-width: 430px;
        margin: 16px 0 15px;
        font-size: clamp(35px, 4vw, 49px);
        font-weight: 550;
        letter-spacing: -.065em;
        line-height: 1.08;
      }
      .approach-intro p { max-width: 385px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
      .steps { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 27px; }
      .step { padding-top: 16px; border-top: 1px solid #cfd8ca; }
      .step-number { color: var(--tertiary); font-family: var(--serif); font-size: 15px; font-style: italic; }
      .step h3 { margin: 11px 0 8px; font-size: 15px; }
      .step p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.75; }

      .about-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 90px; }
      .about-art {
        position: relative;
        min-height: 365px;
        overflow: hidden;
        border-radius: 10px;
        background: #263d31;
      }
      .about-art::before {
        position: absolute;
        top: -21%;
        left: 17%;
        width: 66%;
        aspect-ratio: 1;
        border: 1px solid rgba(211, 237, 178, .35);
        border-radius: 50%;
        box-shadow: 0 0 0 33px rgba(211, 237, 178, .035), 0 0 0 66px rgba(211, 237, 178, .035);
        content: "";
      }
      .about-art::after {
        position: absolute;
        right: -12%;
        bottom: -45%;
        width: 80%;
        aspect-ratio: 1;
        border-radius: 50%;
        background: radial-gradient(circle at 35% 28%, #c1e59b, #72915b 52%, #324638 72%);
        content: "";
      }
      .art-caption {
        position: absolute;
        top: 35px;
        left: 35px;
        z-index: 1;
        max-width: 205px;
        color: #e5eddf;
        font-family: var(--serif);
        font-size: 26px;
        line-height: 1.2;
      }
      .art-caption em { color: var(--green); }
      .about-copy h2 { max-width: 470px; margin-bottom: 17px; }
      .about-copy > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
      .values { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 29px; }
      .value { padding-top: 15px; border-top: 1px solid var(--line); }
      .value strong { font-size: 12px; }
      .value p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.7; }

      .contact { padding: 0 0 94px; }
      .contact-panel {
        position: relative;
        overflow: hidden;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 40px;
        padding: 52px 58px;
        border-radius: 11px;
        background: var(--ink);
        color: var(--white);
      }
      .contact-panel::after {
        position: absolute;
        top: -160px;
        right: 160px;
        width: 360px;
        aspect-ratio: 1;
        border: 1px solid rgba(200, 231, 166, .16);
        border-radius: 50%;
        box-shadow: 0 0 0 35px rgba(200, 231, 166, .035), 0 0 0 70px rgba(200, 231, 166, .035);
        content: "";
        pointer-events: none;
      }
      .contact-copy, .contact-action { position: relative; z-index: 1; }
      .contact-copy .eyebrow { color: var(--tertiary); }
      .contact-copy h2 { max-width: 540px; margin-top: 12px; }
      .contact-copy p { max-width: 480px; margin: 14px 0 0; color: #b6c0b8; font-size: 12px; line-height: 1.7; }
      .contact-details { margin-top: 24px; }
      .contact-details h3 { margin: 0 0 10px; font-size: 14px; }
      .contact-details p { margin: 7px 0 0; color: #b6c0b8; font-size: 12px; line-height: 1.7; }
      .contact-details a { color: var(--white); text-underline-offset: 3px; }
      .contact-details a:hover { color: var(--green); }
      .contact-action .button { background: var(--tertiary); color: var(--white); white-space: nowrap; }
      .contact-action .button:hover { background: var(--secondary); }
      footer { border-top: 1px solid var(--line); }
      .footer-inner {
        min-height: 86px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
      }
      .footer-inner p, .footer-links a { color: var(--muted); font-size: 10px; }
      .footer-links { display: flex; gap: 22px; }
      .footer-links a { text-decoration: none; }
      .footer-links a:hover { color: var(--ink); }

      :focus-visible { outline: 3px solid #78a94f; outline-offset: 4px; }
      @media (max-width: 800px) {
        .wrap { width: min(100% - 40px, 600px); }
        .nav { min-height: 72px; }
        .menu-toggle { display: grid; place-items: center; }
        .nav-links {
          position: absolute;
          top: calc(100% - 1px);
          right: 0;
          left: 0;
          display: none;
          align-items: stretch;
          gap: 0;
          padding: 10px 20px 20px;
          border-bottom: 1px solid var(--line);
          background: var(--paper);
        }
        .nav-links.open { display: flex; flex-direction: column; }
        .nav-links a { padding: 13px 0; }
        .nav-links .nav-cta { margin-top: 7px; padding: 13px 15px; text-align: center; }
        .hero { padding: 64px 0 48px; }
        .hero-grid { grid-template-columns: 1fr; gap: 10px; }
        .hero-visual { min-height: 390px; }
        .orb { width: min(360px, 80%); }
        .orbit { width: min(430px, 100%); }
        .visual-card { right: 2%; bottom: 12px; }
        .hero-note { left: 2%; bottom: 48px; }
        .proof-inner { flex-wrap: wrap; justify-content: flex-start; padding: 25px 0; gap: 23px 35px; }
        .proof-label { width: 100%; max-width: none; }
        section.content-section { padding: 78px 0; }
        .section-heading { align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 30px; }
        .service-grid { grid-template-columns: repeat(2, 1fr); }
        .approach { padding: 72px 0; }
        .approach-grid { grid-template-columns: 1fr; gap: 37px; }
        .about-grid { gap: 45px; }
        .about-art { min-height: 320px; }
      }
      @media (max-width: 540px) {
        .wrap { width: calc(100% - 36px); }
        .announcement { font-size: 10px; }
        .hero { padding-top: 51px; }
        h1 { max-width: 450px; font-size: clamp(46px, 13vw, 65px); }
        .hero-copy { font-size: 14px; }
        .hero-actions { align-items: flex-start; flex-direction: column; gap: 17px; }
        .hero-visual { min-height: 320px; margin-top: 7px; }
        .orb { width: min(290px, 78%); }
        .orbit { width: min(350px, 100%); }
        .visual-card { right: -3px; bottom: 0; width: 190px; }
        .hero-note { bottom: 34px; left: 0; }
        .proof-inner { gap: 20px 17px; }
        .proof-item { min-width: calc(50% - 10px); gap: 8px; }
        .proof-item svg { width: 19px; }
        section.content-section { padding: 66px 0; }
        .service-grid { grid-template-columns: 1fr; gap: 11px; }
        .service-card { min-height: 0; padding: 21px; }
        .service-card h3 { margin-top: 16px; }
        .steps { gap: 25px 16px; }
        .about-grid { grid-template-columns: 1fr; gap: 32px; }
        .about-art { min-height: 290px; }
        .contact { padding-bottom: 65px; }
        .contact-panel { align-items: flex-start; flex-direction: column; padding: 35px 25px; gap: 25px; }
        .contact-panel::after { right: -140px; }
        .footer-inner { align-items: flex-start; flex-direction: column; justify-content: center; padding: 19px 0; gap: 9px; }
        .footer-inner p { margin: 0; }
      }
      @media (prefers-reduced-motion: reduce) {
        html { scroll-behavior: auto; }
        *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
      }
