:root {
      color-scheme: light dark;
      --bg: #050505;
      --ink: #f7f9fa;
      --muted: #b9c0c4;
      --accent: #6384d1;
      --rule: #2b2f32;
      --button-ink: #050505;
    }
    @media (prefers-color-scheme: dark) {
      :root {
        --bg: #000;
        --ink: #fff;
        --muted: #c4c9cc;
        --accent: #6384d1;
        --rule: #2b2f32;
        --button-ink: #000;
      }
    }
    * { box-sizing: border-box; }
    html { background: var(--bg); }
    body {
      margin: 0;
      min-width: 0;
      min-height: 100svh;
      background: var(--bg);
      color: var(--ink);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      -webkit-font-smoothing: antialiased;
    }
    .language-menu {
      position: fixed;
      z-index: 1;
      top: max(18px, env(safe-area-inset-top));
      right: max(20px, env(safe-area-inset-right));
      display: flex;
      align-items: center;
      gap: 7px;
      font-size: 12px;
      font-weight: 750;
      letter-spacing: .06em;
      line-height: 1;
    }
    .language-menu a {
      color: var(--muted);
      text-decoration: none;
    }
    .language-menu a[aria-current="page"] { color: var(--accent); }
    .language-menu a:hover { color: var(--ink); }
    .language-menu a:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: 3px;
    }
    .language-menu span { color: var(--rule); }
    main {
      width: min(1080px, calc(100% - 64px));
      min-height: 100svh;
      margin-inline: auto;
      padding: clamp(52px, 8vh, 92px) 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .location {
      margin: 0 0 18px;
      color: var(--muted);
      font-size: 16px;
      font-weight: 650;
    }
    .hero {
      display: grid;
      grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr);
      gap: clamp(36px, 8vw, 112px);
      align-items: end;
    }
    h1 {
      max-width: 760px;
      margin: 0;
      font-size: clamp(54px, 8.4vw, 104px);
      line-height: .9;
      letter-spacing: -.06em;
      text-wrap: balance;
    }
    h1 > span {
      display: block;
      color: var(--accent);
      font-size: .82em;
    }
    .availability {
      margin: 0 0 6px;
      color: var(--muted);
      font-size: clamp(20px, 2.2vw, 28px);
      line-height: 1.35;
      text-wrap: balance;
    }
    .availability > span {
      display: inline-block;
      white-space: nowrap;
      font-size: .88em;
      letter-spacing: .01em;
    }
    .availability strong {
      display: block;
      margin-bottom: 8px;
      color: var(--ink);
      font-size: .68em;
      letter-spacing: .02em;
    }
    .service {
      margin-top: clamp(48px, 9vh, 96px);
      padding-top: clamp(28px, 5vh, 48px);
      border-top: 1px solid var(--rule);
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 32px 64px;
      align-items: end;
    }
    .service h2 {
      max-width: 650px;
      margin: 0;
      font-size: clamp(28px, 4.2vw, 48px);
      line-height: 1.08;
      letter-spacing: -.035em;
      text-wrap: balance;
    }
    .contact {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-end;
      gap: 10px;
    }
    .contact a {
      min-height: 48px;
      padding: 13px 17px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border: 1px solid var(--rule);
      color: var(--ink);
      font-size: 16px;
      font-weight: 750;
      line-height: 1.2;
      text-decoration: none;
      overflow-wrap: anywhere;
    }
    .contact .call {
      border-color: var(--accent);
      background: var(--accent);
      color: var(--button-ink);
    }
    .contact a:hover { border-color: var(--accent); }
    .contact a:focus-visible {
      outline: 3px solid var(--accent);
      outline-offset: 4px;
    }
    @media (max-width: 760px) {
      main {
        width: min(100% - 32px, 620px);
        min-height: 100svh;
        padding: 40px 0 32px;
        justify-content: flex-start;
      }
      .location { margin-bottom: 22px; }
      .hero {
        grid-template-columns: 1fr;
        gap: 34px;
      }
      h1 {
        font-size: clamp(52px, 17vw, 82px);
        line-height: .92;
      }
      .availability { max-width: 440px; }
      .service {
        margin-top: 52px;
        padding-top: 30px;
        grid-template-columns: 1fr;
        align-items: start;
      }
      .contact {
        justify-content: flex-start;
        width: 100%;
      }
    }
    @media (max-width: 440px) {
      main { width: calc(100% - 28px); }
      h1 { font-size: clamp(44px, 16vw, 68px); }
      .contact {
        display: grid;
        grid-template-columns: 1fr;
      }
      .contact a { width: 100%; }
    }

#rental-title .amp{display:inline;font-size:.58em;font-weight:700}
#rental-title .nowrap{display:inline;white-space:nowrap}
