/* Swissness Hair + Beauty theme styles */
:root {
        --bg: #fbfaf9;
        --text: #19191d;
        --muted: #646268;
        --line: #e5dedb;
        --soft: #f5efee;
        --ink: #191d21;
        --red: #c0003d;
        --red-dark: #9e0030;
        --red-soft: #fae8ed;
      }

      * {
        box-sizing: border-box;
      }

      html {
        scroll-behavior: smooth;
      }

      body {
        background: var(--bg);
        color: var(--text);
        font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
        margin: 0;
        overflow-x: hidden;
      }

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

      section[id] {
        scroll-margin-top: 150px;
      }

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

      @keyframes pageFade {
        from { opacity: 0; }
        to { opacity: 1; }
      }

      @keyframes salonSheen {
        0%, 58% { transform: translateX(-130%) skewX(-18deg); }
        100% { transform: translateX(145%) skewX(-18deg); }
      }

      @media (prefers-reduced-motion: no-preference) {
        body {
          animation: pageFade 520ms ease-out both;
        }

        .reveal-ready [data-reveal] {
          filter: blur(8px);
          opacity: 0;
          transform: translateY(24px);
          transition: opacity 760ms ease, transform 760ms cubic-bezier(0.2, 0.72, 0.18, 1), filter 760ms ease;
          transition-delay: var(--reveal-delay, 0ms);
        }

        .reveal-ready [data-reveal].is-visible {
          filter: blur(0);
          opacity: 1;
          transform: translateY(0);
        }

        .hero-media::after {
          animation: salonSheen 6.8s ease-in-out infinite;
          background: linear-gradient(100deg, transparent 0%, rgba(255,255,255,.08) 38%, rgba(255,255,255,.42) 50%, rgba(255,255,255,.08) 62%, transparent 100%);
          content: "";
          inset: 0 auto 0 0;
          pointer-events: none;
          position: absolute;
          width: 42%;
          z-index: 2;
        }

        .brand img,
        .btn,
        .anchor,
        .member,
        .bonus,
        .service-list li,
        .service-photos img,
        .package,
        .price-card,
        .review,
        .mosaic img,
        .map,
        .map-consent {
          transition: border-color 220ms ease, box-shadow 220ms ease, filter 260ms ease, transform 260ms ease;
        }

        .brand:hover img {
          transform: scale(1.035);
        }

        .btn:hover {
          box-shadow: 0 12px 28px rgba(196, 0, 61, 0.16);
          transform: translateY(-2px);
        }

        .anchor:hover,
        .member:hover,
        .bonus:hover,
        .package:hover,
        .price-card:hover,
        .review:hover,
        .map:hover {
          box-shadow: 0 18px 42px rgba(23, 23, 30, 0.08);
          transform: translateY(-4px);
        }

        .service-list li:hover {
          border-left-color: var(--red-dark);
          transform: translateX(4px);
        }

        .hero-media img,
        .service-photos img,
        .mosaic img,
        .member img,
        .anchor img {
          transition: filter 360ms ease, transform 520ms cubic-bezier(0.2, 0.72, 0.18, 1);
        }

        .hero-media:hover img,
        .service-photos img:hover,
        .mosaic img:hover,
        .member:hover img,
        .anchor:hover img {
          filter: saturate(1.06) contrast(1.04);
          transform: scale(1.025);
        }
      }

      .wrap {
        padding-left: max(24px, calc((100vw - 1320px) / 2));
        padding-right: max(24px, calc((100vw - 1320px) / 2));
      }

      .top {
        align-items: center;
        background: #f6f2f1;
        border-bottom: 1px solid var(--line);
        display: flex;
        font-size: 14px;
        gap: 16px;
        min-height: 52px;
      }

      .top a,
      .contact-link,
      .footer a {
        align-items: center;
        display: inline-flex;
        gap: 9px;
      }

      .top a:first-child,
      .phone {
        color: var(--red);
        font-weight: 700;
      }

      .divider {
        background: #d7d0ce;
        height: 22px;
        width: 1px;
      }

      .icon {
        flex: 0 0 auto;
        height: 20px;
        width: 20px;
      }

      .header {
        align-items: center;
        backdrop-filter: blur(18px);
        background: rgba(251, 250, 249, 0.92);
        border-bottom: 1px solid var(--line);
        display: grid;
        gap: 28px;
        grid-template-columns: auto minmax(0, 1fr) auto;
        min-height: 118px;
        position: sticky;
        top: 0;
        z-index: 10;
      }

      .brand {
        align-items: center;
        background: var(--ink);
        border-radius: 8px;
        display: flex;
        height: 76px;
        justify-content: center;
        padding: 12px 18px;
        width: 202px;
      }

      .brand img {
        width: 160px;
      }

      .nav {
        display: flex;
        flex-wrap: wrap;
        gap: clamp(18px, 3vw, 52px);
        justify-content: center;
        min-width: 0;
      }

      .nav a {
        font-size: 16px;
        font-weight: 560;
        padding: 12px 0;
        position: relative;
      }

      .nav a:first-child {
        color: var(--red);
      }

      .nav a:first-child::after {
        background: var(--red);
        bottom: -9px;
        content: "";
        height: 3px;
        left: 0;
        position: absolute;
        width: 46px;
      }

      .mobile-menu {
        display: none;
      }

      .mobile-menu summary {
        align-items: center;
        background: white;
        border: 1px solid var(--red);
        border-radius: 6px;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        gap: 5px;
        height: 54px;
        justify-content: center;
        list-style: none;
        width: 54px;
      }

      .mobile-menu summary::-webkit-details-marker {
        display: none;
      }

      .mobile-menu summary span {
        background: var(--red);
        border-radius: 999px;
        display: block;
        height: 2px;
        transition: transform 180ms ease, opacity 180ms ease;
        width: 24px;
      }

      .mobile-menu[open] summary span:first-child {
        transform: translateY(7px) rotate(45deg);
      }

      .mobile-menu[open] summary span:nth-child(2) {
        opacity: 0;
      }

      .mobile-menu[open] summary span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
      }

      .mobile-menu-panel {
        background: white;
        border: 1px solid var(--line);
        border-radius: 8px;
        box-shadow: 0 24px 60px rgba(23, 23, 30, 0.14);
        display: grid;
        gap: 18px;
        padding: 20px;
        position: absolute;
        right: 0;
        top: calc(100% + 14px);
        width: min(342px, calc(100vw - 48px));
        z-index: 40;
      }

      .mobile-menu:not([open]) .mobile-menu-panel {
        display: none;
      }

      .mobile-menu-panel nav {
        display: grid;
      }

      .mobile-menu-panel nav a {
        border-bottom: 1px solid var(--line);
        color: var(--ink);
        font-size: 17px;
        font-weight: 650;
        padding: 12px 0;
      }

      .mobile-menu-panel nav a:first-child {
        color: var(--red);
      }

      .mobile-menu-actions {
        display: grid;
        gap: 12px;
      }

      .actions,
      .hero-actions,
      .contact-actions {
        align-items: center;
        display: flex;
        gap: 16px;
      }

      .actions {
        justify-content: flex-end;
        min-width: 0;
      }

      .btn {
        align-items: center;
        border-radius: 6px;
        display: inline-flex;
        font-size: 16px;
        font-weight: 740;
        gap: 10px;
        justify-content: center;
        min-height: 54px;
        padding: 0 26px;
        white-space: nowrap;
      }

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

      .btn-red:hover {
        background: var(--red-dark);
      }

      .btn-outline {
        border: 1px solid var(--red);
        color: var(--red);
      }

      .hero {
        display: grid;
        grid-template-columns: minmax(420px, 0.9fr) minmax(520px, 1.1fr);
        min-height: 710px;
        padding-right: 0;
      }

      .hero-copy {
        align-self: center;
        max-width: 650px;
        padding: 92px 0;
      }

      h1 {
        font-size: clamp(64px, 7.2vw, 112px);
        font-weight: 650;
        letter-spacing: 0;
        line-height: 0.96;
        margin: 0;
      }

      h1 span {
        color: var(--red);
        display: block;
      }

      .hero p {
        color: #49474e;
        font-size: 21px;
        line-height: 1.58;
        margin: 34px 0 36px;
        max-width: 590px;
      }

      .hero-media {
        min-height: 630px;
        overflow: hidden;
        position: relative;
      }

      .hero-media::before {
        background: linear-gradient(90deg, var(--bg) 0%, rgba(251, 250, 249, 0) 78%);
        content: "";
        inset: 0 auto 0 0;
        pointer-events: none;
        position: absolute;
        width: 16%;
        z-index: 1;
      }

      .hero-media img {
        height: 100%;
        object-fit: cover;
        object-position: center;
        width: 100%;
      }

      .anchors {
        background: white;
        border-bottom: 1px solid var(--line);
        border-top: 1px solid var(--line);
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        padding-bottom: 42px;
        padding-top: 42px;
      }

      .anchor {
        align-items: center;
        border-right: 1px solid var(--line);
        display: grid;
        gap: 20px;
        grid-template-columns: 144px 1fr;
        padding: 0 40px;
      }

      .anchor:first-child {
        padding-left: 0;
      }

      .anchor:last-child {
        border-right: 0;
        padding-right: 0;
      }

      .anchor img {
        aspect-ratio: 1.45;
        border-radius: 6px;
        object-fit: cover;
        width: 144px;
      }

      .anchor h2,
      .package h3 {
        font-size: 24px;
        margin: 0 0 8px;
      }

      p {
        color: var(--muted);
        line-height: 1.65;
        margin: 0;
      }

      .team,
      .services,
      .gallery,
      .contact {
        border-bottom: 1px solid var(--line);
        display: grid;
        gap: 64px;
        padding-bottom: 64px;
        padding-top: 72px;
      }

      .team {
        grid-template-columns: minmax(260px, 0.78fr) minmax(480px, 1.2fr) minmax(300px, 0.85fr);
      }

      .section-title {
        font-size: clamp(42px, 4.6vw, 64px);
        font-weight: 620;
        letter-spacing: 0;
        line-height: 1;
        margin: 0;
      }

      .section-title::after,
      .label::after {
        background: var(--red);
        content: "";
        display: block;
        height: 3px;
        margin: 26px 0 24px;
        width: 42px;
      }

      .intro p {
        font-size: 18px;
        margin-bottom: 32px;
        max-width: 360px;
      }

      .member-list {
        display: grid;
        gap: 18px;
      }

      .member {
        align-items: center;
        border-bottom: 1px solid var(--line);
        display: grid;
        gap: 34px;
        grid-template-columns: 178px 1fr;
        padding-bottom: 18px;
      }

      .member:last-child {
        border-bottom: 0;
      }

      .member img {
        aspect-ratio: 0.75;
        border-radius: 6px;
        object-fit: cover;
        object-position: top center;
        width: 178px;
      }

      .member h3,
      .bonus h3,
      .hours h3,
      .price-card h3 {
        font-size: 30px;
        font-weight: 620;
        line-height: 1.16;
        margin: 0;
      }

      .role {
        color: var(--red);
        font-size: 18px;
        margin: 8px 0 18px;
      }

      .meta {
        background: var(--soft);
        border-radius: 5px;
        color: #3f3d43;
        display: inline-block;
        font-size: 13px;
        margin: 0 0 18px;
        padding: 7px 12px;
      }

      blockquote {
        border-left: 3px solid var(--red);
        color: #323036;
        font-size: 15px;
        font-style: italic;
        line-height: 1.7;
        margin: 0;
        padding-left: 18px;
      }

      .bonus {
        align-self: start;
        background: linear-gradient(135deg, white, var(--red-soft));
        border: 1px solid #f0d9df;
        border-radius: 8px;
        padding: 40px;
      }

      .accent {
        background: var(--red);
        height: 3px;
        margin: 22px 0 24px auto;
        width: 48px;
      }

      .bonus img {
        border-radius: 6px;
        margin: 30px 0 18px;
      }

      .services {
        background: white;
        column-gap: clamp(72px, 7vw, 118px);
        gap: 64px clamp(72px, 7vw, 118px);
        grid-template-columns: minmax(420px, 0.46fr) 1fr;
      }

      .service-list {
        display: grid;
        gap: 18px 28px;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        list-style: none;
        margin: 0 0 28px;
        padding: 0;
      }

      .service-list li {
        border-left: 2px solid var(--red);
        min-height: 56px;
        padding-left: 14px;
      }

      .service-list span {
        color: var(--ink);
        display: block;
        font-size: 17px;
        font-weight: 650;
        line-height: 1.2;
      }

      .service-list small {
        color: var(--muted);
        display: block;
        font-size: 13px;
        line-height: 1.45;
        margin-top: 5px;
      }

      .service-photos {
        display: grid;
        gap: 10px;
        grid-template-columns: 1.25fr 0.85fr 1.25fr;
      }

      .service-photos img {
        aspect-ratio: 1.8;
        border-radius: 6px;
        filter: saturate(1.02) contrast(1.03);
        height: 100%;
        object-fit: cover;
        width: 100%;
      }

      .pricing {
        background: white;
        padding-bottom: 72px;
        padding-top: 32px;
      }

      .reviews {
        background: var(--bg);
        border-top: 1px solid var(--line);
        display: grid;
        gap: 44px;
        grid-template-columns: 0.8fr 1.5fr;
        padding-bottom: 66px;
        padding-top: 62px;
      }

      .review-summary h2 {
        font-size: clamp(36px, 3.8vw, 56px);
        font-weight: 620;
        line-height: 1.05;
        margin: 0 0 20px;
      }

      .review-summary p {
        font-size: 18px;
        margin: 0 0 26px;
        max-width: 430px;
      }

      .review-summary strong {
        color: var(--text);
      }

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

      .review {
        background: white;
        border: 1px solid var(--line);
        border-radius: 8px;
        display: grid;
        gap: 22px;
        min-height: 250px;
        padding: 28px;
      }

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

      .review p {
        color: #29272d;
        font-size: 18px;
        line-height: 1.55;
      }

      .review strong,
      .review span {
        display: block;
      }

      .review span {
        color: var(--muted);
        font-size: 13px;
        margin-top: 5px;
      }

      .packages {
        display: grid;
        gap: 20px;
        grid-template-columns: repeat(3, 1fr);
        margin: 26px 0;
      }

      .package {
        align-items: center;
        border: 1px solid var(--line);
        border-left: 4px solid var(--red);
        border-radius: 6px;
        display: grid;
        gap: 24px;
        grid-template-columns: 92px 1fr;
        padding: 24px;
      }

      .package-photo {
        border: 1px solid #e6c3cc;
        border-radius: 999px;
        display: block;
        height: 88px;
        object-fit: cover;
        overflow: hidden;
        width: 88px;
      }

      .package strong {
        color: var(--red);
        display: block;
        font-size: 44px;
        font-weight: 720;
        line-height: 1;
        margin-top: 14px;
      }

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

      .price-card {
        border: 1px solid var(--line);
        border-radius: 6px;
        overflow: hidden;
      }

      .price-card h3 {
        padding: 24px 26px 14px;
      }

      table {
        border-collapse: collapse;
        width: 100%;
      }

      th,
      td {
        border-top: 1px solid var(--line);
        font-size: 14px;
        padding: 13px 16px;
        text-align: left;
      }

      th {
        color: var(--red);
      }

      td:not(:first-child),
      th:not(:first-child) {
        text-align: right;
      }

      .gallery {
        grid-template-columns: 330px 1fr;
        padding-bottom: 96px;
        position: relative;
        z-index: 1;
      }

      .label {
        color: var(--red);
        font-size: 13px;
        font-weight: 800;
        letter-spacing: 0.16em;
        margin: 0;
        text-transform: uppercase;
      }

      .label::after {
        display: inline-block;
        margin: 0 0 3px 18px;
        vertical-align: middle;
      }

      .mosaic {
        display: grid;
        gap: 4px;
        grid-template-columns: 1.2fr 1fr 0.8fr;
        grid-template-rows: 210px 210px;
      }

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

      .mosaic img:first-child {
        grid-row: span 2;
      }

      .mosaic img:nth-child(2) {
        grid-column: span 2;
      }

      .mosaic img:nth-child(6) {
        display: none;
        object-position: 50% 18%;
      }

      .local-seo {
        align-items: start;
        background: linear-gradient(135deg, white 0%, white 58%, var(--red-soft) 100%);
        border-top: 1px solid var(--line);
        clear: both;
        display: grid;
        gap: 56px;
        grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1fr);
        isolation: isolate;
        padding-bottom: 58px;
        padding-top: 86px;
        position: relative;
        z-index: 3;
      }

      .local-seo h2 {
        font-size: clamp(36px, 4.2vw, 68px);
        font-weight: 630;
        line-height: 1.04;
        margin: 24px 0 0;
        max-width: 620px;
      }

      .local-copy {
        display: grid;
        gap: 18px;
        max-width: 760px;
      }

      .local-copy p {
        color: #454248;
        font-size: 18px;
        line-height: 1.72;
        margin: 0;
      }

      .contact {
        background: white;
        grid-template-columns: 0.9fr 0.8fr 1.35fr;
      }

      .contact-details {
        display: grid;
        gap: 18px;
      }

      .contact-actions {
        margin-top: 14px;
      }

      .hours {
        border-left: 1px solid var(--line);
        padding-left: 48px;
      }

      .hours-row {
        border-bottom: 1px solid var(--line);
        display: flex;
        justify-content: space-between;
        padding: 16px 0;
      }

      .map {
        border: 1px solid var(--line);
        border-radius: 6px;
        overflow: hidden;
      }

      .map iframe {
        height: 280px;
      }

      .map-consent {
        align-items: center;
        background:
          linear-gradient(30deg, transparent 42%, rgba(255,255,255,.72) 43% 47%, transparent 48%),
          linear-gradient(120deg, transparent 44%, rgba(255,255,255,.88) 45% 48%, transparent 49%),
          linear-gradient(165deg, transparent 41%, rgba(255,255,255,.68) 42% 46%, transparent 47%),
          #ece7df;
        display: grid;
        justify-items: center;
        min-height: 320px;
        padding: 32px;
        position: relative;
        text-align: center;
      }

      .map-consent::before,
      .map-consent::after {
        background: rgba(148, 180, 139, 0.35);
        border-radius: 40px;
        content: "";
        height: 76px;
        position: absolute;
        width: 112px;
      }

      .map-consent::before {
        right: 12%;
        top: 28px;
      }

      .map-consent::after {
        bottom: 24px;
        left: 10%;
      }

      .map-consent h3 {
        font-size: 28px;
        line-height: 1.15;
        margin: 74px 0 8px;
        position: relative;
        z-index: 1;
      }

      .map-consent p {
        color: #555158;
        line-height: 1.55;
        margin: 0 0 18px;
        max-width: 420px;
        position: relative;
        z-index: 1;
      }

      .map-consent .btn {
        border: 0;
        cursor: pointer;
        position: relative;
        z-index: 1;
      }

      .map iframe {
        border: 0;
        display: block;
        width: 100%;
      }

      .pin {
        align-items: center;
        background: var(--red);
        border-radius: 999px;
        color: white;
        display: flex;
        height: 54px;
        justify-content: center;
        left: 50%;
        position: absolute;
        top: 42px;
        transform: translate(-50%, -50%);
        width: 54px;
        z-index: 1;
      }

      .map-foot {
        align-items: center;
        display: flex;
        gap: 16px;
        justify-content: space-between;
        padding: 18px 22px;
      }

      .map-foot a {
        color: var(--red);
        font-size: 14px;
        font-weight: 700;
        white-space: nowrap;
      }

      .footer {
        background: radial-gradient(circle at 20% 0, #263139, var(--ink) 48%, #101417);
        color: white;
        display: grid;
        gap: 46px;
        grid-template-columns: 1.05fr 1fr 0.72fr 0.9fr;
        padding-bottom: 42px;
        padding-top: 42px;
      }

      .footer > * + * {
        border-left: 1px solid rgba(192, 0, 61, 0.7);
        padding-left: 46px;
      }

      .footer img {
        margin-bottom: 20px;
        width: 190px;
      }

      .footer a,
      .footer p {
        color: rgba(255, 255, 255, 0.82);
      }

      .footer-contact,
      .footer-nav,
      .footer-links {
        align-content: start;
        display: grid;
        gap: 16px;
      }

      .footer svg {
        color: var(--red);
      }

      @media (max-width: 1180px) {
        .header,
        .hero,
        .team,
        .services,
        .reviews,
        .gallery,
        .local-seo,
        .contact,
        .footer {
          grid-template-columns: 1fr;
        }

        .header > * {
          min-width: 0;
        }

        .hero {
          padding-right: max(24px, calc((100vw - 1320px) / 2));
        }

        .nav {
          justify-content: flex-start;
          max-width: 100%;
          overflow-x: auto;
          width: 100%;
        }

        .actions {
          justify-content: flex-start;
        }

        .hero-media {
          border-radius: 8px;
          min-height: 420px;
        }

        .anchors,
        .packages,
        .review-grid,
        .tables {
          grid-template-columns: 1fr;
        }

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

        .anchor {
          border-bottom: 1px solid var(--line);
          border-right: 0;
          padding: 22px 0;
        }

        .hours,
        .footer > * + * {
          border-left: 0;
          padding-left: 0;
        }
      }

      @media (max-width: 760px) {
        .top,
        .actions,
        .hero-actions,
        .contact-actions {
          align-items: stretch;
          flex-direction: column;
        }

        .top {
          align-items: flex-start;
          padding-bottom: 12px;
          padding-top: 12px;
        }

        .divider {
          display: none;
        }

        .header {
          grid-template-columns: auto auto;
        }

        .header > .nav,
        .header > .actions {
          display: none;
        }

        .brand {
          height: 70px;
          width: 184px;
        }

        .mobile-menu {
          display: block;
          justify-self: end;
          position: relative;
        }

        .btn {
          width: 100%;
        }

        .hero {
          min-height: auto;
          padding-top: 30px;
        }

        .hero-copy {
          padding: 44px 0 26px;
        }

        h1 {
          font-size: clamp(44px, 14vw, 58px);
        }

        .hero p {
          font-size: 18px;
        }

        .hero-media {
          min-height: 330px;
        }

        .local-seo {
          background: linear-gradient(180deg, white 0%, white 70%, var(--red-soft) 100%);
          display: block;
          padding-bottom: 48px;
          padding-top: 76px;
        }

        .gallery {
          display: block;
          padding-bottom: 76px;
        }

        .mosaic {
          position: relative;
          z-index: 1;
        }

        .local-seo > * {
          position: relative;
          z-index: 1;
        }

        .local-copy {
          margin-top: 36px;
        }

        .anchor,
        .member,
        .package {
          grid-template-columns: 1fr;
        }

        .anchor img {
          width: 130px;
        }

        .member img {
          width: 220px;
        }

        .service-photos {
          grid-template-columns: 1fr;
          width: 100%;
        }

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

        .services {
          display: block;
        }

        .service-stage {
          margin-top: 34px;
        }

        .services .intro,
        .services > div,
        .service-list,
        .service-photos,
        .service-photos img {
          max-width: 100%;
          width: 100%;
        }

        .price-card {
          overflow-x: auto;
        }

        th,
        td {
          min-width: 86px;
        }

        .mosaic {
          grid-template-columns: 1fr 1fr;
          grid-template-rows: repeat(3, 170px);
        }

        .mosaic img:first-child,
        .mosaic img:nth-child(2) {
          grid-column: auto;
          grid-row: auto;
        }

        .mosaic img:nth-child(6) {
          display: block;
        }

        .map-foot {
          align-items: flex-start;
          flex-direction: column;
        }

        .map-consent {
          min-height: 390px;
          padding: 34px 24px;
        }

        .map-consent h3 {
          margin-top: 76px;
        }
      }

      /* Dark Swissness theme override */
      :root {
        --bg: #272a30;
        --text: #f7f3f0;
        --muted: #d3ccc8;
        --line: rgba(255, 255, 255, 0.14);
        --soft: #33363d;
        --ink: #202329;
        --red: #d10046;
        --red-dark: #a80038;
        --red-soft: rgba(209, 0, 70, 0.16);
      }

      body {
        background:
          radial-gradient(circle at 18% 0, rgba(209, 0, 70, 0.16), transparent 32%),
          linear-gradient(180deg, #2d3036 0%, #24272d 100%);
        color: var(--text);
      }

      .top,
      .header,
      .mobile-menu-panel,
      .anchors,
      .services,
      .pricing,
      .contact {
        background: rgba(39, 42, 48, 0.96);
      }

      .header,
      .top {
        border-color: rgba(255, 255, 255, 0.12);
      }

      .header {
        box-shadow: 0 18px 60px rgba(0, 0, 0, 0.32);
      }

      .brand,
      .footer {
        background: radial-gradient(circle at 20% 0, #3a3f47, #24272d 54%, #1d2026);
      }

      .nav a,
      .mobile-menu-panel nav a,
      h1,
      .section-title,
      .review-summary h2,
      .local-seo h2,
      .member h3,
      .bonus h3,
      .hours h3,
      .package h3,
      .price-card h3 {
        color: var(--text);
      }

      .hero p,
      .intro p,
      .anchor p,
      .bonus p,
      .package p,
      .review-summary p,
      .local-copy p,
      .footer p,
      .footer a,
      .top {
        color: var(--muted);
      }

      .btn-outline {
        background: transparent;
        color: #ff4d82;
      }

      .mobile-menu summary {
        background: rgba(255, 255, 255, 0.05);
      }

      .hero-media::before {
        background: linear-gradient(90deg, #272a30 0%, rgba(39, 42, 48, 0) 78%);
      }

      .anchor,
      .member,
      .bonus,
      .package,
      .price-card,
      .review,
      .map,
      .mobile-menu-panel {
        background: linear-gradient(145deg, rgba(255, 255, 255, 0.075), rgba(255, 255, 255, 0.035));
        border-color: rgba(255, 255, 255, 0.14);
        box-shadow: 0 18px 56px rgba(0, 0, 0, 0.24);
      }

      .bonus {
        background:
          linear-gradient(135deg, rgba(255, 255, 255, 0.075), rgba(209, 0, 70, 0.13)),
          #2d3037;
      }

      .services,
      .pricing,
      .contact,
      .gallery,
      .reviews,
      .local-seo {
        border-color: rgba(255, 255, 255, 0.14);
      }

      .gallery,
      .reviews {
        background: #272a30;
      }

      .local-seo {
        background:
          radial-gradient(circle at 90% 10%, rgba(209, 0, 70, 0.18), transparent 34%),
          linear-gradient(135deg, #2f3239 0%, #272a30 100%);
      }

      .service-list span,
      .contact-link,
      .hours-row span,
      .hours-row strong,
      .map-foot span,
      .review p,
      .meta,
      blockquote,
      .bonus strong {
        color: var(--text);
      }

      .meta {
        background: rgba(255, 255, 255, 0.07);
      }

      th,
      td,
      .hours-row,
      .footer > * + *,
      .member,
      .anchors,
      .contact,
      .gallery,
      .reviews,
      .local-seo {
        border-color: rgba(255, 255, 255, 0.14);
      }

      .map-consent {
        background:
          linear-gradient(30deg, transparent 42%, rgba(255, 255, 255, 0.08) 43% 47%, transparent 48%),
          linear-gradient(120deg, transparent 44%, rgba(255, 255, 255, 0.1) 45% 48%, transparent 49%),
          #2d3037;
      }

      .map-consent p {
        color: var(--muted);
      }

      .map-foot {
        background: #25282e;
      }

      @media (max-width: 760px) {
        .local-seo {
          background:
            radial-gradient(circle at 92% 0, rgba(209, 0, 70, 0.16), transparent 38%),
            linear-gradient(180deg, #2f3239 0%, #272a30 100%);
        }
      }
