
    * { box-sizing: border-box; }
    :root {
      --space: 16px;
      --space-sm: 10px;
      --radius: 26px;
      --radius-sm: 18px;
    }
    html, body { min-height: 100%; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      width: 100%;
      overflow-x: hidden;
      background: #f7f7f2;
      color: #111;
      font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    }
    body.lightbox-lock {
      overflow: hidden;
      touch-action: none;
      overscroll-behavior: none;
    }
    html.lightbox-lock {
      overflow: hidden;
      overscroll-behavior: none;
    }
    a { color: inherit; text-decoration: none; }
    img, video, svg { display: block; max-width: 100%; }
    .page {
      width: min(100%, 1120px);
      margin: 0 auto;
      padding: 18px 12px 34px;
      overflow: clip;
    }
    .panel,
    .offer,
    .price-card,
    .included-item,
    .media-layout,
    .section,
    .cta {
      min-width: 0;
      max-width: 100%;
    }
    .topbar {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 16px;
      min-width: 0;
      padding: 10px 2px 16px;
      color: #6c6c66;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .1em;
    }
    .topbar span { min-width: 0; }
    .panel {
      border: 1px solid rgba(255,255,255,.62);
      border-radius: var(--radius);
      background: linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.3));
      box-shadow: 0 22px 70px rgba(0,0,0,.08);
      backdrop-filter: blur(24px) saturate(1.2);
    }
    .hero {
      display: grid;
      grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
      gap: 10px;
      align-items: stretch;
    }
    .offer {
      max-width: 760px;
    }
    .offer {
      display: grid;
      gap: var(--space);
      padding: var(--space);
    }
    .eyebrow {
      color: #696963;
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .1em;
    }
    h1 {
      margin: 0;
      max-width: 560px;
      font-size: clamp(30px, 4.8vw, 54px);
      line-height: .98;
      letter-spacing: -.045em;
      overflow-wrap: anywhere;
    }
    .short-copy {
      margin: 0;
      max-width: 560px;
      color: #555550;
      font-size: 17px;
      line-height: 1.35;
      letter-spacing: -.025em;
      overflow-wrap: anywhere;
    }
    .price-card {
      display: grid;
      gap: 8px;
      padding: 18px;
      border-radius: 22px;
      background: #111;
      color: #fff;
    }
    .price-card span {
      color: rgba(255,255,255,.66);
      font-size: 11px;
      text-transform: uppercase;
      letter-spacing: .1em;
    }
    .price {
      font-size: clamp(58px, 10vw, 104px);
      line-height: .82;
      letter-spacing: -.08em;
    }
    .price-note {
      margin: 0;
      color: rgba(255,255,255,.72);
      font-size: 12px;
      line-height: 1.45;
      text-transform: uppercase;
      letter-spacing: .06em;
      overflow-wrap: anywhere;
    }
    .included {
      display: grid;
      gap: var(--space-sm);
      margin-top: 2px;
    }
    .included-item {
      display: grid;
      grid-template-columns: 52px 1fr;
      gap: 12px;
      align-items: center;
      padding: 12px;
      border: 1px solid rgba(0,0,0,.045);
      border-radius: 999px;
      background:
        radial-gradient(circle at 16% 0%, rgba(255,255,255,.96), rgba(255,255,255,0) 42%),
        linear-gradient(135deg, rgba(255,255,255,.76), rgba(255,255,255,.38));
      box-shadow: 0 14px 38px rgba(0,0,0,.055), inset 0 1px 0 rgba(255,255,255,.82);
      backdrop-filter: blur(24px) saturate(1.24);
      -webkit-backdrop-filter: blur(24px) saturate(1.24);
    }
    .included-item strong {
      font-size: 34px;
      line-height: .9;
      letter-spacing: -.06em;
    }
    .included-item p {
      margin: 0;
      color: #565650;
      font-size: 13px;
      line-height: 1.35;
      overflow-wrap: anywhere;
    }
    .media-layout {
      position: relative;
      z-index: 0;
      min-height: 620px;
      padding: 4px 10px 10px;
      overflow: hidden;
    }
    .price-showcase {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
      margin-top: 14px;
    }
    .price-showcase .price-card {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: var(--space);
      min-height: 0;
    }
    .price-showcase .media-layout {
      min-height: 0;
      padding: 0;
      display: none;
    }
    .availability-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      align-self: start;
      padding: 11px 18px;
      border-radius: 999px;
      background: rgba(255,255,255,.96);
      color: #111;
      border: 1px solid rgba(0,0,0,.08);
      box-shadow: 0 14px 34px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.9);
      font-size: 14px;
      font-weight: 780;
      letter-spacing: -.02em;
      white-space: nowrap;
    }
    .availability-pill::before {
      content: "";
      width: 12px;
      height: 12px;
      border-radius: 999px;
      background: #55d174;
      box-shadow: 0 0 0 4px rgba(85,209,116,.14);
    }
    .media-stack { display: contents; }
    .media {
      position: relative;
      display: grid;
      place-items: center;
      overflow: hidden;
      border-radius: 20px;
      background: rgba(17,17,17,.06);
      border: 1px solid rgba(255,255,255,.55);
      box-shadow: 0 16px 44px rgba(0,0,0,.08);
      will-change: transform;
    }
    .media img,
    .media video {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
    .media.video {
      position: absolute;
      left: 8%;
      top: 14%;
      z-index: 2;
      width: 42%;
      aspect-ratio: 9 / 16;
      max-height: 460px;
      background: #111;
      transform: rotate(-4deg);
      animation: videoCardCycle 13s ease-in-out infinite;
    }
    .media.photo {
      position: absolute;
      width: 43%;
      aspect-ratio: auto;
      background: rgba(255,255,255,.48);
    }
    .media.photo img { height: auto; }
    .media.photo.vertical {
      aspect-ratio: auto;
    }
    .media.photo.one {
      right: 7%;
      top: 8%;
      z-index: 3;
      transform: rotate(3deg);
      animation: photoOneCycle 13s ease-in-out infinite;
    }
    .media.photo.two {
      right: 14%;
      top: 41%;
      z-index: 4;
      transform: rotate(-2deg);
      animation: photoTwoCycle 13s ease-in-out infinite;
    }
    .media.photo.three {
      left: 20%;
      bottom: 6%;
      z-index: 1;
      width: 38%;
      transform: rotate(5deg);
      animation: photoThreeCycle 13s ease-in-out infinite;
    }
    @keyframes videoCardCycle {
      0%, 20% { z-index: 5; transform: translate3d(0,0,0) rotate(-4deg) scale(1.02); }
      25%, 45% { z-index: 2; transform: translate3d(42%, -6%, 0) rotate(3deg) scale(.92); }
      50%, 70% { z-index: 1; transform: translate3d(28%, 36%, 0) rotate(-1deg) scale(.88); }
      75%, 95% { z-index: 3; transform: translate3d(-4%, 14%, 0) rotate(-7deg) scale(.96); }
      100% { z-index: 5; transform: translate3d(0,0,0) rotate(-4deg) scale(1.02); }
    }
    @keyframes photoOneCycle {
      0%, 20% { z-index: 3; transform: translate3d(0,0,0) rotate(3deg) scale(.96); }
      25%, 45% { z-index: 5; transform: translate3d(-26%, 12%, 0) rotate(-2deg) scale(1.04); }
      50%, 70% { z-index: 2; transform: translate3d(-10%, 34%, 0) rotate(5deg) scale(.92); }
      75%, 95% { z-index: 1; transform: translate3d(-36%, 0, 0) rotate(-4deg) scale(.9); }
      100% { z-index: 3; transform: translate3d(0,0,0) rotate(3deg) scale(.96); }
    }
    @keyframes photoTwoCycle {
      0%, 20% { z-index: 4; transform: translate3d(0,0,0) rotate(-2deg) scale(1); }
      25%, 45% { z-index: 1; transform: translate3d(-30%, -18%, 0) rotate(4deg) scale(.9); }
      50%, 70% { z-index: 5; transform: translate3d(-44%, -4%, 0) rotate(-3deg) scale(1.05); }
      75%, 95% { z-index: 2; transform: translate3d(-6%, -28%, 0) rotate(2deg) scale(.93); }
      100% { z-index: 4; transform: translate3d(0,0,0) rotate(-2deg) scale(1); }
    }
    @keyframes photoThreeCycle {
      0%, 20% { z-index: 1; transform: translate3d(0,0,0) rotate(5deg) scale(.9); }
      25%, 45% { z-index: 3; transform: translate3d(12%, -26%, 0) rotate(-4deg) scale(.96); }
      50%, 70% { z-index: 4; transform: translate3d(52%, -36%, 0) rotate(3deg) scale(1); }
      75%, 95% { z-index: 5; transform: translate3d(30%, -48%, 0) rotate(-2deg) scale(1.04); }
      100% { z-index: 1; transform: translate3d(0,0,0) rotate(5deg) scale(.9); }
    }
    .media-label {
      position: absolute;
      left: 12px;
      bottom: 12px;
      padding: 6px 9px;
      border-radius: 999px;
      background: rgba(17,17,17,.72);
      color: #fff;
      font-size: 10px;
      font-weight: 760;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .section {
      margin-top: var(--space);
      padding: var(--space);
    }
    h2 {
      margin: 0;
      font-size: clamp(28px, 4vw, 48px);
      line-height: .96;
      letter-spacing: -.045em;
    }
    .text-grid {
      display: grid;
      grid-template-columns: .8fr 1.2fr;
      gap: var(--space);
      align-items: start;
    }
    .text-grid p,
    .section p {
      margin: 0;
      color: #555550;
      font-size: 15px;
      line-height: 1.48;
    }
    .mini-list {
      display: grid;
      gap: var(--space-sm);
      margin-top: var(--space);
    }
    .mini-list div {
      padding: 12px;
      border-radius: 16px;
      background: rgba(255,255,255,.76);
      border: 1px solid rgba(0,0,0,.045);
      box-shadow: 0 10px 28px rgba(0,0,0,.045), inset 0 1px 0 rgba(255,255,255,.72);
      color: #555550;
      font-size: 13px;
      line-height: 1.42;
    }
    .gallery-panel {
      margin-top: var(--space);
    }
    .gallery-head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 18px 18px 10px;
      font-size: 17px;
      font-weight: 780;
      letter-spacing: -.02em;
    }
    .gallery-head span {
      color: #6c6c66;
      font-size: 12px;
      text-transform: uppercase;
      letter-spacing: .08em;
      white-space: nowrap;
    }
    .gallery {
      columns: 5 150px;
      column-gap: var(--space-sm);
      padding: 0 var(--space) var(--space);
    }
    .gallery a {
      display: inline-block;
      width: 100%;
      margin: 0 0 var(--space-sm);
      break-inside: avoid;
    }
    .gallery img {
      width: 100%;
      height: auto;
      border-radius: 18px;
      box-shadow: 0 14px 34px rgba(0,0,0,.08);
      transition: transform .35s ease, box-shadow .35s ease;
    }
    .gallery a:hover img {
      transform: translateY(-2px);
      box-shadow: 0 18px 44px rgba(0,0,0,.12);
    }
    .photo-lightbox {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: grid;
      place-items: center;
      padding: 22px;
      background: rgba(247,247,242,.88);
      backdrop-filter: blur(18px) saturate(1.08);
      -webkit-backdrop-filter: blur(18px) saturate(1.08);
      opacity: 0;
      pointer-events: none;
      transition: opacity .24s ease;
    }
    .photo-lightbox.is-open {
      opacity: 1;
      pointer-events: auto;
    }
    .photo-lightbox img {
      display: block;
      max-width: min(100%, 1120px);
      max-height: calc(100dvh - 44px);
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 18px;
      box-shadow: 0 28px 90px rgba(0,0,0,.24);
      transform: translateY(10px) scale(.98);
      transition: transform .28s cubic-bezier(.22, 1, .36, 1);
    }
    .photo-lightbox.is-open img {
      transform: translateY(0) scale(1);
    }
    .cta {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      align-items: end;
      gap: 14px;
      margin-top: var(--space);
      padding: var(--space);
      background: #111;
      color: #fff;
      border-radius: 26px;
    }
    .cta h2 { color: #fff; }
    .cta p {
      color: rgba(255,255,255,.72);
      max-width: 680px;
    }
    .cta-copy {
      display: grid;
      gap: 12px;
    }
    .button {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      min-height: 50px;
      width: fit-content;
      padding: 14px 18px;
      border-radius: 999px;
      background: #25d366;
      color: #fff;
      font-size: 13px;
      font-weight: 780;
      text-transform: uppercase;
      letter-spacing: .08em;
    }
    .button svg {
      width: 18px;
      height: 18px;
      flex: 0 0 18px;
    }
    @media (max-width: 760px) {
      html,
      body {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
      }
      .page {
        width: 100vw;
        max-width: 100vw;
        padding: 14px 10px 26px;
        overflow-x: hidden;
      }
      .topbar {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 10px;
        padding: 6px 2px 14px;
        letter-spacing: .06em;
      }
      .topbar span:last-child { text-align: right; }
      .hero,
      .text-grid {
        display: grid;
        grid-template-columns: 1fr;
        width: 100%;
        max-width: 100%;
      }
      .panel,
      .offer,
      .price-card,
      .included,
      .included-item,
      .section,
      .cta {
        width: 100%;
        max-width: 100%;
        overflow: hidden;
      }
      .panel * { min-width: 0; }
      h1 {
        font-size: clamp(28px, 9vw, 36px);
        line-height: 1;
        letter-spacing: -.04em;
      }
      h2 {
        font-size: 30px;
        line-height: 1;
      }
      .short-copy {
        font-size: 15px;
        line-height: 1.42;
      }
      .offer,
      .section,
      .cta {
        padding: var(--space);
      }
      .price-card { padding: 16px; }
      .price { font-size: 58px; }
      .price-note {
        font-size: 10px;
        letter-spacing: .04em;
      }
      .included-item {
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 12px;
        border-radius: 999px;
        background:
          radial-gradient(circle at 12% 0%, rgba(255,255,255,.98), rgba(255,255,255,.58) 40%, rgba(255,255,255,.22) 100%),
          linear-gradient(135deg, rgba(255,255,255,.72), rgba(255,255,255,.26));
        box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
        filter: drop-shadow(0 20px 34px rgba(0,0,0,.045));
      }
      .offer,
      .included,
      .included-item {
        overflow: visible;
      }
      .included-item strong {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 52px;
        font-size: 30px;
        text-align: center;
      }
      .price-showcase {
        grid-template-columns: 1fr;
        gap: 8px;
        margin-top: 14px;
      }
      .price-showcase .price-card {
        min-height: 0;
      }
      .media-layout {
        min-height: 400px;
        padding: 0 4px 6px;
      }
      .hero > .media-layout {
        display: none;
      }
      .price-showcase .media-layout {
        display: block;
        min-height: 400px;
        padding: 0 4px 6px;
      }
      .media.video {
        max-height: none;
        left: 8%;
        top: 15%;
        width: 38%;
        margin: 0 auto;
      }
      .media.photo,
      .media.photo.vertical {
        min-height: 0;
      }
      .media.photo.one {
        right: 5%;
        top: 7%;
        width: 43%;
      }
      .media.photo.two {
        right: 8%;
        top: 43%;
        width: 44%;
      }
      .media.photo.three {
        left: 13%;
        bottom: 7%;
        width: 39%;
      }
      .media.photo img {
        width: auto;
        max-width: 100%;
        height: auto;
      }
      .gallery {
        columns: 2 130px;
        column-gap: 10px;
        padding: 0 12px 14px;
      }
      .gallery a:last-child {
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: min(100%, 78vw);
      }
      .gallery-head {
        padding: 16px 16px 12px;
      }
      .price-showcase .price-card {
        position: relative;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 22px 18px 20px;
      }
      .price-showcase .price-card span {
        display: block;
        margin-bottom: 8px;
        font-size: 10px;
        letter-spacing: .12em;
      }
      .price-showcase .price-card .price {
        margin-top: 2px;
        font-size: 64px;
        line-height: .78;
        letter-spacing: -.075em;
      }
      .price-showcase .price-card .price-note {
        max-width: 260px;
        margin-top: 8px;
        font-size: 10px;
        line-height: 1.35;
        letter-spacing: .055em;
      }
      .availability-pill {
        position: absolute;
        top: 18px;
        right: 18px;
        width: fit-content;
        padding: 10px 16px;
        font-size: 14px;
        box-shadow: 0 12px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.9);
      }
      .cta {
        grid-template-columns: 1fr;
      }
      .button {
        width: 100%;
        white-space: normal;
        text-align: center;
      }
    }
  
.gallery-head { margin: 0; }
.button { color: #082f16; }
.photo-lightbox[hidden] { display: none; }
.lightbox-close { position: absolute; right: 20px; top: 20px; min-height: 44px; min-width: 44px; padding: 10px 16px; border: 1px solid #333; border-radius: 999px; background: #fff; color: #111; cursor: pointer; font: inherit; }
a:focus-visible, button:focus-visible { outline: 3px solid #111; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
