    :root {
      --paper: #fbfaf4;
      --cream: #f4f1e8;
      --sage: #dce6cf;
      --leaf: #477b2c;
      --leaf-soft: #9eaf33;
      --berry: #8b1738;
      --ink: #151a12;
      --muted: #5d6658;
      --line: #ddd8c9;
      --shadow: 0 24px 70px rgba(36, 48, 37, .12);
      color-scheme: light;
      font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }

    * {
      box-sizing: border-box;
    }

    html {
      scroll-behavior: smooth;
    }

    body {
      margin: 0;
      background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='460' height='330' viewBox='0 0 460 330'%3E%3Cdefs%3E%3Cg id='m' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 18c-24-20-24-46 0-58 24 12 24 38 0 58Z'/%3E%3Cpath d='M0 18c-38-4-58-27-48-52 28-4 49 13 48 52Z'/%3E%3Cpath d='M0 18c38-4 58-27 48-52-28-4-49 13-48 52Z'/%3E%3Cpath d='M0 18c-34 12-61 2-68-24 28-13 55-3 68 24Z'/%3E%3Cpath d='M0 18c34 12 61 2 68-24-28-13-55-3-68 24Z'/%3E%3Cpath d='M-72 0c24 38 120 38 144 0'/%3E%3C/g%3E%3C/defs%3E%3Cg stroke-width='1.45'%3E%3Cg stroke='%23477b2c' stroke-opacity='.16' transform='translate(88 92) rotate(-22) scale(.78)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%238b1738' stroke-opacity='.10' transform='translate(328 76) rotate(24) scale(.52)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%23477b2c' stroke-opacity='.12' transform='translate(330 248) rotate(-34) scale(.68)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%238b1738' stroke-opacity='.08' transform='translate(108 260) rotate(31) scale(.46)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%239eaf33' stroke-opacity='.12' transform='translate(218 158) rotate(-7) scale(.58)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%23477b2c' stroke-opacity='.09' transform='translate(438 182) rotate(18) scale(.42)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3Cg stroke='%238b1738' stroke-opacity='.07' transform='translate(20 178) rotate(-28) scale(.40)'%3E%3Cuse href='%23m'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"),
        radial-gradient(ellipse at 14% 20%, rgba(71, 123, 44, .13) 0 2px, transparent 3px 32px),
        radial-gradient(ellipse at 86% 68%, rgba(139, 23, 56, .075) 0 2px, transparent 3px 38px),
        linear-gradient(135deg, rgba(71, 123, 44, .065) 0 1px, transparent 1px 28px),
        linear-gradient(45deg, rgba(139, 23, 56, .045) 0 1px, transparent 1px 42px),
        radial-gradient(circle at 10% 5%, rgba(158, 175, 51, .20), transparent 34rem),
        radial-gradient(circle at 92% 42%, rgba(139, 23, 56, .10), transparent 27rem),
        var(--cream);
      background-size: 460px 330px, auto, auto, auto, auto, auto, auto, auto;
      background-position: 10px 88px, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0;
      background-attachment: fixed;
      color: var(--ink);
      line-height: 1.55;
    }

    a {
      color: var(--berry);
      text-decoration-thickness: .08em;
      text-underline-offset: .18em;
    }

    .wrap {
      width: min(1120px, calc(100% - 36px));
      margin: 0 auto;
    }

    header {
      padding: 20px 0;
      position: sticky;
      top: 0;
      z-index: 4;
      background: rgba(244, 241, 232, .92);
      backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(221, 216, 201, .72);
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 14px;
      color: var(--ink);
      text-decoration: none;
      font-weight: 700;
      letter-spacing: -.02em;
    }

    .logo-sheen {
      position: relative;
      overflow: hidden;
    }

    .logo-sheen {
      display: inline-flex;
      width: 78px;
      border-radius: 18px;
      flex: 0 0 auto;
    }

    .logo-sheen::after {
      content: "";
      position: absolute;
      inset: -35% -70%;
      background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .18) 45%, rgba(255, 255, 255, .82) 50%, rgba(255, 255, 255, .22) 55%, transparent 63%);
      transform: translateX(-72%) rotate(8deg);
      animation: logo-shimmer 14.4s ease-in-out infinite;
      pointer-events: none;
      mix-blend-mode: screen;
      z-index: 1;
    }

    .brand img {
      width: 74px;
      height: auto;
      display: block;
      mix-blend-mode: multiply;
    }

    @keyframes logo-shimmer {
      0%, 58% {
        transform: translateX(-72%) rotate(8deg);
      }
      78%, 100% {
        transform: translateX(72%) rotate(8deg);
      }
    }

    @keyframes image-shimmer-once {
      0% {
        opacity: 0;
        transform: translateX(-82%) rotate(8deg);
      }
      16% {
        opacity: 1;
      }
      72%, 100% {
        opacity: 0;
        transform: translateX(82%) rotate(8deg);
      }
    }

    @keyframes heart-float-left {
      0% {
        opacity: 0;
        transform: translate(-12px, 10px) scale(.72) rotate(-8deg);
      }
      18% {
        opacity: .95;
      }
      100% {
        opacity: 0;
        transform: translate(-38px, -82px) scale(1.18) rotate(-18deg);
      }
    }

    @keyframes heart-float-right {
      0% {
        opacity: 0;
        transform: translate(12px, 12px) scale(.68) rotate(8deg);
      }
      22% {
        opacity: .88;
      }
      100% {
        opacity: 0;
        transform: translate(42px, -88px) scale(1.12) rotate(16deg);
      }
    }

    @media (prefers-reduced-motion: reduce) {
      .logo-sheen::after,
      .image-lightbox-frame.shimmer-once .image-shimmer-overlay {
        animation: none;
        opacity: 0;
      }

      .winston-photo::before,
      .winston-photo::after,
      .winston-photo .bone {
        animation: none;
        opacity: 0;
      }

      .winston-photo:hover img {
        transform: none;
      }
    }

    nav {
      display: flex;
      align-items: center;
      gap: 18px;
      font-size: 15px;
      color: var(--muted);
    }

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

    nav a:hover {
      color: var(--berry);
    }

    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 44px;
      padding: 0 18px;
      border-radius: 999px;
      background: #b8d46f;
      color: #1d2d14;
      text-decoration: none;
      font-weight: 700;
      box-shadow: 0 14px 30px rgba(71, 123, 44, .22);
    }

    .button.secondary {
      background: white;
      color: var(--berry);
      box-shadow: inset 0 0 0 1px var(--line);
    }

    .hero {
      padding: 78px 0 48px;
    }

    .hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
      gap: 46px;
      align-items: center;
    }

    h1 {
      margin: 0;
      font-size: clamp(48px, 7vw, 86px);
      line-height: .95;
      letter-spacing: -.065em;
      max-width: 790px;
    }

    .lead {
      margin: 24px 0 0;
      max-width: 700px;
      color: var(--muted);
      font-size: clamp(19px, 2.2vw, 25px);
      line-height: 1.35;
    }

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

    .hero-card {
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 34px;
      padding: 18px;
      box-shadow: var(--shadow);
      transform: rotate(1.2deg);
      position: relative;
      overflow: hidden;
    }

    .hero-card-wrap {
      position: relative;
    }

    .card-click-cue {
      display: block;
      width: fit-content;
      margin: 10px auto 0;
      color: rgba(93, 102, 88, .58);
      font-size: 13px;
      font-style: italic;
      letter-spacing: .04em;
      line-height: 1;
      pointer-events: none;
      transform: rotate(1.2deg);
      user-select: none;
    }

    .hero-card img {
      display: block;
      width: 100%;
      border-radius: 22px;
      height: auto;
    }

    .about-grid {
      display: grid;
      grid-template-columns: minmax(240px, 360px) minmax(0, 1fr);
      gap: 20px;
      align-items: stretch;
    }

    .portrait-card {
      margin: 0;
      padding: 14px;
      background: rgba(251, 250, 244, .9);
      border: 1px solid var(--line);
      border-radius: 28px;
      box-shadow: 0 16px 50px rgba(36, 48, 37, .08);
    }

    .portrait-card img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 20px;
    }

    .portrait-card figcaption {
      margin: 12px 4px 2px;
      color: var(--muted);
      font-size: 14px;
    }

    .location-photo {
      margin: 18px 0 0;
      padding: 12px;
      background: rgba(255, 255, 255, .56);
      border: 1px solid rgba(221, 216, 201, .82);
      border-radius: 22px;
    }

    .location-photo img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 16px;
    }

    .location-photo figcaption {
      margin: 10px 4px 0;
      color: var(--muted);
      font-size: 14px;
    }

    .map-card {
      margin: 20px 0 0;
      padding: 12px;
      background: rgba(255, 255, 255, .56);
      border: 1px solid rgba(221, 216, 201, .82);
      border-radius: 22px;
    }

    .map-wide {
      grid-column: 1 / -1;
    }

    .map-button {
      display: block;
      width: 100%;
      padding: 0;
      border: 0;
      background: transparent;
      cursor: zoom-in;
      text-align: left;
    }

    .map-card img,
    .media-panel img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 16px;
    }

    .map-card figcaption {
      margin: 10px 4px 0;
      color: var(--muted);
      font-size: 14px;
    }

    .image-row {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
      margin-top: 20px;
    }

    .garden-gallery {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 18px;
      align-items: stretch;
    }

    .garden-gallery .location-photo:first-child {
      margin-top: 0;
    }

    .garden-gallery .location-photo {
      margin-top: 0;
      height: 100%;
    }

    .media-panel {
      overflow: hidden;
    }

    .media-panel img {
      margin-bottom: 16px;
    }

    .image-lightbox-frame {
      position: relative;
      overflow: hidden;
      cursor: zoom-in;
    }

    .image-lightbox-frame img {
      cursor: zoom-in;
    }

    .image-shimmer-overlay {
      position: absolute;
      inset: -30% -72%;
      z-index: 4;
      pointer-events: none;
      background: linear-gradient(115deg, transparent 38%, rgba(255, 255, 255, .14) 45%, rgba(255, 255, 255, .86) 50%, rgba(255, 255, 255, .20) 55%, transparent 63%);
      mix-blend-mode: screen;
      opacity: 0;
      transform: translateX(-82%) rotate(8deg);
    }

    .image-lightbox-frame.shimmer-once .image-shimmer-overlay {
      animation: image-shimmer-once 2.76s ease-out both;
    }

    .lightbox {
      position: fixed;
      inset: 0;
      z-index: 20;
      display: grid;
      place-items: center;
      padding: 24px;
      background: rgba(21, 26, 18, .78);
    }

    .lightbox[hidden] {
      display: none;
    }

    .lightbox-panel {
      position: relative;
      max-width: min(1600px, calc(100vw - 32px));
      max-height: calc(100vh - 48px);
    }

    .lightbox-panel img {
      display: block;
      width: auto;
      max-width: 100%;
      height: auto;
      max-height: calc(100vh - 84px);
      object-fit: contain;
      border-radius: 18px;
      box-shadow: 0 30px 90px rgba(0, 0, 0, .34);
    }

    .lightbox-caption {
      margin: 12px 4px 0;
      color: rgba(255, 255, 255, .88);
      font-size: 14px;
      line-height: 1.45;
      text-align: center;
    }

    .lightbox-close {
      position: absolute;
      right: 10px;
      top: 10px;
      width: 42px;
      height: 42px;
      border: 0;
      border-radius: 999px;
      background: rgba(255, 255, 255, .92);
      color: var(--ink);
      cursor: pointer;
      font-size: 26px;
      line-height: 1;
      box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
    }

    body.modal-open {
      overflow: hidden;
    }

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

    .quick {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin-top: 34px;
    }

    .quick div,
    .panel,
    .contact-card {
      background: rgba(251, 250, 244, .88);
      border: 1px solid var(--line);
      border-radius: 26px;
      box-shadow: 0 16px 50px rgba(36, 48, 37, .08);
    }

    .quick div {
      padding: 18px;
    }

    .quick strong {
      display: block;
      font-size: 18px;
      margin-bottom: 4px;
    }

    .quick span {
      color: var(--muted);
      font-size: 14px;
    }

    section {
      padding: 54px 0;
    }

    .section-head {
      max-width: 760px;
      margin-bottom: 24px;
    }

    h2 {
      margin: 0;
      font-size: clamp(32px, 4vw, 52px);
      line-height: 1.02;
      letter-spacing: -.045em;
    }

    .section-head p {
      margin: 14px 0 0;
      color: var(--muted);
      font-size: 18px;
    }

    .grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }

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

    .panel {
      padding: 24px;
    }

    .panel h3 {
      margin: 0 0 10px;
      font-size: 22px;
      line-height: 1.12;
      letter-spacing: -.025em;
    }

    .panel p {
      margin: 0;
      color: var(--muted);
    }

    .list {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 18px;
    }

    .pill {
      padding: 9px 12px;
      border-radius: 999px;
      background: white;
      border: 1px solid var(--line);
      color: #354032;
      font-size: 14px;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: 1.2fr .8fr;
      gap: 20px;
      align-items: stretch;
    }

    .contact-card {
      padding: 28px;
    }

    .contact-card dl {
      margin: 0;
      display: grid;
      gap: 16px;
    }

    .contact-card dt {
      margin: 0 0 3px;
      color: var(--muted);
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: .08em;
      font-weight: 700;
    }

    .contact-card dd {
      margin: 0;
      font-size: 18px;
      font-weight: 650;
    }

    .hours {
      display: grid;
      gap: 8px;
      margin-top: 4px;
    }

    .hours div {
      display: flex;
      justify-content: space-between;
      gap: 20px;
      padding-bottom: 8px;
      border-bottom: 1px solid rgba(221, 216, 201, .74);
    }

    .note {
      margin-top: 16px;
      padding: 16px;
      background: rgba(220, 230, 207, .55);
      border-radius: 18px;
      color: #34412f;
      font-size: 15px;
    }

    .brochure-stack {
      display: grid;
      gap: 28px;
      padding: 48px 0 64px;
    }

    .brochure-card {
      background: rgba(251, 250, 244, .92);
      border: 1px solid var(--line);
      border-radius: 32px;
      box-shadow: var(--shadow);
      padding: clamp(24px, 4vw, 42px);
      overflow: hidden;
    }

    .brochure-card.tooltip-card {
      overflow: visible;
      position: relative;
      z-index: 2;
    }

    .brochure-card.tooltip-card:hover,
    .brochure-card.tooltip-card:focus-within {
      z-index: 10;
    }

    .brochure-card.feature {
      background:
        linear-gradient(135deg, rgba(220, 232, 200, .62), rgba(251, 250, 244, .92) 42%),
        var(--paper);
    }

    .brochure-eyebrow {
      margin: 0 0 8px;
      color: var(--berry);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: .14em;
      text-transform: uppercase;
    }

    .brochure-card h2,
    .brochure-card h3 {
      margin: 0;
    }

    .brochure-card h2 {
      font-size: clamp(32px, 4.8vw, 58px);
    }

    .brochure-card h3 {
      font-size: clamp(24px, 3vw, 34px);
      line-height: 1.04;
      letter-spacing: -.035em;
    }

    .brochure-card p {
      margin: 16px 0 0;
      color: var(--muted);
      font-size: 17px;
    }

    .brochure-layout {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
      gap: 28px;
      align-items: center;
    }

    .brochure-layout.reverse {
      grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
    }

    .detail-grid {
      display: block;
      margin-top: 22px;
    }

    .detail {
      padding: 0;
      background: transparent;
      border: 0;
      border-radius: 0;
    }

    .detail span {
      display: block;
      margin: 14px 0 1px;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0;
      text-transform: none;
    }

    .detail strong {
      display: block;
      color: var(--ink);
      font-size: 14px;
      line-height: 1.35;
    }

    .brochure-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 8px 24px;
      margin: 20px 0 0;
      padding-left: 20px;
      color: var(--muted);
    }

    .brochure-list li {
      margin: 0;
      padding-left: 2px;
    }

    .stacked-list {
      grid-template-columns: 1fr;
    }

    .compact-list {
      gap: 6px;
      margin-top: 16px;
    }

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

    .referrer-panel {
      padding: 22px;
      border: 1px solid rgba(221, 216, 201, .82);
      border-radius: 24px;
      background: rgba(255, 255, 255, .52);
    }

    .referrer-panel h3 {
      font-size: clamp(22px, 2.8vw, 30px);
    }

    .faq-list {
      display: grid;
      gap: 10px;
      margin-top: 24px;
    }

    .faq-list details {
      border: 1px solid rgba(221, 216, 201, .82);
      border-radius: 18px;
      background: rgba(255, 255, 255, .50);
      padding: 0 18px;
    }

    .faq-list summary {
      cursor: pointer;
      padding: 16px 0;
      color: var(--ink);
      font-weight: 750;
    }

    .faq-list details[open] summary {
      color: var(--berry);
    }

    .faq-list p {
      margin: 0 0 16px;
    }

    .final-cta {
      background:
        linear-gradient(135deg, rgba(184, 212, 111, .30), rgba(251, 250, 244, .94) 52%),
        var(--paper);
    }

    .print-sheet {
      max-width: 840px;
    }

    .print-sheet h1 {
      font-size: clamp(42px, 6vw, 70px);
    }

    .print-sheet .detail-grid {
      margin-top: 28px;
    }

    .tooltip-list {
      overflow: visible;
    }

    .tooltip-item {
      cursor: help;
      position: relative;
      outline: none;
      --tip-bg: #d8edaa;
      --tip-border: rgba(71, 123, 44, .22);
      --tip-shadow: rgba(71, 123, 44, .18);
      --tip-text: #1d2d14;
      --tip-dot: rgba(139, 23, 56, .55);
    }

    .tooltip-item span {
      border-bottom: 1px dotted var(--tip-dot);
    }

    .tooltip-item::after {
      content: attr(data-tooltip);
      position: absolute;
      left: 0;
      bottom: calc(100% + 10px);
      z-index: 6;
      width: min(330px, 82vw);
      padding: 14px 16px;
      border: 1px solid var(--tip-border);
      border-radius: 16px;
      background: var(--tip-bg);
      box-shadow: 0 18px 38px var(--tip-shadow);
      color: var(--tip-text);
      font-size: 14px;
      line-height: 1.42;
      opacity: 0;
      pointer-events: none;
      transform: translateY(6px);
      transition: opacity .16s ease, transform .16s ease;
      white-space: normal;
    }

    .tooltip-item::before {
      content: "";
      position: absolute;
      left: 22px;
      bottom: calc(100% + 3px);
      z-index: 7;
      width: 12px;
      height: 12px;
      border-right: 1px solid var(--tip-border);
      border-bottom: 1px solid var(--tip-border);
      background: var(--tip-bg);
      opacity: 0;
      pointer-events: none;
      transform: rotate(45deg) translateY(6px);
      transition: opacity .16s ease, transform .16s ease;
    }

    .tooltip-item:hover::after,
    .tooltip-item:focus-visible::after,
    .tooltip-item:hover::before,
    .tooltip-item:focus-visible::before {
      opacity: 1;
      transform: translateY(0);
    }

    .tooltip-item:hover::before,
    .tooltip-item:focus-visible::before {
      transform: rotate(45deg) translateY(0);
    }

    .purple-tooltips .tooltip-item {
      --tip-bg: #eadcf8;
      --tip-border: rgba(114, 75, 153, .22);
      --tip-shadow: rgba(114, 75, 153, .16);
      --tip-text: #2c1d3a;
    }

    .blue-tooltips .tooltip-item {
      --tip-bg: #dceefa;
      --tip-border: rgba(55, 120, 170, .24);
      --tip-shadow: rgba(55, 120, 170, .15);
      --tip-text: #173247;
    }

    .tooltip-list .tooltip-item:nth-child(7n+1) {
      --tip-bg: #d8edaa;
      --tip-border: rgba(71, 123, 44, .22);
      --tip-shadow: rgba(71, 123, 44, .16);
      --tip-text: #1d2d14;
    }

    .tooltip-list .tooltip-item:nth-child(7n+2) {
      --tip-bg: #dceefa;
      --tip-border: rgba(55, 120, 170, .24);
      --tip-shadow: rgba(55, 120, 170, .15);
      --tip-text: #173247;
    }

    .tooltip-list .tooltip-item:nth-child(7n+3) {
      --tip-bg: #eadcf8;
      --tip-border: rgba(114, 75, 153, .22);
      --tip-shadow: rgba(114, 75, 153, .15);
      --tip-text: #2c1d3a;
    }

    .tooltip-list .tooltip-item:nth-child(7n+4) {
      --tip-bg: #f7e1e6;
      --tip-border: rgba(164, 77, 104, .22);
      --tip-shadow: rgba(164, 77, 104, .14);
      --tip-text: #3f1f2b;
    }

    .tooltip-list .tooltip-item:nth-child(7n+5) {
      --tip-bg: #f5ead4;
      --tip-border: rgba(153, 112, 54, .22);
      --tip-shadow: rgba(153, 112, 54, .14);
      --tip-text: #3d2c12;
    }

    .tooltip-list .tooltip-item:nth-child(7n+6) {
      --tip-bg: #cfe8dc;
      --tip-border: rgba(54, 132, 97, .22);
      --tip-shadow: rgba(54, 132, 97, .14);
      --tip-text: #173328;
    }

    .tooltip-list .tooltip-item:nth-child(7n) {
      --tip-bg: #e1f1fb;
      --tip-border: rgba(64, 136, 168, .22);
      --tip-shadow: rgba(64, 136, 168, .14);
      --tip-text: #173247;
    }

    .inline-tooltip {
      border-bottom: 1px dotted var(--tip-dot);
      cursor: help;
      display: inline-block;
      position: relative;
      outline: none;
      --tip-bg: #f8dede;
      --tip-border: rgba(173, 68, 68, .24);
      --tip-shadow: rgba(173, 68, 68, .15);
      --tip-text: #431b1b;
      --tip-dot: rgba(139, 23, 56, .55);
    }

    .inline-tooltip::after {
      content: attr(data-tooltip);
      position: absolute;
      left: 0;
      bottom: calc(100% + 10px);
      z-index: 8;
      width: min(330px, 82vw);
      padding: 14px 16px;
      border: 1px solid var(--tip-border);
      border-radius: 16px;
      background: var(--tip-bg);
      box-shadow: 0 18px 38px var(--tip-shadow);
      color: var(--tip-text);
      font-size: 14px;
      line-height: 1.42;
      opacity: 0;
      pointer-events: none;
      transform: translateY(6px);
      transition: opacity .16s ease, transform .16s ease;
      white-space: normal;
    }

    .inline-tooltip::before {
      content: "";
      position: absolute;
      left: 22px;
      bottom: calc(100% + 3px);
      z-index: 9;
      width: 12px;
      height: 12px;
      border-right: 1px solid var(--tip-border);
      border-bottom: 1px solid var(--tip-border);
      background: var(--tip-bg);
      opacity: 0;
      pointer-events: none;
      transform: rotate(45deg) translateY(6px);
      transition: opacity .16s ease, transform .16s ease;
    }

    .inline-tooltip:hover::after,
    .inline-tooltip:focus-visible::after,
    .inline-tooltip:hover::before,
    .inline-tooltip:focus-visible::before {
      opacity: 1;
      transform: translateY(0);
    }

    .inline-tooltip:hover::before,
    .inline-tooltip:focus-visible::before {
      transform: rotate(45deg) translateY(0);
    }

    .inline-tooltip:nth-of-type(5n+1) {
      --tip-bg: #f8dede;
      --tip-border: rgba(173, 68, 68, .24);
      --tip-shadow: rgba(173, 68, 68, .15);
      --tip-text: #431b1b;
    }

    .inline-tooltip:nth-of-type(5n+2) {
      --tip-bg: #f7e5d4;
      --tip-border: rgba(153, 102, 59, .22);
      --tip-shadow: rgba(153, 102, 59, .13);
      --tip-text: #422a16;
    }

    .inline-tooltip:nth-of-type(5n+3) {
      --tip-bg: #efe3fb;
      --tip-border: rgba(124, 83, 156, .22);
      --tip-shadow: rgba(124, 83, 156, .14);
      --tip-text: #2c1d3a;
    }

    .inline-tooltip:nth-of-type(5n+4) {
      --tip-bg: #d8ecf2;
      --tip-border: rgba(66, 132, 151, .22);
      --tip-shadow: rgba(66, 132, 151, .14);
      --tip-text: #173247;
    }

    .inline-tooltip:nth-of-type(5n) {
      --tip-bg: #f6f0d7;
      --tip-border: rgba(144, 121, 54, .22);
      --tip-shadow: rgba(144, 121, 54, .13);
      --tip-text: #3d2c12;
    }

    .photo-strip {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 18px;
      margin-top: 24px;
    }

    .photo-strip figure {
      margin: 0;
    }

    .photo-strip figcaption {
      margin: 10px 2px 0;
      color: var(--muted);
      font-size: 14px;
    }

    .photo-strip img,
    .card-photo {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 20px;
      border: 1px solid rgba(221, 216, 201, .82);
    }

    .card-photo.soft {
      padding: 12px;
      background: rgba(255, 255, 255, .64);
    }

    .two-column-card {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
      align-items: start;
    }

    .paired-cards {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 28px;
      align-items: stretch;
    }

    .paired-cards .brochure-card {
      box-shadow: none;
      height: 100%;
    }

    .winston-photo {
      width: min(100%, 360px);
      max-width: 360px;
      margin: 18px auto 0;
      position: relative;
      isolation: isolate;
    }

    .winston-photo img {
      height: auto;
      object-fit: contain;
      transition: transform .35s ease, box-shadow .35s ease;
    }

    .winston-photo:hover img {
      transform: translateY(-2px) scale(1.015);
      box-shadow: 0 18px 42px rgba(139, 23, 56, .12);
    }

    .winston-photo::before,
    .winston-photo::after {
      position: absolute;
      z-index: 2;
      top: 50%;
      left: 50%;
      pointer-events: none;
      color: #b93f5b;
      font-size: 28px;
      line-height: 1;
      filter: drop-shadow(0 3px 10px rgba(139, 23, 56, .22));
      opacity: 0;
    }

    .winston-photo::before {
      content: "♥";
      text-shadow:
        -158px -162px 0 rgba(217, 111, 130, .50),
        -96px -202px 0 rgba(185, 63, 91, .38),
        -32px -190px 0 rgba(217, 111, 130, .60),
        54px -204px 0 rgba(185, 63, 91, .44),
        132px -164px 0 rgba(217, 111, 130, .56),
        -178px -72px 0 rgba(185, 63, 91, .54),
        174px -62px 0 rgba(217, 111, 130, .58),
        -164px 30px 0 rgba(217, 111, 130, .46),
        158px 42px 0 rgba(185, 63, 91, .48),
        -104px 118px 0 rgba(185, 63, 91, .42),
        -22px 142px 0 rgba(217, 111, 130, .54),
        92px 120px 0 rgba(217, 111, 130, .46);
    }

    .winston-photo::after {
      content: "♥";
      color: #d96f82;
      font-size: 21px;
      text-shadow:
        -126px -118px 0 rgba(185, 63, 91, .42),
        -62px -148px 0 rgba(217, 111, 130, .48),
        22px -138px 0 rgba(185, 63, 91, .40),
        104px -112px 0 rgba(217, 111, 130, .52),
        -148px -22px 0 rgba(217, 111, 130, .48),
        142px -10px 0 rgba(185, 63, 91, .46),
        -130px 72px 0 rgba(185, 63, 91, .36),
        124px 82px 0 rgba(217, 111, 130, .48),
        -56px 100px 0 rgba(217, 111, 130, .38),
        42px 104px 0 rgba(185, 63, 91, .42);
    }

    .winston-photo:hover::before {
      animation: heart-float-left 1.75s ease-out infinite;
    }

    .winston-photo:hover::after {
      animation: heart-float-right 1.95s .18s ease-out infinite;
    }

    .winston-photo .bone,
    .winston-photo .bone::before,
    .winston-photo .bone::after {
      position: absolute;
      pointer-events: none;
    }

    .winston-photo .bone {
      z-index: 3;
      left: 50%;
      top: 50%;
      width: 28px;
      height: 9px;
      border-radius: 999px;
      background: #f7ead2;
      border: 1px solid rgba(139, 105, 72, .28);
      opacity: 0;
      transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)) scale(.72);
      filter: drop-shadow(0 3px 8px rgba(88, 64, 38, .18));
    }

    .winston-photo .bone::before,
    .winston-photo .bone::after {
      content: "";
      top: 50%;
      width: 10px;
      height: 10px;
      border-radius: 999px;
      background: #f7ead2;
      transform: translateY(-50%);
      box-shadow:
        0 -5px 0 #fff5dc,
        0 5px 0 #f1ddb9,
        0 0 0 1px rgba(139, 105, 72, .16),
        0 -5px 0 1px rgba(139, 105, 72, .08),
        0 5px 0 1px rgba(139, 105, 72, .08);
    }

    .winston-photo .bone::before {
      left: -5px;
    }

    .winston-photo .bone::after {
      right: -5px;
    }

    .winston-photo:hover .bone {
      animation: bone-float 2.05s .08s ease-out infinite;
    }

    .winston-photo .bone:nth-of-type(1) { --x: -142px; --y: -136px; --r: -18deg; --delay: 0s; }
    .winston-photo .bone:nth-of-type(2) { --x: -52px; --y: -172px; --r: 12deg; --delay: .14s; }
    .winston-photo .bone:nth-of-type(3) { --x: 86px; --y: -142px; --r: -8deg; --delay: .28s; }
    .winston-photo .bone:nth-of-type(4) { --x: -168px; --y: -24px; --r: 5deg; --delay: .06s; }
    .winston-photo .bone:nth-of-type(5) { --x: 158px; --y: -12px; --r: -12deg; --delay: .22s; }
    .winston-photo .bone:nth-of-type(6) { --x: -104px; --y: 92px; --r: 16deg; --delay: .32s; }
    .winston-photo .bone:nth-of-type(7) { --x: 92px; --y: 106px; --r: -15deg; --delay: .18s; }
    .winston-photo .bone:nth-of-type(8) { --x: 18px; --y: 8px; --r: 4deg; --delay: .38s; }

    .winston-photo:hover .bone:nth-of-type(1),
    .winston-photo:hover .bone:nth-of-type(2),
    .winston-photo:hover .bone:nth-of-type(3),
    .winston-photo:hover .bone:nth-of-type(4),
    .winston-photo:hover .bone:nth-of-type(5),
    .winston-photo:hover .bone:nth-of-type(6),
    .winston-photo:hover .bone:nth-of-type(7),
    .winston-photo:hover .bone:nth-of-type(8) {
      animation-delay: var(--delay);
    }

    @keyframes bone-float {
      0% {
        opacity: 0;
        transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) rotate(var(--r)) scale(.62);
      }
      18% {
        opacity: .92;
      }
      100% {
        opacity: 0;
        transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y) - 78px)) rotate(calc(var(--r) + 24deg)) scale(1.02);
      }
    }

    .directions-layout {
      display: grid;
      grid-template-columns: minmax(260px, .95fr) minmax(0, 1.05fr);
      gap: 24px;
      align-items: start;
      margin-top: 22px;
    }

    .directions-photo {
      margin: 0;
      padding: 12px;
      background: rgba(255, 255, 255, .58);
      border: 1px solid rgba(221, 216, 201, .82);
      border-radius: 22px;
    }

    .directions-photo img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 16px;
    }

    .directions-photo figcaption {
      margin: 10px 4px 0;
      color: var(--muted);
      font-size: 14px;
    }

    .hours-table {
      display: grid;
      gap: 10px;
      margin-top: 20px;
      max-width: 560px;
    }

    .hours-table div {
      display: grid;
      grid-template-columns: 1fr 1.3fr;
      gap: 16px;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(221, 216, 201, .82);
    }

    .hours-table strong {
      color: var(--ink);
    }

    footer {
      padding: 32px 0 42px;
      color: var(--muted);
      border-top: 1px solid var(--line);
      font-size: 14px;
    }

    footer .wrap {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      flex-wrap: wrap;
    }

    @media (max-width: 880px) {
      nav {
        display: none;
      }

      .hero {
        padding-top: 46px;
      }

      .hero-grid,
      .about-grid,
      .contact-grid,
      .grid,
      .grid.two,
      .about-panels,
      .image-row,
      .garden-gallery,
      .brochure-layout,
      .brochure-layout.reverse,
      .two-column-card,
      .paired-cards,
      .detail-grid,
      .brochure-list,
      .referrer-grid,
      .photo-strip,
      .directions-layout {
        grid-template-columns: 1fr;
      }

      .garden-gallery .location-photo:first-child {
        grid-row: auto;
      }

      .hero-card {
        transform: none;
      }

      .card-click-cue {
        margin-inline: auto;
        transform: none;
      }

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

      .tooltip-item::after {
        left: 0;
        right: auto;
        width: min(300px, calc(100vw - 54px));
      }
    }

    @media print {
      header,
      footer,
      .hero-actions,
      .lightbox {
        display: none !important;
      }

      body {
        background: white;
        color: #111;
      }

      .wrap {
        width: 100%;
      }

      .brochure-stack {
        padding: 0;
      }

      .brochure-card {
        box-shadow: none;
        border: 1px solid #ddd;
        break-inside: avoid;
      }
    }
